app-service.js 5.1 MB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075200762007720078200792008020081200822008320084200852008620087200882008920090200912009220093200942009520096200972009820099201002010120102201032010420105201062010720108201092011020111201122011320114201152011620117201182011920120201212012220123201242012520126201272012820129201302013120132201332013420135201362013720138201392014020141201422014320144201452014620147201482014920150201512015220153201542015520156201572015820159201602016120162201632016420165201662016720168201692017020171201722017320174201752017620177201782017920180201812018220183201842018520186201872018820189201902019120192201932019420195201962019720198201992020020201202022020320204202052020620207202082020920210202112021220213202142021520216202172021820219202202022120222202232022420225202262022720228202292023020231202322023320234202352023620237202382023920240202412024220243202442024520246202472024820249202502025120252202532025420255202562025720258202592026020261202622026320264202652026620267202682026920270202712027220273202742027520276202772027820279202802028120282202832028420285202862028720288202892029020291202922029320294202952029620297202982029920300203012030220303203042030520306203072030820309203102031120312203132031420315203162031720318203192032020321203222032320324203252032620327203282032920330203312033220333203342033520336203372033820339203402034120342203432034420345203462034720348203492035020351203522035320354203552035620357203582035920360203612036220363203642036520366203672036820369203702037120372203732037420375203762037720378203792038020381203822038320384203852038620387203882038920390203912039220393203942039520396203972039820399204002040120402204032040420405204062040720408204092041020411204122041320414204152041620417204182041920420204212042220423204242042520426204272042820429204302043120432204332043420435204362043720438204392044020441204422044320444204452044620447204482044920450204512045220453204542045520456204572045820459204602046120462204632046420465204662046720468204692047020471204722047320474204752047620477204782047920480204812048220483204842048520486204872048820489204902049120492204932049420495204962049720498204992050020501205022050320504205052050620507205082050920510205112051220513205142051520516205172051820519205202052120522205232052420525205262052720528205292053020531205322053320534205352053620537205382053920540205412054220543205442054520546205472054820549205502055120552205532055420555205562055720558205592056020561205622056320564205652056620567205682056920570205712057220573205742057520576205772057820579205802058120582205832058420585205862058720588205892059020591205922059320594205952059620597205982059920600206012060220603206042060520606206072060820609206102061120612206132061420615206162061720618206192062020621206222062320624206252062620627206282062920630206312063220633206342063520636206372063820639206402064120642206432064420645206462064720648206492065020651206522065320654206552065620657206582065920660206612066220663206642066520666206672066820669206702067120672206732067420675206762067720678206792068020681206822068320684206852068620687206882068920690206912069220693206942069520696206972069820699207002070120702207032070420705207062070720708207092071020711207122071320714207152071620717207182071920720207212072220723207242072520726207272072820729207302073120732207332073420735207362073720738207392074020741207422074320744207452074620747207482074920750207512075220753207542075520756207572075820759207602076120762207632076420765207662076720768207692077020771207722077320774207752077620777207782077920780207812078220783207842078520786207872078820789207902079120792207932079420795207962079720798207992080020801208022080320804208052080620807208082080920810208112081220813208142081520816208172081820819208202082120822208232082420825208262082720828208292083020831208322083320834208352083620837208382083920840208412084220843208442084520846208472084820849208502085120852208532085420855208562085720858208592086020861208622086320864208652086620867208682086920870208712087220873208742087520876208772087820879208802088120882208832088420885208862088720888208892089020891208922089320894208952089620897208982089920900209012090220903209042090520906209072090820909209102091120912209132091420915209162091720918209192092020921209222092320924209252092620927209282092920930209312093220933209342093520936209372093820939209402094120942209432094420945209462094720948209492095020951209522095320954209552095620957209582095920960209612096220963209642096520966209672096820969209702097120972209732097420975209762097720978209792098020981209822098320984209852098620987209882098920990209912099220993209942099520996209972099820999210002100121002210032100421005210062100721008210092101021011210122101321014210152101621017210182101921020210212102221023210242102521026210272102821029210302103121032210332103421035210362103721038210392104021041210422104321044210452104621047210482104921050210512105221053210542105521056210572105821059210602106121062210632106421065210662106721068210692107021071210722107321074210752107621077210782107921080210812108221083210842108521086210872108821089210902109121092210932109421095210962109721098210992110021101211022110321104211052110621107211082110921110211112111221113211142111521116211172111821119211202112121122211232112421125211262112721128211292113021131211322113321134211352113621137211382113921140211412114221143211442114521146211472114821149211502115121152211532115421155211562115721158211592116021161211622116321164211652116621167211682116921170211712117221173211742117521176211772117821179211802118121182211832118421185211862118721188211892119021191211922119321194211952119621197211982119921200212012120221203212042120521206212072120821209212102121121212212132121421215212162121721218212192122021221212222122321224212252122621227212282122921230212312123221233212342123521236212372123821239212402124121242212432124421245212462124721248212492125021251212522125321254212552125621257212582125921260212612126221263212642126521266212672126821269212702127121272212732127421275212762127721278212792128021281212822128321284212852128621287212882128921290212912129221293212942129521296212972129821299213002130121302213032130421305213062130721308213092131021311213122131321314213152131621317213182131921320213212132221323213242132521326213272132821329213302133121332213332133421335213362133721338213392134021341213422134321344213452134621347213482134921350213512135221353213542135521356213572135821359213602136121362213632136421365213662136721368213692137021371213722137321374213752137621377213782137921380213812138221383213842138521386213872138821389213902139121392213932139421395213962139721398213992140021401214022140321404214052140621407214082140921410214112141221413214142141521416214172141821419214202142121422214232142421425214262142721428214292143021431214322143321434214352143621437214382143921440214412144221443214442144521446214472144821449214502145121452214532145421455214562145721458214592146021461214622146321464214652146621467214682146921470214712147221473214742147521476214772147821479214802148121482214832148421485214862148721488214892149021491214922149321494214952149621497214982149921500215012150221503215042150521506215072150821509215102151121512215132151421515215162151721518215192152021521215222152321524215252152621527215282152921530215312153221533215342153521536215372153821539215402154121542215432154421545215462154721548215492155021551215522155321554215552155621557215582155921560215612156221563215642156521566215672156821569215702157121572215732157421575215762157721578215792158021581215822158321584215852158621587215882158921590215912159221593215942159521596215972159821599216002160121602216032160421605216062160721608216092161021611216122161321614216152161621617216182161921620216212162221623216242162521626216272162821629216302163121632216332163421635216362163721638216392164021641216422164321644216452164621647216482164921650216512165221653216542165521656216572165821659216602166121662216632166421665216662166721668216692167021671216722167321674216752167621677216782167921680216812168221683216842168521686216872168821689216902169121692216932169421695216962169721698216992170021701217022170321704217052170621707217082170921710217112171221713217142171521716217172171821719217202172121722217232172421725217262172721728217292173021731217322173321734217352173621737217382173921740217412174221743217442174521746217472174821749217502175121752217532175421755217562175721758217592176021761217622176321764217652176621767217682176921770217712177221773217742177521776217772177821779217802178121782217832178421785217862178721788217892179021791217922179321794217952179621797217982179921800218012180221803218042180521806218072180821809218102181121812218132181421815218162181721818218192182021821218222182321824218252182621827218282182921830218312183221833218342183521836218372183821839218402184121842218432184421845218462184721848218492185021851218522185321854218552185621857218582185921860218612186221863218642186521866218672186821869218702187121872218732187421875218762187721878218792188021881218822188321884218852188621887218882188921890218912189221893218942189521896218972189821899219002190121902219032190421905219062190721908219092191021911219122191321914219152191621917219182191921920219212192221923219242192521926219272192821929219302193121932219332193421935219362193721938219392194021941219422194321944219452194621947219482194921950219512195221953219542195521956219572195821959219602196121962219632196421965219662196721968219692197021971219722197321974219752197621977219782197921980219812198221983219842198521986219872198821989219902199121992219932199421995219962199721998219992200022001220022200322004220052200622007220082200922010220112201222013220142201522016220172201822019220202202122022220232202422025220262202722028220292203022031220322203322034220352203622037220382203922040220412204222043220442204522046220472204822049220502205122052220532205422055220562205722058220592206022061220622206322064220652206622067220682206922070220712207222073220742207522076220772207822079220802208122082220832208422085220862208722088220892209022091220922209322094220952209622097220982209922100221012210222103221042210522106221072210822109221102211122112221132211422115221162211722118221192212022121221222212322124221252212622127221282212922130221312213222133221342213522136221372213822139221402214122142221432214422145221462214722148221492215022151221522215322154221552215622157221582215922160221612216222163221642216522166221672216822169221702217122172221732217422175221762217722178221792218022181221822218322184221852218622187221882218922190221912219222193221942219522196221972219822199222002220122202222032220422205222062220722208222092221022211222122221322214222152221622217222182221922220222212222222223222242222522226222272222822229222302223122232222332223422235222362223722238222392224022241222422224322244222452224622247222482224922250222512225222253222542225522256222572225822259222602226122262222632226422265222662226722268222692227022271222722227322274222752227622277222782227922280222812228222283222842228522286222872228822289222902229122292222932229422295222962229722298222992230022301223022230322304223052230622307223082230922310223112231222313223142231522316223172231822319223202232122322223232232422325223262232722328223292233022331223322233322334223352233622337223382233922340223412234222343223442234522346223472234822349223502235122352223532235422355223562235722358223592236022361223622236322364223652236622367223682236922370223712237222373223742237522376223772237822379223802238122382223832238422385223862238722388223892239022391223922239322394223952239622397223982239922400224012240222403224042240522406224072240822409224102241122412224132241422415224162241722418224192242022421224222242322424224252242622427224282242922430224312243222433224342243522436224372243822439224402244122442224432244422445224462244722448224492245022451224522245322454224552245622457224582245922460224612246222463224642246522466224672246822469224702247122472224732247422475224762247722478224792248022481224822248322484224852248622487224882248922490224912249222493224942249522496224972249822499225002250122502225032250422505225062250722508225092251022511225122251322514225152251622517225182251922520225212252222523225242252522526225272252822529225302253122532225332253422535225362253722538225392254022541225422254322544225452254622547225482254922550225512255222553225542255522556225572255822559225602256122562225632256422565225662256722568225692257022571225722257322574225752257622577225782257922580225812258222583225842258522586225872258822589225902259122592225932259422595225962259722598225992260022601226022260322604226052260622607226082260922610226112261222613226142261522616226172261822619226202262122622226232262422625226262262722628226292263022631226322263322634226352263622637226382263922640226412264222643226442264522646226472264822649226502265122652226532265422655226562265722658226592266022661226622266322664226652266622667226682266922670226712267222673226742267522676226772267822679226802268122682226832268422685226862268722688226892269022691226922269322694226952269622697226982269922700227012270222703227042270522706227072270822709227102271122712227132271422715227162271722718227192272022721227222272322724227252272622727227282272922730227312273222733227342273522736227372273822739227402274122742227432274422745227462274722748227492275022751227522275322754227552275622757227582275922760227612276222763227642276522766227672276822769227702277122772227732277422775227762277722778227792278022781227822278322784227852278622787227882278922790227912279222793227942279522796227972279822799228002280122802228032280422805228062280722808228092281022811228122281322814228152281622817228182281922820228212282222823228242282522826228272282822829228302283122832228332283422835228362283722838228392284022841228422284322844228452284622847228482284922850228512285222853228542285522856228572285822859228602286122862228632286422865228662286722868228692287022871228722287322874228752287622877228782287922880228812288222883228842288522886228872288822889228902289122892228932289422895228962289722898228992290022901229022290322904229052290622907229082290922910229112291222913229142291522916229172291822919229202292122922229232292422925229262292722928229292293022931229322293322934229352293622937229382293922940229412294222943229442294522946229472294822949229502295122952229532295422955229562295722958229592296022961229622296322964229652296622967229682296922970229712297222973229742297522976229772297822979229802298122982229832298422985229862298722988229892299022991229922299322994229952299622997229982299923000230012300223003230042300523006230072300823009230102301123012230132301423015230162301723018230192302023021230222302323024230252302623027230282302923030230312303223033230342303523036230372303823039230402304123042230432304423045230462304723048230492305023051230522305323054230552305623057230582305923060230612306223063230642306523066230672306823069230702307123072230732307423075230762307723078230792308023081230822308323084230852308623087230882308923090230912309223093230942309523096230972309823099231002310123102231032310423105231062310723108231092311023111231122311323114231152311623117231182311923120231212312223123231242312523126231272312823129231302313123132231332313423135231362313723138231392314023141231422314323144231452314623147231482314923150231512315223153231542315523156231572315823159231602316123162231632316423165231662316723168231692317023171231722317323174231752317623177231782317923180231812318223183231842318523186231872318823189231902319123192231932319423195231962319723198231992320023201232022320323204232052320623207232082320923210232112321223213232142321523216232172321823219232202322123222232232322423225232262322723228232292323023231232322323323234232352323623237232382323923240232412324223243232442324523246232472324823249232502325123252232532325423255232562325723258232592326023261232622326323264232652326623267232682326923270232712327223273232742327523276232772327823279232802328123282232832328423285232862328723288232892329023291232922329323294232952329623297232982329923300233012330223303233042330523306233072330823309233102331123312233132331423315233162331723318233192332023321233222332323324233252332623327233282332923330233312333223333233342333523336233372333823339233402334123342233432334423345233462334723348233492335023351233522335323354233552335623357233582335923360233612336223363233642336523366233672336823369233702337123372233732337423375233762337723378233792338023381233822338323384233852338623387233882338923390233912339223393233942339523396233972339823399234002340123402234032340423405234062340723408234092341023411234122341323414234152341623417234182341923420234212342223423234242342523426234272342823429234302343123432234332343423435234362343723438234392344023441234422344323444234452344623447234482344923450234512345223453234542345523456234572345823459234602346123462234632346423465234662346723468234692347023471234722347323474234752347623477234782347923480234812348223483234842348523486234872348823489234902349123492234932349423495234962349723498234992350023501235022350323504235052350623507235082350923510235112351223513235142351523516235172351823519235202352123522235232352423525235262352723528235292353023531235322353323534235352353623537235382353923540235412354223543235442354523546235472354823549235502355123552235532355423555235562355723558235592356023561235622356323564235652356623567235682356923570235712357223573235742357523576235772357823579235802358123582235832358423585235862358723588235892359023591235922359323594235952359623597235982359923600236012360223603236042360523606236072360823609236102361123612236132361423615236162361723618236192362023621236222362323624236252362623627236282362923630236312363223633236342363523636236372363823639236402364123642236432364423645236462364723648236492365023651236522365323654236552365623657236582365923660236612366223663236642366523666236672366823669236702367123672236732367423675236762367723678236792368023681236822368323684236852368623687236882368923690236912369223693236942369523696236972369823699237002370123702237032370423705237062370723708237092371023711237122371323714237152371623717237182371923720237212372223723237242372523726237272372823729237302373123732237332373423735237362373723738237392374023741237422374323744237452374623747237482374923750237512375223753237542375523756237572375823759237602376123762237632376423765237662376723768237692377023771237722377323774237752377623777237782377923780237812378223783237842378523786237872378823789237902379123792237932379423795237962379723798237992380023801238022380323804238052380623807238082380923810238112381223813238142381523816238172381823819238202382123822238232382423825238262382723828238292383023831238322383323834238352383623837238382383923840238412384223843238442384523846238472384823849238502385123852238532385423855238562385723858238592386023861238622386323864238652386623867238682386923870238712387223873238742387523876238772387823879238802388123882238832388423885238862388723888238892389023891238922389323894238952389623897238982389923900239012390223903239042390523906239072390823909239102391123912239132391423915239162391723918239192392023921239222392323924239252392623927239282392923930239312393223933239342393523936239372393823939239402394123942239432394423945239462394723948239492395023951239522395323954239552395623957239582395923960239612396223963239642396523966239672396823969239702397123972239732397423975239762397723978239792398023981239822398323984239852398623987239882398923990239912399223993239942399523996239972399823999240002400124002240032400424005240062400724008240092401024011240122401324014240152401624017240182401924020240212402224023240242402524026240272402824029240302403124032240332403424035240362403724038240392404024041240422404324044240452404624047240482404924050240512405224053240542405524056240572405824059240602406124062240632406424065240662406724068240692407024071240722407324074240752407624077240782407924080240812408224083240842408524086240872408824089240902409124092240932409424095240962409724098240992410024101241022410324104241052410624107241082410924110241112411224113241142411524116241172411824119241202412124122241232412424125241262412724128241292413024131241322413324134241352413624137241382413924140241412414224143241442414524146241472414824149241502415124152241532415424155241562415724158241592416024161241622416324164241652416624167241682416924170241712417224173241742417524176241772417824179241802418124182241832418424185241862418724188241892419024191241922419324194241952419624197241982419924200242012420224203242042420524206242072420824209242102421124212242132421424215242162421724218242192422024221242222422324224242252422624227242282422924230242312423224233242342423524236242372423824239242402424124242242432424424245242462424724248242492425024251242522425324254242552425624257242582425924260242612426224263242642426524266242672426824269242702427124272242732427424275242762427724278242792428024281242822428324284242852428624287242882428924290242912429224293242942429524296242972429824299243002430124302243032430424305243062430724308243092431024311243122431324314243152431624317243182431924320243212432224323243242432524326243272432824329243302433124332243332433424335243362433724338243392434024341243422434324344243452434624347243482434924350243512435224353243542435524356243572435824359243602436124362243632436424365243662436724368243692437024371243722437324374243752437624377243782437924380243812438224383243842438524386243872438824389243902439124392243932439424395243962439724398243992440024401244022440324404244052440624407244082440924410244112441224413244142441524416244172441824419244202442124422244232442424425244262442724428244292443024431244322443324434244352443624437244382443924440244412444224443244442444524446244472444824449244502445124452244532445424455244562445724458244592446024461244622446324464244652446624467244682446924470244712447224473244742447524476244772447824479244802448124482244832448424485244862448724488244892449024491244922449324494244952449624497244982449924500245012450224503245042450524506245072450824509245102451124512245132451424515245162451724518245192452024521245222452324524245252452624527245282452924530245312453224533245342453524536245372453824539245402454124542245432454424545245462454724548245492455024551245522455324554245552455624557245582455924560245612456224563245642456524566245672456824569245702457124572245732457424575245762457724578245792458024581245822458324584245852458624587245882458924590245912459224593245942459524596245972459824599246002460124602246032460424605246062460724608246092461024611246122461324614246152461624617246182461924620246212462224623246242462524626246272462824629246302463124632246332463424635246362463724638246392464024641246422464324644246452464624647246482464924650246512465224653246542465524656246572465824659246602466124662246632466424665246662466724668246692467024671246722467324674246752467624677246782467924680246812468224683246842468524686246872468824689246902469124692246932469424695246962469724698246992470024701247022470324704247052470624707247082470924710247112471224713247142471524716247172471824719247202472124722247232472424725247262472724728247292473024731247322473324734247352473624737247382473924740247412474224743247442474524746247472474824749247502475124752247532475424755247562475724758247592476024761247622476324764247652476624767247682476924770247712477224773247742477524776247772477824779247802478124782247832478424785247862478724788247892479024791247922479324794247952479624797247982479924800248012480224803248042480524806248072480824809248102481124812248132481424815248162481724818248192482024821248222482324824248252482624827248282482924830248312483224833248342483524836248372483824839248402484124842248432484424845248462484724848248492485024851248522485324854248552485624857248582485924860248612486224863248642486524866248672486824869248702487124872248732487424875248762487724878248792488024881248822488324884248852488624887248882488924890248912489224893248942489524896248972489824899249002490124902249032490424905249062490724908249092491024911249122491324914249152491624917249182491924920249212492224923249242492524926249272492824929249302493124932249332493424935249362493724938249392494024941249422494324944249452494624947249482494924950249512495224953249542495524956249572495824959249602496124962249632496424965249662496724968249692497024971249722497324974249752497624977249782497924980249812498224983249842498524986249872498824989249902499124992249932499424995249962499724998249992500025001250022500325004250052500625007250082500925010250112501225013250142501525016250172501825019250202502125022250232502425025250262502725028250292503025031250322503325034250352503625037250382503925040250412504225043250442504525046250472504825049250502505125052250532505425055250562505725058250592506025061250622506325064250652506625067250682506925070250712507225073250742507525076250772507825079250802508125082250832508425085250862508725088250892509025091250922509325094250952509625097250982509925100251012510225103251042510525106251072510825109251102511125112251132511425115251162511725118251192512025121251222512325124251252512625127251282512925130251312513225133251342513525136251372513825139251402514125142251432514425145251462514725148251492515025151251522515325154251552515625157251582515925160251612516225163251642516525166251672516825169251702517125172251732517425175251762517725178251792518025181251822518325184251852518625187251882518925190251912519225193251942519525196251972519825199252002520125202252032520425205252062520725208252092521025211252122521325214252152521625217252182521925220252212522225223252242522525226252272522825229252302523125232252332523425235252362523725238252392524025241252422524325244252452524625247252482524925250252512525225253252542525525256252572525825259252602526125262252632526425265252662526725268252692527025271252722527325274252752527625277252782527925280252812528225283252842528525286252872528825289252902529125292252932529425295252962529725298252992530025301253022530325304253052530625307253082530925310253112531225313253142531525316253172531825319253202532125322253232532425325253262532725328253292533025331253322533325334253352533625337253382533925340253412534225343253442534525346253472534825349253502535125352253532535425355253562535725358253592536025361253622536325364253652536625367253682536925370253712537225373253742537525376253772537825379253802538125382253832538425385253862538725388253892539025391253922539325394253952539625397253982539925400254012540225403254042540525406254072540825409254102541125412254132541425415254162541725418254192542025421254222542325424254252542625427254282542925430254312543225433254342543525436254372543825439254402544125442254432544425445254462544725448254492545025451254522545325454254552545625457254582545925460254612546225463254642546525466254672546825469254702547125472254732547425475254762547725478254792548025481254822548325484254852548625487254882548925490254912549225493254942549525496254972549825499255002550125502255032550425505255062550725508255092551025511255122551325514255152551625517255182551925520255212552225523255242552525526255272552825529255302553125532255332553425535255362553725538255392554025541255422554325544255452554625547255482554925550255512555225553255542555525556255572555825559255602556125562255632556425565255662556725568255692557025571255722557325574255752557625577255782557925580255812558225583255842558525586255872558825589255902559125592255932559425595255962559725598255992560025601256022560325604256052560625607256082560925610256112561225613256142561525616256172561825619256202562125622256232562425625256262562725628256292563025631256322563325634256352563625637256382563925640256412564225643256442564525646256472564825649256502565125652256532565425655256562565725658256592566025661256622566325664256652566625667256682566925670256712567225673256742567525676256772567825679256802568125682256832568425685256862568725688256892569025691256922569325694256952569625697256982569925700257012570225703257042570525706257072570825709257102571125712257132571425715257162571725718257192572025721257222572325724257252572625727257282572925730257312573225733257342573525736257372573825739257402574125742257432574425745257462574725748257492575025751257522575325754257552575625757257582575925760257612576225763257642576525766257672576825769257702577125772257732577425775257762577725778257792578025781257822578325784257852578625787257882578925790257912579225793257942579525796257972579825799258002580125802258032580425805258062580725808258092581025811258122581325814258152581625817258182581925820258212582225823258242582525826258272582825829258302583125832258332583425835258362583725838258392584025841258422584325844258452584625847258482584925850258512585225853258542585525856258572585825859258602586125862258632586425865258662586725868258692587025871258722587325874258752587625877258782587925880258812588225883258842588525886258872588825889258902589125892258932589425895258962589725898258992590025901259022590325904259052590625907259082590925910259112591225913259142591525916259172591825919259202592125922259232592425925259262592725928259292593025931259322593325934259352593625937259382593925940259412594225943259442594525946259472594825949259502595125952259532595425955259562595725958259592596025961259622596325964259652596625967259682596925970259712597225973259742597525976259772597825979259802598125982259832598425985259862598725988259892599025991259922599325994259952599625997259982599926000260012600226003260042600526006260072600826009260102601126012260132601426015260162601726018260192602026021260222602326024260252602626027260282602926030260312603226033260342603526036260372603826039260402604126042260432604426045260462604726048260492605026051260522605326054260552605626057260582605926060260612606226063260642606526066260672606826069260702607126072260732607426075260762607726078260792608026081260822608326084260852608626087260882608926090260912609226093260942609526096260972609826099261002610126102261032610426105261062610726108261092611026111261122611326114261152611626117261182611926120261212612226123261242612526126261272612826129261302613126132261332613426135261362613726138261392614026141261422614326144261452614626147261482614926150261512615226153261542615526156261572615826159261602616126162261632616426165261662616726168261692617026171261722617326174261752617626177261782617926180261812618226183261842618526186261872618826189261902619126192261932619426195261962619726198261992620026201262022620326204262052620626207262082620926210262112621226213262142621526216262172621826219262202622126222262232622426225262262622726228262292623026231262322623326234262352623626237262382623926240262412624226243262442624526246262472624826249262502625126252262532625426255262562625726258262592626026261262622626326264262652626626267262682626926270262712627226273262742627526276262772627826279262802628126282262832628426285262862628726288262892629026291262922629326294262952629626297262982629926300263012630226303263042630526306263072630826309263102631126312263132631426315263162631726318263192632026321263222632326324263252632626327263282632926330263312633226333263342633526336263372633826339263402634126342263432634426345263462634726348263492635026351263522635326354263552635626357263582635926360263612636226363263642636526366263672636826369263702637126372263732637426375263762637726378263792638026381263822638326384263852638626387263882638926390263912639226393263942639526396263972639826399264002640126402264032640426405264062640726408264092641026411264122641326414264152641626417264182641926420264212642226423264242642526426264272642826429264302643126432264332643426435264362643726438264392644026441264422644326444264452644626447264482644926450264512645226453264542645526456264572645826459264602646126462264632646426465264662646726468264692647026471264722647326474264752647626477264782647926480264812648226483264842648526486264872648826489264902649126492264932649426495264962649726498264992650026501265022650326504265052650626507265082650926510265112651226513265142651526516265172651826519265202652126522265232652426525265262652726528265292653026531265322653326534265352653626537265382653926540265412654226543265442654526546265472654826549265502655126552265532655426555265562655726558265592656026561265622656326564265652656626567265682656926570265712657226573265742657526576265772657826579265802658126582265832658426585265862658726588265892659026591265922659326594265952659626597265982659926600266012660226603266042660526606266072660826609266102661126612266132661426615266162661726618266192662026621266222662326624266252662626627266282662926630266312663226633266342663526636266372663826639266402664126642266432664426645266462664726648266492665026651266522665326654266552665626657266582665926660266612666226663266642666526666266672666826669266702667126672266732667426675266762667726678266792668026681266822668326684266852668626687266882668926690266912669226693266942669526696266972669826699267002670126702267032670426705267062670726708267092671026711267122671326714267152671626717267182671926720267212672226723267242672526726267272672826729267302673126732267332673426735267362673726738267392674026741267422674326744267452674626747267482674926750267512675226753267542675526756267572675826759267602676126762267632676426765267662676726768267692677026771267722677326774267752677626777267782677926780267812678226783267842678526786267872678826789267902679126792267932679426795267962679726798267992680026801268022680326804268052680626807268082680926810268112681226813268142681526816268172681826819268202682126822268232682426825268262682726828268292683026831268322683326834268352683626837268382683926840268412684226843268442684526846268472684826849268502685126852268532685426855268562685726858268592686026861268622686326864268652686626867268682686926870268712687226873268742687526876268772687826879268802688126882268832688426885268862688726888268892689026891268922689326894268952689626897268982689926900269012690226903269042690526906269072690826909269102691126912269132691426915269162691726918269192692026921269222692326924269252692626927269282692926930269312693226933269342693526936269372693826939269402694126942269432694426945269462694726948269492695026951269522695326954269552695626957269582695926960269612696226963269642696526966269672696826969269702697126972269732697426975269762697726978269792698026981269822698326984269852698626987269882698926990269912699226993269942699526996269972699826999270002700127002270032700427005270062700727008270092701027011270122701327014270152701627017270182701927020270212702227023270242702527026270272702827029270302703127032270332703427035270362703727038270392704027041270422704327044270452704627047270482704927050270512705227053270542705527056270572705827059270602706127062270632706427065270662706727068270692707027071270722707327074270752707627077270782707927080270812708227083270842708527086270872708827089270902709127092270932709427095270962709727098270992710027101271022710327104271052710627107271082710927110271112711227113271142711527116271172711827119271202712127122271232712427125271262712727128271292713027131271322713327134271352713627137271382713927140271412714227143271442714527146271472714827149271502715127152271532715427155271562715727158271592716027161271622716327164271652716627167271682716927170271712717227173271742717527176271772717827179271802718127182271832718427185271862718727188271892719027191271922719327194271952719627197271982719927200272012720227203272042720527206272072720827209272102721127212272132721427215272162721727218272192722027221272222722327224272252722627227272282722927230272312723227233272342723527236272372723827239272402724127242272432724427245272462724727248272492725027251272522725327254272552725627257272582725927260272612726227263272642726527266272672726827269272702727127272272732727427275272762727727278272792728027281272822728327284272852728627287272882728927290272912729227293272942729527296272972729827299273002730127302273032730427305273062730727308273092731027311273122731327314273152731627317273182731927320273212732227323273242732527326273272732827329273302733127332273332733427335273362733727338273392734027341273422734327344273452734627347273482734927350273512735227353273542735527356273572735827359273602736127362273632736427365273662736727368273692737027371273722737327374273752737627377273782737927380273812738227383273842738527386273872738827389273902739127392273932739427395273962739727398273992740027401274022740327404274052740627407274082740927410274112741227413274142741527416274172741827419274202742127422274232742427425274262742727428274292743027431274322743327434274352743627437274382743927440274412744227443274442744527446274472744827449274502745127452274532745427455274562745727458274592746027461274622746327464274652746627467274682746927470274712747227473274742747527476274772747827479274802748127482274832748427485274862748727488274892749027491274922749327494274952749627497274982749927500275012750227503275042750527506275072750827509275102751127512275132751427515275162751727518275192752027521275222752327524275252752627527275282752927530275312753227533275342753527536275372753827539275402754127542275432754427545275462754727548275492755027551275522755327554275552755627557275582755927560275612756227563275642756527566275672756827569275702757127572275732757427575275762757727578275792758027581275822758327584275852758627587275882758927590275912759227593275942759527596275972759827599276002760127602276032760427605276062760727608276092761027611276122761327614276152761627617276182761927620276212762227623276242762527626276272762827629276302763127632276332763427635276362763727638276392764027641276422764327644276452764627647276482764927650276512765227653276542765527656276572765827659276602766127662276632766427665276662766727668276692767027671276722767327674276752767627677276782767927680276812768227683276842768527686276872768827689276902769127692276932769427695276962769727698276992770027701277022770327704277052770627707277082770927710277112771227713277142771527716277172771827719277202772127722277232772427725277262772727728277292773027731277322773327734277352773627737277382773927740277412774227743277442774527746277472774827749277502775127752277532775427755277562775727758277592776027761277622776327764277652776627767277682776927770277712777227773277742777527776277772777827779277802778127782277832778427785277862778727788277892779027791277922779327794277952779627797277982779927800278012780227803278042780527806278072780827809278102781127812278132781427815278162781727818278192782027821278222782327824278252782627827278282782927830278312783227833278342783527836278372783827839278402784127842278432784427845278462784727848278492785027851278522785327854278552785627857278582785927860278612786227863278642786527866278672786827869278702787127872278732787427875278762787727878278792788027881278822788327884278852788627887278882788927890278912789227893278942789527896278972789827899279002790127902279032790427905279062790727908279092791027911279122791327914279152791627917279182791927920279212792227923279242792527926279272792827929279302793127932279332793427935279362793727938279392794027941279422794327944279452794627947279482794927950279512795227953279542795527956279572795827959279602796127962279632796427965279662796727968279692797027971279722797327974279752797627977279782797927980279812798227983279842798527986279872798827989279902799127992279932799427995279962799727998279992800028001280022800328004280052800628007280082800928010280112801228013280142801528016280172801828019280202802128022280232802428025280262802728028280292803028031280322803328034280352803628037280382803928040280412804228043280442804528046280472804828049280502805128052280532805428055280562805728058280592806028061280622806328064280652806628067280682806928070280712807228073280742807528076280772807828079280802808128082280832808428085280862808728088280892809028091280922809328094280952809628097280982809928100281012810228103281042810528106281072810828109281102811128112281132811428115281162811728118281192812028121281222812328124281252812628127281282812928130281312813228133281342813528136281372813828139281402814128142281432814428145281462814728148281492815028151281522815328154281552815628157281582815928160281612816228163281642816528166281672816828169281702817128172281732817428175281762817728178281792818028181281822818328184281852818628187281882818928190281912819228193281942819528196281972819828199282002820128202282032820428205282062820728208282092821028211282122821328214282152821628217282182821928220282212822228223282242822528226282272822828229282302823128232282332823428235282362823728238282392824028241282422824328244282452824628247282482824928250282512825228253282542825528256282572825828259282602826128262282632826428265282662826728268282692827028271282722827328274282752827628277282782827928280282812828228283282842828528286282872828828289282902829128292282932829428295282962829728298282992830028301283022830328304283052830628307283082830928310283112831228313283142831528316283172831828319283202832128322283232832428325283262832728328283292833028331283322833328334283352833628337283382833928340283412834228343283442834528346283472834828349283502835128352283532835428355283562835728358283592836028361283622836328364283652836628367283682836928370283712837228373283742837528376283772837828379283802838128382283832838428385283862838728388283892839028391283922839328394283952839628397283982839928400284012840228403284042840528406284072840828409284102841128412284132841428415284162841728418284192842028421284222842328424284252842628427284282842928430284312843228433284342843528436284372843828439284402844128442284432844428445284462844728448284492845028451284522845328454284552845628457284582845928460284612846228463284642846528466284672846828469284702847128472284732847428475284762847728478284792848028481284822848328484284852848628487284882848928490284912849228493284942849528496284972849828499285002850128502285032850428505285062850728508285092851028511285122851328514285152851628517285182851928520285212852228523285242852528526285272852828529285302853128532285332853428535285362853728538285392854028541285422854328544285452854628547285482854928550285512855228553285542855528556285572855828559285602856128562285632856428565285662856728568285692857028571285722857328574285752857628577285782857928580285812858228583285842858528586285872858828589285902859128592285932859428595285962859728598285992860028601286022860328604286052860628607286082860928610286112861228613286142861528616286172861828619286202862128622286232862428625286262862728628286292863028631286322863328634286352863628637286382863928640286412864228643286442864528646286472864828649286502865128652286532865428655286562865728658286592866028661286622866328664286652866628667286682866928670286712867228673286742867528676286772867828679286802868128682286832868428685286862868728688286892869028691286922869328694286952869628697286982869928700287012870228703287042870528706287072870828709287102871128712287132871428715287162871728718287192872028721287222872328724287252872628727287282872928730287312873228733287342873528736287372873828739287402874128742287432874428745287462874728748287492875028751287522875328754287552875628757287582875928760287612876228763287642876528766287672876828769287702877128772287732877428775287762877728778287792878028781287822878328784287852878628787287882878928790287912879228793287942879528796287972879828799288002880128802288032880428805288062880728808288092881028811288122881328814288152881628817288182881928820288212882228823288242882528826288272882828829288302883128832288332883428835288362883728838288392884028841288422884328844288452884628847288482884928850288512885228853288542885528856288572885828859288602886128862288632886428865288662886728868288692887028871288722887328874288752887628877288782887928880288812888228883288842888528886288872888828889288902889128892288932889428895288962889728898288992890028901289022890328904289052890628907289082890928910289112891228913289142891528916289172891828919289202892128922289232892428925289262892728928289292893028931289322893328934289352893628937289382893928940289412894228943289442894528946289472894828949289502895128952289532895428955289562895728958289592896028961289622896328964289652896628967289682896928970289712897228973289742897528976289772897828979289802898128982289832898428985289862898728988289892899028991289922899328994289952899628997289982899929000290012900229003290042900529006290072900829009290102901129012290132901429015290162901729018290192902029021290222902329024290252902629027290282902929030290312903229033290342903529036290372903829039290402904129042290432904429045290462904729048290492905029051290522905329054290552905629057290582905929060290612906229063290642906529066290672906829069290702907129072290732907429075290762907729078290792908029081290822908329084290852908629087290882908929090290912909229093290942909529096290972909829099291002910129102291032910429105291062910729108291092911029111291122911329114291152911629117291182911929120291212912229123291242912529126291272912829129291302913129132291332913429135291362913729138291392914029141291422914329144291452914629147291482914929150291512915229153291542915529156291572915829159291602916129162291632916429165291662916729168291692917029171291722917329174291752917629177291782917929180291812918229183291842918529186291872918829189291902919129192291932919429195291962919729198291992920029201292022920329204292052920629207292082920929210292112921229213292142921529216292172921829219292202922129222292232922429225292262922729228292292923029231292322923329234292352923629237292382923929240292412924229243292442924529246292472924829249292502925129252292532925429255292562925729258292592926029261292622926329264292652926629267292682926929270292712927229273292742927529276292772927829279292802928129282292832928429285292862928729288292892929029291292922929329294292952929629297292982929929300293012930229303293042930529306293072930829309293102931129312293132931429315293162931729318293192932029321293222932329324293252932629327293282932929330293312933229333293342933529336293372933829339293402934129342293432934429345293462934729348293492935029351293522935329354293552935629357293582935929360293612936229363293642936529366293672936829369293702937129372293732937429375293762937729378293792938029381293822938329384293852938629387293882938929390293912939229393293942939529396293972939829399294002940129402294032940429405294062940729408294092941029411294122941329414294152941629417294182941929420294212942229423294242942529426294272942829429294302943129432294332943429435294362943729438294392944029441294422944329444294452944629447294482944929450294512945229453294542945529456294572945829459294602946129462294632946429465294662946729468294692947029471294722947329474294752947629477294782947929480294812948229483294842948529486294872948829489294902949129492294932949429495294962949729498294992950029501295022950329504295052950629507295082950929510295112951229513295142951529516295172951829519295202952129522295232952429525295262952729528295292953029531295322953329534295352953629537295382953929540295412954229543295442954529546295472954829549295502955129552295532955429555295562955729558295592956029561295622956329564295652956629567295682956929570295712957229573295742957529576295772957829579295802958129582295832958429585295862958729588295892959029591295922959329594295952959629597295982959929600296012960229603296042960529606296072960829609296102961129612296132961429615296162961729618296192962029621296222962329624296252962629627296282962929630296312963229633296342963529636296372963829639296402964129642296432964429645296462964729648296492965029651296522965329654296552965629657296582965929660296612966229663296642966529666296672966829669296702967129672296732967429675296762967729678296792968029681296822968329684296852968629687296882968929690296912969229693296942969529696296972969829699297002970129702297032970429705297062970729708297092971029711297122971329714297152971629717297182971929720297212972229723297242972529726297272972829729297302973129732297332973429735297362973729738297392974029741297422974329744297452974629747297482974929750297512975229753297542975529756297572975829759297602976129762297632976429765297662976729768297692977029771297722977329774297752977629777297782977929780297812978229783297842978529786297872978829789297902979129792297932979429795297962979729798297992980029801298022980329804298052980629807298082980929810298112981229813298142981529816298172981829819298202982129822298232982429825298262982729828298292983029831298322983329834298352983629837298382983929840298412984229843298442984529846298472984829849298502985129852298532985429855298562985729858298592986029861298622986329864298652986629867298682986929870298712987229873298742987529876298772987829879298802988129882298832988429885298862988729888298892989029891298922989329894298952989629897298982989929900299012990229903299042990529906299072990829909299102991129912299132991429915299162991729918299192992029921299222992329924299252992629927299282992929930299312993229933299342993529936299372993829939299402994129942299432994429945299462994729948299492995029951299522995329954299552995629957299582995929960299612996229963299642996529966299672996829969299702997129972299732997429975299762997729978299792998029981299822998329984299852998629987299882998929990299912999229993299942999529996299972999829999300003000130002300033000430005300063000730008300093001030011300123001330014300153001630017300183001930020300213002230023300243002530026300273002830029300303003130032300333003430035300363003730038300393004030041300423004330044300453004630047300483004930050300513005230053300543005530056300573005830059300603006130062300633006430065300663006730068300693007030071300723007330074300753007630077300783007930080300813008230083300843008530086300873008830089300903009130092300933009430095300963009730098300993010030101301023010330104301053010630107301083010930110301113011230113301143011530116301173011830119301203012130122301233012430125301263012730128301293013030131301323013330134301353013630137301383013930140301413014230143301443014530146301473014830149301503015130152301533015430155301563015730158301593016030161301623016330164301653016630167301683016930170301713017230173301743017530176301773017830179301803018130182301833018430185301863018730188301893019030191301923019330194301953019630197301983019930200302013020230203302043020530206302073020830209302103021130212302133021430215302163021730218302193022030221302223022330224302253022630227302283022930230302313023230233302343023530236302373023830239302403024130242302433024430245302463024730248302493025030251302523025330254302553025630257302583025930260302613026230263302643026530266302673026830269302703027130272302733027430275302763027730278302793028030281302823028330284302853028630287302883028930290302913029230293302943029530296302973029830299303003030130302303033030430305303063030730308303093031030311303123031330314303153031630317303183031930320303213032230323303243032530326303273032830329303303033130332303333033430335303363033730338303393034030341303423034330344303453034630347303483034930350303513035230353303543035530356303573035830359303603036130362303633036430365303663036730368303693037030371303723037330374303753037630377303783037930380303813038230383303843038530386303873038830389303903039130392303933039430395303963039730398303993040030401304023040330404304053040630407304083040930410304113041230413304143041530416304173041830419304203042130422304233042430425304263042730428304293043030431304323043330434304353043630437304383043930440304413044230443304443044530446304473044830449304503045130452304533045430455304563045730458304593046030461304623046330464304653046630467304683046930470304713047230473304743047530476304773047830479304803048130482304833048430485304863048730488304893049030491304923049330494304953049630497304983049930500305013050230503305043050530506305073050830509305103051130512305133051430515305163051730518305193052030521305223052330524305253052630527305283052930530305313053230533305343053530536305373053830539305403054130542305433054430545305463054730548305493055030551305523055330554305553055630557305583055930560305613056230563305643056530566305673056830569305703057130572305733057430575305763057730578305793058030581305823058330584305853058630587305883058930590305913059230593305943059530596305973059830599306003060130602306033060430605306063060730608306093061030611306123061330614306153061630617306183061930620306213062230623306243062530626306273062830629306303063130632306333063430635306363063730638306393064030641306423064330644306453064630647306483064930650306513065230653306543065530656306573065830659306603066130662306633066430665306663066730668306693067030671306723067330674306753067630677306783067930680306813068230683306843068530686306873068830689306903069130692306933069430695306963069730698306993070030701307023070330704307053070630707307083070930710307113071230713307143071530716307173071830719307203072130722307233072430725307263072730728307293073030731307323073330734307353073630737307383073930740307413074230743307443074530746307473074830749307503075130752307533075430755307563075730758307593076030761307623076330764307653076630767307683076930770307713077230773307743077530776307773077830779307803078130782307833078430785307863078730788307893079030791307923079330794307953079630797307983079930800308013080230803308043080530806308073080830809308103081130812308133081430815308163081730818308193082030821308223082330824308253082630827308283082930830308313083230833308343083530836308373083830839308403084130842308433084430845308463084730848308493085030851308523085330854308553085630857308583085930860308613086230863308643086530866308673086830869308703087130872308733087430875308763087730878308793088030881308823088330884308853088630887308883088930890308913089230893308943089530896308973089830899309003090130902309033090430905309063090730908309093091030911309123091330914309153091630917309183091930920309213092230923309243092530926309273092830929309303093130932309333093430935309363093730938309393094030941309423094330944309453094630947309483094930950309513095230953309543095530956309573095830959309603096130962309633096430965309663096730968309693097030971309723097330974309753097630977309783097930980309813098230983309843098530986309873098830989309903099130992309933099430995309963099730998309993100031001310023100331004310053100631007310083100931010310113101231013310143101531016310173101831019310203102131022310233102431025310263102731028310293103031031310323103331034310353103631037310383103931040310413104231043310443104531046310473104831049310503105131052310533105431055310563105731058310593106031061310623106331064310653106631067310683106931070310713107231073310743107531076310773107831079310803108131082310833108431085310863108731088310893109031091310923109331094310953109631097310983109931100311013110231103311043110531106311073110831109311103111131112311133111431115311163111731118311193112031121311223112331124311253112631127311283112931130311313113231133311343113531136311373113831139311403114131142311433114431145311463114731148311493115031151311523115331154311553115631157311583115931160311613116231163311643116531166311673116831169311703117131172311733117431175311763117731178311793118031181311823118331184311853118631187311883118931190311913119231193311943119531196311973119831199312003120131202312033120431205312063120731208312093121031211312123121331214312153121631217312183121931220312213122231223312243122531226312273122831229312303123131232312333123431235312363123731238312393124031241312423124331244312453124631247312483124931250312513125231253312543125531256312573125831259312603126131262312633126431265312663126731268312693127031271312723127331274312753127631277312783127931280312813128231283312843128531286312873128831289312903129131292312933129431295312963129731298312993130031301313023130331304313053130631307313083130931310313113131231313313143131531316313173131831319313203132131322313233132431325313263132731328313293133031331313323133331334313353133631337313383133931340313413134231343313443134531346313473134831349313503135131352313533135431355313563135731358313593136031361313623136331364313653136631367313683136931370313713137231373313743137531376313773137831379313803138131382313833138431385313863138731388313893139031391313923139331394313953139631397313983139931400314013140231403314043140531406314073140831409314103141131412314133141431415314163141731418314193142031421314223142331424314253142631427314283142931430314313143231433314343143531436314373143831439314403144131442314433144431445314463144731448314493145031451314523145331454314553145631457314583145931460314613146231463314643146531466314673146831469314703147131472314733147431475314763147731478314793148031481314823148331484314853148631487314883148931490314913149231493314943149531496314973149831499315003150131502315033150431505315063150731508315093151031511315123151331514315153151631517315183151931520315213152231523315243152531526315273152831529315303153131532315333153431535315363153731538315393154031541315423154331544315453154631547315483154931550315513155231553315543155531556315573155831559315603156131562315633156431565315663156731568315693157031571315723157331574315753157631577315783157931580315813158231583315843158531586315873158831589315903159131592315933159431595315963159731598315993160031601316023160331604316053160631607316083160931610316113161231613316143161531616316173161831619316203162131622316233162431625316263162731628316293163031631316323163331634316353163631637316383163931640316413164231643316443164531646316473164831649316503165131652316533165431655316563165731658316593166031661316623166331664316653166631667316683166931670316713167231673316743167531676316773167831679316803168131682316833168431685316863168731688316893169031691316923169331694316953169631697316983169931700317013170231703317043170531706317073170831709317103171131712317133171431715317163171731718317193172031721317223172331724317253172631727317283172931730317313173231733317343173531736317373173831739317403174131742317433174431745317463174731748317493175031751317523175331754317553175631757317583175931760317613176231763317643176531766317673176831769317703177131772317733177431775317763177731778317793178031781317823178331784317853178631787317883178931790317913179231793317943179531796317973179831799318003180131802318033180431805318063180731808318093181031811318123181331814318153181631817318183181931820318213182231823318243182531826318273182831829318303183131832318333183431835318363183731838318393184031841318423184331844318453184631847318483184931850318513185231853318543185531856318573185831859318603186131862318633186431865318663186731868318693187031871318723187331874318753187631877318783187931880318813188231883318843188531886318873188831889318903189131892318933189431895318963189731898318993190031901319023190331904319053190631907319083190931910319113191231913319143191531916319173191831919319203192131922319233192431925319263192731928319293193031931319323193331934319353193631937319383193931940319413194231943319443194531946319473194831949319503195131952319533195431955319563195731958319593196031961319623196331964319653196631967319683196931970319713197231973319743197531976319773197831979319803198131982319833198431985319863198731988319893199031991319923199331994319953199631997319983199932000320013200232003320043200532006320073200832009320103201132012320133201432015320163201732018320193202032021320223202332024320253202632027320283202932030320313203232033320343203532036320373203832039320403204132042320433204432045320463204732048320493205032051320523205332054320553205632057320583205932060320613206232063320643206532066320673206832069320703207132072320733207432075320763207732078320793208032081320823208332084320853208632087320883208932090320913209232093320943209532096320973209832099321003210132102321033210432105321063210732108321093211032111321123211332114321153211632117321183211932120321213212232123321243212532126321273212832129321303213132132321333213432135321363213732138321393214032141321423214332144321453214632147321483214932150321513215232153321543215532156321573215832159321603216132162321633216432165321663216732168321693217032171321723217332174321753217632177321783217932180321813218232183321843218532186321873218832189321903219132192321933219432195321963219732198321993220032201322023220332204322053220632207322083220932210322113221232213322143221532216322173221832219322203222132222322233222432225322263222732228322293223032231322323223332234322353223632237322383223932240322413224232243322443224532246322473224832249322503225132252322533225432255322563225732258322593226032261322623226332264322653226632267322683226932270322713227232273322743227532276322773227832279322803228132282322833228432285322863228732288322893229032291322923229332294322953229632297322983229932300323013230232303323043230532306323073230832309323103231132312323133231432315323163231732318323193232032321323223232332324323253232632327323283232932330323313233232333323343233532336323373233832339323403234132342323433234432345323463234732348323493235032351323523235332354323553235632357323583235932360323613236232363323643236532366323673236832369323703237132372323733237432375323763237732378323793238032381323823238332384323853238632387323883238932390323913239232393323943239532396323973239832399324003240132402324033240432405324063240732408324093241032411324123241332414324153241632417324183241932420324213242232423324243242532426324273242832429324303243132432324333243432435324363243732438324393244032441324423244332444324453244632447324483244932450324513245232453324543245532456324573245832459324603246132462324633246432465324663246732468324693247032471324723247332474324753247632477324783247932480324813248232483324843248532486324873248832489324903249132492324933249432495324963249732498324993250032501325023250332504325053250632507325083250932510325113251232513325143251532516325173251832519325203252132522325233252432525325263252732528325293253032531325323253332534325353253632537325383253932540325413254232543325443254532546325473254832549325503255132552325533255432555325563255732558325593256032561325623256332564325653256632567325683256932570325713257232573325743257532576325773257832579325803258132582325833258432585325863258732588325893259032591325923259332594325953259632597325983259932600326013260232603326043260532606326073260832609326103261132612326133261432615326163261732618326193262032621326223262332624326253262632627326283262932630326313263232633326343263532636326373263832639326403264132642326433264432645326463264732648326493265032651326523265332654326553265632657326583265932660326613266232663326643266532666326673266832669326703267132672326733267432675326763267732678326793268032681326823268332684326853268632687326883268932690326913269232693326943269532696326973269832699327003270132702327033270432705327063270732708327093271032711327123271332714327153271632717327183271932720327213272232723327243272532726327273272832729327303273132732327333273432735327363273732738327393274032741327423274332744327453274632747327483274932750327513275232753327543275532756327573275832759327603276132762327633276432765327663276732768327693277032771327723277332774327753277632777327783277932780327813278232783327843278532786327873278832789327903279132792327933279432795327963279732798327993280032801328023280332804328053280632807328083280932810328113281232813328143281532816328173281832819328203282132822328233282432825328263282732828328293283032831328323283332834328353283632837328383283932840328413284232843328443284532846328473284832849328503285132852328533285432855328563285732858328593286032861328623286332864328653286632867328683286932870328713287232873328743287532876328773287832879328803288132882328833288432885328863288732888328893289032891328923289332894328953289632897328983289932900329013290232903329043290532906329073290832909329103291132912329133291432915329163291732918329193292032921329223292332924329253292632927329283292932930329313293232933329343293532936329373293832939329403294132942329433294432945329463294732948329493295032951329523295332954329553295632957329583295932960329613296232963329643296532966329673296832969329703297132972329733297432975329763297732978329793298032981329823298332984329853298632987329883298932990329913299232993329943299532996329973299832999330003300133002330033300433005330063300733008330093301033011330123301333014330153301633017330183301933020330213302233023330243302533026330273302833029330303303133032330333303433035330363303733038330393304033041330423304333044330453304633047330483304933050330513305233053330543305533056330573305833059330603306133062330633306433065330663306733068330693307033071330723307333074330753307633077330783307933080330813308233083330843308533086330873308833089330903309133092330933309433095330963309733098330993310033101331023310333104331053310633107331083310933110331113311233113331143311533116331173311833119331203312133122331233312433125331263312733128331293313033131331323313333134331353313633137331383313933140331413314233143331443314533146331473314833149331503315133152331533315433155331563315733158331593316033161331623316333164331653316633167331683316933170331713317233173331743317533176331773317833179331803318133182331833318433185331863318733188331893319033191331923319333194331953319633197331983319933200332013320233203332043320533206332073320833209332103321133212332133321433215332163321733218332193322033221332223322333224332253322633227332283322933230332313323233233332343323533236332373323833239332403324133242332433324433245332463324733248332493325033251332523325333254332553325633257332583325933260332613326233263332643326533266332673326833269332703327133272332733327433275332763327733278332793328033281332823328333284332853328633287332883328933290332913329233293332943329533296332973329833299333003330133302333033330433305333063330733308333093331033311333123331333314333153331633317333183331933320333213332233323333243332533326333273332833329333303333133332333333333433335333363333733338333393334033341333423334333344333453334633347333483334933350333513335233353333543335533356333573335833359333603336133362333633336433365333663336733368333693337033371333723337333374333753337633377333783337933380333813338233383333843338533386333873338833389333903339133392333933339433395333963339733398333993340033401334023340333404334053340633407334083340933410334113341233413334143341533416334173341833419334203342133422334233342433425334263342733428334293343033431334323343333434334353343633437334383343933440334413344233443334443344533446334473344833449334503345133452334533345433455334563345733458334593346033461334623346333464334653346633467334683346933470334713347233473334743347533476334773347833479334803348133482334833348433485334863348733488334893349033491334923349333494334953349633497334983349933500335013350233503335043350533506335073350833509335103351133512335133351433515335163351733518335193352033521335223352333524335253352633527335283352933530335313353233533335343353533536335373353833539335403354133542335433354433545335463354733548335493355033551335523355333554335553355633557335583355933560335613356233563335643356533566335673356833569335703357133572335733357433575335763357733578335793358033581335823358333584335853358633587335883358933590335913359233593335943359533596335973359833599336003360133602336033360433605336063360733608336093361033611336123361333614336153361633617336183361933620336213362233623336243362533626336273362833629336303363133632336333363433635336363363733638336393364033641336423364333644336453364633647336483364933650336513365233653336543365533656336573365833659336603366133662336633366433665336663366733668336693367033671336723367333674336753367633677336783367933680336813368233683336843368533686336873368833689336903369133692336933369433695336963369733698336993370033701337023370333704337053370633707337083370933710337113371233713337143371533716337173371833719337203372133722337233372433725337263372733728337293373033731337323373333734337353373633737337383373933740337413374233743337443374533746337473374833749337503375133752337533375433755337563375733758337593376033761337623376333764337653376633767337683376933770337713377233773337743377533776337773377833779337803378133782337833378433785337863378733788337893379033791337923379333794337953379633797337983379933800338013380233803338043380533806338073380833809338103381133812338133381433815338163381733818338193382033821338223382333824338253382633827338283382933830338313383233833338343383533836338373383833839338403384133842338433384433845338463384733848338493385033851338523385333854338553385633857338583385933860338613386233863338643386533866338673386833869338703387133872338733387433875338763387733878338793388033881338823388333884338853388633887338883388933890338913389233893338943389533896338973389833899339003390133902339033390433905339063390733908339093391033911339123391333914339153391633917339183391933920339213392233923339243392533926339273392833929339303393133932339333393433935339363393733938339393394033941339423394333944339453394633947339483394933950339513395233953339543395533956339573395833959339603396133962339633396433965339663396733968339693397033971339723397333974339753397633977339783397933980339813398233983339843398533986339873398833989339903399133992339933399433995339963399733998339993400034001340023400334004340053400634007340083400934010340113401234013340143401534016340173401834019340203402134022340233402434025340263402734028340293403034031340323403334034340353403634037340383403934040340413404234043340443404534046340473404834049340503405134052340533405434055340563405734058340593406034061340623406334064340653406634067340683406934070340713407234073340743407534076340773407834079340803408134082340833408434085340863408734088340893409034091340923409334094340953409634097340983409934100341013410234103341043410534106341073410834109341103411134112341133411434115341163411734118341193412034121341223412334124341253412634127341283412934130341313413234133341343413534136341373413834139341403414134142341433414434145341463414734148341493415034151341523415334154341553415634157341583415934160341613416234163341643416534166341673416834169341703417134172341733417434175341763417734178341793418034181341823418334184341853418634187341883418934190341913419234193341943419534196341973419834199342003420134202342033420434205342063420734208342093421034211342123421334214342153421634217342183421934220342213422234223342243422534226342273422834229342303423134232342333423434235342363423734238342393424034241342423424334244342453424634247342483424934250342513425234253342543425534256342573425834259342603426134262342633426434265342663426734268342693427034271342723427334274342753427634277342783427934280342813428234283342843428534286342873428834289342903429134292342933429434295342963429734298342993430034301343023430334304343053430634307343083430934310343113431234313343143431534316343173431834319343203432134322343233432434325343263432734328343293433034331343323433334334343353433634337343383433934340343413434234343343443434534346343473434834349343503435134352343533435434355343563435734358343593436034361343623436334364343653436634367343683436934370343713437234373343743437534376343773437834379343803438134382343833438434385343863438734388343893439034391343923439334394343953439634397343983439934400344013440234403344043440534406344073440834409344103441134412344133441434415344163441734418344193442034421344223442334424344253442634427344283442934430344313443234433344343443534436344373443834439344403444134442344433444434445344463444734448344493445034451344523445334454344553445634457344583445934460344613446234463344643446534466344673446834469344703447134472344733447434475344763447734478344793448034481344823448334484344853448634487344883448934490344913449234493344943449534496344973449834499345003450134502345033450434505345063450734508345093451034511345123451334514345153451634517345183451934520345213452234523345243452534526345273452834529345303453134532345333453434535345363453734538345393454034541345423454334544345453454634547345483454934550345513455234553345543455534556345573455834559345603456134562345633456434565345663456734568345693457034571345723457334574345753457634577345783457934580345813458234583345843458534586345873458834589345903459134592345933459434595345963459734598345993460034601346023460334604346053460634607346083460934610346113461234613346143461534616346173461834619346203462134622346233462434625346263462734628346293463034631346323463334634346353463634637346383463934640346413464234643346443464534646346473464834649346503465134652346533465434655346563465734658346593466034661346623466334664346653466634667346683466934670346713467234673346743467534676346773467834679346803468134682346833468434685346863468734688346893469034691346923469334694346953469634697346983469934700347013470234703347043470534706347073470834709347103471134712347133471434715347163471734718347193472034721347223472334724347253472634727347283472934730347313473234733347343473534736347373473834739347403474134742347433474434745347463474734748347493475034751347523475334754347553475634757347583475934760347613476234763347643476534766347673476834769347703477134772347733477434775347763477734778347793478034781347823478334784347853478634787347883478934790347913479234793347943479534796347973479834799348003480134802348033480434805348063480734808348093481034811348123481334814348153481634817348183481934820348213482234823348243482534826348273482834829348303483134832348333483434835348363483734838348393484034841348423484334844348453484634847348483484934850348513485234853348543485534856348573485834859348603486134862348633486434865348663486734868348693487034871348723487334874348753487634877348783487934880348813488234883348843488534886348873488834889348903489134892348933489434895348963489734898348993490034901349023490334904349053490634907349083490934910349113491234913349143491534916349173491834919349203492134922349233492434925349263492734928349293493034931349323493334934349353493634937349383493934940349413494234943349443494534946349473494834949349503495134952349533495434955349563495734958349593496034961349623496334964349653496634967349683496934970349713497234973349743497534976349773497834979349803498134982349833498434985349863498734988349893499034991349923499334994349953499634997349983499935000350013500235003350043500535006350073500835009350103501135012350133501435015350163501735018350193502035021350223502335024350253502635027350283502935030350313503235033350343503535036350373503835039350403504135042350433504435045350463504735048350493505035051350523505335054350553505635057350583505935060350613506235063350643506535066350673506835069350703507135072350733507435075350763507735078350793508035081350823508335084350853508635087350883508935090350913509235093350943509535096350973509835099351003510135102351033510435105351063510735108351093511035111351123511335114351153511635117351183511935120351213512235123351243512535126351273512835129351303513135132351333513435135351363513735138351393514035141351423514335144351453514635147351483514935150351513515235153351543515535156351573515835159351603516135162351633516435165351663516735168351693517035171351723517335174351753517635177351783517935180351813518235183351843518535186351873518835189351903519135192351933519435195351963519735198351993520035201352023520335204352053520635207352083520935210352113521235213352143521535216352173521835219352203522135222352233522435225352263522735228352293523035231352323523335234352353523635237352383523935240352413524235243352443524535246352473524835249352503525135252352533525435255352563525735258352593526035261352623526335264352653526635267352683526935270352713527235273352743527535276352773527835279352803528135282352833528435285352863528735288352893529035291352923529335294352953529635297352983529935300353013530235303353043530535306353073530835309353103531135312353133531435315353163531735318353193532035321353223532335324353253532635327353283532935330353313533235333353343533535336353373533835339353403534135342353433534435345353463534735348353493535035351353523535335354353553535635357353583535935360353613536235363353643536535366353673536835369353703537135372353733537435375353763537735378353793538035381353823538335384353853538635387353883538935390353913539235393353943539535396353973539835399354003540135402354033540435405354063540735408354093541035411354123541335414354153541635417354183541935420354213542235423354243542535426354273542835429354303543135432354333543435435354363543735438354393544035441354423544335444354453544635447354483544935450354513545235453354543545535456354573545835459354603546135462354633546435465354663546735468354693547035471354723547335474354753547635477354783547935480354813548235483354843548535486354873548835489354903549135492354933549435495354963549735498354993550035501355023550335504355053550635507355083550935510355113551235513355143551535516355173551835519355203552135522355233552435525355263552735528355293553035531355323553335534355353553635537355383553935540355413554235543355443554535546355473554835549355503555135552355533555435555355563555735558355593556035561355623556335564355653556635567355683556935570355713557235573355743557535576355773557835579355803558135582355833558435585355863558735588355893559035591355923559335594355953559635597355983559935600356013560235603356043560535606356073560835609356103561135612356133561435615356163561735618356193562035621356223562335624356253562635627356283562935630356313563235633356343563535636356373563835639356403564135642356433564435645356463564735648356493565035651356523565335654356553565635657356583565935660356613566235663356643566535666356673566835669356703567135672356733567435675356763567735678356793568035681356823568335684356853568635687356883568935690356913569235693356943569535696356973569835699357003570135702357033570435705357063570735708357093571035711357123571335714357153571635717357183571935720357213572235723357243572535726357273572835729357303573135732357333573435735357363573735738357393574035741357423574335744357453574635747357483574935750357513575235753357543575535756357573575835759357603576135762357633576435765357663576735768357693577035771357723577335774357753577635777357783577935780357813578235783357843578535786357873578835789357903579135792357933579435795357963579735798357993580035801358023580335804358053580635807358083580935810358113581235813358143581535816358173581835819358203582135822358233582435825358263582735828358293583035831358323583335834358353583635837358383583935840358413584235843358443584535846358473584835849358503585135852358533585435855358563585735858358593586035861358623586335864358653586635867358683586935870358713587235873358743587535876358773587835879358803588135882358833588435885358863588735888358893589035891358923589335894358953589635897358983589935900359013590235903359043590535906359073590835909359103591135912359133591435915359163591735918359193592035921359223592335924359253592635927359283592935930359313593235933359343593535936359373593835939359403594135942359433594435945359463594735948359493595035951359523595335954359553595635957359583595935960359613596235963359643596535966359673596835969359703597135972359733597435975359763597735978359793598035981359823598335984359853598635987359883598935990359913599235993359943599535996359973599835999360003600136002360033600436005360063600736008360093601036011360123601336014360153601636017360183601936020360213602236023360243602536026360273602836029360303603136032360333603436035360363603736038360393604036041360423604336044360453604636047360483604936050360513605236053360543605536056360573605836059360603606136062360633606436065360663606736068360693607036071360723607336074360753607636077360783607936080360813608236083360843608536086360873608836089360903609136092360933609436095360963609736098360993610036101361023610336104361053610636107361083610936110361113611236113361143611536116361173611836119361203612136122361233612436125361263612736128361293613036131361323613336134361353613636137361383613936140361413614236143361443614536146361473614836149361503615136152361533615436155361563615736158361593616036161361623616336164361653616636167361683616936170361713617236173361743617536176361773617836179361803618136182361833618436185361863618736188361893619036191361923619336194361953619636197361983619936200362013620236203362043620536206362073620836209362103621136212362133621436215362163621736218362193622036221362223622336224362253622636227362283622936230362313623236233362343623536236362373623836239362403624136242362433624436245362463624736248362493625036251362523625336254362553625636257362583625936260362613626236263362643626536266362673626836269362703627136272362733627436275362763627736278362793628036281362823628336284362853628636287362883628936290362913629236293362943629536296362973629836299363003630136302363033630436305363063630736308363093631036311363123631336314363153631636317363183631936320363213632236323363243632536326363273632836329363303633136332363333633436335363363633736338363393634036341363423634336344363453634636347363483634936350363513635236353363543635536356363573635836359363603636136362363633636436365363663636736368363693637036371363723637336374363753637636377363783637936380363813638236383363843638536386363873638836389363903639136392363933639436395363963639736398363993640036401364023640336404364053640636407364083640936410364113641236413364143641536416364173641836419364203642136422364233642436425364263642736428364293643036431364323643336434364353643636437364383643936440364413644236443364443644536446364473644836449364503645136452364533645436455364563645736458364593646036461364623646336464364653646636467364683646936470364713647236473364743647536476364773647836479364803648136482364833648436485364863648736488364893649036491364923649336494364953649636497364983649936500365013650236503365043650536506365073650836509365103651136512365133651436515365163651736518365193652036521365223652336524365253652636527365283652936530365313653236533365343653536536365373653836539365403654136542365433654436545365463654736548365493655036551365523655336554365553655636557365583655936560365613656236563365643656536566365673656836569365703657136572365733657436575365763657736578365793658036581365823658336584365853658636587365883658936590365913659236593365943659536596365973659836599366003660136602366033660436605366063660736608366093661036611366123661336614366153661636617366183661936620366213662236623366243662536626366273662836629366303663136632366333663436635366363663736638366393664036641366423664336644366453664636647366483664936650366513665236653366543665536656366573665836659366603666136662366633666436665366663666736668366693667036671366723667336674366753667636677366783667936680366813668236683366843668536686366873668836689366903669136692366933669436695366963669736698366993670036701367023670336704367053670636707367083670936710367113671236713367143671536716367173671836719367203672136722367233672436725367263672736728367293673036731367323673336734367353673636737367383673936740367413674236743367443674536746367473674836749367503675136752367533675436755367563675736758367593676036761367623676336764367653676636767367683676936770367713677236773367743677536776367773677836779367803678136782367833678436785367863678736788367893679036791367923679336794367953679636797367983679936800368013680236803368043680536806368073680836809368103681136812368133681436815368163681736818368193682036821368223682336824368253682636827368283682936830368313683236833368343683536836368373683836839368403684136842368433684436845368463684736848368493685036851368523685336854368553685636857368583685936860368613686236863368643686536866368673686836869368703687136872368733687436875368763687736878368793688036881368823688336884368853688636887368883688936890368913689236893368943689536896368973689836899369003690136902369033690436905369063690736908369093691036911369123691336914369153691636917369183691936920369213692236923369243692536926369273692836929369303693136932369333693436935369363693736938369393694036941369423694336944369453694636947369483694936950369513695236953369543695536956369573695836959369603696136962369633696436965369663696736968369693697036971369723697336974369753697636977369783697936980369813698236983369843698536986369873698836989369903699136992369933699436995369963699736998369993700037001370023700337004370053700637007370083700937010370113701237013370143701537016370173701837019370203702137022370233702437025370263702737028370293703037031370323703337034370353703637037370383703937040370413704237043370443704537046370473704837049370503705137052370533705437055370563705737058370593706037061370623706337064370653706637067370683706937070370713707237073370743707537076370773707837079370803708137082370833708437085370863708737088370893709037091370923709337094370953709637097370983709937100371013710237103371043710537106371073710837109371103711137112371133711437115371163711737118371193712037121371223712337124371253712637127371283712937130371313713237133371343713537136371373713837139371403714137142371433714437145371463714737148371493715037151371523715337154371553715637157371583715937160371613716237163371643716537166371673716837169371703717137172371733717437175371763717737178371793718037181371823718337184371853718637187371883718937190371913719237193371943719537196371973719837199372003720137202372033720437205372063720737208372093721037211372123721337214372153721637217372183721937220372213722237223372243722537226372273722837229372303723137232372333723437235372363723737238372393724037241372423724337244372453724637247372483724937250372513725237253372543725537256372573725837259372603726137262372633726437265372663726737268372693727037271372723727337274372753727637277372783727937280372813728237283372843728537286372873728837289372903729137292372933729437295372963729737298372993730037301373023730337304373053730637307373083730937310373113731237313373143731537316373173731837319373203732137322373233732437325373263732737328373293733037331373323733337334373353733637337373383733937340373413734237343373443734537346373473734837349373503735137352373533735437355373563735737358373593736037361373623736337364373653736637367373683736937370373713737237373373743737537376373773737837379373803738137382373833738437385373863738737388373893739037391373923739337394373953739637397373983739937400374013740237403374043740537406374073740837409374103741137412374133741437415374163741737418374193742037421374223742337424374253742637427374283742937430374313743237433374343743537436374373743837439374403744137442374433744437445374463744737448374493745037451374523745337454374553745637457374583745937460374613746237463374643746537466374673746837469374703747137472374733747437475374763747737478374793748037481374823748337484374853748637487374883748937490374913749237493374943749537496374973749837499375003750137502375033750437505375063750737508375093751037511375123751337514375153751637517375183751937520375213752237523375243752537526375273752837529375303753137532375333753437535375363753737538375393754037541375423754337544375453754637547375483754937550375513755237553375543755537556375573755837559375603756137562375633756437565375663756737568375693757037571375723757337574375753757637577375783757937580375813758237583375843758537586375873758837589375903759137592375933759437595375963759737598375993760037601376023760337604376053760637607376083760937610376113761237613376143761537616376173761837619376203762137622376233762437625376263762737628376293763037631376323763337634376353763637637376383763937640376413764237643376443764537646376473764837649376503765137652376533765437655376563765737658376593766037661376623766337664376653766637667376683766937670376713767237673376743767537676376773767837679376803768137682376833768437685376863768737688376893769037691376923769337694376953769637697376983769937700377013770237703377043770537706377073770837709377103771137712377133771437715377163771737718377193772037721377223772337724377253772637727377283772937730377313773237733377343773537736377373773837739377403774137742377433774437745377463774737748377493775037751377523775337754377553775637757377583775937760377613776237763377643776537766377673776837769377703777137772377733777437775377763777737778377793778037781377823778337784377853778637787377883778937790377913779237793377943779537796377973779837799378003780137802378033780437805378063780737808378093781037811378123781337814378153781637817378183781937820378213782237823378243782537826378273782837829378303783137832378333783437835378363783737838378393784037841378423784337844378453784637847378483784937850378513785237853378543785537856378573785837859378603786137862378633786437865378663786737868378693787037871378723787337874378753787637877378783787937880378813788237883378843788537886378873788837889378903789137892378933789437895378963789737898378993790037901379023790337904379053790637907379083790937910379113791237913379143791537916379173791837919379203792137922379233792437925379263792737928379293793037931379323793337934379353793637937379383793937940379413794237943379443794537946379473794837949379503795137952379533795437955379563795737958379593796037961379623796337964379653796637967379683796937970379713797237973379743797537976379773797837979379803798137982379833798437985379863798737988379893799037991379923799337994379953799637997379983799938000380013800238003380043800538006380073800838009380103801138012380133801438015380163801738018380193802038021380223802338024380253802638027380283802938030380313803238033380343803538036380373803838039380403804138042380433804438045380463804738048380493805038051380523805338054380553805638057380583805938060380613806238063380643806538066380673806838069380703807138072380733807438075380763807738078380793808038081380823808338084380853808638087380883808938090380913809238093380943809538096380973809838099381003810138102381033810438105381063810738108381093811038111381123811338114381153811638117381183811938120381213812238123381243812538126381273812838129381303813138132381333813438135381363813738138381393814038141381423814338144381453814638147381483814938150381513815238153381543815538156381573815838159381603816138162381633816438165381663816738168381693817038171381723817338174381753817638177381783817938180381813818238183381843818538186381873818838189381903819138192381933819438195381963819738198381993820038201382023820338204382053820638207382083820938210382113821238213382143821538216382173821838219382203822138222382233822438225382263822738228382293823038231382323823338234382353823638237382383823938240382413824238243382443824538246382473824838249382503825138252382533825438255382563825738258382593826038261382623826338264382653826638267382683826938270382713827238273382743827538276382773827838279382803828138282382833828438285382863828738288382893829038291382923829338294382953829638297382983829938300383013830238303383043830538306383073830838309383103831138312383133831438315383163831738318383193832038321383223832338324383253832638327383283832938330383313833238333383343833538336383373833838339383403834138342383433834438345383463834738348383493835038351383523835338354383553835638357383583835938360383613836238363383643836538366383673836838369383703837138372383733837438375383763837738378383793838038381383823838338384383853838638387383883838938390383913839238393383943839538396383973839838399384003840138402384033840438405384063840738408384093841038411384123841338414384153841638417384183841938420384213842238423384243842538426384273842838429384303843138432384333843438435384363843738438384393844038441384423844338444384453844638447384483844938450384513845238453384543845538456384573845838459384603846138462384633846438465384663846738468384693847038471384723847338474384753847638477384783847938480384813848238483384843848538486384873848838489384903849138492384933849438495384963849738498384993850038501385023850338504385053850638507385083850938510385113851238513385143851538516385173851838519385203852138522385233852438525385263852738528385293853038531385323853338534385353853638537385383853938540385413854238543385443854538546385473854838549385503855138552385533855438555385563855738558385593856038561385623856338564385653856638567385683856938570385713857238573385743857538576385773857838579385803858138582385833858438585385863858738588385893859038591385923859338594385953859638597385983859938600386013860238603386043860538606386073860838609386103861138612386133861438615386163861738618386193862038621386223862338624386253862638627386283862938630386313863238633386343863538636386373863838639386403864138642386433864438645386463864738648386493865038651386523865338654386553865638657386583865938660386613866238663386643866538666386673866838669386703867138672386733867438675386763867738678386793868038681386823868338684386853868638687386883868938690386913869238693386943869538696386973869838699387003870138702387033870438705387063870738708387093871038711387123871338714387153871638717387183871938720387213872238723387243872538726387273872838729387303873138732387333873438735387363873738738387393874038741387423874338744387453874638747387483874938750387513875238753387543875538756387573875838759387603876138762387633876438765387663876738768387693877038771387723877338774387753877638777387783877938780387813878238783387843878538786387873878838789387903879138792387933879438795387963879738798387993880038801388023880338804388053880638807388083880938810388113881238813388143881538816388173881838819388203882138822388233882438825388263882738828388293883038831388323883338834388353883638837388383883938840388413884238843388443884538846388473884838849388503885138852388533885438855388563885738858388593886038861388623886338864388653886638867388683886938870388713887238873388743887538876388773887838879388803888138882388833888438885388863888738888388893889038891388923889338894388953889638897388983889938900389013890238903389043890538906389073890838909389103891138912389133891438915389163891738918389193892038921389223892338924389253892638927389283892938930389313893238933389343893538936389373893838939389403894138942389433894438945389463894738948389493895038951389523895338954389553895638957389583895938960389613896238963389643896538966389673896838969389703897138972389733897438975389763897738978389793898038981389823898338984389853898638987389883898938990389913899238993389943899538996389973899838999390003900139002390033900439005390063900739008390093901039011390123901339014390153901639017390183901939020390213902239023390243902539026390273902839029390303903139032390333903439035390363903739038390393904039041390423904339044390453904639047390483904939050390513905239053390543905539056390573905839059390603906139062390633906439065390663906739068390693907039071390723907339074390753907639077390783907939080390813908239083390843908539086390873908839089390903909139092390933909439095390963909739098390993910039101391023910339104391053910639107391083910939110391113911239113391143911539116391173911839119391203912139122391233912439125391263912739128391293913039131391323913339134391353913639137391383913939140391413914239143391443914539146391473914839149391503915139152391533915439155391563915739158391593916039161391623916339164391653916639167391683916939170391713917239173391743917539176391773917839179391803918139182391833918439185391863918739188391893919039191391923919339194391953919639197391983919939200392013920239203392043920539206392073920839209392103921139212392133921439215392163921739218392193922039221392223922339224392253922639227392283922939230392313923239233392343923539236392373923839239392403924139242392433924439245392463924739248392493925039251392523925339254392553925639257392583925939260392613926239263392643926539266392673926839269392703927139272392733927439275392763927739278392793928039281392823928339284392853928639287392883928939290392913929239293392943929539296392973929839299393003930139302393033930439305393063930739308393093931039311393123931339314393153931639317393183931939320393213932239323393243932539326393273932839329393303933139332393333933439335393363933739338393393934039341393423934339344393453934639347393483934939350393513935239353393543935539356393573935839359393603936139362393633936439365393663936739368393693937039371393723937339374393753937639377393783937939380393813938239383393843938539386393873938839389393903939139392393933939439395393963939739398393993940039401394023940339404394053940639407394083940939410394113941239413394143941539416394173941839419394203942139422394233942439425394263942739428394293943039431394323943339434394353943639437394383943939440394413944239443394443944539446394473944839449394503945139452394533945439455394563945739458394593946039461394623946339464394653946639467394683946939470394713947239473394743947539476394773947839479394803948139482394833948439485394863948739488394893949039491394923949339494394953949639497394983949939500395013950239503395043950539506395073950839509395103951139512395133951439515395163951739518395193952039521395223952339524395253952639527395283952939530395313953239533395343953539536395373953839539395403954139542395433954439545395463954739548395493955039551395523955339554395553955639557395583955939560395613956239563395643956539566395673956839569395703957139572395733957439575395763957739578395793958039581395823958339584395853958639587395883958939590395913959239593395943959539596395973959839599396003960139602396033960439605396063960739608396093961039611396123961339614396153961639617396183961939620396213962239623396243962539626396273962839629396303963139632396333963439635396363963739638396393964039641396423964339644396453964639647396483964939650396513965239653396543965539656396573965839659396603966139662396633966439665396663966739668396693967039671396723967339674396753967639677396783967939680396813968239683396843968539686396873968839689396903969139692396933969439695396963969739698396993970039701397023970339704397053970639707397083970939710397113971239713397143971539716397173971839719397203972139722397233972439725397263972739728397293973039731397323973339734397353973639737397383973939740397413974239743397443974539746397473974839749397503975139752397533975439755397563975739758397593976039761397623976339764397653976639767397683976939770397713977239773397743977539776397773977839779397803978139782397833978439785397863978739788397893979039791397923979339794397953979639797397983979939800398013980239803398043980539806398073980839809398103981139812398133981439815398163981739818398193982039821398223982339824398253982639827398283982939830398313983239833398343983539836398373983839839398403984139842398433984439845398463984739848398493985039851398523985339854398553985639857398583985939860398613986239863398643986539866398673986839869398703987139872398733987439875398763987739878398793988039881398823988339884398853988639887398883988939890398913989239893398943989539896398973989839899399003990139902399033990439905399063990739908399093991039911399123991339914399153991639917399183991939920399213992239923399243992539926399273992839929399303993139932399333993439935399363993739938399393994039941399423994339944399453994639947399483994939950399513995239953399543995539956399573995839959399603996139962399633996439965399663996739968399693997039971399723997339974399753997639977399783997939980399813998239983399843998539986399873998839989399903999139992399933999439995399963999739998399994000040001400024000340004400054000640007400084000940010400114001240013400144001540016400174001840019400204002140022400234002440025400264002740028400294003040031400324003340034400354003640037400384003940040400414004240043400444004540046400474004840049400504005140052400534005440055400564005740058400594006040061400624006340064400654006640067400684006940070400714007240073400744007540076400774007840079400804008140082400834008440085400864008740088400894009040091400924009340094400954009640097400984009940100401014010240103
  1. (this["webpackJsonp"] = this["webpackJsonp"] || []).push([["app-service"],[
  2. /* 0 */
  3. <<<<<<< HEAD
  4. /*!****************************************!*\
  5. !*** C:/Users/001/Desktop/运维端/main.js ***!
  6. \****************************************/
  7. =======
  8. /*!*****************************************************!*\
  9. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/main.js ***!
  10. \*****************************************************/
  11. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  12. /*! no static exports found */
  13. /***/ (function(module, exports, __webpack_require__) {
  14. "use strict";
  15. eval("__webpack_require__(/*! uni-pages */ 1);var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 12));\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 387));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}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;}\n// import '././static/css/base.css'\n\n_vue.default.config.productionTip = false;\n\n_App.default.mpType = 'app';\n\nvar app = new _vue.default(_objectSpread({},\n_App.default));\n\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBbUI7QUFDbkIseUU7QUFDQTs7QUFFQUEsYUFBSUMsTUFBSixDQUFXQyxhQUFYLEdBQTJCLEtBQTNCOztBQUVBQyxhQUFJQyxNQUFKLEdBQWEsS0FBYjs7QUFFQSxJQUFNQyxHQUFHLEdBQUcsSUFBSUwsWUFBSjtBQUNSRyxZQURRLEVBQVo7O0FBR0FFLEdBQUcsQ0FBQ0MsTUFBSiIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO2ltcG9ydCBWdWUgZnJvbSAndnVlJ1xyXG5pbXBvcnQgQXBwIGZyb20gJy4vQXBwJ1xyXG4vLyBpbXBvcnQgJy4vLi9zdGF0aWMvY3NzL2Jhc2UuY3NzJ1xyXG5cclxuVnVlLmNvbmZpZy5wcm9kdWN0aW9uVGlwID0gZmFsc2VcclxuXHJcbkFwcC5tcFR5cGUgPSAnYXBwJ1xyXG5cclxuY29uc3QgYXBwID0gbmV3IFZ1ZSh7XHJcblx0Li4uQXBwXHJcbn0pXHJcbmFwcC4kbW91bnQoKSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n");
  16. /***/ }),
  17. /* 1 */
  18. <<<<<<< HEAD
  19. /*!*******************************************!*\
  20. !*** C:/Users/001/Desktop/运维端/pages.json ***!
  21. \*******************************************/
  22. =======
  23. /*!********************************************************!*\
  24. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages.json ***!
  25. \********************************************************/
  26. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27. /*! no static exports found */
  28. /***/ (function(module, exports, __webpack_require__) {
  29. if (typeof Promise !== 'undefined' && !Promise.prototype.finally) {
  30. Promise.prototype.finally = function (callback) {
  31. var promise = this.constructor;
  32. return this.then(
  33. function (value) {return promise.resolve(callback()).then(function () {return value;});},
  34. function (reason) {return promise.resolve(callback()).then(function () {
  35. throw reason;
  36. });});
  37. };
  38. }
  39. if (uni.restoreGlobal) {
  40. uni.restoreGlobal(weex, plus, setTimeout, clearTimeout, setInterval, clearInterval);
  41. }
  42. __definePage('pages/login/login', function () {return Vue.extend(__webpack_require__(/*! pages/login/login.vue?mpType=page */ 2).default);});
  43. __definePage('pages/mine/charts123', function () {return Vue.extend(__webpack_require__(/*! pages/mine/charts123.vue?mpType=page */ 14).default);});
  44. __definePage('pages/mine/control1', function () {return Vue.extend(__webpack_require__(/*! pages/mine/control1.vue?mpType=page */ 26).default);});
  45. __definePage('pages/mine/test', function () {return Vue.extend(__webpack_require__(/*! pages/mine/test.vue?mpType=page */ 31).default);});
  46. __definePage('pages/index/index', function () {return Vue.extend(__webpack_require__(/*! pages/index/index.vue?mpType=page */ 36).default);});
  47. __definePage('pages/manage/manage', function () {return Vue.extend(__webpack_require__(/*! pages/manage/manage.vue?mpType=page */ 213).default);});
  48. __definePage('pages/index/bikeTest', function () {return Vue.extend(__webpack_require__(/*! pages/index/bikeTest.vue?mpType=page */ 236).default);});
  49. __definePage('pages/manage/incomeDetail', function () {return Vue.extend(__webpack_require__(/*! pages/manage/incomeDetail.vue?mpType=page */ 246).default);});
  50. __definePage('pages/manage/orderDetail', function () {return Vue.extend(__webpack_require__(/*! pages/manage/orderDetail.vue?mpType=page */ 254).default);});
  51. __definePage('pages/manage/bikeDetail', function () {return Vue.extend(__webpack_require__(/*! pages/manage/bikeDetail.vue?mpType=page */ 259).default);});
  52. __definePage('pages/manage/userDetail', function () {return Vue.extend(__webpack_require__(/*! pages/manage/userDetail.vue?mpType=page */ 264).default);});
  53. __definePage('pages/manage/historyOrder', function () {return Vue.extend(__webpack_require__(/*! pages/manage/historyOrder.vue?mpType=page */ 269).default);});
  54. __definePage('pages/manage/workDetail', function () {return Vue.extend(__webpack_require__(/*! pages/manage/workDetail.vue?mpType=page */ 274).default);});
  55. __definePage('pages/manage/scanRecord', function () {return Vue.extend(__webpack_require__(/*! pages/manage/scanRecord.vue?mpType=page */ 279).default);});
  56. __definePage('pages/manage/recentOrder', function () {return Vue.extend(__webpack_require__(/*! pages/manage/recentOrder.vue?mpType=page */ 284).default);});
  57. __definePage('pages/manage/lineRecord', function () {return Vue.extend(__webpack_require__(/*! pages/manage/lineRecord.vue?mpType=page */ 289).default);});
  58. __definePage('pages/manage/lockRecord', function () {return Vue.extend(__webpack_require__(/*! pages/manage/lockRecord.vue?mpType=page */ 294).default);});
  59. __definePage('pages/mine/mine', function () {return Vue.extend(__webpack_require__(/*! pages/mine/mine.vue?mpType=page */ 299).default);});
  60. __definePage('pages/workOrder/workOrder', function () {return Vue.extend(__webpack_require__(/*! pages/workOrder/workOrder.vue?mpType=page */ 311).default);});
  61. __definePage('pages/mine/password', function () {return Vue.extend(__webpack_require__(/*! pages/mine/password.vue?mpType=page */ 316).default);});
  62. __definePage('pages/mine/personnel', function () {return Vue.extend(__webpack_require__(/*! pages/mine/personnel.vue?mpType=page */ 321).default);});
  63. __definePage('pages/mine/control', function () {return Vue.extend(__webpack_require__(/*! pages/mine/control.vue?mpType=page */ 326).default);});
  64. __definePage('pages/mine/lineChart', function () {return Vue.extend(__webpack_require__(/*! pages/mine/lineChart.vue?mpType=page */ 331).default);});
  65. __definePage('pages/mine/chart', function () {return Vue.extend(__webpack_require__(/*! pages/mine/chart.vue?mpType=page */ 336).default);});
  66. __definePage('pages/mine/park', function () {return Vue.extend(__webpack_require__(/*! pages/mine/park.vue?mpType=page */ 341).default);});
  67. __definePage('pages/mine/feedback', function () {return Vue.extend(__webpack_require__(/*! pages/mine/feedback.vue?mpType=page */ 346).default);});
  68. __definePage('pages/mine/repairs', function () {return Vue.extend(__webpack_require__(/*! pages/mine/repairs.vue?mpType=page */ 351).default);});
  69. __definePage('pages/index/bike_detail', function () {return Vue.extend(__webpack_require__(/*! pages/index/bike_detail.vue?mpType=page */ 356).default);});
  70. __definePage('pages/index/reqair', function () {return Vue.extend(__webpack_require__(/*! pages/index/reqair.vue?mpType=page */ 367).default);});
  71. __definePage('pages/index/amendCar', function () {return Vue.extend(__webpack_require__(/*! pages/index/amendCar.vue?mpType=page */ 372).default);});
  72. __definePage('pages/index/car_position', function () {return Vue.extend(__webpack_require__(/*! pages/index/car_position.vue?mpType=page */ 377).default);});
  73. __definePage('pages/mine/add_park', function () {return Vue.extend(__webpack_require__(/*! pages/mine/add_park.vue?mpType=page */ 382).default);});
  74. /***/ }),
  75. /* 2 */
  76. <<<<<<< HEAD
  77. /*!******************************************************************!*\
  78. !*** C:/Users/001/Desktop/运维端/pages/login/login.vue?mpType=page ***!
  79. \******************************************************************/
  80. =======
  81. /*!*******************************************************************************!*\
  82. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/login/login.vue?mpType=page ***!
  83. \*******************************************************************************/
  84. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  85. /*! no static exports found */
  86. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  87. "use strict";
  88. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./login.vue?vue&type=template&id=5b26a3ac&mpType=page */ 3);\n/* harmony import */ var _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./login.vue?vue&type=script&lang=js&mpType=page */ 7);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/login/login.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vbG9naW4udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTViMjZhM2FjJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9sb2dpbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbG9naW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxccnVudGltZVxcXFxjb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvbG9naW4vbG9naW4udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///2\n");
  89. /***/ }),
  90. /* 3 */
  91. <<<<<<< HEAD
  92. /*!************************************************************************************************!*\
  93. !*** C:/Users/001/Desktop/运维端/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***!
  94. \************************************************************************************************/
  95. =======
  96. /*!*************************************************************************************************************!*\
  97. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***!
  98. \*************************************************************************************************************/
  99. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  100. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  101. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  102. "use strict";
  103. __webpack_require__.r(__webpack_exports__);
  104. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./login.vue?vue&type=template&id=5b26a3ac&mpType=page */ 4);
  105. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  106. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  107. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  108. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_template_id_5b26a3ac_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  109. /***/ }),
  110. /* 4 */
  111. <<<<<<< HEAD
  112. /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  113. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***!
  114. \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  115. =======
  116. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  117. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/login/login.vue?vue&type=template&id=5b26a3ac&mpType=page ***!
  118. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  119. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  120. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  121. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  122. "use strict";
  123. __webpack_require__.r(__webpack_exports__);
  124. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  125. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  126. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  127. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  128. var components
  129. var render = function() {
  130. var _vm = this
  131. var _h = _vm.$createElement
  132. var _c = _vm._self._c || _h
  133. return _c("view", [
  134. _c("view", { staticClass: _vm._$s(1, "sc", "title"), attrs: { _i: 1 } }, [
  135. _c("text")
  136. ]),
  137. _c("view", { staticClass: _vm._$s(3, "sc", "title1"), attrs: { _i: 3 } }, [
  138. _c("text")
  139. ]),
  140. _c("view", { staticClass: _vm._$s(5, "sc", "loginBg"), attrs: { _i: 5 } }, [
  141. _c("image", { attrs: { _i: 6 } })
  142. ]),
  143. _c("view", { staticClass: _vm._$s(7, "sc", "inp"), attrs: { _i: 7 } }, [
  144. _c("view", [
  145. _c("image", {
  146. staticClass: _vm._$s(9, "sc", "zhanghao"),
  147. attrs: {
  148. src: _vm._$s(9, "a-src", __webpack_require__(/*! ../../static/img/zhanghao.png */ 5)),
  149. _i: 9
  150. }
  151. }),
  152. _c("input", {
  153. directives: [
  154. {
  155. name: "model",
  156. rawName: "v-model",
  157. value: _vm.account,
  158. expression: "account"
  159. }
  160. ],
  161. attrs: { _i: 10 },
  162. domProps: { value: _vm._$s(10, "v-model", _vm.account) },
  163. on: {
  164. input: function($event) {
  165. if ($event.target.composing) {
  166. return
  167. }
  168. _vm.account = $event.target.value
  169. }
  170. }
  171. })
  172. ]),
  173. _c("view", [
  174. _c("image", {
  175. staticClass: _vm._$s(12, "sc", "zhanghao"),
  176. attrs: {
  177. src: _vm._$s(12, "a-src", __webpack_require__(/*! ../../static/img/pwd.png */ 6)),
  178. _i: 12
  179. }
  180. }),
  181. _c("input", {
  182. directives: [
  183. {
  184. name: "model",
  185. rawName: "v-model",
  186. value: _vm.pwd,
  187. expression: "pwd"
  188. }
  189. ],
  190. attrs: { _i: 13 },
  191. domProps: { value: _vm._$s(13, "v-model", _vm.pwd) },
  192. on: {
  193. input: function($event) {
  194. if ($event.target.composing) {
  195. return
  196. }
  197. _vm.pwd = $event.target.value
  198. }
  199. }
  200. })
  201. ])
  202. ]),
  203. _c(
  204. "view",
  205. {
  206. staticClass: _vm._$s(14, "sc", "remember flex"),
  207. attrs: { _i: 14 },
  208. on: { click: _vm.check }
  209. },
  210. [
  211. _vm._$s(15, "i", _vm.checked)
  212. ? _c("image", { attrs: { _i: 15 } })
  213. : _c("image", { attrs: { _i: 16 } }),
  214. _c("text")
  215. ]
  216. ),
  217. _c("view", {
  218. staticClass: _vm._$s(18, "sc", "btn"),
  219. attrs: { _i: 18 },
  220. on: { click: _vm.login }
  221. }),
  222. _c("view", { staticClass: _vm._$s(19, "sc", "issue"), attrs: { _i: 19 } })
  223. ])
  224. }
  225. var recyclableRender = false
  226. var staticRenderFns = []
  227. render._withStripped = true
  228. /***/ }),
  229. /* 5 */
  230. <<<<<<< HEAD
  231. /*!********************************************************!*\
  232. !*** C:/Users/001/Desktop/运维端/static/img/zhanghao.png ***!
  233. \********************************************************/
  234. =======
  235. /*!*********************************************************************!*\
  236. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/zhanghao.png ***!
  237. \*********************************************************************/
  238. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  239. /*! no static exports found */
  240. /***/ (function(module, exports) {
  241. eval("module.exports = \"/static/img/zhanghao.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IFwiL3N0YXRpYy9pbWcvemhhbmdoYW8ucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///5\n");
  242. /***/ }),
  243. /* 6 */
  244. <<<<<<< HEAD
  245. /*!***************************************************!*\
  246. !*** C:/Users/001/Desktop/运维端/static/img/pwd.png ***!
  247. \***************************************************/
  248. =======
  249. /*!****************************************************************!*\
  250. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/pwd.png ***!
  251. \****************************************************************/
  252. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  253. /*! no static exports found */
  254. /***/ (function(module, exports) {
  255. eval("module.exports = \"/static/img/pwd.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IFwiL3N0YXRpYy9pbWcvcHdkLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n");
  256. /***/ }),
  257. /* 7 */
  258. <<<<<<< HEAD
  259. /*!******************************************************************************************!*\
  260. !*** C:/Users/001/Desktop/运维端/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***!
  261. \******************************************************************************************/
  262. =======
  263. /*!*******************************************************************************************************!*\
  264. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***!
  265. \*******************************************************************************************************/
  266. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  267. /*! no static exports found */
  268. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  269. "use strict";
  270. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./login.vue?vue&type=script&lang=js&mpType=page */ 8);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_login_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQiw4a0JBQUcsRUFBQyIsImZpbGUiOiI3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vZCBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbG9naW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2xvZ2luLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n");
  271. /***/ }),
  272. /* 8 */
  273. <<<<<<< HEAD
  274. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  275. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***!
  276. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  277. =======
  278. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  279. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/login/login.vue?vue&type=script&lang=js&mpType=page ***!
  280. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  281. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  282. /*! no static exports found */
  283. /***/ (function(module, exports, __webpack_require__) {
  284. "use strict";
  285. <<<<<<< HEAD
  286. eval("/* WEBPACK VAR INJECTION */(function(__f__, wx) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n checked: false,\n account: '',\n pwd: '' };\n\n },\n onLoad: function onLoad() {\n if (uni.getStorageSync('account') && uni.getStorageSync('pwd')) {\n this.account = uni.getStorageSync('account'),\n this.pwd = uni.getStorageSync('pwd'),\n this.checked = true;\n __f__(\"log\", uni.getStorageSync('account'), \" at pages/login/login.vue:45\");\n }\n var token = uni.getStorageSync('token').token;\n if (token) {\n uni.reLaunch({\n url: '/pages/index/index' });\n\n } else {\n uni.switchTab({\n url: '/pages/login/login' });\n\n }\n },\n methods: {\n check: function check() {\n this.checked = !this.checked;\n if (this.checked == true) {\n uni.removeStorageSync('account');\n uni.removeStorageSync('pwd');\n }\n checked: this.checked;\n },\n\n //登录\n login: function login() {var _this = this;\n uni.showLoading({\n title: '登陆中' });\n\n if (!this.account) {\n uni.showToast({\n title: '账户名不能为空',\n icon: 'none' });\n\n } else if (!this.pwd) {\n uni.showToast({\n title: '密码不能为空',\n icon: 'none' });\n\n } else {\n var data = {\n account: this.account,\n password: this.pwd };\n\n app.request('auth/login', data, 'POST').then(function (res) {\n if (res.statusCode == 201) {\n __f__(\"log\", app, \" at pages/login/login.vue:90\");\n uni.setStorageSync('token', res.data);\n uni.hideLoading();\n app.request('index', '', 'GET').then(function (res) {\n if (_this.checked == true) {\n wx.setStorageSync('account', _this.account);\n wx.setStorageSync('pwd', _this.pwd);\n }\n uni.setStorageSync('allArea', res.data.wx_area);\n uni.setStorageSync('allState', res.data.wx_bikeStates);\n __f__(\"log\", uni.getStorageSync('allArea'), \"这是区域选择\", \" at pages/login/login.vue:100\");\n });\n uni.switchTab({\n url: \"../index/index\" });\n\n } else if (res.statusCode == 422) {\n uni.showToast({\n title: '账户名或密码错误',\n icon: 'none' });\n\n }\n });\n }\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"], __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxtQjtBQUNBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0Esb0JBREE7QUFFQSxpQkFGQTtBQUdBLGFBSEE7O0FBS0EsR0FQQTtBQVFBLFFBUkEsb0JBUUE7QUFDQTtBQUNBO0FBQ0EsMENBREE7QUFFQSx5QkFGQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FEQTs7QUFHQSxLQUpBLE1BSUE7QUFDQTtBQUNBLGlDQURBOztBQUdBO0FBQ0EsR0F6QkE7QUEwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBUkE7O0FBVUE7QUFDQTtBQUNBO0FBQ0Esb0JBREE7O0FBR0E7QUFDQTtBQUNBLDBCQURBO0FBRUEsc0JBRkE7O0FBSUEsT0FMQSxNQUtBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBLHNCQUZBOztBQUlBLE9BTEEsTUFLQTtBQUNBO0FBQ0EsK0JBREE7QUFFQSw0QkFGQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBUkE7QUFTQTtBQUNBLG1DQURBOztBQUdBLFdBaEJBLE1BZ0JBO0FBQ0E7QUFDQSwrQkFEQTtBQUVBLDBCQUZBOztBQUlBO0FBQ0EsU0F2QkE7QUF3QkE7QUFDQSxLQXZEQSxFQTFCQSxFIiwiZmlsZSI6IjguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PCEtLeeZu+W9lS0tPlxyXG5cdDx2aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZVwiPjx0ZXh0Puasoui/juS9v+eUqCDpl6rnjrDlh7rooYzov5Dnu7Tnq688L3RleHQ+PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZTFcIj48dGV4dD7lhbHkuqvlh7rooYzvvIzlronlhajkvr/mjbc8L3RleHQ+PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJsb2dpbkJnXCI+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltZy9sb2dpbi5wbmdcIj48L2ltYWdlPlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJpbnBcIj5cclxuXHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvemhhbmdoYW8ucG5nXCIgY2xhc3M9XCJ6aGFuZ2hhb1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwhLS0gPHRleHQgY2xhc3M9XCJpY29uZm9udFwiPjwvdGV4dD4gLS0+XHJcblx0XHRcdFx0PGlucHV0IHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo55qE6LSm5oi3XCIgdi1tb2RlbD1cImFjY291bnRcIj48L2lucHV0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3B3ZC5wbmdcIiBjbGFzcz1cInpoYW5naGFvXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo55qE5a+G56CBXCIgdi1tb2RlbD1cInB3ZFwiPjwvaW5wdXQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwicmVtZW1iZXIgZmxleFwiIEBjbGljaz1cImNoZWNrXCI+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvY2hlY2tlZC5wbmdcIiB2LWlmPVwiY2hlY2tlZFwiPjwvaW1hZ2U+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvbm9DaGVjay5wbmdcIiB2LWVsc2U+PC9pbWFnZT5cclxuXHRcdFx0PHRleHQ+6K6w5L2P6LSm5Y+35a+G56CBPC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJidG5cIiBAY2xpY2s9XCJsb2dpblwiPueZu+W9lTwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiaXNzdWVcIj7lpoLpgYfliLDnmbvpmYbpl67popjor7flj4rml7bogZTns7vnrqHnkIblkZg8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwID0gZ2V0QXBwKClcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNoZWNrZWQ6IGZhbHNlLFxyXG5cdFx0XHRcdGFjY291bnQ6ICcnLFxyXG5cdFx0XHRcdHB3ZDogJydcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0aWYgKHVuaS5nZXRTdG9yYWdlU3luYygnYWNjb3VudCcpICYmIHVuaS5nZXRTdG9yYWdlU3luYygncHdkJykpIHtcclxuXHRcdFx0XHR0aGlzLmFjY291bnQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnKSxcclxuXHRcdFx0XHR0aGlzLnB3ZCA9IHVuaS5nZXRTdG9yYWdlU3luYygncHdkJyksXHJcblx0XHRcdFx0dGhpcy5jaGVja2VkID0gdHJ1ZVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnYWNjb3VudCcpKVxyXG5cdFx0XHR9XHJcblx0XHRcdGxldCB0b2tlbiA9IHVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKS50b2tlblxyXG5cdFx0XHRpZiAodG9rZW4pIHtcclxuXHRcdFx0XHR1bmkucmVMYXVuY2goe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2luZGV4JyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2xvZ2luL2xvZ2luJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRjaGVjazogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZFxyXG5cdFx0XHRcdGlmICh0aGlzLmNoZWNrZWQgPT0gdHJ1ZSkge1xyXG5cdFx0XHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdhY2NvdW50JylcclxuXHRcdFx0XHRcdHVuaS5yZW1vdmVTdG9yYWdlU3luYygncHdkJylcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y2hlY2tlZDogdGhpcy5jaGVja2VkXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvL+eZu+W9lVxyXG5cdFx0XHRsb2dpbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn55m76ZmG5LitJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0aWYgKCF0aGlzLmFjY291bnQpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+i0puaIt+WQjeS4jeiDveS4uuepuicsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2UgaWYgKCF0aGlzLnB3ZCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn5a+G56CB5LiN6IO95Li656m6JyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR2YXIgZGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0YWNjb3VudDogdGhpcy5hY2NvdW50LFxyXG5cdFx0XHRcdFx0XHRwYXNzd29yZDogdGhpcy5wd2RcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdhdXRoL2xvZ2luJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDEpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcHApXHJcblx0XHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCd0b2tlbicsIHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdpbmRleCcsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuY2hlY2tlZCA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHd4LnNldFN0b3JhZ2VTeW5jKCdhY2NvdW50JywgdGhpcy5hY2NvdW50KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR3eC5zZXRTdG9yYWdlU3luYygncHdkJywgdGhpcy5wd2QpXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnLCByZXMuZGF0YS53eF9hcmVhKVxyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdhbGxTdGF0ZScsIHJlcy5kYXRhLnd4X2Jpa2VTdGF0ZXMpXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKSwgXCLov5nmmK/ljLrln5/pgInmi6lcIilcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi4uL2luZGV4L2luZGV4XCJcclxuXHRcdFx0XHRcdFx0XHR9KSAgXHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLnN0YXR1c0NvZGUgPT0gNDIyKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+i0puaIt+WQjeaIluWvhueggemUmeivrycsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0LnRpdGxle1xyXG5cdFx0Zm9udC1zaXplOiA0MHVweDtcclxuXHRcdGZvbnQtZmFtaWx5OiBQaW5nRmFuZyBTQztcclxuXHRcdGZvbnQtd2VpZ2h0OiA4MDA7XHJcblx0XHRjb2xvcjogIzJBMkQzODtcclxuXHRcdG1hcmdpbi10b3A6IDUwdXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiA1MHVweDtcclxuXHR9XHJcblx0LnRpdGxlMXtcclxuXHRcdGZvbnQtc2l6ZTogMzB1cHg7XHJcblx0XHRmb250LWZhbWlseTogUGluZ0ZhbmcgU0M7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Y29sb3I6ICMzRDQwNDg7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHVweDtcclxuXHRcdHBhZGRpbmctbGVmdDogNTB1cHg7XHJcblx0fVxyXG5cdC56aGFuZ2hhbyB7XHJcblx0XHRoZWlnaHQ6IDQ1cnB4O1xyXG5cdFx0d2lkdGg6IDQ1cnB4O1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0fVxyXG5cclxuXHQubG9naW5CZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5sb2dpbkJnIGltYWdlIHtcclxuXHRcdHdpZHRoOiA2OTB1cHg7XHJcblx0XHRoZWlnaHQ6IDQxN3JweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LmlucCxcclxuXHQucmVtZW1iZXIge1xyXG5cdFx0d2lkdGg6IDgwJTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH1cclxuXHJcblx0LmlucD52aWV3IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG5cdH1cclxuXHJcblx0LmlucCB2aWV3IGlucHV0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTVycHg7XHJcblx0fVxyXG5cclxuXHQuaW5wIHZpZXcgLnBsYWNlaG9sZGVyIHtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRjb2xvcjogI2I2YjZiNjtcclxuXHR9XHJcblxyXG5cdC5pbnAgLmljb25mb250IHtcclxuXHRcdGZvbnQtc2l6ZTogNDBycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cnB4O1xyXG5cdFx0Y29sb3I6ICM4Nzg3ODc7XHJcblx0fVxyXG5cclxuXHQucGxhY2Uge1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGNvbG9yOiAjYjZiNmI2O1xyXG5cdH1cclxuXHJcblx0LmJ0biB7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdHdpZHRoOiA2MDBycHg7XHJcblx0XHRoZWlnaHQ6IDg4cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDg4cnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMTBycHg7XHJcblx0XHRtYXJnaW4tdG9wOiA4NHJweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjQsIDIxMywgMTg1LCAxKTtcclxuXHRcdGJveC1zaGFkb3c6IDAgOHJweCAxM3JweCAwIHJnYmEoMTAwLCAyMzksIDIxOCwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA0NHJweDtcclxuXHR9XHJcblxyXG5cdC5pc3N1ZSB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0Y29sb3I6ICMyYTJhMmE7XHJcblx0XHRtYXJnaW4tdG9wOiA4MHJweDtcclxuXHR9XHJcblxyXG5cdC5yZW1lbWJlciB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHR9XHJcblxyXG5cdC5yZW1lbWJlciBpbWFnZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdHdpZHRoOiAzMHJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTVycHg7XHJcblx0fVxyXG5cclxuXHQucmVtZW1iZXIgdGV4dCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGNvbG9yOiAjYjZiNmI2O1xyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8\n");
  287. =======
  288. eval("/* WEBPACK VAR INJECTION */(function(__f__, wx) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n checked: false,\n account: '',\n pwd: '' };\n\n },\n onLoad: function onLoad() {\n if (uni.getStorageSync('account') && uni.getStorageSync('pwd')) {\n this.account = uni.getStorageSync('account'),\n this.pwd = uni.getStorageSync('pwd'),\n this.checked = true;\n __f__(\"log\", uni.getStorageSync('account'), \" at pages/login/login.vue:45\");\n }\n var token = uni.getStorageSync('token').token;\n if (token) {\n uni.reLaunch({\n url: '/pages/index/index' });\n\n } else {\n uni.switchTab({\n url: '/pages/login/login' });\n\n }\n },\n methods: {\n check: function check() {\n this.checked = !this.checked;\n if (this.checked == true) {\n uni.removeStorageSync('account');\n uni.removeStorageSync('pwd');\n }\n checked: this.checked;\n },\n\n //登录\n login: function login() {var _this = this;\n uni.showLoading({\n title: '登陆中' });\n\n if (!this.account) {\n uni.showToast({\n title: '账户名不能为空',\n icon: 'none' });\n\n } else if (!this.pwd) {\n uni.showToast({\n title: '密码不能为空',\n icon: 'none' });\n\n } else {\n var data = {\n account: this.account,\n password: this.pwd };\n\n app.request('auth/login', data, 'POST').then(function (res) {\n if (res.statusCode == 201) {\n __f__(\"log\", app, \" at pages/login/login.vue:90\");\n uni.setStorageSync('token', res.data);\n uni.hideLoading();\n app.request('index', '', 'GET').then(function (res) {\n if (_this.checked == true) {\n wx.setStorageSync('account', _this.account);\n wx.setStorageSync('pwd', _this.pwd);\n }\n uni.setStorageSync('allArea', res.data.wx_area);\n uni.setStorageSync('allState', res.data.wx_bikeStates);\n __f__(\"log\", uni.getStorageSync('allArea'), \"这是区域选择\", \" at pages/login/login.vue:100\");\n });\n uni.switchTab({\n url: \"../index/index\" });\n\n } else if (res.statusCode == 422) {\n uni.showToast({\n title: '账户名或密码错误',\n icon: 'none' });\n\n }\n });\n }\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"], __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJjaGVja2VkIiwiYWNjb3VudCIsInB3ZCIsIm9uTG9hZCIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwidG9rZW4iLCJyZUxhdW5jaCIsInVybCIsInN3aXRjaFRhYiIsIm1ldGhvZHMiLCJjaGVjayIsInJlbW92ZVN0b3JhZ2VTeW5jIiwibG9naW4iLCJzaG93TG9hZGluZyIsInRpdGxlIiwic2hvd1RvYXN0IiwiaWNvbiIsInBhc3N3b3JkIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJzdGF0dXNDb2RlIiwic2V0U3RvcmFnZVN5bmMiLCJoaWRlTG9hZGluZyIsInd4Iiwid3hfYXJlYSIsInd4X2Jpa2VTdGF0ZXMiXSwibWFwcGluZ3MiOiJ5SUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUlBLEdBQUcsR0FBR0MsTUFBTSxFQUFoQixDO0FBQ2U7QUFDZEMsTUFEYyxrQkFDUDtBQUNOLFdBQU87QUFDTkMsYUFBTyxFQUFFLEtBREg7QUFFTkMsYUFBTyxFQUFFLEVBRkg7QUFHTkMsU0FBRyxFQUFFLEVBSEMsRUFBUDs7QUFLQSxHQVBhO0FBUWRDLFFBUmMsb0JBUUw7QUFDUixRQUFJQyxHQUFHLENBQUNDLGNBQUosQ0FBbUIsU0FBbkIsS0FBaUNELEdBQUcsQ0FBQ0MsY0FBSixDQUFtQixLQUFuQixDQUFyQyxFQUFnRTtBQUMvRCxXQUFLSixPQUFMLEdBQWVHLEdBQUcsQ0FBQ0MsY0FBSixDQUFtQixTQUFuQixDQUFmO0FBQ0EsV0FBS0gsR0FBTCxHQUFXRSxHQUFHLENBQUNDLGNBQUosQ0FBbUIsS0FBbkIsQ0FE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U0FBSixDQUFjO0FBQ2JELG1CQUFLLEVBQUUsVUFETTtBQUViRSxrQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQTtBQUNELFNBdkJEO0FBd0JBO0FBQ0QsS0F2RE8sRUExQkssRSIsImZpbGUiOiI4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBhcHAgPSBnZXRBcHAoKVxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRjaGVja2VkOiBmYWxzZSxcblx0XHRcdGFjY291bnQ6ICcnLFxuXHRcdFx0cHdkOiAnJ1xuXHRcdH1cblx0fSxcblx0b25Mb2FkKCkge1xuXHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnKSAmJiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3B3ZCcpKSB7XG5cdFx0XHR0aGlzLmFjY291bnQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnKSxcblx0XHRcdHRoaXMucHdkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwd2QnKSxcblx0XHRcdHRoaXMuY2hlY2tlZCA9IHRydWVcblx0XHRcdGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnYWNjb3VudCcpKVxuXHRcdH1cblx0XHRsZXQgdG9rZW4gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJykudG9rZW5cblx0XHRpZiAodG9rZW4pIHtcblx0XHRcdHVuaS5yZUxhdW5jaCh7XG5cdFx0XHRcdHVybDogJy9wYWdlcy9pbmRleC9pbmRleCcsXG5cdFx0XHR9KVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR1bmkuc3dpdGNoVGFiKHtcblx0XHRcdFx0dXJsOiAnL3BhZ2VzL2xvZ2luL2xvZ2luJyxcblx0XHRcdH0pXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Y2hlY2s6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZFxuXHRcdFx0aWYgKHRoaXMuY2hlY2tlZCA9PSB0cnVlKSB7XG5cdFx0XHRcdHVuaS5yZW1vdmVTdG9yYWdlU3luYygnYWNjb3VudCcpXG5cdFx0XHRcdHVuaS5yZW1vdmVTdG9yYWdlU3luYygncHdkJylcblx0XHRcdH1cblx0XHRcdGNoZWNrZWQ6IHRoaXMuY2hlY2tlZFxuXHRcdH0sXG5cblx0XHQvL+eZu+W9lVxuXHRcdGxvZ2luOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn55m76ZmG5LitJ1xuXHRcdFx0fSlcblx0XHRcdGlmICghdGhpcy5hY2NvdW50KSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn6LSm5oi35ZCN5LiN6IO95Li656m6Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSBpZiAoIXRoaXMucHdkKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5a+G56CB5LiN6IO95Li656m6Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHZhciBkYXRhID0ge1xuXHRcdFx0XHRcdGFjY291bnQ6IHRoaXMuYWNjb3VudCxcblx0XHRcdFx0XHRwYXNzd29yZDogdGhpcy5wd2Rcblx0XHRcdFx0fVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYXV0aC9sb2dpbicsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDEpIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFwcClcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygndG9rZW4nLCByZXMuZGF0YSlcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ2luZGV4JywgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmNoZWNrZWQgPT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHd4LnNldFN0b3JhZ2VTeW5jKCdhY2NvdW50JywgdGhpcy5hY2NvdW50KVxuXHRcdFx0XHRcdFx0XHRcdHd4LnNldFN0b3JhZ2VTeW5jKCdwd2QnLCB0aGlzLnB3ZClcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnLCByZXMuZGF0YS53eF9hcmVhKVxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FsbFN0YXRlJywgcmVzLmRhdGEud3hfYmlrZVN0YXRlcylcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyksIFwi6L+Z5piv5Yy65Z+f6YCJ5oupXCIpXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0dW5pLnN3aXRjaFRhYih7XG5cdFx0XHRcdFx0XHRcdHVybDogXCIuLi9pbmRleC9pbmRleFwiXG5cdFx0XHRcdFx0XHR9KSAgXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuc3RhdHVzQ29kZSA9PSA0MjIpIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+i0puaIt+WQjeaIluWvhueggemUmeivrycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///8\n");
  289. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  290. /***/ }),
  291. /* 9 */
  292. /*!*********************************************************************!*\
  293. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js ***!
  294. \*********************************************************************/
  295. /*! exports provided: log, default */
  296. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  297. "use strict";
  298. __webpack_require__.r(__webpack_exports__);
  299. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; });
  300. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return formatLog; });
  301. function typof (v) {
  302. var s = Object.prototype.toString.call(v)
  303. return s.substring(8, s.length - 1)
  304. }
  305. function isDebugMode () {
  306. /* eslint-disable no-undef */
  307. return typeof __channelId__ === 'string' && __channelId__
  308. }
  309. function jsonStringifyReplacer (k, p) {
  310. switch (typof(p)) {
  311. case 'Function':
  312. return 'function() { [native code] }'
  313. default :
  314. return p
  315. }
  316. }
  317. function log (type) {
  318. for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
  319. args[_key - 1] = arguments[_key]
  320. }
  321. console[type].apply(console, args)
  322. }
  323. function formatLog () {
  324. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  325. args[_key] = arguments[_key]
  326. }
  327. var type = args.shift()
  328. if (isDebugMode()) {
  329. args.push(args.pop().replace('at ', 'uni-app:///'))
  330. return console[type].apply(console, args)
  331. }
  332. var msgs = args.map(function (v) {
  333. var type = Object.prototype.toString.call(v).toLowerCase()
  334. if (type === '[object object]' || type === '[object array]') {
  335. try {
  336. v = '---BEGIN:JSON---' + JSON.stringify(v, jsonStringifyReplacer) + '---END:JSON---'
  337. } catch (e) {
  338. v = type
  339. }
  340. } else {
  341. if (v === null) {
  342. v = '---NULL---'
  343. } else if (v === undefined) {
  344. v = '---UNDEFINED---'
  345. } else {
  346. var vType = typof(v).toUpperCase()
  347. if (vType === 'NUMBER' || vType === 'BOOLEAN') {
  348. v = '---BEGIN:' + vType + '---' + v + '---END:' + vType + '---'
  349. } else {
  350. v = String(v)
  351. }
  352. }
  353. }
  354. return v
  355. })
  356. var msg = ''
  357. if (msgs.length > 1) {
  358. var lastMsg = msgs.pop()
  359. msg = msgs.join('---COMMA---')
  360. if (lastMsg.indexOf(' at ') === 0) {
  361. msg += lastMsg
  362. } else {
  363. msg += '---COMMA---' + lastMsg
  364. }
  365. } else {
  366. msg = msgs[0]
  367. }
  368. console[type](msg)
  369. }
  370. /***/ }),
  371. /* 10 */
  372. /*!*********************************************************!*\
  373. !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/mp.js ***!
  374. \*********************************************************/
  375. /*! no static exports found */
  376. /***/ (function(module, exports, __webpack_require__) {
  377. "use strict";
  378. /* WEBPACK VAR INJECTION */(function(global) {Object.defineProperty(exports, "__esModule", { value: true });exports.Behavior = Behavior;exports.Component = Component;exports.Page = Page;exports.nextTick = exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 12));var _PROP_DEFAULT_VALUES;function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) {arr2[i] = arr[i];}return arr2;}function _iterableToArrayLimit(arr, i) {if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;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"] != null) _i["return"]();} finally {if (_d) throw _e;}}return _arr;}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}
  379. function parseData(data, vueComponentOptions) {
  380. if (!data) {
  381. return;
  382. }
  383. vueComponentOptions.mpOptions.data = data;
  384. }
  385. function parseComponents(vueComponentOptions) {
  386. vueComponentOptions.components = global.__wxVueOptions.components;
  387. }
  388. var _toString = Object.prototype.toString;
  389. var hasOwnProperty = Object.prototype.hasOwnProperty;
  390. function isFn(fn) {
  391. return typeof fn === 'function';
  392. }
  393. function isPlainObject(obj) {
  394. return _toString.call(obj) === '[object Object]';
  395. }
  396. function hasOwn(obj, key) {
  397. return hasOwnProperty.call(obj, key);
  398. }
  399. function noop() {}
  400. /**
  401. * Create a cached version of a pure function.
  402. */
  403. function cached(fn) {
  404. var cache = Object.create(null);
  405. return function cachedFn(str) {
  406. var hit = cache[str];
  407. return hit || (cache[str] = fn(str));
  408. };
  409. }
  410. /**
  411. * Camelize a hyphen-delimited string.
  412. */
  413. var camelizeRE = /-(\w)/g;
  414. var camelize = cached(function (str) {
  415. return str.replace(camelizeRE, function (_, c) {return c ? c.toUpperCase() : '';});
  416. });
  417. var SOURCE_KEY = '__data__';
  418. var COMPONENT_LIFECYCLE = {
  419. created: 'onServiceCreated',
  420. attached: 'onServiceAttached',
  421. ready: 'mounted',
  422. moved: 'moved',
  423. detached: 'destroyed' };
  424. var COMPONENT_LIFECYCLE_KEYS = Object.keys(COMPONENT_LIFECYCLE);
  425. var PAGE_LIFETIMES = {
  426. show: 'onPageShow',
  427. hide: 'onPageHide',
  428. resize: 'onPageResize' };
  429. var PAGE_LIFETIMES_KEYS = Object.keys(PAGE_LIFETIMES);
  430. var PAGE_LIFECYCLE = [
  431. 'onLoad',
  432. 'onShow',
  433. 'onReady',
  434. 'onHide',
  435. 'onUnload',
  436. 'onPullDownRefresh',
  437. 'onReachBottom',
  438. 'onShareAppMessage',
  439. 'onPageScroll',
  440. 'onResize',
  441. 'onTabItemTap'];
  442. function parsePageMethods(mpComponentOptions, vueComponentOptions) {
  443. var methods = Object.create(null);
  444. Object.keys(mpComponentOptions).forEach(function (key) {
  445. var value = mpComponentOptions[key];
  446. if (isFn(value) && PAGE_LIFECYCLE.indexOf(key) === -1) {
  447. methods[key] = value;
  448. }
  449. });
  450. vueComponentOptions.methods = methods;
  451. }
  452. function parsePageLifecycle(mpComponentOptions, vueComponentOptions) {
  453. Object.keys(mpComponentOptions).forEach(function (key) {
  454. if (PAGE_LIFECYCLE.indexOf(key) !== -1) {
  455. vueComponentOptions[key] = mpComponentOptions[key];
  456. }
  457. });
  458. }
  459. function parsePage(mpComponentOptions) {
  460. var vueComponentOptions = {
  461. mixins: [],
  462. mpOptions: {} };
  463. parseComponents(vueComponentOptions);
  464. parseData(mpComponentOptions.data, vueComponentOptions);
  465. parsePageMethods(mpComponentOptions, vueComponentOptions);
  466. parsePageLifecycle(mpComponentOptions, vueComponentOptions);
  467. return vueComponentOptions;
  468. }
  469. function parseProperties(properties, vueComponentOptions) {
  470. if (!properties) {
  471. return;
  472. }
  473. vueComponentOptions.mpOptions.properties = properties;
  474. }
  475. function parseOptions(options, vueComponentOptions) {
  476. if (!options) {
  477. return;
  478. }
  479. vueComponentOptions.mpOptions.options = options;
  480. }
  481. function parseMethods(methods, vueComponentOptions) {
  482. if (!methods) {
  483. return;
  484. }
  485. if (methods.$emit) {
  486. console.warn('Method "$emit" conflicts with an existing Vue instance method');
  487. delete methods.$emit;
  488. }
  489. vueComponentOptions.methods = methods;
  490. }
  491. function parseLifecycle(mpComponentOptions, vueComponentOptions) {
  492. COMPONENT_LIFECYCLE_KEYS.forEach(function (name) {
  493. if (hasOwn(mpComponentOptions, name)) {
  494. (vueComponentOptions[COMPONENT_LIFECYCLE[name]] || (vueComponentOptions[COMPONENT_LIFECYCLE[name]] = [])).
  495. push(mpComponentOptions[name]);
  496. }
  497. });
  498. }
  499. var mpBehaviors = {
  500. 'wx://form-field': {},
  501. 'wx://component-export': {} };
  502. function callDefinitionFilter(mpComponentOptions) {var
  503. behaviors =
  504. mpComponentOptions.behaviors,definitionFilter = mpComponentOptions.definitionFilter;
  505. var behaviorDefinitionFilters = [];
  506. if (Array.isArray(behaviors)) {
  507. behaviors.forEach(function (behavior) {
  508. behavior = typeof behavior === 'string' ? mpBehaviors[behavior] : behavior;
  509. if (behavior.definitionFilter) {
  510. behaviorDefinitionFilters.push(behavior.definitionFilter);
  511. behavior.definitionFilter.call(null, mpComponentOptions, []);
  512. }
  513. });
  514. }
  515. if (isFn(definitionFilter)) {
  516. return function (defFields) {
  517. definitionFilter(defFields, behaviorDefinitionFilters);
  518. };
  519. }
  520. }
  521. function parseDefinitionFilter(mpComponentOptions, vueComponentOptions) {
  522. callDefinitionFilter(mpComponentOptions);
  523. }
  524. function parseBehavior(behavior) {var
  525. data =
  526. behavior.data,methods = behavior.methods,behaviors = behavior.behaviors,properties = behavior.properties;
  527. var vueComponentOptions = {
  528. watch: {},
  529. mpOptions: {
  530. mpObservers: [] } };
  531. parseData(data, vueComponentOptions);
  532. parseMethods(methods, vueComponentOptions);
  533. parseBehaviors(behaviors, vueComponentOptions);
  534. parseProperties(properties, vueComponentOptions);
  535. parseLifecycle(behavior, vueComponentOptions);
  536. parseDefinitionFilter(behavior);
  537. return vueComponentOptions;
  538. }
  539. var BEHAVIORS = {
  540. 'wx://form-field': {
  541. beforeCreate: function beforeCreate() {
  542. var mpOptions = this.$options.mpOptions;
  543. if (!mpOptions.properties) {
  544. mpOptions.properties = Object.create(null);
  545. }
  546. var props = mpOptions.properties;
  547. // TODO form submit,reset
  548. if (!hasOwn(props, 'name')) {
  549. props.name = {
  550. type: String };
  551. }
  552. if (!hasOwn(props, 'value')) {
  553. props.value = {
  554. type: String // 默认类型调整为 String,否则默认值为 null,导致一些自定义 input 显示不正确
  555. };
  556. }
  557. } } };
  558. function parseBehaviors(behaviors, vueComponentOptions) {
  559. if (!behaviors) {
  560. return;
  561. }
  562. behaviors.forEach(function (behavior) {
  563. if (typeof behavior === 'string') {
  564. BEHAVIORS[behavior] && vueComponentOptions.mixins.push(BEHAVIORS[behavior]);
  565. } else {
  566. vueComponentOptions.mixins.push(parseBehavior(behavior));
  567. }
  568. });
  569. }
  570. function parseSinglePath(path) {
  571. return path.split('.');
  572. }
  573. function parseMultiPaths(paths) {
  574. return paths.split(',').map(function (path) {return parseSinglePath(path);});
  575. }
  576. function parseObservers(observers, vueComponentOptions) {
  577. if (!observers) {
  578. return;
  579. }var
  580. mpObservers =
  581. vueComponentOptions.mpOptions.mpObservers;
  582. Object.keys(observers).forEach(function (path) {
  583. mpObservers.push({
  584. paths: parseMultiPaths(path),
  585. observer: observers[path] });
  586. });
  587. }
  588. function relative(from, to) {
  589. if (to.indexOf('/') === 0) {
  590. from = '';
  591. }
  592. var fromArr = from.split('/');
  593. var toArr = to.split('/');
  594. fromArr.pop();
  595. while (toArr.length) {
  596. var part = toArr.shift();
  597. if (part !== '' && part !== '.') {
  598. if (part !== '..') {
  599. fromArr.push(part);
  600. } else {
  601. fromArr.pop();
  602. }
  603. }
  604. }
  605. return fromArr.join('/');
  606. }
  607. function parseRelations(relations, vueComponentOptions) {
  608. if (!relations) {
  609. return;
  610. }
  611. Object.keys(relations).forEach(function (name) {
  612. var relation = relations[name];
  613. relation.name = name;
  614. relation.target = relation.target ? String(relation.target) : relative(global.__wxRoute, name);
  615. });
  616. vueComponentOptions.mpOptions.relations = relations;
  617. }
  618. function parseExternalClasses(externalClasses, vueComponentOptions) {
  619. if (!externalClasses) {
  620. return;
  621. }
  622. if (!Array.isArray(externalClasses)) {
  623. externalClasses = [externalClasses];
  624. }
  625. vueComponentOptions.mpOptions.externalClasses = externalClasses;
  626. if (!vueComponentOptions.mpOptions.properties) {
  627. vueComponentOptions.mpOptions.properties = Object.create(null);
  628. }
  629. externalClasses.forEach(function (externalClass) {
  630. vueComponentOptions.mpOptions.properties[camelize(externalClass)] = {
  631. type: String,
  632. value: '' };
  633. });
  634. }
  635. function parseLifetimes(lifetimes, vueComponentOptions) {
  636. if (!lifetimes) {
  637. return;
  638. }
  639. parseLifecycle(lifetimes, vueComponentOptions);
  640. }
  641. function parsePageLifetimes(pageLifetimes, vueComponentOptions) {
  642. if (!pageLifetimes) {
  643. return;
  644. }
  645. PAGE_LIFETIMES_KEYS.forEach(function (key) {
  646. var lifetimeFn = pageLifetimes[key];
  647. isFn(lifetimeFn) && (vueComponentOptions[PAGE_LIFETIMES[key]] = lifetimeFn);
  648. });
  649. }
  650. function parseComponent(mpComponentOptions) {var
  651. data =
  652. mpComponentOptions.data,options = mpComponentOptions.options,methods = mpComponentOptions.methods,behaviors = mpComponentOptions.behaviors,lifetimes = mpComponentOptions.lifetimes,observers = mpComponentOptions.observers,relations = mpComponentOptions.relations,properties = mpComponentOptions.properties,pageLifetimes = mpComponentOptions.pageLifetimes,externalClasses = mpComponentOptions.externalClasses;
  653. var vueComponentOptions = {
  654. mixins: [],
  655. props: {},
  656. watch: {},
  657. mpOptions: {
  658. mpObservers: [] } };
  659. parseComponents(vueComponentOptions);
  660. parseData(data, vueComponentOptions);
  661. parseOptions(options, vueComponentOptions);
  662. parseMethods(methods, vueComponentOptions);
  663. parseBehaviors(behaviors, vueComponentOptions);
  664. parseLifetimes(lifetimes, vueComponentOptions);
  665. parseObservers(observers, vueComponentOptions);
  666. parseRelations(relations, vueComponentOptions);
  667. parseProperties(properties, vueComponentOptions);
  668. parsePageLifetimes(pageLifetimes, vueComponentOptions);
  669. parseExternalClasses(externalClasses, vueComponentOptions);
  670. parseLifecycle(mpComponentOptions, vueComponentOptions);
  671. parseDefinitionFilter(mpComponentOptions);
  672. return vueComponentOptions;
  673. }
  674. function initRelationHandlers(type, handler, target, ctx) {
  675. if (!handler) {
  676. return;
  677. }
  678. var name = "_$".concat(type, "Handlers");
  679. (ctx[name] || (ctx[name] = [])).push(function () {
  680. handler.call(ctx, target);
  681. });
  682. }
  683. function initLinkedHandlers(relation, target, ctx) {
  684. var type = 'linked';
  685. var name = relation.name;
  686. var relationNodes = ctx._$relationNodes || (ctx._$relationNodes = Object.create(null));
  687. (relationNodes[name] || (relationNodes[name] = [])).push(target);
  688. initRelationHandlers(type, relation[type], target, ctx);
  689. }
  690. function initUnlinkedHandlers(relation, target, ctx) {
  691. var type = 'unlinked';
  692. initRelationHandlers(type, relation[type], target, ctx);
  693. }
  694. function findParentRelation(parentVm, target, type) {
  695. var relations = parentVm &&
  696. parentVm.$options.mpOptions &&
  697. parentVm.$options.mpOptions.relations;
  698. if (!relations) {
  699. return [];
  700. }
  701. var name = Object.keys(relations).find(function (name) {
  702. var relation = relations[name];
  703. return relation.target === target && relation.type === type;
  704. });
  705. if (!name) {
  706. return [];
  707. }
  708. return [relations[name], parentVm];
  709. }
  710. function initParentRelation(vm, childRelation, match) {var _match =
  711. match(vm, vm.$options.mpOptions.path),_match2 = _slicedToArray(_match, 2),parentRelation = _match2[0],parentVm = _match2[1];
  712. if (!parentRelation) {
  713. return;
  714. }
  715. initLinkedHandlers(parentRelation, vm, parentVm);
  716. initLinkedHandlers(childRelation, parentVm, vm);
  717. initUnlinkedHandlers(parentRelation, vm, parentVm);
  718. initUnlinkedHandlers(childRelation, parentVm, vm);
  719. }
  720. function initRelation(relation, vm) {
  721. var type = relation.type;
  722. if (type === 'parent') {
  723. initParentRelation(vm, relation, function matchParent(vm, target) {
  724. return findParentRelation(vm.$parent, target, 'child');
  725. });
  726. } else if (type === 'ancestor') {
  727. initParentRelation(vm, relation, function matchAncestor(vm, target) {
  728. var $parent = vm.$parent;
  729. while ($parent) {
  730. var ret = findParentRelation($parent, target, 'descendant');
  731. if (ret.length) {
  732. return ret;
  733. }
  734. $parent = $parent.$parent;
  735. }
  736. return [];
  737. });
  738. }
  739. }
  740. function initRelations(vm) {var _ref =
  741. vm.$options.mpOptions || {},relations = _ref.relations;
  742. if (!relations) {
  743. return;
  744. }
  745. Object.keys(relations).forEach(function (name) {
  746. initRelation(relations[name], vm);
  747. });
  748. }
  749. function handleRelations(vm, type) {
  750. // TODO 需要移除 relationNodes
  751. var handlers = vm["_$".concat(type, "Handlers")];
  752. if (!handlers) {
  753. return;
  754. }
  755. handlers.forEach(function (handler) {return handler();});
  756. }
  757. var sharedPropertyDefinition = {
  758. enumerable: true,
  759. configurable: true,
  760. get: noop,
  761. set: noop };
  762. function proxy(target, sourceKey, key) {
  763. sharedPropertyDefinition.get = function proxyGetter() {
  764. return this[sourceKey][key];
  765. };
  766. sharedPropertyDefinition.set = function proxySetter(val) {
  767. this[sourceKey][key] = val;
  768. };
  769. Object.defineProperty(target, key, sharedPropertyDefinition);
  770. }
  771. function setDataByExprPath(exprPath, value, data) {
  772. var keys = exprPath.replace(/\[(\d+?)\]/g, '.$1').split('.');
  773. keys.reduce(function (obj, key, idx) {
  774. if (idx === keys.length - 1) {
  775. obj[key] = value;
  776. } else {
  777. if (typeof obj[key] === 'undefined') {
  778. obj[key] = {};
  779. }
  780. return obj[key];
  781. }
  782. }, data);
  783. return keys.length === 1;
  784. }
  785. function setData(data, callback) {var _this = this;
  786. if (!isPlainObject(data)) {
  787. return;
  788. }
  789. Object.keys(data).forEach(function (key) {
  790. if (setDataByExprPath(key, data[key], _this.data)) {
  791. !hasOwn(_this, key) && proxy(_this, SOURCE_KEY, key);
  792. }
  793. });
  794. this.$forceUpdate();
  795. isFn(callback) && this.$nextTick(callback);
  796. }
  797. /**
  798. * https://github.com/swan-team/swan-js/blob/61e2a63f7aa576b5daafbe77fdfa7c65b977060c/src/utils/index.js
  799. */
  800. var _toString$1 = Object.prototype.toString;
  801. /**
  802. * 深度assign的函数
  803. * @param {Object} targetObject 要被拷贝的目标对象
  804. * @param {Object} originObject 拷贝的源对象
  805. * @return {Object} merge后的对象
  806. */
  807. var deepAssign = function deepAssign() {var targetObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};var originObject = arguments.length > 1 ? arguments[1] : undefined;
  808. var originType = _toString$1.call(originObject);
  809. if (originType === '[object Array]') {
  810. targetObject = originObject.slice(0);
  811. return targetObject;
  812. } else if (originType === '[object Object]') {
  813. for (var key in originObject) {
  814. targetObject[key] = deepAssign(targetObject[key], originObject[key]);
  815. }
  816. return targetObject;
  817. } else if (originType === '[object Date]') {
  818. return new Date(originObject.getTime());
  819. } else if (originType === '[object RegExp]') {
  820. var target = String(originObject);
  821. var lastIndex = target.lastIndexOf('/');
  822. return new RegExp(target.slice(1, lastIndex), target.slice(lastIndex + 1));
  823. }
  824. return originObject;
  825. };
  826. /**
  827. * 深度拷贝逻辑,不同于lodash等库,但是与微信一致
  828. * @param {*} [originObj] 原对象
  829. * @return {Object|Array} 拷贝结果
  830. */
  831. var deepClone = function deepClone(originObj) {
  832. return deepAssign(_toString$1.call(originObj) === '[object Array]' ? [] : {}, originObj);
  833. };
  834. var PROP_DEFAULT_VALUES = (_PROP_DEFAULT_VALUES = {}, _defineProperty(_PROP_DEFAULT_VALUES,
  835. String, ''), _defineProperty(_PROP_DEFAULT_VALUES,
  836. Number, 0), _defineProperty(_PROP_DEFAULT_VALUES,
  837. Boolean, false), _defineProperty(_PROP_DEFAULT_VALUES,
  838. Object, null), _defineProperty(_PROP_DEFAULT_VALUES,
  839. Array, []), _defineProperty(_PROP_DEFAULT_VALUES,
  840. null, null), _PROP_DEFAULT_VALUES);
  841. function getDefaultVal(propType) {
  842. return PROP_DEFAULT_VALUES[propType];
  843. }
  844. function getPropertyVal(options) {
  845. if (isPlainObject(options)) {
  846. if (hasOwn(options, 'value')) {
  847. return options.value;
  848. }
  849. return getDefaultVal(options.type);
  850. }
  851. return getDefaultVal(options);
  852. }
  853. function getType(propOptions) {
  854. return isPlainObject(propOptions) ? propOptions.type : propOptions;
  855. }
  856. function validateProp(key, propsOptions, propsData, vm) {
  857. var value = propsData[key];
  858. if (value !== undefined) {
  859. var propOptions = propsOptions[key];
  860. var type = getType(propOptions);
  861. value = formatVal(value, type);
  862. var observer = propOptions && propOptions.observer;
  863. if (observer) {
  864. // 初始化时,异步触发 observer,否则 observer 中无法访问 methods 或其他
  865. setTimeout(function () {
  866. observe(observer, vm, value);
  867. }, 4);
  868. }
  869. return value;
  870. }
  871. return getPropertyVal(propsOptions[key]);
  872. }
  873. function formatVal(val, type) {
  874. if (type === Boolean) {
  875. return !!val;
  876. } else if (type === String) {
  877. return String(val);
  878. }
  879. return val;
  880. }
  881. function observe(observer, vm, newVal, oldVal) {
  882. try {
  883. if (typeof observer === 'function') {
  884. observer.call(vm, newVal, oldVal);
  885. } else if (typeof observer === 'string' &&
  886. typeof vm[observer] === 'function')
  887. {
  888. vm[observer](newVal, oldVal);
  889. }
  890. } catch (err) {
  891. console.error("execute observer ".concat(observer, " callback fail! err: ").concat(err));
  892. }
  893. }
  894. function initProperties(vm, instanceData) {
  895. var properties = vm.$options.mpOptions.properties;
  896. if (!properties) {
  897. return;
  898. }
  899. var propsData = deepClone(vm.$options.propsData) || {};var _loop = function _loop(
  900. key) {
  901. var observer = isPlainObject(properties[key]) ? properties[key].observer : false;
  902. var value = validateProp(key, properties, propsData, vm);
  903. Object.defineProperty(instanceData, key, {
  904. enumerable: true,
  905. configurable: true,
  906. get: function get() {
  907. return value;
  908. },
  909. set: function set(newVal) {
  910. var oldVal = value;
  911. /* eslint-disable no-self-compare */
  912. if (newVal === value || newVal !== newVal && value !== value) {
  913. return;
  914. }
  915. // TODO 临时方案,clone array
  916. value = Array.isArray(newVal) ? newVal.slice(0) : newVal;
  917. if (observer) {
  918. observe(observer, vm, newVal, oldVal);
  919. }
  920. // 触发渲染
  921. vm.$forceUpdate();
  922. } });};for (var key in properties) {_loop(key);
  923. }
  924. }
  925. function updateProperties(vm) {
  926. var properties = vm.$options.mpOptions && vm.$options.mpOptions.properties;
  927. var propsData = vm.$options.propsData;
  928. if (propsData && properties) {
  929. Object.keys(properties).forEach(function (key) {
  930. if (hasOwn(propsData, key)) {
  931. vm[key] = formatVal(propsData[key], getType(properties[key]));
  932. }
  933. });
  934. }
  935. }
  936. function initState(vm) {
  937. var instanceData = JSON.parse(JSON.stringify(vm.$options.mpOptions.data || {}));
  938. vm[SOURCE_KEY] = instanceData;
  939. var propertyDefinition = {
  940. get: function get() {
  941. return vm[SOURCE_KEY];
  942. },
  943. set: function set(value) {
  944. vm[SOURCE_KEY] = value;
  945. } };
  946. Object.defineProperties(vm, {
  947. data: propertyDefinition,
  948. properties: propertyDefinition });
  949. vm.setData = setData;
  950. initProperties(vm, instanceData);
  951. Object.keys(instanceData).forEach(function (key) {
  952. proxy(vm, SOURCE_KEY, key);
  953. });
  954. }
  955. function initMethods(vm) {
  956. var oldEmit = vm.$emit;
  957. vm.triggerEvent = function (eventName, detail, options) {
  958. var target = {
  959. dataset: vm.$el.dataset };
  960. var event = {
  961. target: target,
  962. currentTarget: target,
  963. detail: detail,
  964. preventDefault: noop,
  965. stopPropagation: noop };
  966. oldEmit.call(vm, eventName, event);
  967. };
  968. // 主要是Vant 自己封装了 $emit,放到 methods 中会触发 Vue 的警告,索性,框架直接重写该方法
  969. vm.$emit = function () {
  970. vm.triggerEvent.apply(vm, arguments);
  971. };
  972. vm.getRelationNodes = function (relationKey) {
  973. // 需要过滤已被销毁的vm
  974. /* eslint-disable no-mixed-operators */
  975. return (vm._$relationNodes && vm._$relationNodes[relationKey] || []).filter(function (vm) {return !vm._isDestroyed;});
  976. };
  977. vm._$updateProperties = updateProperties;
  978. }
  979. function handleObservers(vm) {
  980. var watch = vm.$options.watch;
  981. if (!watch) {
  982. return;
  983. }
  984. Object.keys(watch).forEach(function (name) {
  985. var observer = watch[name];
  986. if (observer.mounted) {
  987. var val = vm[name];
  988. var handler = observer.handler;
  989. if (typeof handler === 'string') {
  990. handler = vm[handler];
  991. }
  992. handler && handler.call(vm, val, val);
  993. }
  994. });
  995. }
  996. var polyfill = {
  997. beforeCreate: function beforeCreate() {
  998. // 取消 development 时的 Proxy,避免小程序组件模板中使用尚未定义的属性告警
  999. this._renderProxy = this;
  1000. this._$self = this;
  1001. this._$noop = noop;
  1002. },
  1003. created: function created() {// properties 中可能会访问 methods,故需要在 created 中初始化
  1004. initState(this);
  1005. initMethods(this);
  1006. initRelations(this);
  1007. },
  1008. mounted: function mounted() {
  1009. handleObservers(this);
  1010. },
  1011. destroyed: function destroyed() {
  1012. handleRelations(this, 'unlinked');
  1013. } };
  1014. global.__wxRoute = '';
  1015. global.__wxComponents = Object.create(null);
  1016. global.__wxVueOptions = Object.create(null);
  1017. function Page(options) {
  1018. var pageOptions = parsePage(options);
  1019. pageOptions.mixins.unshift(polyfill);
  1020. pageOptions.mpOptions.path = global.__wxRoute;
  1021. global.__wxComponents[global.__wxRoute] = pageOptions;
  1022. }
  1023. function initRelationsHandler(vueComponentOptions) {
  1024. // linked 需要在当前组件 attached 之后再执行
  1025. if (!vueComponentOptions.onServiceAttached) {
  1026. vueComponentOptions.onServiceAttached = [];
  1027. }
  1028. vueComponentOptions.onServiceAttached.push(function onServiceAttached() {
  1029. handleRelations(this, 'linked');
  1030. });
  1031. }
  1032. function Component(options) {
  1033. var componentOptions = parseComponent(options);
  1034. componentOptions.mixins.unshift(polyfill);
  1035. componentOptions.mpOptions.path = global.__wxRoute;
  1036. initRelationsHandler(componentOptions);
  1037. global.__wxComponents[global.__wxRoute] = componentOptions;
  1038. }
  1039. function Behavior(options) {
  1040. return options;
  1041. }
  1042. var nextTick = _vue.default.nextTick;exports.nextTick = nextTick;
  1043. var index = uni.__$wx__;var _default =
  1044. index;exports.default = _default;
  1045. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 11)))
  1046. /***/ }),
  1047. /* 11 */
  1048. /*!***********************************!*\
  1049. !*** (webpack)/buildin/global.js ***!
  1050. \***********************************/
  1051. /*! no static exports found */
  1052. /***/ (function(module, exports) {
  1053. var g;
  1054. // This works in non-strict mode
  1055. g = (function() {
  1056. return this;
  1057. })();
  1058. try {
  1059. // This works if eval is allowed (see CSP)
  1060. g = g || new Function("return this")();
  1061. } catch (e) {
  1062. // This works if the window reference is available
  1063. if (typeof window === "object") g = window;
  1064. }
  1065. // g can still be undefined, but nothing to do about it...
  1066. // We return undefined, instead of nothing here, so it's
  1067. // easier to handle this case. if(!global) { ...}
  1068. module.exports = g;
  1069. /***/ }),
  1070. /* 12 */
  1071. /*!**********************!*\
  1072. !*** external "Vue" ***!
  1073. \**********************/
  1074. /*! no static exports found */
  1075. /***/ (function(module, exports) {
  1076. module.exports = Vue;
  1077. /***/ }),
  1078. /* 13 */
  1079. /*!**********************************************************************************************************!*\
  1080. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
  1081. \**********************************************************************************************************/
  1082. /*! exports provided: default */
  1083. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1084. "use strict";
  1085. __webpack_require__.r(__webpack_exports__);
  1086. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
  1087. /* globals __VUE_SSR_CONTEXT__ */
  1088. // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
  1089. // This module is a runtime utility for cleaner component module output and will
  1090. // be included in the final webpack user bundle.
  1091. function normalizeComponent (
  1092. scriptExports,
  1093. render,
  1094. staticRenderFns,
  1095. functionalTemplate,
  1096. injectStyles,
  1097. scopeId,
  1098. moduleIdentifier, /* server only */
  1099. shadowMode, /* vue-cli only */
  1100. components, // fixed by xxxxxx auto components
  1101. renderjs // fixed by xxxxxx renderjs
  1102. ) {
  1103. // Vue.extend constructor export interop
  1104. var options = typeof scriptExports === 'function'
  1105. ? scriptExports.options
  1106. : scriptExports
  1107. // fixed by xxxxxx auto components
  1108. if (components) {
  1109. if (!options.components) {
  1110. options.components = {}
  1111. }
  1112. var hasOwn = Object.prototype.hasOwnProperty
  1113. for (var name in components) {
  1114. if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
  1115. options.components[name] = components[name]
  1116. }
  1117. }
  1118. }
  1119. // fixed by xxxxxx renderjs
  1120. if (renderjs) {
  1121. (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
  1122. this[renderjs.__module] = this
  1123. });
  1124. (options.mixins || (options.mixins = [])).push(renderjs)
  1125. }
  1126. // render functions
  1127. if (render) {
  1128. options.render = render
  1129. options.staticRenderFns = staticRenderFns
  1130. options._compiled = true
  1131. }
  1132. // functional template
  1133. if (functionalTemplate) {
  1134. options.functional = true
  1135. }
  1136. // scopedId
  1137. if (scopeId) {
  1138. options._scopeId = 'data-v-' + scopeId
  1139. }
  1140. var hook
  1141. if (moduleIdentifier) { // server build
  1142. hook = function (context) {
  1143. // 2.3 injection
  1144. context =
  1145. context || // cached call
  1146. (this.$vnode && this.$vnode.ssrContext) || // stateful
  1147. (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
  1148. // 2.2 with runInNewContext: true
  1149. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  1150. context = __VUE_SSR_CONTEXT__
  1151. }
  1152. // inject component styles
  1153. if (injectStyles) {
  1154. injectStyles.call(this, context)
  1155. }
  1156. // register component module identifier for async chunk inferrence
  1157. if (context && context._registeredComponents) {
  1158. context._registeredComponents.add(moduleIdentifier)
  1159. }
  1160. }
  1161. // used by ssr in case component is cached and beforeCreate
  1162. // never gets called
  1163. options._ssrRegister = hook
  1164. } else if (injectStyles) {
  1165. hook = shadowMode
  1166. ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
  1167. : injectStyles
  1168. }
  1169. if (hook) {
  1170. if (options.functional) {
  1171. // for template-only hot-reload because in that case the render fn doesn't
  1172. // go through the normalizer
  1173. options._injectStyles = hook
  1174. // register for functioal component in vue file
  1175. var originalRender = options.render
  1176. options.render = function renderWithStyleInjection (h, context) {
  1177. hook.call(context)
  1178. return originalRender(h, context)
  1179. }
  1180. } else {
  1181. // inject component registration as beforeCreate hook
  1182. var existing = options.beforeCreate
  1183. options.beforeCreate = existing
  1184. ? [].concat(existing, hook)
  1185. : [hook]
  1186. }
  1187. }
  1188. return {
  1189. exports: scriptExports,
  1190. options: options
  1191. }
  1192. }
  1193. /***/ }),
  1194. /* 14 */
  1195. <<<<<<< HEAD
  1196. /*!*********************************************************************!*\
  1197. !*** C:/Users/001/Desktop/运维端/pages/mine/charts123.vue?mpType=page ***!
  1198. \*********************************************************************/
  1199. =======
  1200. /*!**********************************************************************************!*\
  1201. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/charts123.vue?mpType=page ***!
  1202. \**********************************************************************************/
  1203. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1204. /*! no static exports found */
  1205. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1206. "use strict";
  1207. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./charts123.vue?vue&type=template&id=439a798a&mpType=page */ 15);\n/* harmony import */ var _charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./charts123.vue?vue&type=script&lang=js&mpType=page */ 17);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/charts123.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUk7QUFDakk7QUFDd0U7QUFDTDs7O0FBR25FO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDBGQUFNO0FBQ1IsRUFBRSwrRkFBTTtBQUNSLEVBQUUsd0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2NoYXJ0czEyMy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NDM5YTc5OGEmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2NoYXJ0czEyMy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2hhcnRzMTIzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL21pbmUvY2hhcnRzMTIzLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///14\n");
  1208. /***/ }),
  1209. /* 15 */
  1210. <<<<<<< HEAD
  1211. /*!***************************************************************************************************!*\
  1212. !*** C:/Users/001/Desktop/运维端/pages/mine/charts123.vue?vue&type=template&id=439a798a&mpType=page ***!
  1213. \***************************************************************************************************/
  1214. =======
  1215. /*!****************************************************************************************************************!*\
  1216. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/charts123.vue?vue&type=template&id=439a798a&mpType=page ***!
  1217. \****************************************************************************************************************/
  1218. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1219. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1220. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1221. "use strict";
  1222. __webpack_require__.r(__webpack_exports__);
  1223. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./charts123.vue?vue&type=template&id=439a798a&mpType=page */ 16);
  1224. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  1225. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  1226. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  1227. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_template_id_439a798a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  1228. /***/ }),
  1229. /* 16 */
  1230. <<<<<<< HEAD
  1231. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1232. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/charts123.vue?vue&type=template&id=439a798a&mpType=page ***!
  1233. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1234. =======
  1235. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1236. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/charts123.vue?vue&type=template&id=439a798a&mpType=page ***!
  1237. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1238. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1239. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1240. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1241. "use strict";
  1242. __webpack_require__.r(__webpack_exports__);
  1243. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  1244. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  1245. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  1246. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  1247. var components
  1248. var render = function() {
  1249. var _vm = this
  1250. var _h = _vm.$createElement
  1251. var _c = _vm._self._c || _h
  1252. return _c(
  1253. "view",
  1254. { staticClass: _vm._$s(0, "sc", "body"), attrs: { _i: 0 } },
  1255. [
  1256. _c("allArea", { attrs: { _i: 1 }, on: { getChild: _vm.childMess } }),
  1257. _c(
  1258. "swiper",
  1259. {
  1260. style: _vm._$s(2, "s", { height: _vm.mainHeight + "px" }),
  1261. attrs: { current: _vm._$s(2, "a-current", _vm.swiperTabIdx), _i: 2 }
  1262. },
  1263. [
  1264. _c("swiper-item", [
  1265. _c(
  1266. "view",
  1267. {
  1268. staticClass: _vm._$s(4, "sc", "swiper-item"),
  1269. attrs: { _i: 4 }
  1270. },
  1271. [
  1272. _c(
  1273. "view",
  1274. {
  1275. staticClass: _vm._$s(5, "sc", "qiun-columns"),
  1276. attrs: { _i: 5 }
  1277. },
  1278. [
  1279. _c(
  1280. "view",
  1281. { staticClass: _vm._$s(6, "sc", "bt"), attrs: { _i: 6 } },
  1282. _vm._l(
  1283. _vm._$s(7, "f", { forItems: _vm.indexList }),
  1284. function(item, index, $20, $30) {
  1285. return _c(
  1286. "button",
  1287. {
  1288. key: _vm._$s(7, "f", {
  1289. forIndex: $20,
  1290. key: index
  1291. }),
  1292. attrs: { _i: "7-" + $30 },
  1293. on: {
  1294. click: function($event) {
  1295. return _vm.changeDate(index)
  1296. }
  1297. }
  1298. },
  1299. [_vm._v(_vm._$s("7-" + $30, "t0-0", _vm._s(item)))]
  1300. )
  1301. }
  1302. ),
  1303. 0
  1304. ),
  1305. _c(
  1306. "view",
  1307. {
  1308. staticClass: _vm._$s(8, "sc", "qiun-charts-rotate"),
  1309. attrs: { _i: 8 }
  1310. },
  1311. [
  1312. _c("canvas", {
  1313. staticClass: _vm._$s(9, "sc", "charts-rotate"),
  1314. attrs: { id: "canvasColumn", _i: 9 }
  1315. })
  1316. ]
  1317. ),
  1318. _c("view", [
  1319. _c("view", {
  1320. staticClass: _vm._$s(11, "sc", "text"),
  1321. attrs: { _i: 11 }
  1322. })
  1323. ])
  1324. ]
  1325. )
  1326. ]
  1327. )
  1328. ]),
  1329. _c("swiper-item", [
  1330. _c(
  1331. "view",
  1332. {
  1333. staticClass: _vm._$s(13, "sc", "swiper-item"),
  1334. attrs: { _i: 13 }
  1335. },
  1336. [
  1337. _c(
  1338. "view",
  1339. {
  1340. staticClass: _vm._$s(14, "sc", "swiper-item"),
  1341. attrs: { _i: 14 }
  1342. },
  1343. [
  1344. _c(
  1345. "view",
  1346. {
  1347. staticClass: _vm._$s(15, "sc", "qiun-columns"),
  1348. attrs: { _i: 15 }
  1349. },
  1350. [
  1351. _c(
  1352. "view",
  1353. {
  1354. staticClass: _vm._$s(
  1355. 16,
  1356. "sc",
  1357. "qiun-charts-rotate"
  1358. ),
  1359. attrs: { _i: 16 }
  1360. },
  1361. [
  1362. _c("canvas", {
  1363. staticClass: _vm._$s(17, "sc", "charts-rotate"),
  1364. attrs: { id: "canvasColumnA", _i: 17 }
  1365. })
  1366. ]
  1367. ),
  1368. _c("view", [
  1369. _c("view", {
  1370. staticClass: _vm._$s(19, "sc", "text"),
  1371. attrs: { _i: 19 }
  1372. })
  1373. ])
  1374. ]
  1375. )
  1376. ]
  1377. )
  1378. ]
  1379. )
  1380. ]),
  1381. _c("swiper-item", [
  1382. _c(
  1383. "view",
  1384. {
  1385. staticClass: _vm._$s(21, "sc", "swiper-item"),
  1386. attrs: { _i: 21 }
  1387. },
  1388. [
  1389. _c(
  1390. "view",
  1391. {
  1392. staticClass: _vm._$s(22, "sc", "swiper-item"),
  1393. attrs: { _i: 22 }
  1394. },
  1395. [
  1396. _c(
  1397. "view",
  1398. {
  1399. staticClass: _vm._$s(23, "sc", "qiun-columns"),
  1400. attrs: { _i: 23 }
  1401. },
  1402. [
  1403. _c("view", {
  1404. staticClass: _vm._$s(24, "sc", "bt"),
  1405. attrs: { _i: 24 }
  1406. }),
  1407. _c(
  1408. "view",
  1409. {
  1410. staticClass: _vm._$s(
  1411. 25,
  1412. "sc",
  1413. "qiun-charts-rotate"
  1414. ),
  1415. attrs: { _i: 25 }
  1416. },
  1417. [
  1418. _c("canvas", {
  1419. staticClass: _vm._$s(26, "sc", "charts-rotate"),
  1420. attrs: { id: "canvasLineA", _i: 26 },
  1421. on: {
  1422. touchstart: function($event) {
  1423. return _vm.touchIt($event, "canvasLineA")
  1424. },
  1425. touchmove: _vm.moveLineA
  1426. }
  1427. })
  1428. ]
  1429. ),
  1430. _c("view", [
  1431. _c("view", {
  1432. staticClass: _vm._$s(28, "sc", "text"),
  1433. attrs: { _i: 28 }
  1434. })
  1435. ])
  1436. ]
  1437. )
  1438. ]
  1439. )
  1440. ]
  1441. )
  1442. ])
  1443. ]
  1444. )
  1445. ],
  1446. 1
  1447. )
  1448. }
  1449. var recyclableRender = false
  1450. var staticRenderFns = []
  1451. render._withStripped = true
  1452. /***/ }),
  1453. /* 17 */
  1454. <<<<<<< HEAD
  1455. /*!*********************************************************************************************!*\
  1456. !*** C:/Users/001/Desktop/运维端/pages/mine/charts123.vue?vue&type=script&lang=js&mpType=page ***!
  1457. \*********************************************************************************************/
  1458. =======
  1459. /*!**********************************************************************************************************!*\
  1460. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/charts123.vue?vue&type=script&lang=js&mpType=page ***!
  1461. \**********************************************************************************************************/
  1462. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1463. /*! no static exports found */
  1464. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1465. "use strict";
  1466. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./charts123.vue?vue&type=script&lang=js&mpType=page */ 18);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_charts123_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStpQixDQUFnQixrbEJBQUcsRUFBQyIsImZpbGUiOiIxNy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NoYXJ0czEyMy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vY2hhcnRzMTIzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n");
  1467. /***/ }),
  1468. /* 18 */
  1469. <<<<<<< HEAD
  1470. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1471. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/charts123.vue?vue&type=script&lang=js&mpType=page ***!
  1472. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1473. =======
  1474. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1475. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/charts123.vue?vue&type=script&lang=js&mpType=page ***!
  1476. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1477. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1478. /*! no static exports found */
  1479. /***/ (function(module, exports, __webpack_require__) {
  1480. "use strict";
  1481. <<<<<<< HEAD
  1482. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _uCharts3 = _interopRequireDefault(__webpack_require__(/*! @/pages/mine/uchart/u-charts.js */ 19));\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));\nvar _checker = __webpack_require__(/*! @/pages/mine/uchart/checker.js */ 25);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;}\n\n\nvar _self;\nvar canvaColumn = null;\nvar app = getApp();\nvar canvasObj = {};var _default =\n{\n data: function data() {\n return {\n swiperTabIdx: 2,\n // cWidth:'',\n // cHeight:'',\n cWidth2: '', //横屏图表\n cHeight2: '', //横屏图表\n pixelRatio: 1,\n serverData: '',\n indexList: \"\", //默认显示日期\n dayIndex: \"\",\n dayTabIndex: 0 //默认显示第一个按钮的日期数据\n };\n },\n onLoad: function onLoad() {var _this = this;\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", res, \"这是屏幕信息\", \" at pages/mine/charts123.vue:105\");\n _this.mainHeight = res.windowHeight;\n } });\n\n __f__(\"log\", 12344, \" at pages/mine/charts123.vue:109\");\n _self = this;\n this.cWidth = uni.upx2px(500);\n this.cHeight = uni.upx2px(1100);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n this.dayDate();\n this.userDate();\n this.getServerData(); //收益数据\n\n\n },\n methods: {\n\n childMess: function childMess(e) {\n __f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/charts123.vue:124\");\n this.areaID = e.areaID;\n this.getServerData();\n // this.getFeed()\n },\n changeDate: function changeDate(e) {\n this.dayTabIndex = e;\n __f__(\"log\", e, \"3333\", \" at pages/mine/charts123.vue:131\");\n this.dayDate();\n\n },\n getServerData: function getServerData() {\n var date = {\n area_id: 1,\n days: 'thirtyDays' };\n\n app.request('order/profitChart', date, 'GET').then(function (res) {\n var LineA = {\n categories: [],\n series: [] };\n\n\n __f__(\"log\", res, '这是所有数据999999999', \" at pages/mine/charts123.vue:146\");\n var arr = new Array();\n arr = res.data;\n var data = new Array();\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n __f__(\"log\", \"for循环\", arr[i], \" at pages/mine/charts123.vue:151\");\n __f__(\"log\", arr[i].data, \"数组\", \" at pages/mine/charts123.vue:152\");\n var aa = arr[i].data;\n __f__(\"log\", aa, \"这是第\" + i, \" at pages/mine/charts123.vue:154\");\n LineA.series.push({\n name: arr[i].name,\n data: arr[i].data });\n\n\n\n }\n for (var k = 0, leng = aa.length; k < leng; k++) {\n // \tconsole.log(aa[k].value,'666666')\n\n // console.log(aa[k].date,\"这是横坐标\")\n LineA.categories.push(aa[k].date);\n\n // console.log(this.lineData2.categories,\"这是横坐标\")\n\n\n // console.log(this.lineData2.series,\"这是最终数据\")\n }\n __f__(\"log\", res.data.data, \"333\", \" at pages/mine/charts123.vue:173\");\n // LineA.categories=res.data.data.LineA.categories;\n // LineA.series=res.data.data.LineA.series;\n\n //第二根线为虚线的设置\n // LineA.series[1].lineType='dash';\n // LineA.series[1].dashLength=10;\n _self.textarea = JSON.stringify(LineA);\n _self.showLineA(\"canvasLineA\", LineA);\n\n });\n },\n //日新增订单\n dayDate: function dayDate() {\n _self = this;\n this.cWidth = uni.upx2px(500);\n this.cHeight = uni.upx2px(1400);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n\n var date = {\n area_id: 1,\n days: 'thirtyDays' };\n\n app.request('order/hourOrderNumber', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n // _self.serverData=res;\n __f__(\"log\", res, '22222', \" at pages/mine/charts123.vue:204\");\n // console.log(res, 'disanzu这是所有数据')\n _self.indexList = res.data.date;\n\n Column.categories = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\",\n \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", '23', \"24\"];\n\n var arr = [];\n\n var day = res.data.date[_self.dayTabIndex];\n __f__(\"log\", day, \"444444555555555\", \" at pages/mine/charts123.vue:214\");\n arr.push({\n name: day,\n data: res.data.data[day] });\n\n __f__(\"log\", arr, \"444\", \" at pages/mine/charts123.vue:219\");\n\n Column.series = arr;\n\n // Column.series=res.data.data\n __f__(\"log\", Column, \"6666\", \" at pages/mine/charts123.vue:224\");\n\n _self.showColumn(\"canvasColumn\", Column);\n });\n },\n //用户数据统计\n userDate: function userDate() {\n var date = {\n area_id: 1,\n days: 'thirtyDays' };\n\n app.request('user/newUsersChart', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n\n\n __f__(\"log\", res.data, \"88888888\", \" at pages/mine/charts123.vue:243\");\n var arr = [];\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n __f__(\"log\", \"for循环\", res.data[i], \" at pages/mine/charts123.vue:246\");\n Column.categories.push(res.data[i].date);\n\n arr.push(res.data[i].value);\n\n Column.series.push({\n name: res.data[i].date,\n data: arr,\n color: '#55ff00' });\n\n\n\n }\n __f__(\"log\", arr, \"898988989898\", \" at pages/mine/charts123.vue:259\");\n __f__(\"log\", Column, \"数组5656565655\", \" at pages/mine/charts123.vue:260\");\n\n // _self.indexList = res.data.date\n\n _self.showColumn1(\"canvasColumnA\", Column);\n });\n },\n showColumn: function showColumn(canvasId, chartData) {\n canvaColumn = new _uCharts3.default({\n $this: _self,\n canvasId: canvasId,\n type: 'column',\n legend: true,\n fontSize: 11,\n background: '#55ff00',\n pixelRatio: _self.pixelRatio,\n animation: true,\n rotate: true,\n\n categories: chartData.categories,\n series: chartData.series,\n xAxis: {\n disableGrid: true },\n\n yAxis: {\n //disabled:true\n },\n dataLabel: true,\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio,\n extra: {\n column: {\n type: 'group',\n width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length } } });\n\n\n\n },\n changeGaugeData: function changeGaugeData() {\n var series = [{\n name: \"完成率\",\n data: Math.random() }];\n //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组\n //这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义\n var newTitleColor;\n for (var i = 0; i < _self.serverData.Gauge.categories.length; i++) {\n if (series[0].data <= _self.serverData.Gauge.categories[i].value) {\n newTitleColor = _self.serverData.Gauge.categories[i].color;\n break;\n }\n }\n\n canvasObj['canvasGauge'].updateData({\n series: series, //这里给了新数值\n categories: _self.serverData.Gauge.categories,\n title: {\n name: Math.round(series[0].data * 100) + '%',\n color: newTitleColor,\n fontSize: 25 * _self.pixelRatio,\n offsetY: 50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n },\n subtitle: {\n name: '更新数据',\n color: '#666666',\n fontSize: 15 * _self.pixelRatio,\n offsetY: -50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n } });\n\n },\n touchLineA: function touchLineA(e) {\n canvasObj['canvasLineA'].scrollStart(e);\n },\n moveLineA: function moveLineA(e) {\n canvasObj['canvasLineA'].scroll(e);\n },\n touchEndLineA: function touchEndLineA(e) {\n __f__(\"log\", e, \"00\", \" at pages/mine/charts123.vue:336\");\n canvasObj['canvasLineA'].scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvasObj['canvasLineA'].showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n },\n touchIt: function touchIt(e, id) {\n canvasObj['canvasLineA'].scrollStart(e);\n canvasObj[id].touchLegend(e, {\n animation: false });\n\n canvasObj[id].showToolTip(e, {\n format: function format(item, category) {\n if (typeof item.data === 'object') {\n return category + ' ' + item.name + ':' + item.data.value;\n } else {\n return category + ' ' + item.name + ':' + item.data;\n }\n } });\n\n },\n\n touchMix: function touchMix(e) {\n canvasObj['canvasMix'].scrollStart(e);\n },\n moveMix: function moveMix(e) {\n canvasObj['canvasMix'].scroll(e);\n },\n\n showLineA: function showLineA(canvasId, chartData) {var _uCharts;\n canvasObj[canvasId] = new _uCharts3.default((_uCharts = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n fontSize: 8,\n rotate: true,\n dataLabel: false,\n // dataLabel: false,\n padding: [15, 15, 0, 15],\n legend: {\n show: true,\n padding: 5,\n lineHeight: 11,\n margin: 5 },\n\n // dataLabel: false,\n dataPointShape: false,\n background: '#FFFFFF',\n pixelRatio: _self.pixelRatio,\n categories: chartData.categories,\n series: chartData.series,\n animation: false,\n enableScroll: true, //开启图表拖拽功能\n xAxis: {\n // rotateLabel: true,\n // disableGrid: true,\n // itemCount: chartData.length,\n // labelCount: 30,\n // gridType: 'dash',\n disableGrid: true,\n type: 'grid',\n rotateLabel: true,\n // gridType: 'dash',\n itemCount: 30,\n // scrollShow: true,\n scrollAlign: 'left'\n //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF\n //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6\n },\n yAxis: {\n //disabled:true\n gridType: 'dash',\n splitNumber: 8,\n min: 10,\n max: 180,\n format: function format(val) {\n return val.toFixed(0);\n } //如不写此方法,Y轴刻度默认保留两位小数\n },\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio }, _defineProperty(_uCharts, \"dataLabel\",\n true), _defineProperty(_uCharts, \"dataPointShape\",\n true), _defineProperty(_uCharts, \"extra\",\n {\n lineStyle: 'straight' }), _uCharts));\n\n\n\n },\n\n showColumn1: function showColumn1(canvasId, chartData) {var _uCharts2;\n canvaColumn = new _uCharts3.default((_uCharts2 = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n legend: true,\n fontSize: 8,\n background: '#55ff00',\n // pixelRatio: _self.pixelRatio,\n // animation: true,\n rotate: true }, _defineProperty(_uCharts2, \"legend\",\n {\n show: false }), _defineProperty(_uCharts2, \"categories\",\n\n\n chartData.categories), _defineProperty(_uCharts2, \"series\",\n chartData.series), _defineProperty(_uCharts2, \"xAxis\",\n {\n rotateLabel: true,\n disableGrid: true,\n itemCount: chartData.length,\n labelCount: 30,\n gridType: 'dash' }), _defineProperty(_uCharts2, \"yAxis\",\n\n {\n //disabled:true\n }), _defineProperty(_uCharts2, \"dataLabel\",\n true), _defineProperty(_uCharts2, \"width\",\n _self.cWidth * _self.pixelRatio), _defineProperty(_uCharts2, \"height\",\n _self.cHeight * _self.pixelRatio), _defineProperty(_uCharts2, \"extra\",\n\n\n\n\n\n\n {\n lineStyle: 'straight' }), _uCharts2));\n\n\n }\n // touchColumn(e) {\n // \tcanvaColumn.showToolTip(e, {\n // \t\tformat: function(item, category) {\n // \t\t\tif (typeof item.data === 'object') {\n // \t\t\t\treturn category + ' ' + item.name + ':' + item.data.value\n // \t\t\t} else {\n // \t\t\t\treturn category + ' ' + item.name + ':' + item.data\n // \t\t\t}\n // \t\t}\n // \t});\n // },\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jaGFydHMxMjMudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkVBO0FBQ0E7QUFDQSw2RTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLHFCQURBO0FBRUE7QUFDQTtBQUNBLGlCQUpBLEVBSUE7QUFDQSxrQkFMQSxFQUtBO0FBQ0EsbUJBTkE7QUFPQSxvQkFQQTtBQVFBLG1CQVJBLEVBUUE7QUFDQSxrQkFUQTtBQVVBLG9CQVZBLENBVUE7QUFWQTtBQVlBLEdBZEE7QUFlQSxRQWZBLG9CQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUpBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFmQSxDQWVBOzs7QUFHQSxHQWpDQTtBQWtDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FQQTtBQVFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBYkE7QUFjQSxpQkFkQSwyQkFjQTtBQUNBO0FBQ0Esa0JBREE7QUFFQSwwQkFGQTs7QUFJQTtBQUNBO0FBQ0Esd0JBREE7QUFFQSxvQkFGQTs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFEQTtBQUVBLDZCQUZBOzs7O0FBTUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxPQTNDQTtBQTRDQSxLQS9EQTtBQWdFQTtBQUNBLFdBakVBLHFCQWlFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFEQTtBQUVBLDBCQUZBOztBQUlB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QTtBQUNBO0FBQ0E7QUFkQSxTQXZCQTtBQXVDQTtBQUNBO0FBQ0EsMEJBRkE7QUFHQSx3QkFIQTtBQUlBLGlCQUpBO0FBS0Esa0JBTEE7QUFNQTtBQUNBO0FBQ0EsV0FSQSxDQVFBO0FBUkEsU0F2Q0E7QUFpREEsOENBakRBO0FBa0RBLGdEQWxEQTtBQW1EQSxVQW5EQTtBQW9EQSxVQXBEQTtBQXFEQTtBQUNBLDZCQURBLEVBckRBOzs7O0FBMERBLEtBbFRBOztBQW9UQSxlQXBUQSx1QkFvVEEsUUFwVEEsRUFvVEEsU0FwVEEsRUFvVEE7QUFDQTtBQUNBLG9CQURBO0FBRUEsMEJBRkE7QUFHQSxvQkFIQTtBQUlBLG9CQUpBO0FBS0EsbUJBTEE7QUFNQSw2QkFOQTtBQU9BO0FBQ0E7QUFDQSxvQkFUQTtBQVVBO0FBQ0EsbUJBREEsRUFWQTs7O0FBY0EsMEJBZEE7QUFlQSxzQkFmQTtBQWdCQTtBQUNBLHlCQURBO0FBRUEseUJBRkE7QUFHQSxtQ0FIQTtBQUlBLHNCQUpBO0FBS0Esd0JBTEEsRUFoQkE7O0FBdUJBO0FBQ0E7QUFEQSxPQXZCQTtBQTBCQSxVQTFCQTtBQTJCQSxxQ0EzQkE7QUE0QkEsc0NBNUJBOzs7Ozs7O0FBbUNBO0FBQ0EsNkJBREEsRUFuQ0E7OztBQXVDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2V0EsR0FsQ0EsRSIsImZpbGUiOiIxOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImJvZHlcIj5cclxuXHRcclxuXHQ8YWxsQXJlYSBAZ2V0Q2hpbGQ9XCJjaGlsZE1lc3NcIj48L2FsbEFyZWE+XHJcblx0XHJcblx0PHN3aXBlciA6aW50ZXJ2YWw9XCIzMDAwXCIgOmR1cmF0aW9uPVwiNTAwXCIgOnN0eWxlPVwieyBoZWlnaHQ6bWFpbkhlaWdodCsgJ3B4JyB9XCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1wiICB2LWJpbmQ6Y3VycmVudD1cInN3aXBlclRhYklkeFwiPlxyXG5cdFx0PHN3aXBlci1pdGVtPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1pdGVtXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMTAlO292ZXJmbG93LXg6IHNjcm9sbDtcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tY29sdW1uc1wiIHN0eWxlPVwiIGRpc3BsYXk6IGZsZXg7XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0XCIgc3R5bGU9XCJmbGV4OiAxO1wiPlxyXG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gaW5kZXhMaXN0XCIgOmtleT0naW5kZXgnIEBjbGljaz1cImNoYW5nZURhdGUoaW5kZXgpXCI+e3tpdGVtfX08L2J1dHRvbj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jaGFydHMtcm90YXRlXCIgc3R5bGU9XCJmbGV4OiAwIDAgNTAlO3BhZGRpbmc6IDA7XCI+XHJcblx0XHRcdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFzQ29sdW1uXCIgaWQ9XCJjYW52YXNDb2x1bW5cIiBjbGFzcz1cImNoYXJ0cy1yb3RhdGVcIj48L2NhbnZhcz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCIgc3R5bGU9XCJmbGV4OjAgMCAyMCU7XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdOaXpeaWsOWinuiuouWNlVxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3N3aXBlci1pdGVtPlxyXG5cdFx0PHN3aXBlci1pdGVtPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1pdGVtXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXItaXRlbVwiIHN0eWxlPVwicGFkZGluZy10b3A6IDEwJTtvdmVyZmxvdy14OiBzY3JvbGw7XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tY29sdW1uc1wiIHN0eWxlPVwiIGRpc3BsYXk6IGZsZXg7XCI+XHJcblxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInFpdW4tY2hhcnRzLXJvdGF0ZVwiIHN0eWxlPVwiZmxleDogMCAwIDgwJTtwYWRkaW5nOiAwdXB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFzQ29sdW1uQVwiIGlkPVwiY2FudmFzQ29sdW1uQVwiIGNsYXNzPVwiY2hhcnRzLXJvdGF0ZVwiPjwvY2FudmFzPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCIgc3R5bGU9XCJmbGV4OjFcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdOeUqOaIt+aVsOaNrlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC9zd2lwZXItaXRlbT5cclxuXHRcdDxzd2lwZXItaXRlbT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXItaXRlbVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3dpcGVyLWl0ZW1cIiBzdHlsZT1cInBhZGRpbmctdG9wOiAxMCU7b3ZlcmZsb3cteDogc2Nyb2xsO1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNvbHVtbnNcIiBzdHlsZT1cIiBkaXNwbGF5OiBmbGV4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0XCIgc3R5bGU9XCJmbGV4OjAgMCAxMCU7XCI+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSA8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gaW5kZXhMaXN0XCIgOmtleT0naW5kZXgnIEBjbGljaz1cImNoYW5nZURhdGUoaW5kZXgpXCI+e3tpdGVtfX08L2J1dHRvbj4gLS0+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNoYXJ0cy1yb3RhdGVcIiBzdHlsZT1cImZsZXg6IDAgMCA3MCU7cGFkZGluZzogMDtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwicWl1bi1jaGFydHNcIj4gLS0+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSNpZmRlZiBNUC1BTElQQVkgLS0+XHJcblx0XHRcdFx0XHRcdFx0PGNhbnZhcyBjYW52YXMtaWQ9XCJjYW52YXNMaW5lQVwiIGlkPVwiY2FudmFzTGluZUFcIiBjbGFzcz1cImNoYXJ0cy1yb3RhdGVcIiA6d2lkdGg9XCJjV2lkdGgqcGl4ZWxSYXRpb1wiIDpoZWlnaHQ9XCJjSGVpZ2h0KnBpeGVsUmF0aW9cIlxyXG5cdFx0XHRcdFx0XHRcdCA6c3R5bGU9XCJ7J3dpZHRoJzpjV2lkdGgrJ3B4JywnaGVpZ2h0JzpjSGVpZ2h0KydweCd9XCIgZGlzYWJsZS1zY3JvbGw9dHJ1ZSBAdG91Y2hzdGFydD1cInRvdWNoSXQoJGV2ZW50LCdjYW52YXNMaW5lQScpXCJcclxuXHRcdFx0XHRcdFx0XHQgQHRvdWNobW92ZT1cIm1vdmVMaW5lQVwiPjwvY2FudmFzPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0g5L2/55So5Zu+6KGo5ouW5ou95Yqf6IO95pe277yM5bu66K6u57uZY2FudmFz5aKe5YqgZGlzYWJsZS1zY3JvbGw9dHJ1ZeWxnuaAp++8jOWcqOaLluaLveaXtuemgeatouWxj+W5lea7muWKqCAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tI2VuZGlmLS0+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSNpZm5kZWYgTVAtQUxJUEFZIC0tPlxyXG5cdFx0XHRcdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFzTGluZUFcIiBzdHlsZT1cIndpZHRoOjEwMCU7XCIgY2xhc3M9XCJjaGFydHMtcm90YXRlXCIgaWQ9XCJjYW52YXNMaW5lQVwiIGRpc2FibGUtc2Nyb2xsPXRydWVcclxuXHRcdFx0XHRcdFx0XHQgQHRvdWNoc3RhcnQ9XCJ0b3VjaEl0KCRldmVudCwnY2FudmFzTGluZUEnKVwiIEB0b3VjaG1vdmU9XCJtb3ZlTGluZUFcIj48L2NhbnZhcz5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIOS9v+eUqOWbvuihqOaLluaLveWKn+iDveaXtu+8jOW7uuiurue7mWNhbnZhc+WinuWKoGRpc2FibGUtc2Nyb2xsPXRydWXlsZ7mgKfvvIzlnKjmi5bmi73ml7bnpoHmraLlsY/luZXmu5rliqggLS0+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSNlbmRpZi0tPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiIHN0eWxlPVwiZmxleDowIDAgMjAlO1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx05pS255uK6K+m5oOFXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3N3aXBlci1pdGVtPlxyXG5cdDwvc3dpcGVyPlxyXG5cclxuPC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB1Q2hhcnRzIGZyb20gJ0AvcGFnZXMvbWluZS91Y2hhcnQvdS1jaGFydHMuanMnO1xyXG5cdGltcG9ydCBhbGxBcmVhIGZyb20gJy4uLy4uL2NvbXBvbmVudC9hbGxBcmVhL2FsbEFyZWEudnVlJ1xyXG5cdGltcG9ydCB7XHJcblx0XHRpc0pTT05cclxuXHR9IGZyb20gJ0AvcGFnZXMvbWluZS91Y2hhcnQvY2hlY2tlci5qcyc7XHJcblx0dmFyIF9zZWxmO1xyXG5cdHZhciBjYW52YUNvbHVtbiA9IG51bGw7XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpXHJcblx0dmFyIGNhbnZhc09iaiA9IHt9O1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c3dpcGVyVGFiSWR4OjIsXHJcblx0XHRcdFx0Ly8gY1dpZHRoOicnLFxyXG5cdFx0XHRcdC8vIGNIZWlnaHQ6JycsXHJcblx0XHRcdFx0Y1dpZHRoMjogJycsIC8v5qiq5bGP5Zu+6KGoXHJcblx0XHRcdFx0Y0hlaWdodDI6ICcnLCAvL+aoquWxj+WbvuihqFxyXG5cdFx0XHRcdHBpeGVsUmF0aW86IDEsXHJcblx0XHRcdFx0c2VydmVyRGF0YTogJycsXHJcblx0XHRcdFx0aW5kZXhMaXN0OiBcIlwiLCAvL+m7mOiupOaYvuekuuaXpeacn1xyXG5cdFx0XHRcdGRheUluZGV4OiBcIlwiLFxyXG5cdFx0XHRcdGRheVRhYkluZGV4OiAwLCAvL+m7mOiupOaYvuekuuesrOS4gOS4quaMiemSrueahOaXpeacn+aVsOaNrlxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XHJcblx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgXCLov5nmmK/lsY/luZXkv6Hmga9cIilcclxuXHRcdFx0XHRcdHRoaXMubWFpbkhlaWdodCA9IHJlcy53aW5kb3dIZWlnaHQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0XHRjb25zb2xlLmxvZygxMjM0NClcclxuXHRcdFx0X3NlbGYgPSB0aGlzO1xyXG5cdFx0XHR0aGlzLmNXaWR0aCA9IHVuaS51cHgycHgoNTAwKTtcclxuXHRcdFx0dGhpcy5jSGVpZ2h0ID0gdW5pLnVweDJweCgxMTAwKTtcclxuXHRcdFx0Ly8gdGhpcy5jV2lkdGgyID0gdW5pLnVweDJweCg3MDApO1xyXG5cdFx0XHQvLyB0aGlzLmNIZWlnaHQyID0gdW5pLnVweDJweCgxMTAwKTtcclxuXHRcdFx0dGhpcy5kYXlEYXRlKCk7XHJcblx0XHRcdHRoaXMudXNlckRhdGUoKTtcclxuXHRcdFx0dGhpcy5nZXRTZXJ2ZXJEYXRhKCk7IC8v5pS255uK5pWw5o2uXHJcblxyXG5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdFxyXG5cdFx0XHRjaGlsZE1lc3M6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCAn6L+Z5piv5a2Q57uE5Lu256m/6L+H5p2l55qE5YC8JylcclxuXHRcdFx0XHR0aGlzLmFyZWFJRCA9IGUuYXJlYUlEXHJcblx0XHRcdFx0dGhpcy5nZXRTZXJ2ZXJEYXRhKCk7XHJcblx0XHRcdFx0Ly8gdGhpcy5nZXRGZWVkKClcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlRGF0ZTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMuZGF5VGFiSW5kZXggPSBlXHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSwgXCIzMzMzXCIpXHJcblx0XHRcdFx0dGhpcy5kYXlEYXRlKCk7XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRTZXJ2ZXJEYXRhKCkge1xyXG5cdFx0XHRcdGxldCBkYXRlID0ge1xyXG5cdFx0XHRcdFx0YXJlYV9pZDogMSxcclxuXHRcdFx0XHRcdGRheXM6ICd0aGlydHlEYXlzJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnb3JkZXIvcHJvZml0Q2hhcnQnLCBkYXRlLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0bGV0IExpbmVBID0ge1xyXG5cdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbXSxcclxuXHRcdFx0XHRcdFx0c2VyaWVzOiBbXVxyXG5cdFx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICfov5nmmK/miYDmnInmlbDmja45OTk5OTk5OTknKVxyXG5cdFx0XHRcdFx0dmFyIGFyciA9IG5ldyBBcnJheVxyXG5cdFx0XHRcdFx0YXJyID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdHZhciBkYXRhID0gbmV3IEFycmF5XHJcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gMCwgbGVuID0gcmVzLmRhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsgLy8g57yW56iL5byPXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwiZm9y5b6q546vXCIsIGFycltpXSk7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFycltpXS5kYXRhLCBcIuaVsOe7hFwiKVxyXG5cdFx0XHRcdFx0XHR2YXIgYWEgPSBhcnJbaV0uZGF0YVxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhhYSwgXCLov5nmmK/nrKxcIiArIGkpXHJcblx0XHRcdFx0XHRcdExpbmVBLnNlcmllcy5wdXNoKHtcclxuXHRcdFx0XHRcdFx0XHRuYW1lOiBhcnJbaV0ubmFtZSxcclxuXHRcdFx0XHRcdFx0XHRkYXRhOiBhcnJbaV0uZGF0YVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cclxuXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRmb3IgKGxldCBrID0gMCwgbGVuZyA9IGFhLmxlbmd0aDsgayA8IGxlbmc7IGsrKykge1xyXG5cdFx0XHRcdFx0XHQvLyBcdGNvbnNvbGUubG9nKGFhW2tdLnZhbHVlLCc2NjY2NjYnKVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coYWFba10uZGF0ZSxcIui/meaYr+aoquWdkOagh1wiKVxyXG5cdFx0XHRcdFx0XHRMaW5lQS5jYXRlZ29yaWVzLnB1c2goYWFba10uZGF0ZSlcclxuXHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubGluZURhdGEyLmNhdGVnb3JpZXMsXCLov5nmmK/mqKrlnZDmoIdcIilcclxuXHJcblxyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmxpbmVEYXRhMi5zZXJpZXMsXCLov5nmmK/mnIDnu4jmlbDmja5cIilcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLmRhdGEsIFwiMzMzXCIpXHJcblx0XHRcdFx0XHQvLyBMaW5lQS5jYXRlZ29yaWVzPXJlcy5kYXRhLmRhdGEuTGluZUEuY2F0ZWdvcmllcztcclxuXHRcdFx0XHRcdC8vIExpbmVBLnNlcmllcz1yZXMuZGF0YS5kYXRhLkxpbmVBLnNlcmllcztcclxuXHJcblx0XHRcdFx0XHQvL+esrOS6jOaguee6v+S4uuiZmue6v+eahOiuvue9rlxyXG5cdFx0XHRcdFx0Ly8gTGluZUEuc2VyaWVzWzFdLmxpbmVUeXBlPSdkYXNoJztcclxuXHRcdFx0XHRcdC8vIExpbmVBLnNlcmllc1sxXS5kYXNoTGVuZ3RoPTEwO1xyXG5cdFx0XHRcdFx0X3NlbGYudGV4dGFyZWEgPSBKU09OLnN0cmluZ2lmeShMaW5lQSk7XHJcblx0XHRcdFx0XHRfc2VsZi5zaG93TGluZUEoXCJjYW52YXNMaW5lQVwiLCBMaW5lQSk7XHJcblxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5pel5paw5aKe6K6i5Y2VXHJcblx0XHRcdGRheURhdGUoKSB7XHJcblx0XHRcdFx0X3NlbGYgPSB0aGlzO1xyXG5cdFx0XHRcdHRoaXMuY1dpZHRoID0gdW5pLnVweDJweCg1MDApO1xyXG5cdFx0XHRcdHRoaXMuY0hlaWdodCA9IHVuaS51cHgycHgoMTQwMCk7XHJcblx0XHRcdFx0Ly8gdGhpcy5jV2lkdGgyID0gdW5pLnVweDJweCg3MDApO1xyXG5cdFx0XHRcdC8vIHRoaXMuY0hlaWdodDIgPSB1bmkudXB4MnB4KDExMDApO1xyXG5cclxuXHRcdFx0XHRsZXQgZGF0ZSA9IHtcclxuXHRcdFx0XHRcdGFyZWFfaWQ6IDEsXHJcblx0XHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ29yZGVyL2hvdXJPcmRlck51bWJlcicsIGRhdGUsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblxyXG5cdFx0XHRcdFx0bGV0IENvbHVtbiA9IHtcclxuXHRcdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXHJcblx0XHRcdFx0XHRcdHNlcmllczogW11cclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHQvLyBfc2VsZi5zZXJ2ZXJEYXRhPXJlcztcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgJzIyMjIyJylcclxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcywgJ2Rpc2FuenXov5nmmK/miYDmnInmlbDmja4nKVxyXG5cdFx0XHRcdFx0X3NlbGYuaW5kZXhMaXN0ID0gcmVzLmRhdGEuZGF0ZVxyXG5cclxuXHRcdFx0XHRcdENvbHVtbi5jYXRlZ29yaWVzID0gW1wiMFwiLCBcIjFcIiwgXCIyXCIsIFwiM1wiLCBcIjRcIiwgXCI1XCIsIFwiNlwiLCBcIjdcIiwgXCI4XCIsIFwiOVwiLCBcIjEwXCIsIFwiMTFcIiwgXCIxMlwiLCBcIjEzXCIsIFwiMTRcIiwgXCIxNVwiLCBcIjE2XCIsXHJcblx0XHRcdFx0XHRcdFwiMTdcIiwgXCIxOFwiLCBcIjE5XCIsIFwiMjBcIiwgXCIyMVwiLCBcIjIyXCIsICcyMycsIFwiMjRcIlxyXG5cdFx0XHRcdFx0XVxyXG5cdFx0XHRcdFx0dmFyIGFyciA9IFtdXHJcblxyXG5cdFx0XHRcdFx0dmFyIGRheSA9IHJlcy5kYXRhLmRhdGVbX3NlbGYuZGF5VGFiSW5kZXhdXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhkYXksIFwiNDQ0NDQ0NTU1NTU1NTU1XCIpXHJcblx0XHRcdFx0XHRhcnIucHVzaCh7XHJcblx0XHRcdFx0XHRcdG5hbWU6IGRheSxcclxuXHRcdFx0XHRcdFx0ZGF0YTogcmVzLmRhdGEuZGF0YVtkYXldXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYXJyLCBcIjQ0NFwiKVxyXG5cclxuXHRcdFx0XHRcdENvbHVtbi5zZXJpZXMgPSBhcnJcclxuXHJcblx0XHRcdFx0XHQvLyBDb2x1bW4uc2VyaWVzPXJlcy5kYXRhLmRhdGFcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKENvbHVtbiwgXCI2NjY2XCIpXHJcblxyXG5cdFx0XHRcdFx0X3NlbGYuc2hvd0NvbHVtbihcImNhbnZhc0NvbHVtblwiLCBDb2x1bW4pO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v55So5oi35pWw5o2u57uf6K6hXHJcblx0XHRcdHVzZXJEYXRlKCkge1xyXG5cdFx0XHRcdGxldCBkYXRlID0ge1xyXG5cdFx0XHRcdFx0YXJlYV9pZDogMSxcclxuXHRcdFx0XHRcdGRheXM6ICd0aGlydHlEYXlzJ1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRhcHAucmVxdWVzdCgndXNlci9uZXdVc2Vyc0NoYXJ0JywgZGF0ZSwgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHJcblx0XHRcdFx0XHRsZXQgQ29sdW1uID0ge1xyXG5cdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbXSxcclxuXHRcdFx0XHRcdFx0c2VyaWVzOiBbXHJcblxyXG5cdFx0XHRcdFx0XHRdXHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEsIFwiODg4ODg4ODhcIilcclxuXHRcdFx0XHRcdHZhciBhcnIgPSBbXVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDAsIGxlbiA9IHJlcy5kYXRhLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7IC8vIOe8lueoi+W8j1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcImZvcuW+queOr1wiLCByZXMuZGF0YVtpXSk7XHJcblx0XHRcdFx0XHRcdENvbHVtbi5jYXRlZ29yaWVzLnB1c2gocmVzLmRhdGFbaV0uZGF0ZSlcclxuXHJcblx0XHRcdFx0XHRcdGFyci5wdXNoKHJlcy5kYXRhW2ldLnZhbHVlKVxyXG5cclxuXHRcdFx0XHRcdFx0Q29sdW1uLnNlcmllcy5wdXNoKHtcclxuXHRcdFx0XHRcdFx0XHRuYW1lOiByZXMuZGF0YVtpXS5kYXRlLFxyXG5cdFx0XHRcdFx0XHRcdGRhdGE6IGFycixcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJyM1NWZmMDAnXHJcblx0XHRcdFx0XHRcdH0pXHJcblxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGFyciwgXCI4OTg5ODg5ODk4OThcIilcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKENvbHVtbiwgXCLmlbDnu4Q1NjU2NTY1NjU1XCIpXHJcblxyXG5cdFx0XHRcdFx0Ly8gX3NlbGYuaW5kZXhMaXN0ID0gcmVzLmRhdGEuZGF0ZVxyXG5cclxuXHRcdFx0XHRcdF9zZWxmLnNob3dDb2x1bW4xKFwiY2FudmFzQ29sdW1uQVwiLCBDb2x1bW4pO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHNob3dDb2x1bW4oY2FudmFzSWQsIGNoYXJ0RGF0YSkge1xyXG5cdFx0XHRcdGNhbnZhQ29sdW1uID0gbmV3IHVDaGFydHMoe1xyXG5cdFx0XHRcdFx0JHRoaXM6IF9zZWxmLFxyXG5cdFx0XHRcdFx0Y2FudmFzSWQ6IGNhbnZhc0lkLFxyXG5cdFx0XHRcdFx0dHlwZTogJ2NvbHVtbicsXHJcblx0XHRcdFx0XHRsZWdlbmQ6IHRydWUsXHJcblx0XHRcdFx0XHRmb250U2l6ZTogMTEsXHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAnIzU1ZmYwMCcsXHJcblx0XHRcdFx0XHRwaXhlbFJhdGlvOiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0YW5pbWF0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdFx0cm90YXRlOiB0cnVlLFxyXG5cclxuXHRcdFx0XHRcdGNhdGVnb3JpZXM6IGNoYXJ0RGF0YS5jYXRlZ29yaWVzLFxyXG5cdFx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxyXG5cdFx0XHRcdFx0eEF4aXM6IHtcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6IHRydWUsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0eUF4aXM6IHtcclxuXHRcdFx0XHRcdFx0Ly9kaXNhYmxlZDp0cnVlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZGF0YUxhYmVsOiB0cnVlLFxyXG5cdFx0XHRcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8sXHJcblx0XHRcdFx0XHRoZWlnaHQ6IF9zZWxmLmNIZWlnaHQgKiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0ZXh0cmE6IHtcclxuXHRcdFx0XHRcdFx0Y29sdW1uOiB7XHJcblx0XHRcdFx0XHRcdFx0dHlwZTogJ2dyb3VwJyxcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogX3NlbGYuY1dpZHRoICogX3NlbGYucGl4ZWxSYXRpbyAqIDAuNDUgLyBjaGFydERhdGEuY2F0ZWdvcmllcy5sZW5ndGhcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2VHYXVnZURhdGEoKSB7XHJcblx0XHRcdFx0bGV0IHNlcmllcyA9IFt7XHJcblx0XHRcdFx0XHRuYW1lOiBcIuWujOaIkOeOh1wiLFxyXG5cdFx0XHRcdFx0ZGF0YTogTWF0aC5yYW5kb20oKVxyXG5cdFx0XHRcdH1dOyAvL+i/memHjOaYr+maj+acuuaVsOaNru+8jOeUn+S6p+eOr+Wig+ivt+S7juacjeWKoeWZqOiOt+WPlu+8jOazqOaEj3Nlcmllc+aVsOaNruexu+Wei+S4uuaVsOe7hFxyXG5cdFx0XHRcdC8v6L+Z6YeM5oiR5YCf55So5LmL5YmN55qEY2F0ZWdvcmllc+aVsOaNru+8jOWIpOaWreS4gOS4i+aWsOaVsOaNrueahHRpdGxlLmNvbG9y77yM5rKh5pyJ5YaZ5q275Zyo56iL5bqP6YeM77yM5Lul5L6/5LqO6Ieq5a6a5LmJXHJcblx0XHRcdFx0bGV0IG5ld1RpdGxlQ29sb3I7XHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGlmIChzZXJpZXNbMF0uZGF0YSA8PSBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXNbaV0udmFsdWUpIHtcclxuXHRcdFx0XHRcdFx0bmV3VGl0bGVDb2xvciA9IF9zZWxmLnNlcnZlckRhdGEuR2F1Z2UuY2F0ZWdvcmllc1tpXS5jb2xvcjtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0dhdWdlJ10udXBkYXRlRGF0YSh7XHJcblx0XHRcdFx0XHRzZXJpZXM6IHNlcmllcywgLy/ov5nph4znu5nkuobmlrDmlbDlgLxcclxuXHRcdFx0XHRcdGNhdGVnb3JpZXM6IF9zZWxmLnNlcnZlckRhdGEuR2F1Z2UuY2F0ZWdvcmllcyxcclxuXHRcdFx0XHRcdHRpdGxlOiB7XHJcblx0XHRcdFx0XHRcdG5hbWU6IE1hdGgucm91bmQoc2VyaWVzWzBdLmRhdGEgKiAxMDApICsgJyUnLFxyXG5cdFx0XHRcdFx0XHRjb2xvcjogbmV3VGl0bGVDb2xvcixcclxuXHRcdFx0XHRcdFx0Zm9udFNpemU6IDI1ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogNTAgKiBfc2VsZi5waXhlbFJhdGlvLCAvL+aWsOWinuWPguaVsO+8jOiHquWumuS5ieiwg+aVtFnovbTmlofmoYjot53nprtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWJ0aXRsZToge1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn5pu05paw5pWw5o2uJyxcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICcjNjY2NjY2JyxcclxuXHRcdFx0XHRcdFx0Zm9udFNpemU6IDE1ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogLTUwICogX3NlbGYucGl4ZWxSYXRpbywgLy/mlrDlop7lj4LmlbDvvIzoh6rlrprkuYnosIPmlbRZ6L205paH5qGI6Led56a7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvdWNoTGluZUEoZSkge1xyXG5cdFx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGxTdGFydChlKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0bW92ZUxpbmVBKGUpIHtcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0xpbmVBJ10uc2Nyb2xsKGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b3VjaEVuZExpbmVBKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCBcIjAwXCIpXHJcblx0XHRcdFx0Y2FudmFzT2JqWydjYW52YXNMaW5lQSddLnNjcm9sbEVuZChlKTtcclxuXHRcdFx0XHQvL+S4i+mdouaYr3Rvb2xUaXDkuovku7bvvIzlpoLmnpzmu5rliqjlkI7kuI3pnIDopoHmmL7npLrvvIzlj6/kuI3loavlhplcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0xpbmVBJ10uc2hvd1Rvb2xUaXAoZSwge1xyXG5cdFx0XHRcdFx0Zm9ybWF0OiBmdW5jdGlvbihpdGVtLCBjYXRlZ29yeSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGFcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dG91Y2hJdChlLCBpZCkge1xyXG5cdFx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGxTdGFydChlKTtcclxuXHRcdFx0XHRjYW52YXNPYmpbaWRdLnRvdWNoTGVnZW5kKGUsIHtcclxuXHRcdFx0XHRcdGFuaW1hdGlvbjogZmFsc2VcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRjYW52YXNPYmpbaWRdLnNob3dUb29sVGlwKGUsIHtcclxuXHRcdFx0XHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHR5cGVvZiBpdGVtLmRhdGEgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhLnZhbHVlXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdHRvdWNoTWl4KGUpIHtcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc01peCddLnNjcm9sbFN0YXJ0KGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRtb3ZlTWl4KGUpIHtcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc01peCddLnNjcm9sbChlKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdHNob3dMaW5lQShjYW52YXNJZCwgY2hhcnREYXRhKSB7XHJcblx0XHRcdFx0Y2FudmFzT2JqW2NhbnZhc0lkXSA9IG5ldyB1Q2hhcnRzKHtcclxuXHRcdFx0XHRcdCR0aGlzOiBfc2VsZixcclxuXHRcdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcclxuXHRcdFx0XHRcdHR5cGU6ICdsaW5lJyxcclxuXHRcdFx0XHRcdGZvbnRTaXplOiA4LFxyXG5cdFx0XHRcdFx0cm90YXRlOiB0cnVlLFxyXG5cdFx0XHRcdFx0ZGF0YUxhYmVsOmZhbHNlLFxyXG5cdFx0XHRcdFx0Ly8gZGF0YUxhYmVsOiBmYWxzZSxcclxuXHRcdFx0XHRcdHBhZGRpbmc6IFsxNSwgMTUsIDAsIDE1XSxcclxuXHRcdFx0XHRcdGxlZ2VuZDoge1xyXG5cdFx0XHRcdFx0XHRzaG93OiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiA1LFxyXG5cdFx0XHRcdFx0XHRsaW5lSGVpZ2h0OiAxMSxcclxuXHRcdFx0XHRcdFx0bWFyZ2luOiA1LFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdC8vIGRhdGFMYWJlbDogZmFsc2UsXHJcblx0XHRcdFx0XHRkYXRhUG9pbnRTaGFwZTogZmFsc2UsXHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAnI0ZGRkZGRicsXHJcblx0XHRcdFx0XHRwaXhlbFJhdGlvOiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0Y2F0ZWdvcmllczogY2hhcnREYXRhLmNhdGVnb3JpZXMsXHJcblx0XHRcdFx0XHRzZXJpZXM6IGNoYXJ0RGF0YS5zZXJpZXMsXHJcblx0XHRcdFx0XHRhbmltYXRpb246IGZhbHNlLFxyXG5cdFx0XHRcdFx0ZW5hYmxlU2Nyb2xsOiB0cnVlLCAvL+W8gOWQr+WbvuihqOaLluaLveWKn+iDvVxyXG5cdFx0XHRcdFx0eEF4aXM6IHtcclxuXHRcdFx0XHRcdFx0Ly8gcm90YXRlTGFiZWw6IHRydWUsXHJcblx0XHRcdFx0XHRcdC8vIGRpc2FibGVHcmlkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHQvLyBpdGVtQ291bnQ6IGNoYXJ0RGF0YS5sZW5ndGgsXHJcblx0XHRcdFx0XHRcdC8vIGxhYmVsQ291bnQ6IDMwLFxyXG5cdFx0XHRcdFx0XHQvLyBncmlkVHlwZTogJ2Rhc2gnLFxyXG5cdFx0XHRcdFx0XHRkaXNhYmxlR3JpZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0dHlwZTogJ2dyaWQnLFxyXG5cdFx0XHRcdFx0XHRyb3RhdGVMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0Ly8gZ3JpZFR5cGU6ICdkYXNoJyxcclxuXHRcdFx0XHRcdFx0aXRlbUNvdW50OiAzMCxcclxuXHRcdFx0XHRcdFx0Ly8gc2Nyb2xsU2hvdzogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0c2Nyb2xsQWxpZ246ICdsZWZ0JyxcclxuXHRcdFx0XHRcdFx0Ly9zY3JvbGxCYWNrZ3JvdW5kQ29sb3I6JyNGN0Y3RkYnLC8v5Y+v5LiN5aGr5YaZ77yM6YWN5ZCIZW5hYmxlU2Nyb2xs5Zu+6KGo5ouW5ou95Yqf6IO95L2/55So77yMWOi9tOa7muWKqOadoeiDjOaZr+minOiJsizpu5jorqTkuLogI0VGRUJFRlxyXG5cdFx0XHRcdFx0XHQvL3Njcm9sbENvbG9yOicjREVFN0Y3JywvL+WPr+S4jeWhq+WGme+8jOmFjeWQiGVuYWJsZVNjcm9sbOWbvuihqOaLluaLveWKn+iDveS9v+eUqO+8jFjovbTmu5rliqjmnaHpopzoibIs6buY6K6k5Li6ICNBNkE2QTZcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR5QXhpczoge1xyXG5cdFx0XHRcdFx0XHQvL2Rpc2FibGVkOnRydWVcclxuXHRcdFx0XHRcdFx0Z3JpZFR5cGU6ICdkYXNoJyxcclxuXHRcdFx0XHRcdFx0c3BsaXROdW1iZXI6IDgsXHJcblx0XHRcdFx0XHRcdG1pbjogMTAsXHJcblx0XHRcdFx0XHRcdG1heDogMTgwLFxyXG5cdFx0XHRcdFx0XHRmb3JtYXQ6ICh2YWwpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsLnRvRml4ZWQoMClcclxuXHRcdFx0XHRcdFx0fSAvL+WmguS4jeWGmeatpOaWueazle+8jFnovbTliLvluqbpu5jorqTkv53nlZnkuKTkvY3lsI/mlbBcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR3aWR0aDogX3NlbGYuY1dpZHRoICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdGhlaWdodDogX3NlbGYuY0hlaWdodCAqIF9zZWxmLnBpeGVsUmF0aW8sXHJcblx0XHRcdFx0XHRkYXRhTGFiZWw6IHRydWUsXHJcblx0XHRcdFx0XHRkYXRhUG9pbnRTaGFwZTogdHJ1ZSxcclxuXHRcdFx0XHRcdGV4dHJhOiB7XHJcblx0XHRcdFx0XHRcdGxpbmVTdHlsZTogJ3N0cmFpZ2h0J1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHR9KTtcclxuXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHRzaG93Q29sdW1uMShjYW52YXNJZCwgY2hhcnREYXRhKSB7XHJcblx0XHRcdFx0Y2FudmFDb2x1bW4gPSBuZXcgdUNoYXJ0cyh7XHJcblx0XHRcdFx0XHQkdGhpczogX3NlbGYsXHJcblx0XHRcdFx0XHRjYW52YXNJZDogY2FudmFzSWQsXHJcblx0XHRcdFx0XHR0eXBlOiAnbGluZScsXHJcblx0XHRcdFx0XHRsZWdlbmQ6IHRydWUsXHJcblx0XHRcdFx0XHRmb250U2l6ZTogOCxcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICcjNTVmZjAwJyxcclxuXHRcdFx0XHRcdC8vIHBpeGVsUmF0aW86IF9zZWxmLnBpeGVsUmF0aW8sXHJcblx0XHRcdFx0XHQvLyBhbmltYXRpb246IHRydWUsXHJcblx0XHRcdFx0XHRyb3RhdGU6IHRydWUsXHJcblx0XHRcdFx0XHRsZWdlbmQ6IHtcclxuXHRcdFx0XHRcdFx0c2hvdzogZmFsc2VcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQvLyByb3RhdGVMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdGNhdGVnb3JpZXM6IGNoYXJ0RGF0YS5jYXRlZ29yaWVzLFxyXG5cdFx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxyXG5cdFx0XHRcdFx0eEF4aXM6IHtcclxuXHRcdFx0XHRcdFx0cm90YXRlTGFiZWw6IHRydWUsXHJcblx0XHRcdFx0XHRcdGRpc2FibGVHcmlkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRpdGVtQ291bnQ6IGNoYXJ0RGF0YS5sZW5ndGgsXHJcblx0XHRcdFx0XHRcdGxhYmVsQ291bnQ6IDMwLFxyXG5cdFx0XHRcdFx0XHRncmlkVHlwZTogJ2Rhc2gnLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHlBeGlzOiB7XHJcblx0XHRcdFx0XHRcdC8vZGlzYWJsZWQ6dHJ1ZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGRhdGFMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdHdpZHRoOiBfc2VsZi5jV2lkdGggKiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiBfc2VsZi5jSGVpZ2h0ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdC8vIGV4dHJhOiB7XHJcblx0XHRcdFx0XHQvLyBcdGNvbHVtbjoge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdHR5cGU6ICdncm91cCcsXHJcblx0XHRcdFx0XHQvLyBcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8gKiAwLjQ1IC8gY2hhcnREYXRhLmNhdGVnb3JpZXMubGVuZ3RoXHJcblx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRleHRyYToge1xyXG5cdFx0XHRcdFx0XHRsaW5lU3R5bGU6ICdzdHJhaWdodCdcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8gdG91Y2hDb2x1bW4oZSkge1xyXG5cdFx0XHQvLyBcdGNhbnZhQ29sdW1uLnNob3dUb29sVGlwKGUsIHtcclxuXHRcdFx0Ly8gXHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcclxuXHRcdFx0Ly8gXHRcdFx0aWYgKHR5cGVvZiBpdGVtLmRhdGEgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdC8vIFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhLnZhbHVlXHJcblx0XHRcdC8vIFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdC8vIFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhXHJcblx0XHRcdC8vIFx0XHRcdH1cclxuXHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0Ly8gXHR9KTtcclxuXHRcdFx0Ly8gfSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG48c3R5bGU+LyogXHR0b3A6IDEwJTsgKi9cclxuXHRcclxuXHQucWl1bi1jaGFydHMtcm90YXRlIHtcclxuXHRcdHdpZHRoOiA1MDB1cHg7XHJcblx0XHRoZWlnaHQ6IDE0MDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0cGFkZGluZzogMjV1cHg7XHJcblx0fVxyXG5cclxuXHQuY2hhcnRzLXJvdGF0ZSB7XHJcblx0XHR3aWR0aDogNTAwdXB4O1xyXG5cdFx0aGVpZ2h0OiAxNDAwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cdHBhZ2Uge1xyXG5cdFx0YmFja2dyb3VuZDogI0YyRjJGMjtcclxuXHRcdHdpZHRoOiA3NTB1cHg7XHJcblx0XHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG5cdH1cclxuXHJcblx0LmJ0IHtcclxuXHRcdHdpZHRoOiAyMCU7XHJcblx0XHQvKiBcdG1hcmdpbi10b3A6IDIxJXVweDsgKi9cclxuXHR9XHJcblxyXG5cdC5idDEge1xyXG5cdFx0aGVpZ2h0OiA1MHVweDtcclxuXHRcdHdpZHRoOiAxODB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQuYnQgYnV0dG9uIHtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cdFx0aGVpZ2h0OiA1MHVweDtcclxuXHRcdHdpZHRoOiAxODB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTB1cHg7XHJcblx0XHRtYXJnaW4tdG9wOiA4MHVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDgwdXB4O1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIEludGVybmV0IEV4cGxvcmVyIDkqL1xyXG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQvKiBGaXJlZm94ICovXHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIFNhZmFyaSDlkowgQ2hyb21lICovXHJcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQvKiBPcGVyYSAqL1xyXG5cdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTtcclxuXHR9XHJcblxyXG5cdC4uYnQgYnV0dG9uOmZpcnN0LWNoaWxkIHtcclxuXHRcdC8qIFx0bWFyZ2luLXRvcDogMzAwdXB4OyAqL1xyXG5cdH1cclxuXHJcblx0LnRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAzNnVweDtcclxuXHRcdGhlaWdodDogMjB1cHg7XHJcblx0XHRmb250LXdlaWdodDogNTUwO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI4MHVweDtcclxuXHRcdHdpZHRoOiAzNTB1cHg7XHJcblx0XHRib3JkZXItdG9wOiBzb2xpZCAydXB4ICMwMDRGQjY7XHJcblxyXG5cdFx0bWFyZ2luLXRvcDogMjElO1xyXG5cdFx0LyogXHRoZWlnaHQ6IDYwMHVweDtcclxuXHRcdFx0d2lkdGg6IDIwMHVweDsgKi9cclxuXHRcdC8qIGJhY2tncm91bmQtY29sb3I6ICMwMDRGQjY7ICovXHJcblx0XHRjb2xvcjogIzAwNEZCNiAhaW1wb3J0YW50O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIEludGVybmV0IEV4cGxvcmVyIDkqL1xyXG5cdFx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQvKiBGaXJlZm94ICovXHJcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIFNhZmFyaSDlkowgQ2hyb21lICovXHJcblx0XHQtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQvKiBPcGVyYSAqL1xyXG5cdFx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTtcclxuXHR9XHJcblxyXG5cclxuXHQvKiAucWl1bi1wYWRkaW5nIHtcclxuXHRcdHBhZGRpbmc6IDIlO1xyXG5cdFx0d2lkdGg6IDk2JTtcclxuXHR9XHJcblxyXG5cdC5xaXVuLXdyYXAge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLXJvd3Mge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLWNvbHVtbnMge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLWNvbW1vbi1tdCB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHVweDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLWJnLXdoaXRlIHtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcblx0fVxyXG5cclxuXHQucWl1bi10aXRsZS1iYXIge1xyXG5cdFx0d2lkdGg6IDk2JTtcclxuXHRcdHBhZGRpbmc6IDEwdXB4IDIlO1xyXG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XHJcblx0fVxyXG5cclxuXHQucWl1bi10aXRsZS1kb3QtbGlnaHQge1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDEwdXB4IHNvbGlkICMwZWEzOTE7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDEwdXB4O1xyXG5cdFx0Zm9udC1zaXplOiAzMnVweDtcclxuXHRcdGNvbG9yOiAjMDAwMDAwXHJcblx0fVxyXG5cclxuXHQucWl1bi1jaGFydHMge1xyXG5cdFx0d2lkdGg6IDc1MHVweDtcclxuXHRcdGhlaWdodDogNTAwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cdC5jaGFydHMge1xyXG5cdFx0d2lkdGg6IDc1MHVweDtcclxuXHRcdGhlaWdodDogNTAwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHR9ICovXHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///18\n");
  1483. /***/ }),
  1484. /* 19 */
  1485. /*!**************************************************************!*\
  1486. !*** C:/Users/001/Desktop/运维端/pages/mine/uchart/u-charts.js ***!
  1487. \**************************************************************/
  1488. =======
  1489. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _uCharts3 = _interopRequireDefault(__webpack_require__(/*! @/pages/mine/uchart/u-charts.js */ 19));\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));\nvar _checker = __webpack_require__(/*! @/pages/mine/uchart/checker.js */ 25);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;}\n\n\nvar _self;\nvar canvaColumn = null;\nvar app = getApp();\nvar canvasObj = {};var _default =\n{\n data: function data() {\n return {\n swiperTabIdx: 2,\n // cWidth:'',\n // cHeight:'',\n cWidth2: '', //横屏图表\n cHeight2: '', //横屏图表\n pixelRatio: 1,\n serverData: '',\n indexList: \"\", //默认显示日期\n dayIndex: \"\",\n dayTabIndex: 0 //默认显示第一个按钮的日期数据\n };\n },\n onLoad: function onLoad() {var _this = this;\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", res, \"这是屏幕信息\", \" at pages/mine/charts123.vue:105\");\n _this.mainHeight = res.windowHeight;\n } });\n\n __f__(\"log\", 12344, \" at pages/mine/charts123.vue:109\");\n _self = this;\n this.cWidth = uni.upx2px(500);\n this.cHeight = uni.upx2px(1100);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n this.dayDate();\n this.userDate();\n this.getServerData(); //收益数据\n\n\n },\n methods: {\n\n childMess: function childMess(e) {\n __f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/charts123.vue:124\");\n this.areaID = e.areaID;\n this.getServerData();\n // this.getFeed()\n },\n changeDate: function changeDate(e) {\n this.dayTabIndex = e;\n __f__(\"log\", e, \"3333\", \" at pages/mine/charts123.vue:131\");\n this.dayDate();\n\n },\n getServerData: function getServerData() {\n var date = {\n area_id: 1,\n days: 'thirtyDays' };\n\n app.request('order/profitChart', date, 'GET').then(function (res) {\n var LineA = {\n categories: [],\n series: [] };\n\n\n __f__(\"log\", res, '这是所有数据999999999', \" at pages/mine/charts123.vue:146\");\n var arr = new Array();\n arr = res.data;\n var data = new Array();\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n __f__(\"log\", \"for循环\", arr[i], \" at pages/mine/charts123.vue:151\");\n __f__(\"log\", arr[i].data, \"数组\", \" at pages/mine/charts123.vue:152\");\n var aa = arr[i].data;\n __f__(\"log\", aa, \"这是第\" + i, \" at pages/mine/charts123.vue:154\");\n LineA.series.push({\n name: arr[i].name,\n data: arr[i].data });\n\n\n\n }\n for (var k = 0, leng = aa.length; k < leng; k++) {\n // \tconsole.log(aa[k].value,'666666')\n\n // console.log(aa[k].date,\"这是横坐标\")\n LineA.categories.push(aa[k].date);\n\n // console.log(this.lineData2.categories,\"这是横坐标\")\n\n\n // console.log(this.lineData2.series,\"这是最终数据\")\n }\n __f__(\"log\", res.data.data, \"333\", \" at pages/mine/charts123.vue:173\");\n // LineA.categories=res.data.data.LineA.categories;\n // LineA.series=res.data.data.LineA.series;\n\n //第二根线为虚线的设置\n // LineA.series[1].lineType='dash';\n // LineA.series[1].dashLength=10;\n _self.textarea = JSON.stringify(LineA);\n _self.showLineA(\"canvasLineA\", LineA);\n\n });\n },\n //日新增订单\n dayDate: function dayDate() {\n _self = this;\n this.cWidth = uni.upx2px(500);\n this.cHeight = uni.upx2px(1400);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n\n var date = {\n area_id: 1,\n days: 'thirtyDays' };\n\n app.request('order/hourOrderNumber', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n // _self.serverData=res;\n __f__(\"log\", res, '22222', \" at pages/mine/charts123.vue:204\");\n // console.log(res, 'disanzu这是所有数据')\n _self.indexList = res.data.date;\n\n Column.categories = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\",\n \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", '23', \"24\"];\n\n var arr = [];\n\n var day = res.data.date[_self.dayTabIndex];\n __f__(\"log\", day, \"444444555555555\", \" at pages/mine/charts123.vue:214\");\n arr.push({\n name: day,\n data: res.data.data[day] });\n\n __f__(\"log\", arr, \"444\", \" at pages/mine/charts123.vue:219\");\n\n Column.series = arr;\n\n // Column.series=res.data.data\n __f__(\"log\", Column, \"6666\", \" at pages/mine/charts123.vue:224\");\n\n _self.showColumn(\"canvasColumn\", Column);\n });\n },\n //用户数据统计\n userDate: function userDate() {\n var date = {\n area_id: 1,\n days: 'thirtyDays' };\n\n app.request('user/newUsersChart', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n\n\n __f__(\"log\", res.data, \"88888888\", \" at pages/mine/charts123.vue:243\");\n var arr = [];\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n __f__(\"log\", \"for循环\", res.data[i], \" at pages/mine/charts123.vue:246\");\n Column.categories.push(res.data[i].date);\n\n arr.push(res.data[i].value);\n\n Column.series.push({\n name: res.data[i].date,\n data: arr,\n color: '#55ff00' });\n\n\n\n }\n __f__(\"log\", arr, \"898988989898\", \" at pages/mine/charts123.vue:259\");\n __f__(\"log\", Column, \"数组5656565655\", \" at pages/mine/charts123.vue:260\");\n\n // _self.indexList = res.data.date\n\n _self.showColumn1(\"canvasColumnA\", Column);\n });\n },\n showColumn: function showColumn(canvasId, chartData) {\n canvaColumn = new _uCharts3.default({\n $this: _self,\n canvasId: canvasId,\n type: 'column',\n legend: true,\n fontSize: 11,\n background: '#55ff00',\n pixelRatio: _self.pixelRatio,\n animation: true,\n rotate: true,\n\n categories: chartData.categories,\n series: chartData.series,\n xAxis: {\n disableGrid: true },\n\n yAxis: {\n //disabled:true\n },\n dataLabel: true,\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio,\n extra: {\n column: {\n type: 'group',\n width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length } } });\n\n\n\n },\n changeGaugeData: function changeGaugeData() {\n var series = [{\n name: \"完成率\",\n data: Math.random() }];\n //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组\n //这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义\n var newTitleColor;\n for (var i = 0; i < _self.serverData.Gauge.categories.length; i++) {\n if (series[0].data <= _self.serverData.Gauge.categories[i].value) {\n newTitleColor = _self.serverData.Gauge.categories[i].color;\n break;\n }\n }\n\n canvasObj['canvasGauge'].updateData({\n series: series, //这里给了新数值\n categories: _self.serverData.Gauge.categories,\n title: {\n name: Math.round(series[0].data * 100) + '%',\n color: newTitleColor,\n fontSize: 25 * _self.pixelRatio,\n offsetY: 50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n },\n subtitle: {\n name: '更新数据',\n color: '#666666',\n fontSize: 15 * _self.pixelRatio,\n offsetY: -50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n } });\n\n },\n touchLineA: function touchLineA(e) {\n canvasObj['canvasLineA'].scrollStart(e);\n },\n moveLineA: function moveLineA(e) {\n canvasObj['canvasLineA'].scroll(e);\n },\n touchEndLineA: function touchEndLineA(e) {\n __f__(\"log\", e, \"00\", \" at pages/mine/charts123.vue:336\");\n canvasObj['canvasLineA'].scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvasObj['canvasLineA'].showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n },\n touchIt: function touchIt(e, id) {\n canvasObj['canvasLineA'].scrollStart(e);\n canvasObj[id].touchLegend(e, {\n animation: false });\n\n canvasObj[id].showToolTip(e, {\n format: function format(item, category) {\n if (typeof item.data === 'object') {\n return category + ' ' + item.name + ':' + item.data.value;\n } else {\n return category + ' ' + item.name + ':' + item.data;\n }\n } });\n\n },\n\n touchMix: function touchMix(e) {\n canvasObj['canvasMix'].scrollStart(e);\n },\n moveMix: function moveMix(e) {\n canvasObj['canvasMix'].scroll(e);\n },\n\n showLineA: function showLineA(canvasId, chartData) {var _uCharts;\n canvasObj[canvasId] = new _uCharts3.default((_uCharts = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n fontSize: 8,\n rotate: true,\n dataLabel: false,\n // dataLabel: false,\n padding: [15, 15, 0, 15],\n legend: {\n show: true,\n padding: 5,\n lineHeight: 11,\n margin: 5 },\n\n // dataLabel: false,\n dataPointShape: false,\n background: '#FFFFFF',\n pixelRatio: _self.pixelRatio,\n categories: chartData.categories,\n series: chartData.series,\n animation: false,\n enableScroll: true, //开启图表拖拽功能\n xAxis: {\n // rotateLabel: true,\n // disableGrid: true,\n // itemCount: chartData.length,\n // labelCount: 30,\n // gridType: 'dash',\n disableGrid: true,\n type: 'grid',\n rotateLabel: true,\n // gridType: 'dash',\n itemCount: 30,\n // scrollShow: true,\n scrollAlign: 'left'\n //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF\n //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6\n },\n yAxis: {\n //disabled:true\n gridType: 'dash',\n splitNumber: 8,\n min: 10,\n max: 180,\n format: function format(val) {\n return val.toFixed(0);\n } //如不写此方法,Y轴刻度默认保留两位小数\n },\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio }, _defineProperty(_uCharts, \"dataLabel\",\n true), _defineProperty(_uCharts, \"dataPointShape\",\n true), _defineProperty(_uCharts, \"extra\",\n {\n lineStyle: 'straight' }), _uCharts));\n\n\n\n },\n\n showColumn1: function showColumn1(canvasId, chartData) {var _uCharts2;\n canvaColumn = new _uCharts3.default((_uCharts2 = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n legend: true,\n fontSize: 8,\n background: '#55ff00',\n // pixelRatio: _self.pixelRatio,\n // animation: true,\n rotate: true }, _defineProperty(_uCharts2, \"legend\",\n {\n show: false }), _defineProperty(_uCharts2, \"categories\",\n\n\n chartData.categories), _defineProperty(_uCharts2, \"series\",\n chartData.series), _defineProperty(_uCharts2, \"xAxis\",\n {\n rotateLabel: true,\n disableGrid: true,\n itemCount: chartData.length,\n labelCount: 30,\n gridType: 'dash' }), _defineProperty(_uCharts2, \"yAxis\",\n\n {\n //disabled:true\n }), _defineProperty(_uCharts2, \"dataLabel\",\n true), _defineProperty(_uCharts2, \"width\",\n _self.cWidth * _self.pixelRatio), _defineProperty(_uCharts2, \"height\",\n _self.cHeight * _self.pixelRatio), _defineProperty(_uCharts2, \"extra\",\n\n\n\n\n\n\n {\n lineStyle: 'straight' }), _uCharts2));\n\n\n }\n // touchColumn(e) {\n // \tcanvaColumn.showToolTip(e, {\n // \t\tformat: function(item, category) {\n // \t\t\tif (typeof item.data === 'object') {\n // \t\t\t\treturn category + ' ' + item.name + ':' + item.data.value\n // \t\t\t} else {\n // \t\t\t\treturn category + ' ' + item.name + ':' + item.data\n // \t\t\t}\n // \t\t}\n // \t});\n // },\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jaGFydHMxMjMudnVlIl0sIm5hbWVzIjpbIl9zZWxmIiwiY2FudmFDb2x1bW4iLCJhcHAiLCJnZXRBcHAiLCJjYW52YXNPYmoiLCJkYXRhIiwic3dpcGVyVGFiSWR4IiwiY1dpZHRoMiIsImNIZWlnaHQyIiwicGl4ZWxSYXRpbyIsInNlcnZlckRhdGEiLCJpbmRleExpc3QiLCJkYXlJbmRleCIsImRheVRhYkluZGV4Iiwib25Mb2FkIiwidW5pIiwiZ2V0U3lzdGVtSW5mbyIsInN1Y2Nlc3MiLCJyZXMiLCJtYWluSGVpZ2h0Iiwid2luZG93SGVpZ2h0IiwiY1dpZHRoIiwidXB4MnB4IiwiY0hlaWdodCIsImRheURhdGUiLCJ1c2VyRGF0ZSIsImdldFNlcnZlckRhdGEiLCJtZXRob2RzIiwiY2hpbGRNZXNzIiwiZSIsImFyZWFJRCIsImNoYW5nZURhdGUiLCJkYXRlIiwiYXJlYV9pZCIsImRheXMiLCJyZXF1ZXN0IiwidGhlbiIsIkxpbmVBIiwiY2F0ZWdvcmllcyIsInNlcmllcyIsImFyciIsIkFycmF5IiwiaSIsImxlbiIsImxlbmd0aCIsImFhIiwicHVzaCIsIm5hbWUiLCJrIiwibGVuZyIsInRleHRhcmVhIiwiSlNPTiIsInN0cmluZ2lmeSIsInNob3dMaW5lQSIsIkNvbHVtbiIsImRheSIsInNob3dDb2x1bW4iLCJ2YWx1ZSIsImNvbG9yIiwic2hvd0NvbHVtbjEiLCJjYW52YXNJZCIsImNoYXJ0RGF0YSIsInVDaGFydHMiLCIkdGhpcyIsInR5cGUiLCJsZWdlbmQiLCJmb250U2l6ZSIsImJhY2tncm91bmQiLCJhbmltYXRpb24iLCJyb3RhdGUiLCJ4QXhpcyIsImRpc2FibGVHcmlkIiwieUF4aXMiLCJkYXRhTGFiZWwiLCJ3aWR0aCIsImhlaWdodCIsImV4dHJhIiwiY29sdW1uIiwiY2hhbmdlR2F1Z2VEYXRhIiwiTWF0aCIsInJhbmRvbSIsIm5ld1RpdGxlQ29sb3IiLCJHYXVnZSIsInVwZGF0ZURhdGEiLCJ0aXRsZSIsInJvdW5kIiwib2Zmc2V0WSIsInN1YnRpdGxlIiwidG91Y2hMaW5lQSIsInNjcm9sbFN0YXJ0IiwibW92ZUxpbmVBIiwic2Nyb2xsIiwidG91Y2hFbmRMaW5lQSIsInNjcm9sbEVuZCIsInNob3dUb29sVGlwIiwiZm9ybWF0IiwiaXRlbSIsImNhdGVnb3J5IiwidG91Y2hJdCIsImlkIiwidG91Y2hMZWdlbmQiLCJ0b3VjaE1peCIsIm1vdmVNaXgiLCJwYWRkaW5nIiwic2hvdyIsImxpbmVIZWlnaHQiLCJtYXJnaW4iLCJkYXRhUG9pbnRTaGFwZSIsImVuYWJsZVNjcm9sbCIsInJvdGF0ZUxhYmVsIiwiaXRlbUNvdW50Iiwic2Nyb2xsQWxpZ24iLCJncmlkVHlwZSIsInNwbGl0TnVtYmVyIiwibWluIiwibWF4IiwidmFsIiwidG9GaXhlZCIsImxpbmVTdHlsZSIsImxhYmVsQ291bnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkVBO0FBQ0E7QUFDQSw2RTs7O0FBR0EsSUFBSUEsS0FBSjtBQUNBLElBQUlDLFdBQVcsR0FBRyxJQUFsQjtBQUNBLElBQUlDLEdBQUcsR0FBR0MsTUFBTSxFQUFoQjtBQUNBLElBQUlDLFNBQVMsR0FBRyxFQUFoQixDO0FBQ2U7QUFDZEMsTUFEYyxrQkFDUDtBQUNOLFdBQU87QUFDTkMsa0JBQVksRUFBQyxDQURQO0FBRU47QUFDQTtBQUNBQyxhQUFPLEVBQUUsRUFKSCxFQUlPO0FBQ2JDLGNBQVEsRUFBRSxFQUxKLEVBS1E7QUFDZEMsZ0JBQVUsRUFBRSxDQU5OO0FBT05DLGdCQUFVLEVBQUUsRUFQTjtBQVFOQyxlQUFTLEVBQUUsRUFSTCxFQVFTO0FBQ2ZDLGNBQVEsRUFBRSxFQVRKO0FBVU5DLGlCQUFXLEVBQUUsQ0FWUCxDQVVVO0FBVlYsS0FBUDtBQVlBLEdBZGE7QUFlZEMsUUFmYyxvQkFlTDtBQUNSQyxPQUFHLENBQUNDLGFBQUos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ZUFBUyxDQUFDdEIsTUFmTDtBQWdCTjtBQUNOc0UsbUJBQVcsRUFBRSxJQURQO0FBRU50QyxtQkFBVyxFQUFFLElBRlA7QUFHTnVDLGlCQUFTLEVBQUVqRCxTQUFTLENBQUNqQixNQUhmO0FBSU4yRSxrQkFBVSxFQUFFLEVBSk47QUFLTlAsZ0JBQVEsRUFBRSxNQUxKLEVBaEJNOztBQXVCTjtBQUNOO0FBRE0sT0F2Qk07QUEwQkYsVUExQkU7QUEyQk5oSCxXQUFLLENBQUNxQixNQUFOLEdBQWVyQixLQUFLLENBQUNTLFVBM0JmO0FBNEJMVCxXQUFLLENBQUN1QixPQUFOLEdBQWdCdkIsS0FBSyxDQUFDUyxVQTVCakI7Ozs7Ozs7QUFtQ047QUFDTjZHLGlCQUFTLEVBQUUsVUFETCxFQW5DTSxjQUFkOzs7QUF1Q0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdldRLEdBbENLLEUiLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG5pbXBvcnQgdUNoYXJ0cyBmcm9tICdAL3BhZ2VzL21pbmUvdWNoYXJ0L3UtY2hhcnRzLmpzJztcbmltcG9ydCBhbGxBcmVhIGZyb20gJy4uLy4uL2NvbXBvbmVudC9hbGxBcmVhL2FsbEFyZWEudnVlJ1xuaW1wb3J0IHtcblx0aXNKU09OXG59IGZyb20gJ0AvcGFnZXMvbWluZS91Y2hhcnQvY2hlY2tlci5qcyc7XG52YXIgX3NlbGY7XG52YXIgY2FudmFDb2x1bW4gPSBudWxsO1xudmFyIGFwcCA9IGdldEFwcCgpXG52YXIgY2FudmFzT2JqID0ge307XG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHN3aXBlclRhYklkeDoyLFxuXHRcdFx0Ly8gY1dpZHRoOicnLFxuXHRcdFx0Ly8gY0hlaWdodDonJyxcblx0XHRcdGNXaWR0aDI6ICcnLCAvL+aoquWxj+WbvuihqFxuXHRcdFx0Y0hlaWdodDI6ICcnLCAvL+aoquWxj+WbvuihqFxuXHRcdFx0cGl4ZWxSYXRpbzogMSxcblx0XHRcdHNlcnZlckRhdGE6ICcnLFxuXHRcdFx0aW5kZXhMaXN0OiBcIlwiLCAvL+m7mOiupOaYvuekuuaXpeacn1xuXHRcdFx0ZGF5SW5kZXg6IFwiXCIsXG5cdFx0XHRkYXlUYWJJbmRleDogMCwgLy/pu5jorqTmmL7npLrnrKzkuIDkuKrmjInpkq7nmoTml6XmnJ/mlbDmja5cblx0XHR9XG5cdH0sXG5cdG9uTG9hZCgpIHtcblx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XG5cdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsIFwi6L+Z5piv5bGP5bmV5L+h5oGvXCIpXG5cdFx0XHRcdHRoaXMubWFpbkhlaWdodCA9IHJlcy53aW5kb3dIZWlnaHQ7XG5cdFx0XHR9XG5cdFx0fSlcblx0XHRjb25zb2xlLmxvZygxMjM0NClcblx0XHRfc2VsZiA9IHRoaXM7XG5cdFx0dGhpcy5jV2lkdGggPSB1bmkudXB4MnB4KDUwMCk7XG5cdFx0dGhpcy5jSGVpZ2h0ID0gdW5pLnVweDJweCgxMTAwKTtcblx0XHQvLyB0aGlzLmNXaWR0aDIgPSB1bmkudXB4MnB4KDcwMCk7XG5cdFx0Ly8gdGhpcy5jSGVpZ2h0MiA9IHVuaS51cHgycHgoMTEwMCk7XG5cdFx0dGhpcy5kYXlEYXRlKCk7XG5cdFx0dGhpcy51c2VyRGF0ZSgpO1xuXHRcdHRoaXMuZ2V0U2VydmVyRGF0YSgpOyAvL+aUtuebiuaVsOaNrlxuXG5cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdFxuXHRcdGNoaWxkTWVzczogZnVuY3Rpb24oZSkge1xuXHRcdFx0Y29uc29sZS5sb2coZSwgJ+i/meaYr+WtkOe7hOS7tuepv+i/h+adpeeahOWAvCcpXG5cdFx0XHR0aGlzLmFyZWFJRCA9IGUuYXJlYUlEXG5cdFx0XHR0aGlzLmdldFNlcnZlckRhdGEoKTtcblx0XHRcdC8vIHRoaXMuZ2V0RmVlZCgpXG5cdFx0fSxcblx0XHRjaGFuZ2VEYXRlOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLmRheVRhYkluZGV4ID0gZVxuXHRcdFx0Y29uc29sZS5sb2coZSwgXCIzMzMzXCIpXG5cdFx0XHR0aGlzLmRheURhdGUoKTtcblxuXHRcdH0sXG5cdFx0Z2V0U2VydmVyRGF0YSgpIHtcblx0XHRcdGxldCBkYXRlID0ge1xuXHRcdFx0XHRhcmVhX2lkOiAxLFxuXHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9wcm9maXRDaGFydCcsIGRhdGUsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGxldCBMaW5lQSA9IHtcblx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbXSxcblx0XHRcdFx0XHRzZXJpZXM6IFtdXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6L+Z5piv5omA5pyJ5pWw5o2uOTk5OTk5OTk5Jylcblx0XHRcdFx0dmFyIGFyciA9IG5ldyBBcnJheVxuXHRcdFx0XHRhcnIgPSByZXMuZGF0YVxuXHRcdFx0XHR2YXIgZGF0YSA9IG5ldyBBcnJheVxuXHRcdFx0XHRmb3IgKGxldCBpID0gMCwgbGVuID0gcmVzLmRhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsgLy8g57yW56iL5byPXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmb3Llvqrnjq9cIiwgYXJyW2ldKTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcnJbaV0uZGF0YSwgXCLmlbDnu4RcIilcblx0XHRcdFx0XHR2YXIgYWEgPSBhcnJbaV0uZGF0YVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGFhLCBcIui/meaYr+esrFwiICsgaSlcblx0XHRcdFx0XHRMaW5lQS5zZXJpZXMucHVzaCh7XG5cdFx0XHRcdFx0XHRuYW1lOiBhcnJbaV0ubmFtZSxcblx0XHRcdFx0XHRcdGRhdGE6IGFycltpXS5kYXRhXG5cdFx0XHRcdFx0fSlcblxuXG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9yIChsZXQgayA9IDAsIGxlbmcgPSBhYS5sZW5ndGg7IGsgPCBsZW5nOyBrKyspIHtcblx0XHRcdFx0XHQvLyBcdGNvbnNvbGUubG9nKGFhW2tdLnZhbHVlLCc2NjY2NjYnKVxuXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coYWFba10uZGF0ZSxcIui/meaYr+aoquWdkOagh1wiKVxuXHRcdFx0XHRcdExpbmVBLmNhdGVnb3JpZXMucHVzaChhYVtrXS5kYXRlKVxuXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5saW5lRGF0YTIuY2F0ZWdvcmllcyxcIui/meaYr+aoquWdkOagh1wiKVxuXG5cblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmxpbmVEYXRhMi5zZXJpZXMsXCLov5nmmK/mnIDnu4jmlbDmja5cIilcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YS5kYXRhLCBcIjMzM1wiKVxuXHRcdFx0XHQvLyBMaW5lQS5jYXRlZ29yaWVzPXJlcy5kYXRhLmRhdGEuTGluZUEuY2F0ZWdvcmllcztcblx0XHRcdFx0Ly8gTGluZUEuc2VyaWVzPXJlcy5kYXRhLmRhdGEuTGluZUEuc2VyaWVzO1xuXG5cdFx0XHRcdC8v56ys5LqM5qC557q/5Li66Jma57q/55qE6K6+572uXG5cdFx0XHRcdC8vIExpbmVBLnNlcmllc1sxXS5saW5lVHlwZT0nZGFzaCc7XG5cdFx0XHRcdC8vIExpbmVBLnNlcmllc1sxXS5kYXNoTGVuZ3RoPTEwO1xuXHRcdFx0XHRfc2VsZi50ZXh0YXJlYSA9IEpTT04uc3RyaW5naWZ5KExpbmVBKTtcblx0XHRcdFx0X3NlbGYuc2hvd0xpbmVBKFwiY2FudmFzTGluZUFcIiwgTGluZUEpO1xuXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/ml6XmlrDlop7orqLljZVcblx0XHRkYXlEYXRlKCkge1xuXHRcdFx0X3NlbGYgPSB0aGlzO1xuXHRcdFx0dGhpcy5jV2lkdGggPSB1bmkudXB4MnB4KDUwMCk7XG5cdFx0XHR0aGlzLmNIZWlnaHQgPSB1bmkudXB4MnB4KDE0MDApO1xuXHRcdFx0Ly8gdGhpcy5jV2lkdGgyID0gdW5pLnVweDJweCg3MDApO1xuXHRcdFx0Ly8gdGhpcy5jSGVpZ2h0MiA9IHVuaS51cHgycHgoMTEwMCk7XG5cblx0XHRcdGxldCBkYXRlID0ge1xuXHRcdFx0XHRhcmVhX2lkOiAxLFxuXHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9ob3VyT3JkZXJOdW1iZXInLCBkYXRlLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXG5cdFx0XHRcdGxldCBDb2x1bW4gPSB7XG5cdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXG5cdFx0XHRcdFx0c2VyaWVzOiBbXVxuXHRcdFx0XHR9O1xuXHRcdFx0XHQvLyBfc2VsZi5zZXJ2ZXJEYXRhPXJlcztcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAnMjIyMjInKVxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMsICdkaXNhbnp16L+Z5piv5omA5pyJ5pWw5o2uJylcblx0XHRcdFx0X3NlbGYuaW5kZXhMaXN0ID0gcmVzLmRhdGEuZGF0ZVxuXG5cdFx0XHRcdENvbHVtbi5jYXRlZ29yaWVzID0gW1wiMFwiLCBcIjFcIiwgXCIyXCIsIFwiM1wiLCBcIjRcIiwgXCI1XCIsIFwiNlwiLCBcIjdcIiwgXCI4XCIsIFwiOVwiLCBcIjEwXCIsIFwiMTFcIiwgXCIxMlwiLCBcIjEzXCIsIFwiMTRcIiwgXCIxNVwiLCBcIjE2XCIsXG5cdFx0XHRcdFx0XCIxN1wiLCBcIjE4XCIsIFwiMTlcIiwgXCIyMFwiLCBcIjIxXCIsIFwiMjJcIiwgJzIzJywgXCIyNFwiXG5cdFx0XHRcdF1cblx0XHRcdFx0dmFyIGFyciA9IFtdXG5cblx0XHRcdFx0dmFyIGRheSA9IHJlcy5kYXRhLmRhdGVbX3NlbGYuZGF5VGFiSW5kZXhdXG5cdFx0XHRcdGNvbnNvbGUubG9nKGRheSwgXCI0NDQ0NDQ1NTU1NTU1NTVcIilcblx0XHRcdFx0YXJyLnB1c2goe1xuXHRcdFx0XHRcdG5hbWU6IGRheSxcblx0XHRcdFx0XHRkYXRhOiByZXMuZGF0YS5kYXRhW2RheV1cblx0XHRcdFx0fSlcblx0XHRcdFx0Y29uc29sZS5sb2coYXJyLCBcIjQ0NFwiKVxuXG5cdFx0XHRcdENvbHVtbi5zZXJpZXMgPSBhcnJcblxuXHRcdFx0XHQvLyBDb2x1bW4uc2VyaWVzPXJlcy5kYXRhLmRhdGFcblx0XHRcdFx0Y29uc29sZS5sb2coQ29sdW1uLCBcIjY2NjZcIilcblxuXHRcdFx0XHRfc2VsZi5zaG93Q29sdW1uKFwiY2FudmFzQ29sdW1uXCIsIENvbHVtbik7XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/nlKjmiLfmlbDmja7nu5/orqFcblx0XHR1c2VyRGF0ZSgpIHtcblx0XHRcdGxldCBkYXRlID0ge1xuXHRcdFx0XHRhcmVhX2lkOiAxLFxuXHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL25ld1VzZXJzQ2hhcnQnLCBkYXRlLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXG5cdFx0XHRcdGxldCBDb2x1bW4gPSB7XG5cdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXG5cdFx0XHRcdFx0c2VyaWVzOiBbXG5cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH07XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLCBcIjg4ODg4ODg4XCIpXG5cdFx0XHRcdHZhciBhcnIgPSBbXVxuXHRcdFx0XHRmb3IgKGxldCBpID0gMCwgbGVuID0gcmVzLmRhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsgLy8g57yW56iL5byPXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmb3Llvqrnjq9cIiwgcmVzLmRhdGFbaV0pO1xuXHRcdFx0XHRcdENvbHVtbi5jYXRlZ29yaWVzLnB1c2gocmVzLmRhdGFbaV0uZGF0ZSlcblxuXHRcdFx0XHRcdGFyci5wdXNoKHJlcy5kYXRhW2ldLnZhbHVlKVxuXG5cdFx0XHRcdFx0Q29sdW1uLnNlcmllcy5wdXNoKHtcblx0XHRcdFx0XHRcdG5hbWU6IHJlcy5kYXRhW2ldLmRhdGUsXG5cdFx0XHRcdFx0XHRkYXRhOiBhcnIsXG5cdFx0XHRcdFx0XHRjb2xvcjogJyM1NWZmMDAnXG5cdFx0XHRcdFx0fSlcblxuXG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc29sZS5sb2coYXJyLCBcIjg5ODk4ODk4OTg5OFwiKVxuXHRcdFx0XHRjb25zb2xlLmxvZyhDb2x1bW4sIFwi5pWw57uENTY1NjU2NTY1NVwiKVxuXG5cdFx0XHRcdC8vIF9zZWxmLmluZGV4TGlzdCA9IHJlcy5kYXRhLmRhdGVcblxuXHRcdFx0XHRfc2VsZi5zaG93Q29sdW1uMShcImNhbnZhc0NvbHVtbkFcIiwgQ29sdW1uKTtcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRzaG93Q29sdW1uKGNhbnZhc0lkLCBjaGFydERhdGEpIHtcblx0XHRcdGNhbnZhQ29sdW1uID0gbmV3IHVDaGFydHMoe1xuXHRcdFx0XHQkdGhpczogX3NlbGYsXG5cdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcblx0XHRcdFx0dHlwZTogJ2NvbHVtbicsXG5cdFx0XHRcdGxlZ2VuZDogdHJ1ZSxcblx0XHRcdFx0Zm9udFNpemU6IDExLFxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAnIzU1ZmYwMCcsXG5cdFx0XHRcdHBpeGVsUmF0aW86IF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdGFuaW1hdGlvbjogdHJ1ZSxcblx0XHRcdFx0cm90YXRlOiB0cnVlLFxuXG5cdFx0XHRcdGNhdGVnb3JpZXM6IGNoYXJ0RGF0YS5jYXRlZ29yaWVzLFxuXHRcdFx0XHRzZXJpZXM6IGNoYXJ0RGF0YS5zZXJpZXMsXG5cdFx0XHRcdHhBeGlzOiB7XG5cdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6IHRydWUsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHlBeGlzOiB7XG5cdFx0XHRcdFx0Ly9kaXNhYmxlZDp0cnVlXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGRhdGFMYWJlbDogdHJ1ZSxcblx0XHRcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdGhlaWdodDogX3NlbGYuY0hlaWdodCAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdGV4dHJhOiB7XG5cdFx0XHRcdFx0Y29sdW1uOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiAnZ3JvdXAnLFxuXHRcdFx0XHRcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8gKiAwLjQ1IC8gY2hhcnREYXRhLmNhdGVnb3JpZXMubGVuZ3RoXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9LFxuXHRcdGNoYW5nZUdhdWdlRGF0YSgpIHtcblx0XHRcdGxldCBzZXJpZXMgPSBbe1xuXHRcdFx0XHRuYW1lOiBcIuWujOaIkOeOh1wiLFxuXHRcdFx0XHRkYXRhOiBNYXRoLnJhbmRvbSgpXG5cdFx0XHR9XTsgLy/ov5nph4zmmK/pmo/mnLrmlbDmja7vvIznlJ/kuqfnjq/looPor7fku47mnI3liqHlmajojrflj5bvvIzms6jmhI9zZXJpZXPmlbDmja7nsbvlnovkuLrmlbDnu4Rcblx0XHRcdC8v6L+Z6YeM5oiR5YCf55So5LmL5YmN55qEY2F0ZWdvcmllc+aVsOaNru+8jOWIpOaWreS4gOS4i+aWsOaVsOaNrueahHRpdGxlLmNvbG9y77yM5rKh5pyJ5YaZ5q275Zyo56iL5bqP6YeM77yM5Lul5L6/5LqO6Ieq5a6a5LmJXG5cdFx0XHRsZXQgbmV3VGl0bGVDb2xvcjtcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgX3NlbGYuc2VydmVyRGF0YS5HYXVnZS5jYXRlZ29yaWVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGlmIChzZXJpZXNbMF0uZGF0YSA8PSBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXNbaV0udmFsdWUpIHtcblx0XHRcdFx0XHRuZXdUaXRsZUNvbG9yID0gX3NlbGYuc2VydmVyRGF0YS5HYXVnZS5jYXRlZ29yaWVzW2ldLmNvbG9yO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGNhbnZhc09ialsnY2FudmFzR2F1Z2UnXS51cGRhdGVEYXRhKHtcblx0XHRcdFx0c2VyaWVzOiBzZXJpZXMsIC8v6L+Z6YeM57uZ5LqG5paw5pWw5YC8XG5cdFx0XHRcdGNhdGVnb3JpZXM6IF9zZWxmLnNlcnZlckRhdGEuR2F1Z2UuY2F0ZWdvcmllcyxcblx0XHRcdFx0dGl0bGU6IHtcblx0XHRcdFx0XHRuYW1lOiBNYXRoLnJvdW5kKHNlcmllc1swXS5kYXRhICogMTAwKSArICclJyxcblx0XHRcdFx0XHRjb2xvcjogbmV3VGl0bGVDb2xvcixcblx0XHRcdFx0XHRmb250U2l6ZTogMjUgKiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRcdG9mZnNldFk6IDUwICogX3NlbGYucGl4ZWxSYXRpbywgLy/mlrDlop7lj4LmlbDvvIzoh6rlrprkuYnosIPmlbRZ6L205paH5qGI6Led56a7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHN1YnRpdGxlOiB7XG5cdFx0XHRcdFx0bmFtZTogJ+abtOaWsOaVsOaNricsXG5cdFx0XHRcdFx0Y29sb3I6ICcjNjY2NjY2Jyxcblx0XHRcdFx0XHRmb250U2l6ZTogMTUgKiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRcdG9mZnNldFk6IC01MCAqIF9zZWxmLnBpeGVsUmF0aW8sIC8v5paw5aKe5Y+C5pWw77yM6Ieq5a6a5LmJ6LCD5pW0Wei9tOaWh+ahiOi3neemu1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9LFxuXHRcdHRvdWNoTGluZUEoZSkge1xuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNMaW5lQSddLnNjcm9sbFN0YXJ0KGUpO1xuXHRcdH0sXG5cdFx0bW92ZUxpbmVBKGUpIHtcblx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGwoZSk7XG5cdFx0fSxcblx0XHR0b3VjaEVuZExpbmVBKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUsIFwiMDBcIilcblx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGxFbmQoZSk7XG5cdFx0XHQvL+S4i+mdouaYr3Rvb2xUaXDkuovku7bvvIzlpoLmnpzmu5rliqjlkI7kuI3pnIDopoHmmL7npLrvvIzlj6/kuI3loavlhplcblx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zaG93VG9vbFRpcChlLCB7XG5cdFx0XHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcblx0XHRcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGFcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSxcblx0XHR0b3VjaEl0KGUsIGlkKSB7XG5cdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0xpbmVBJ10uc2Nyb2xsU3RhcnQoZSk7XG5cdFx0XHRjYW52YXNPYmpbaWRdLnRvdWNoTGVnZW5kKGUsIHtcblx0XHRcdFx0YW5pbWF0aW9uOiBmYWxzZVxuXHRcdFx0fSk7XG5cdFx0XHRjYW52YXNPYmpbaWRdLnNob3dUb29sVGlwKGUsIHtcblx0XHRcdFx0Zm9ybWF0OiBmdW5jdGlvbihpdGVtLCBjYXRlZ29yeSkge1xuXHRcdFx0XHRcdGlmICh0eXBlb2YgaXRlbS5kYXRhID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhLnZhbHVlXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBjYXRlZ29yeSArICcgJyArIGl0ZW0ubmFtZSArICc6JyArIGl0ZW0uZGF0YVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSxcblxuXHRcdHRvdWNoTWl4KGUpIHtcblx0XHRcdGNhbnZhc09ialsnY2FudmFzTWl4J10uc2Nyb2xsU3RhcnQoZSk7XG5cdFx0fSxcblx0XHRtb3ZlTWl4KGUpIHtcblx0XHRcdGNhbnZhc09ialsnY2FudmFzTWl4J10uc2Nyb2xsKGUpO1xuXHRcdH0sXG5cblx0XHRzaG93TGluZUEoY2FudmFzSWQsIGNoYXJ0RGF0YSkge1xuXHRcdFx0Y2FudmFzT2JqW2NhbnZhc0lkXSA9IG5ldyB1Q2hhcnRzKHtcblx0XHRcdFx0JHRoaXM6IF9zZWxmLFxuXHRcdFx0XHRjYW52YXNJZDogY2FudmFzSWQsXG5cdFx0XHRcdHR5cGU6ICdsaW5lJyxcblx0XHRcdFx0Zm9udFNpemU6IDgsXG5cdFx0XHRcdHJvdGF0ZTogdHJ1ZSxcblx0XHRcdFx0ZGF0YUxhYmVsOmZhbHNlLFxuXHRcdFx0XHQvLyBkYXRhTGFiZWw6IGZhbHNlLFxuXHRcdFx0XHRwYWRkaW5nOiBbMTUsIDE1LCAwLCAxNV0sXG5cdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdFx0cGFkZGluZzogNSxcblx0XHRcdFx0XHRsaW5lSGVpZ2h0OiAxMSxcblx0XHRcdFx0XHRtYXJnaW46IDUsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdC8vIGRhdGFMYWJlbDogZmFsc2UsXG5cdFx0XHRcdGRhdGFQb2ludFNoYXBlOiBmYWxzZSxcblx0XHRcdFx0YmFja2dyb3VuZDogJyNGRkZGRkYnLFxuXHRcdFx0XHRwaXhlbFJhdGlvOiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRjYXRlZ29yaWVzOiBjaGFydERhdGEuY2F0ZWdvcmllcyxcblx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxuXHRcdFx0XHRhbmltYXRpb246IGZhbHNlLFxuXHRcdFx0XHRlbmFibGVTY3JvbGw6IHRydWUsIC8v5byA5ZCv5Zu+6KGo5ouW5ou95Yqf6IO9XG5cdFx0XHRcdHhBeGlzOiB7XG5cdFx0XHRcdFx0Ly8gcm90YXRlTGFiZWw6IHRydWUsXG5cdFx0XHRcdFx0Ly8gZGlzYWJsZUdyaWQ6IHRydWUsXG5cdFx0XHRcdFx0Ly8gaXRlbUNvdW50OiBjaGFydERhdGEubGVuZ3RoLFxuXHRcdFx0XHRcdC8vIGxhYmVsQ291bnQ6IDMwLFxuXHRcdFx0XHRcdC8vIGdyaWRUeXBlOiAnZGFzaCcsXG5cdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6IHRydWUsXG5cdFx0XHRcdFx0dHlwZTogJ2dyaWQnLFxuXHRcdFx0XHRcdHJvdGF0ZUxhYmVsOiB0cnVlLFxuXHRcdFx0XHRcdC8vIGdyaWRUeXBlOiAnZGFzaCcsXG5cdFx0XHRcdFx0aXRlbUNvdW50OiAzMCxcblx0XHRcdFx0XHQvLyBzY3JvbGxTaG93OiB0cnVlLFxuXHRcdFx0XHRcdHNjcm9sbEFsaWduOiAnbGVmdCcsXG5cdFx0XHRcdFx0Ly9zY3JvbGxCYWNrZ3JvdW5kQ29sb3I6JyNGN0Y3RkYnLC8v5Y+v5LiN5aGr5YaZ77yM6YWN5ZCIZW5hYmxlU2Nyb2xs5Zu+6KGo5ouW5ou95Yqf6IO95L2/55So77yMWOi9tOa7muWKqOadoeiDjOaZr+minOiJsizpu5jorqTkuLogI0VGRUJFRlxuXHRcdFx0XHRcdC8vc2Nyb2xsQ29sb3I6JyNERUU3RjcnLC8v5Y+v5LiN5aGr5YaZ77yM6YWN5ZCIZW5hYmxlU2Nyb2xs5Zu+6KGo5ouW5ou95Yqf6IO95L2/55So77yMWOi9tOa7muWKqOadoeminOiJsizpu5jorqTkuLogI0E2QTZBNlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR5QXhpczoge1xuXHRcdFx0XHRcdC8vZGlzYWJsZWQ6dHJ1ZVxuXHRcdFx0XHRcdGdyaWRUeXBlOiAnZGFzaCcsXG5cdFx0XHRcdFx0c3BsaXROdW1iZXI6IDgsXG5cdFx0XHRcdFx0bWluOiAxMCxcblx0XHRcdFx0XHRtYXg6IDE4MCxcblx0XHRcdFx0XHRmb3JtYXQ6ICh2YWwpID0+IHtcblx0XHRcdFx0XHRcdHJldHVybiB2YWwudG9GaXhlZCgwKVxuXHRcdFx0XHRcdH0gLy/lpoLkuI3lhpnmraTmlrnms5XvvIxZ6L205Yi75bqm6buY6K6k5L+d55WZ5Lik5L2N5bCP5pWwXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHdpZHRoOiBfc2VsZi5jV2lkdGggKiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRoZWlnaHQ6IF9zZWxmLmNIZWlnaHQgKiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRkYXRhTGFiZWw6IHRydWUsXG5cdFx0XHRcdGRhdGFQb2ludFNoYXBlOiB0cnVlLFxuXHRcdFx0XHRleHRyYToge1xuXHRcdFx0XHRcdGxpbmVTdHlsZTogJ3N0cmFpZ2h0J1xuXHRcdFx0XHR9LFxuXHRcdFx0fSk7XG5cblx0XHR9LFxuXG5cdFx0c2hvd0NvbHVtbjEoY2FudmFzSWQsIGNoYXJ0RGF0YSkge1xuXHRcdFx0Y2FudmFDb2x1bW4gPSBuZXcgdUNoYXJ0cyh7XG5cdFx0XHRcdCR0aGlzOiBfc2VsZixcblx0XHRcdFx0Y2FudmFzSWQ6IGNhbnZhc0lkLFxuXHRcdFx0XHR0eXBlOiAnbGluZScsXG5cdFx0XHRcdGxlZ2VuZDogdHJ1ZSxcblx0XHRcdFx0Zm9udFNpemU6IDgsXG5cdFx0XHRcdGJhY2tncm91bmQ6ICcjNTVmZjAwJyxcblx0XHRcdFx0Ly8gcGl4ZWxSYXRpbzogX3NlbGYucGl4ZWxSYXRpbyxcblx0XHRcdFx0Ly8gYW5pbWF0aW9uOiB0cnVlLFxuXHRcdFx0XHRyb3RhdGU6IHRydWUsXG5cdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdHNob3c6IGZhbHNlXG5cdFx0XHRcdH0sXG5cdFx0XHRcdC8vIHJvdGF0ZUxhYmVsOiB0cnVlLFxuXHRcdFx0XHRjYXRlZ29yaWVzOiBjaGFydERhdGEuY2F0ZWdvcmllcyxcblx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxuXHRcdFx0XHR4QXhpczoge1xuXHRcdFx0XHRcdHJvdGF0ZUxhYmVsOiB0cnVlLFxuXHRcdFx0XHRcdGRpc2FibGVHcmlkOiB0cnVlLFxuXHRcdFx0XHRcdGl0ZW1Db3VudDogY2hhcnREYXRhLmxlbmd0aCxcblx0XHRcdFx0XHRsYWJlbENvdW50OiAzMCxcblx0XHRcdFx0XHRncmlkVHlwZTogJ2Rhc2gnLFxuXHRcdFx0XHR9LFxuXHRcdFx0XHR5QXhpczoge1xuXHRcdFx0XHRcdC8vZGlzYWJsZWQ6dHJ1ZVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRkYXRhTGFiZWw6IHRydWUsXG5cdFx0XHRcdHdpZHRoOiBfc2VsZi5jV2lkdGggKiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRoZWlnaHQ6IF9zZWxmLmNIZWlnaHQgKiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHQvLyBleHRyYToge1xuXHRcdFx0XHQvLyBcdGNvbHVtbjoge1xuXHRcdFx0XHQvLyBcdFx0dHlwZTogJ2dyb3VwJyxcblx0XHRcdFx0Ly8gXHRcdHdpZHRoOiBfc2VsZi5jV2lkdGggKiBfc2VsZi5waXhlbFJhdGlvICogMC40NSAvIGNoYXJ0RGF0YS5jYXRlZ29yaWVzLmxlbmd0aFxuXHRcdFx0XHQvLyBcdH1cblx0XHRcdFx0Ly8gfSxcblx0XHRcdFx0ZXh0cmE6IHtcblx0XHRcdFx0XHRsaW5lU3R5bGU6ICdzdHJhaWdodCdcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSxcblx0XHQvLyB0b3VjaENvbHVtbihlKSB7XG5cdFx0Ly8gXHRjYW52YUNvbHVtbi5zaG93VG9vbFRpcChlLCB7XG5cdFx0Ly8gXHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcblx0XHQvLyBcdFx0XHRpZiAodHlwZW9mIGl0ZW0uZGF0YSA9PT0gJ29iamVjdCcpIHtcblx0XHQvLyBcdFx0XHRcdHJldHVybiBjYXRlZ29yeSArICcgJyArIGl0ZW0ubmFtZSArICc6JyArIGl0ZW0uZGF0YS52YWx1ZVxuXHRcdC8vIFx0XHRcdH0gZWxzZSB7XG5cdFx0Ly8gXHRcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGFcblx0XHQvLyBcdFx0XHR9XG5cdFx0Ly8gXHRcdH1cblx0XHQvLyBcdH0pO1xuXHRcdC8vIH0sXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///18\n");
  1490. /***/ }),
  1491. /* 19 */
  1492. /*!***************************************************************************!*\
  1493. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/uchart/u-charts.js ***!
  1494. \***************************************************************************/
  1495. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1496. /*! no static exports found */
  1497. /***/ (function(module, exports, __webpack_require__) {
  1498. "use strict";
  1499. eval("/* WEBPACK VAR INJECTION */(function(__f__) {/*\r\n * uCharts v1.9.4.20200331\r\n * uni-app平台高性能跨全端图表,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)\r\n * Copyright (c) 2019 QIUN秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * \r\n * uCharts官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\n\n\n\nvar config = {\n yAxisWidth: 15,\n yAxisSplit: 5,\n xAxisHeight: 15,\n xAxisLineHeight: 15,\n legendHeight: 15,\n yAxisTitleWidth: 15,\n padding: [10, 10, 10, 10],\n pixelRatio: 1,\n rotate: false,\n columePadding: 3,\n fontSize: 13,\n //dataPointShape: ['diamond', 'circle', 'triangle', 'rect'],\n dataPointShape: ['circle', 'circle', 'circle', 'circle'],\n colors: ['#1890ff', '#2fc25b', '#facc14', '#f04864', '#8543e0', '#90ed7d'],\n pieChartLinePadding: 15,\n pieChartTextPadding: 5,\n xAxisTextPadding: 3,\n titleColor: '#333333',\n titleFontSize: 20,\n subtitleColor: '#999999',\n subtitleFontSize: 15,\n toolTipPadding: 3,\n toolTipBackground: '#000000',\n toolTipOpacity: 0.7,\n toolTipLineHeight: 20,\n radarLabelTextMargin: 15,\n gaugeLabelTextMargin: 15 };\n\n\nvar assign = function assign(target) {for (var _len2 = arguments.length, varArgs = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {varArgs[_key2 - 1] = arguments[_key2];}\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n if (!varArgs || varArgs.length <= 0) {\n return target;\n }\n // 深度合并对象\n function deepAssign(obj1, obj2) {\n for (var key in obj2) {\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" ?\n deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];\n }\n return obj1;\n }\n\n varArgs.forEach(function (val) {\n target = deepAssign(target, val);\n });\n return target;\n};\n\nvar util = {\n toFixed: function toFixed(num, limit) {\n limit = limit || 2;\n if (this.isFloat(num)) {\n num = num.toFixed(limit);\n }\n return num;\n },\n isFloat: function isFloat(num) {\n return num % 1 !== 0;\n },\n approximatelyEqual: function approximatelyEqual(num1, num2) {\n return Math.abs(num1 - num2) < 1e-10;\n },\n isSameSign: function isSameSign(num1, num2) {\n return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;\n },\n isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {\n return this.isSameSign(p1.x, p2.x);\n },\n isCollision: function isCollision(obj1, obj2) {\n obj1.end = {};\n obj1.end.x = obj1.start.x + obj1.width;\n obj1.end.y = obj1.start.y - obj1.height;\n obj2.end = {};\n obj2.end.x = obj2.start.x + obj2.width;\n obj2.end.y = obj2.start.y - obj2.height;\n var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;\n return !flag;\n } };\n\n\n//兼容H5点击事件\nfunction getH5Offset(e) {\n e.mp = {\n changedTouches: [] };\n\n e.mp.changedTouches.push({\n x: e.offsetX,\n y: e.offsetY });\n\n return e;\n}\n\n// hex 转 rgba\nfunction hexToRgb(hexValue, opc) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) {\n return r + r + g + g + b + b;\n });\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';\n}\n\nfunction findRange(num, type, limit) {\n if (isNaN(num)) {\n throw new Error('[uCharts] unvalid series data!');\n }\n limit = limit || 10;\n type = type ? type : 'upper';\n var multiple = 1;\n while (limit < 1) {\n limit *= 10;\n multiple *= 10;\n }\n if (type === 'upper') {\n num = Math.ceil(num * multiple);\n } else {\n num = Math.floor(num * multiple);\n }\n while (num % limit !== 0) {\n if (type === 'upper') {\n num++;\n } else {\n num--;\n }\n }\n return num / multiple;\n}\n\nfunction calCandleMA(dayArr, nameArr, colorArr, kdata) {\n var seriesTemp = [];\n for (var k = 0; k < dayArr.length; k++) {\n var seriesItem = {\n data: [],\n name: nameArr[k],\n color: colorArr[k] };\n\n for (var i = 0, len = kdata.length; i < len; i++) {\n if (i < dayArr[k]) {\n seriesItem.data.push(null);\n continue;\n }\n var sum = 0;\n for (var j = 0; j < dayArr[k]; j++) {\n sum += kdata[i - j][1];\n }\n seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));\n }\n seriesTemp.push(seriesItem);\n }\n return seriesTemp;\n}\n\nfunction calValidDistance(self, distance, chartData, config, opts) {\n var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];\n var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);\n var validDistance = distance;\n if (distance >= 0) {\n validDistance = 0;\n self.event.trigger('scrollLeft');\n } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {\n validDistance = dataChartAreaWidth - dataChartWidth;\n self.event.trigger('scrollRight');\n }\n return validDistance;\n}\n\nfunction isInAngleRange(angle, startAngle, endAngle) {\n function adjust(angle) {\n while (angle < 0) {\n angle += 2 * Math.PI;\n }\n while (angle > 2 * Math.PI) {\n angle -= 2 * Math.PI;\n }\n return angle;\n }\n angle = adjust(angle);\n startAngle = adjust(startAngle);\n endAngle = adjust(endAngle);\n if (startAngle > endAngle) {\n endAngle += 2 * Math.PI;\n if (angle < startAngle) {\n angle += 2 * Math.PI;\n }\n }\n return angle >= startAngle && angle <= endAngle;\n}\n\nfunction calRotateTranslate(x, y, h) {\n var xv = x;\n var yv = h - y;\n var transX = xv + (h - yv - xv) / Math.sqrt(2);\n transX *= -1;\n var transY = (h - yv) * (Math.sqrt(2) - 1) - (h - yv - xv) / Math.sqrt(2);\n return {\n transX: transX,\n transY: transY };\n\n}\n\nfunction createCurveControlPoints(points, i) {\n\n function isNotMiddlePoint(points, i) {\n if (points[i - 1] && points[i + 1]) {\n return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y, points[i + 1].y);\n } else {\n return false;\n }\n }\n function isNotMiddlePointX(points, i) {\n if (points[i - 1] && points[i + 1]) {\n return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x, points[i + 1].x);\n } else {\n return false;\n }\n }\n var a = 0.2;\n var b = 0.2;\n var pAx = null;\n var pAy = null;\n var pBx = null;\n var pBy = null;\n if (i < 1) {\n pAx = points[0].x + (points[1].x - points[0].x) * a;\n pAy = points[0].y + (points[1].y - points[0].y) * a;\n } else {\n pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;\n pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;\n }\n\n if (i > points.length - 3) {\n var last = points.length - 1;\n pBx = points[last].x - (points[last].x - points[last - 1].x) * b;\n pBy = points[last].y - (points[last].y - points[last - 1].y) * b;\n } else {\n pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;\n pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;\n }\n if (isNotMiddlePoint(points, i + 1)) {\n pBy = points[i + 1].y;\n }\n if (isNotMiddlePoint(points, i)) {\n pAy = points[i].y;\n }\n if (isNotMiddlePointX(points, i + 1)) {\n pBx = points[i + 1].x;\n }\n if (isNotMiddlePointX(points, i)) {\n pAx = points[i].x;\n }\n if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {\n pAy = points[i].y;\n }\n if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {\n pBy = points[i + 1].y;\n }\n if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {\n pAx = points[i].x;\n }\n if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {\n pBx = points[i + 1].x;\n }\n return {\n ctrA: {\n x: pAx,\n y: pAy },\n\n ctrB: {\n x: pBx,\n y: pBy } };\n\n\n}\n\nfunction convertCoordinateOrigin(x, y, center) {\n return {\n x: center.x + x,\n y: center.y - y };\n\n}\n\nfunction avoidCollision(obj, target) {\n if (target) {\n // is collision test\n while (util.isCollision(obj, target)) {\n if (obj.start.x > 0) {\n obj.start.y--;\n } else if (obj.start.x < 0) {\n obj.start.y++;\n } else {\n if (obj.start.y > 0) {\n obj.start.y++;\n } else {\n obj.start.y--;\n }\n }\n }\n }\n return obj;\n}\n\nfunction fillSeries(series, opts, config) {\n var index = 0;\n return series.map(function (item) {\n if (!item.color) {\n item.color = config.colors[index];\n index = (index + 1) % config.colors.length;\n }\n if (!item.index) {\n item.index = 0;\n }\n if (!item.type) {\n item.type = opts.type;\n }\n if (typeof item.show == \"undefined\") {\n item.show = true;\n }\n if (!item.type) {\n item.type = opts.type;\n }\n if (!item.pointShape) {\n item.pointShape = \"circle\";\n }\n if (!item.legendShape) {\n switch (item.type) {\n case 'line':\n item.legendShape = \"line\";\n break;\n case 'column':\n item.legendShape = \"rect\";\n break;\n case 'area':\n item.legendShape = \"triangle\";\n break;\n default:\n item.legendShape = \"circle\";}\n\n }\n return item;\n });\n}\n\nfunction getDataRange(minData, maxData) {\n var limit = 0;\n var range = maxData - minData;\n if (range >= 10000) {\n limit = 1000;\n } else if (range >= 1000) {\n limit = 100;\n } else if (range >= 100) {\n limit = 10;\n } else if (range >= 10) {\n limit = 5;\n } else if (range >= 1) {\n limit = 1;\n } else if (range >= 0.1) {\n limit = 0.1;\n } else if (range >= 0.01) {\n limit = 0.01;\n } else if (range >= 0.001) {\n limit = 0.001;\n } else if (range >= 0.0001) {\n limit = 0.0001;\n } else if (range >= 0.00001) {\n limit = 0.00001;\n } else {\n limit = 0.000001;\n }\n return {\n minRange: findRange(minData, 'lower', limit),\n maxRange: findRange(maxData, 'upper', limit) };\n\n}\n\nfunction measureText(text) {\n var fontSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : config.fontSize;\n text = String(text);\n var text = text.split('');\n var width = 0;\n for (var i = 0; i < text.length; i++) {\n var item = text[i];\n if (/[a-zA-Z]/.test(item)) {\n width += 7;\n } else if (/[0-9]/.test(item)) {\n width += 5.5;\n } else if (/\\./.test(item)) {\n width += 2.7;\n } else if (/-/.test(item)) {\n width += 3.25;\n } else if (/[\\u4e00-\\u9fa5]/.test(item)) {\n width += 10;\n } else if (/\\(|\\)/.test(item)) {\n width += 3.73;\n } else if (/\\s/.test(item)) {\n width += 2.5;\n } else if (/%/.test(item)) {\n width += 8;\n } else {\n width += 10;\n }\n }\n return width * fontSize / 10;\n}\n\nfunction dataCombine(series) {\n return series.reduce(function (a, b) {\n return (a.data ? a.data : a).concat(b.data);\n }, []);\n}\n\nfunction dataCombineStack(series, len) {\n var sum = new Array(len);\n for (var j = 0; j < sum.length; j++) {\n sum[j] = 0;\n }\n for (var i = 0; i < series.length; i++) {\n for (var j = 0; j < sum.length; j++) {\n sum[j] += series[i].data[j];\n }\n }\n return series.reduce(function (a, b) {\n return (a.data ? a.data : a).concat(b.data).concat(sum);\n }, []);\n}\n\nfunction getTouches(touches, opts, e) {\n var x, y;\n if (touches.clientX) {\n if (opts.rotate) {\n y = opts.height - touches.clientX * opts.pixelRatio;\n x = (touches.pageY - e.currentTarget.offsetTop - opts.height / opts.pixelRatio / 2 * (opts.pixelRatio - 1)) *\n opts.pixelRatio;\n } else {\n x = touches.clientX * opts.pixelRatio;\n y = (touches.pageY - e.currentTarget.offsetTop - opts.height / opts.pixelRatio / 2 * (opts.pixelRatio - 1)) *\n opts.pixelRatio;\n }\n } else {\n if (opts.rotate) {\n y = opts.height - touches.x * opts.pixelRatio;\n x = touches.y * opts.pixelRatio;\n } else {\n x = touches.x * opts.pixelRatio;\n y = touches.y * opts.pixelRatio;\n }\n }\n return {\n x: x,\n y: y };\n\n}\n\nfunction getSeriesDataItem(series, index) {\n var data = [];\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n if (item.data[index] !== null && typeof item.data[index] !== 'undefined' && item.show) {\n var seriesItem = {};\n seriesItem.color = item.color;\n seriesItem.type = item.type;\n seriesItem.style = item.style;\n seriesItem.pointShape = item.pointShape;\n seriesItem.disableLegend = item.disableLegend;\n seriesItem.name = item.name;\n seriesItem.show = item.show;\n seriesItem.data = item.format ? item.format(item.data[index]) : item.data[index];\n data.push(seriesItem);\n }\n }\n return data;\n}\n\nfunction getMaxTextListLength(list) {\n var lengthList = list.map(function (item) {\n return measureText(item);\n });\n return Math.max.apply(null, lengthList);\n}\n\nfunction getRadarCoordinateSeries(length) {\n var eachAngle = 2 * Math.PI / length;\n var CoordinateSeries = [];\n for (var i = 0; i < length; i++) {\n CoordinateSeries.push(eachAngle * i);\n }\n\n return CoordinateSeries.map(function (item) {\n return -1 * item + Math.PI / 2;\n });\n}\n\nfunction getToolTipData(seriesData, calPoints, index, categories) {\n var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n\n var textList = seriesData.map(function (item) {\n var titleText = [];\n if (categories) {\n titleText = categories;\n } else {\n titleText = item.data;\n }\n return {\n text: option.format ? option.format(item, titleText[index]) : item.name + ': ' + item.data,\n color: item.color };\n\n });\n var validCalPoints = [];\n var offset = {\n x: 0,\n y: 0 };\n\n for (var i = 0; i < calPoints.length; i++) {\n var points = calPoints[i];\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\n validCalPoints.push(points[index]);\n }\n }\n for (var _i = 0; _i < validCalPoints.length; _i++) {\n var item = validCalPoints[_i];\n offset.x = Math.round(item.x);\n offset.y += item.y;\n }\n offset.y /= validCalPoints.length;\n return {\n textList: textList,\n offset: offset };\n\n}\n\nfunction getMixToolTipData(seriesData, calPoints, index, categories) {\n var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n var textList = seriesData.map(function (item) {\n return {\n text: option.format ? option.format(item, categories[index]) : item.name + ': ' + item.data,\n color: item.color,\n disableLegend: item.disableLegend ? true : false };\n\n });\n textList = textList.filter(function (item) {\n if (item.disableLegend !== true) {\n return item;\n }\n });\n var validCalPoints = [];\n var offset = {\n x: 0,\n y: 0 };\n\n for (var i = 0; i < calPoints.length; i++) {\n var points = calPoints[i];\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\n validCalPoints.push(points[index]);\n }\n }\n for (var _i2 = 0; _i2 < validCalPoints.length; _i2++) {\n var item = validCalPoints[_i2];\n offset.x = Math.round(item.x);\n offset.y += item.y;\n }\n offset.y /= validCalPoints.length;\n return {\n textList: textList,\n offset: offset };\n\n}\n\nfunction getCandleToolTipData(series, seriesData, calPoints, index, categories, extra) {\n var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};\n var upColor = extra.color.upFill;\n var downColor = extra.color.downFill;\n //颜色顺序为开盘,收盘,最低,最高\n var color = [upColor, upColor, downColor, upColor];\n var textList = [];\n var text0 = {\n text: categories[index],\n color: null };\n\n textList.push(text0);\n seriesData.map(function (item) {\n if (index == 0) {\n if (item.data[1] - item.data[0] < 0) {\n color[1] = downColor;\n } else {\n color[1] = upColor;\n }\n } else {\n if (item.data[0] < series[index - 1][1]) {\n color[0] = downColor;\n }\n if (item.data[1] < item.data[0]) {\n color[1] = downColor;\n }\n if (item.data[2] > series[index - 1][1]) {\n color[2] = upColor;\n }\n if (item.data[3] < series[index - 1][1]) {\n color[3] = downColor;\n }\n }\n var text1 = {\n text: '开盘:' + item.data[0],\n color: color[0] };\n\n var text2 = {\n text: '收盘:' + item.data[1],\n color: color[1] };\n\n var text3 = {\n text: '最低:' + item.data[2],\n color: color[2] };\n\n var text4 = {\n text: '最高:' + item.data[3],\n color: color[3] };\n\n textList.push(text1, text2, text3, text4);\n });\n var validCalPoints = [];\n var offset = {\n x: 0,\n y: 0 };\n\n for (var i = 0; i < calPoints.length; i++) {\n var points = calPoints[i];\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\n validCalPoints.push(points[index]);\n }\n }\n offset.x = Math.round(validCalPoints[0][0].x);\n return {\n textList: textList,\n offset: offset };\n\n}\n\nfunction filterSeries(series) {\n var tempSeries = [];\n for (var i = 0; i < series.length; i++) {\n if (series[i].show == true) {\n tempSeries.push(series[i]);\n }\n }\n return tempSeries;\n}\n\nfunction findCurrentIndex(currentPoints, calPoints, opts, config) {\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var currentIndex = -1;\n var spacing = opts.chartData.eachSpacing / 2;\n var xAxisPoints = [];\n if (calPoints.length > 0) {\n if (opts.type == 'candle') {\n for (var i = 0; i < calPoints[0].length; i++) {\n xAxisPoints.push(calPoints[0][i][0].x);\n }\n } else {\n for (var _i3 = 0; _i3 < calPoints[0].length; _i3++) {\n xAxisPoints.push(calPoints[0][_i3].x);\n }\n }\n if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {\n spacing = opts.chartData.eachSpacing / 2;\n }\n if (!opts.categories) {\n spacing = 0;\n }\n if (isInExactChartArea(currentPoints, opts, config)) {\n xAxisPoints.forEach(function (item, index) {\n if (currentPoints.x + offset + spacing > item) {\n currentIndex = index;\n }\n });\n }\n }\n return currentIndex;\n}\n\nfunction findLegendIndex(currentPoints, legendData, opts) {\n var currentIndex = -1;\n if (isInExactLegendArea(currentPoints, legendData.area)) {\n var points = legendData.points;\n var index = -1;\n for (var i = 0, len = points.length; i < len; i++) {\n var item = points[i];\n for (var j = 0; j < item.length; j++) {\n index += 1;\n var area = item[j]['area'];\n if (currentPoints.x > area[0] && currentPoints.x < area[2] && currentPoints.y > area[1] && currentPoints.y < area[3]) {\n currentIndex = index;\n break;\n }\n }\n }\n return currentIndex;\n }\n return currentIndex;\n}\n\nfunction isInExactLegendArea(currentPoints, area) {\n return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y &&\n currentPoints.y < area.end.y;\n}\n\nfunction isInExactChartArea(currentPoints, opts, config) {\n return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];\n}\n\nfunction findRadarChartCurrentIndex(currentPoints, radarData, count) {\n var eachAngleArea = 2 * Math.PI / count;\n var currentIndex = -1;\n if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {\n var fixAngle = function fixAngle(angle) {\n if (angle < 0) {\n angle += 2 * Math.PI;\n }\n if (angle > 2 * Math.PI) {\n angle -= 2 * Math.PI;\n }\n return angle;\n };\n\n var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);\n angle = -1 * angle;\n if (angle < 0) {\n angle += 2 * Math.PI;\n }\n\n var angleList = radarData.angleList.map(function (item) {\n item = fixAngle(-1 * item);\n\n return item;\n });\n\n angleList.forEach(function (item, index) {\n var rangeStart = fixAngle(item - eachAngleArea / 2);\n var rangeEnd = fixAngle(item + eachAngleArea / 2);\n if (rangeEnd < rangeStart) {\n rangeEnd += 2 * Math.PI;\n }\n if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <=\n rangeEnd) {\n currentIndex = index;\n }\n });\n }\n\n return currentIndex;\n}\n\nfunction findFunnelChartCurrentIndex(currentPoints, funnelData) {\n var currentIndex = -1;\n for (var i = 0, len = funnelData.series.length; i < len; i++) {\n var item = funnelData.series[i];\n if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {\n currentIndex = i;\n break;\n }\n }\n return currentIndex;\n}\n\nfunction findWordChartCurrentIndex(currentPoints, wordData) {\n var currentIndex = -1;\n for (var i = 0, len = wordData.length; i < len; i++) {\n var item = wordData[i];\n if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {\n currentIndex = i;\n break;\n }\n }\n return currentIndex;\n}\n\nfunction findMapChartCurrentIndex(currentPoints, opts) {\n var currentIndex = -1;\n var cData = opts.chartData.mapData;\n var data = opts.series;\n var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);\n var poi = [tmp.x, tmp.y];\n for (var i = 0, len = data.length; i < len; i++) {\n var item = data[i].geometry.coordinates;\n if (isPoiWithinPoly(poi, item)) {\n currentIndex = i;\n break;\n }\n }\n return currentIndex;\n}\n\nfunction findPieChartCurrentIndex(currentPoints, pieData) {\n var currentIndex = -1;\n if (isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\n angle = -angle;\n for (var i = 0, len = pieData.series.length; i < len; i++) {\n var item = pieData.series[i];\n if (isInAngleRange(angle, item._start_, item._start_ + item._proportion_ * 2 * Math.PI)) {\n currentIndex = i;\n break;\n }\n }\n }\n\n return currentIndex;\n}\n\nfunction isInExactPieChartArea(currentPoints, center, radius) {\n return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);\n}\n\nfunction splitPoints(points) {\n var newPoints = [];\n var items = [];\n points.forEach(function (item, index) {\n if (item !== null) {\n items.push(item);\n } else {\n if (items.length) {\n newPoints.push(items);\n }\n items = [];\n }\n });\n if (items.length) {\n newPoints.push(items);\n }\n\n return newPoints;\n}\n\nfunction calLegendData(series, opts, config, chartData) {\n var legendData = {\n area: {\n start: {\n x: 0,\n y: 0 },\n\n end: {\n x: 0,\n y: 0 },\n\n width: 0,\n height: 0,\n wholeWidth: 0,\n wholeHeight: 0 },\n\n points: [],\n widthArr: [],\n heightArr: [] };\n\n if (opts.legend.show === false) {\n chartData.legendData = legendData;\n return legendData;\n }\n\n var padding = opts.legend.padding;\n var margin = opts.legend.margin;\n var fontSize = opts.legend.fontSize;\n var shapeWidth = 15 * opts.pixelRatio;\n var shapeRight = 5 * opts.pixelRatio;\n var lineHeight = Math.max(opts.legend.lineHeight * opts.pixelRatio, fontSize);\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\n var legendList = [];\n var widthCount = 0;\n var widthCountArr = [];\n var currentRow = [];\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n var itemWidth = shapeWidth + shapeRight + measureText(item.name || 'undefined', fontSize) + opts.legend.itemGap;\n if (widthCount + itemWidth > opts.width - opts.padding[1] - opts.padding[3]) {\n legendList.push(currentRow);\n widthCountArr.push(widthCount - opts.legend.itemGap);\n widthCount = itemWidth;\n currentRow = [item];\n } else {\n widthCount += itemWidth;\n currentRow.push(item);\n }\n }\n if (currentRow.length) {\n legendList.push(currentRow);\n widthCountArr.push(widthCount - opts.legend.itemGap);\n legendData.widthArr = widthCountArr;\n var legendWidth = Math.max.apply(null, widthCountArr);\n switch (opts.legend.float) {\n case 'left':\n legendData.area.start.x = opts.padding[3];\n legendData.area.end.x = opts.padding[3] + 2 * padding;\n break;\n case 'right':\n legendData.area.start.x = opts.width - opts.padding[1] - legendWidth - 2 * padding;\n legendData.area.end.x = opts.width - opts.padding[1];\n break;\n default:\n legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;\n legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;}\n\n legendData.area.width = legendWidth + 2 * padding;\n legendData.area.wholeWidth = legendWidth + 2 * padding;\n legendData.area.height = legendList.length * lineHeight + 2 * padding;\n legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;\n legendData.points = legendList;\n }\n } else {\n var len = series.length;\n var maxHeight = opts.height - opts.padding[0] - opts.padding[2] - 2 * margin - 2 * padding;\n var maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);\n legendData.area.height = maxLength * lineHeight + padding * 2;\n legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;\n switch (opts.legend.float) {\n case 'top':\n legendData.area.start.y = opts.padding[0] + margin;\n legendData.area.end.y = opts.padding[0] + margin + legendData.area.height;\n break;\n case 'bottom':\n legendData.area.start.y = opts.height - opts.padding[2] - margin - legendData.area.height;\n legendData.area.end.y = opts.height - opts.padding[2] - margin;\n break;\n default:\n legendData.area.start.y = (opts.height - legendData.area.height) / 2;\n legendData.area.end.y = (opts.height + legendData.area.height) / 2;}\n\n var lineNum = len % maxLength === 0 ? len / maxLength : Math.floor(len / maxLength + 1);\n var _currentRow = [];\n for (var _i4 = 0; _i4 < lineNum; _i4++) {\n var temp = series.slice(_i4 * maxLength, _i4 * maxLength + maxLength);\n _currentRow.push(temp);\n }\n\n legendData.points = _currentRow;\n\n if (_currentRow.length) {\n for (var _i5 = 0; _i5 < _currentRow.length; _i5++) {\n var _item = _currentRow[_i5];\n var maxWidth = 0;\n for (var j = 0; j < _item.length; j++) {\n var _itemWidth = shapeWidth + shapeRight + measureText(_item[j].name || 'undefined', fontSize) + opts.legend.itemGap;\n if (_itemWidth > maxWidth) {\n maxWidth = _itemWidth;\n }\n }\n legendData.widthArr.push(maxWidth);\n legendData.heightArr.push(_item.length * lineHeight + padding * 2);\n }\n var _legendWidth = 0;\n for (var _i6 = 0; _i6 < legendData.widthArr.length; _i6++) {\n _legendWidth += legendData.widthArr[_i6];\n }\n legendData.area.width = _legendWidth - opts.legend.itemGap + 2 * padding;\n legendData.area.wholeWidth = legendData.area.width + padding;\n }\n }\n\n switch (opts.legend.position) {\n case 'top':\n legendData.area.start.y = opts.padding[0] + margin;\n legendData.area.end.y = opts.padding[0] + margin + legendData.area.height;\n break;\n case 'bottom':\n legendData.area.start.y = opts.height - opts.padding[2] - legendData.area.height - margin;\n legendData.area.end.y = opts.height - opts.padding[2] - margin;\n break;\n case 'left':\n legendData.area.start.x = opts.padding[3];\n legendData.area.end.x = opts.padding[3] + legendData.area.width;\n break;\n case 'right':\n legendData.area.start.x = opts.width - opts.padding[1] - legendData.area.width;\n legendData.area.end.x = opts.width - opts.padding[1];\n break;}\n\n chartData.legendData = legendData;\n return legendData;\n}\n\nfunction calCategoriesData(categories, opts, config, eachSpacing) {\n var result = {\n angle: 0,\n xAxisHeight: config.xAxisHeight };\n\n var categoriesTextLenth = categories.map(function (item) {\n return measureText(item, opts.xAxis.fontSize || config.fontSize);\n });\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\n\n if (opts.xAxis.rotateLabel == true && maxTextLength + 2 * config.xAxisTextPadding > eachSpacing) {\n result.angle = 45 * Math.PI / 180;\n result.xAxisHeight = 2 * config.xAxisTextPadding + maxTextLength * Math.sin(result.angle);\n }\n return result;\n}\n\nfunction getXAxisTextList(series, opts, config) {\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\n var data = dataCombine(series);\n var sorted = [];\n // remove null from data\n data = data.filter(function (item) {\n //return item !== null;\n if (typeof item === 'object' && item !== null) {\n if (item.constructor.toString().indexOf('Array') > -1) {\n return item !== null;\n } else {\n return item.value !== null;\n }\n } else {\n return item !== null;\n }\n });\n data.map(function (item) {\n if (typeof item === 'object') {\n if (item.constructor.toString().indexOf('Array') > -1) {\n if (opts.type == 'candle') {\n item.map(function (subitem) {\n sorted.push(subitem);\n });\n } else {\n sorted.push(item[0]);\n }\n } else {\n sorted.push(item.value);\n }\n } else {\n sorted.push(item);\n }\n });\n\n var minData = 0;\n var maxData = 0;\n if (sorted.length > 0) {\n minData = Math.min.apply(this, sorted);\n maxData = Math.max.apply(this, sorted);\n }\n //为了兼容v1.9.0之前的项目\n if (index > -1) {\n if (typeof opts.xAxis.data[index].min === 'number') {\n minData = Math.min(opts.xAxis.data[index].min, minData);\n }\n if (typeof opts.xAxis.data[index].max === 'number') {\n maxData = Math.max(opts.xAxis.data[index].max, maxData);\n }\n } else {\n if (typeof opts.xAxis.min === 'number') {\n minData = Math.min(opts.xAxis.min, minData);\n }\n if (typeof opts.xAxis.max === 'number') {\n maxData = Math.max(opts.xAxis.max, maxData);\n }\n }\n\n\n if (minData === maxData) {\n var rangeSpan = maxData || 10;\n maxData += rangeSpan;\n }\n\n //var dataRange = getDataRange(minData, maxData);\n var minRange = minData;\n var maxRange = maxData;\n\n var range = [];\n var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;\n\n for (var i = 0; i <= opts.xAxis.splitNumber; i++) {\n range.push(minRange + eachRange * i);\n }\n return range;\n}\n\nfunction calXAxisData(series, opts, config) {\n var result = {\n angle: 0,\n xAxisHeight: config.xAxisHeight };\n\n\n result.ranges = getXAxisTextList(series, opts, config);\n result.rangesFormat = result.ranges.map(function (item) {\n item = opts.xAxis.format ? opts.xAxis.format(item) : util.toFixed(item, 2);\n return item;\n });\n\n var xAxisScaleValues = result.ranges.map(function (item) {\n // 如果刻度值是浮点数,则保留两位小数\n item = util.toFixed(item, 2);\n // 若有自定义格式则调用自定义的格式化函数\n item = opts.xAxis.format ? opts.xAxis.format(Number(item)) : item;\n return item;\n });\n\n result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));\n // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\\结束点以及总长\n var eachSpacing = result.eachSpacing;\n\n var textLength = xAxisScaleValues.map(function (item) {\n return measureText(item);\n });\n\n // get max length of categories text\n var maxTextLength = Math.max.apply(this, textLength);\n\n // 如果刻度值文本内容过长,则将其逆时针旋转45°\n if (maxTextLength + 2 * config.xAxisTextPadding > eachSpacing) {\n result.angle = 45 * Math.PI / 180;\n result.xAxisHeight = 2 * config.xAxisTextPadding + maxTextLength * Math.sin(result.angle);\n }\n\n if (opts.xAxis.disabled === true) {\n result.xAxisHeight = 0;\n }\n\n return result;\n}\n\nfunction getRadarDataPoints(angleList, center, radius, series, opts) {\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n\n var radarOption = opts.extra.radar || {};\n radarOption.max = radarOption.max || 0;\n var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\n\n var data = [];var _loop2 = function _loop2(\n i) {\n var each = series[i];\n var listItem = {};\n listItem.color = each.color;\n listItem.legendShape = each.legendShape;\n listItem.pointShape = each.pointShape;\n listItem.data = [];\n each.data.forEach(function (item, index) {\n var tmp = {};\n tmp.angle = angleList[index];\n\n tmp.proportion = item / maxData;\n tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion *\n process * Math.sin(tmp.angle), center);\n listItem.data.push(tmp);\n });\n\n data.push(listItem);};for (var i = 0; i < series.length; i++) {_loop2(i);\n }\n\n return data;\n}\n\nfunction getPieDataPoints(series, radius) {\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n\n var count = 0;\n var _start_ = 0;\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n item.data = item.data === null ? 0 : item.data;\n count += item.data;\n }\n for (var _i7 = 0; _i7 < series.length; _i7++) {\n var _item2 = series[_i7];\n _item2.data = _item2.data === null ? 0 : _item2.data;\n if (count === 0) {\n _item2._proportion_ = 1 / series.length * process;\n } else {\n _item2._proportion_ = _item2.data / count * process;\n }\n _item2._radius_ = radius;\n }\n for (var _i8 = 0; _i8 < series.length; _i8++) {\n var _item3 = series[_i8];\n _item3._start_ = _start_;\n _start_ += 2 * _item3._proportion_ * Math.PI;\n }\n\n return series;\n}\n\nfunction getFunnelDataPoints(series, radius) {\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n series = series.sort(function (a, b) {return parseInt(b.data) - parseInt(a.data);});\n for (var i = 0; i < series.length; i++) {\n series[i].radius = series[i].data / series[0].data * radius * process;\n series[i]._proportion_ = series[i].data / series[0].data;\n }\n return series.reverse();\n}\n\nfunction getRoseDataPoints(series, type, minRadius, radius) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var count = 0;\n var _start_ = 0;\n\n var dataArr = [];\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n item.data = item.data === null ? 0 : item.data;\n count += item.data;\n dataArr.push(item.data);\n }\n\n var minData = Math.min.apply(null, dataArr);\n var maxData = Math.max.apply(null, dataArr);\n var radiusLength = radius - minRadius;\n\n for (var _i9 = 0; _i9 < series.length; _i9++) {\n var _item4 = series[_i9];\n _item4.data = _item4.data === null ? 0 : _item4.data;\n if (count === 0 || type == 'area') {\n _item4._proportion_ = _item4.data / count * process;\n _item4._rose_proportion_ = 1 / series.length * process;\n } else {\n _item4._proportion_ = _item4.data / count * process;\n _item4._rose_proportion_ = _item4.data / count * process;\n }\n _item4._radius_ = minRadius + radiusLength * ((_item4.data - minData) / (maxData - minData));\n }\n for (var _i10 = 0; _i10 < series.length; _i10++) {\n var _item5 = series[_i10];\n _item5._start_ = _start_;\n _start_ += 2 * _item5._rose_proportion_ * Math.PI;\n }\n\n return series;\n}\n\nfunction getArcbarDataPoints(series, arcbarOption) {\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n if (process == 1) {\n process = 0.999999;\n }\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n item.data = item.data === null ? 0 : item.data;\n var totalAngle = void 0;\n if (arcbarOption.type == 'circle') {\n totalAngle = 2;\n } else {\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\n } else {\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\n }\n }\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\n if (item._proportion_ >= 2) {\n item._proportion_ = item._proportion_ % 2;\n }\n }\n return series;\n}\n\nfunction getGaugeAxisPoints(categories, startAngle, endAngle) {\n var totalAngle = startAngle - endAngle + 1;\n var tempStartAngle = startAngle;\n for (var i = 0; i < categories.length; i++) {\n categories[i].value = categories[i].value === null ? 0 : categories[i].value;\n categories[i]._startAngle_ = tempStartAngle;\n categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;\n if (categories[i]._endAngle_ >= 2) {\n categories[i]._endAngle_ = categories[i]._endAngle_ % 2;\n }\n tempStartAngle = categories[i]._endAngle_;\n }\n return categories;\n}\n\nfunction getGaugeDataPoints(series, categories, gaugeOption) {\n var process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n item.data = item.data === null ? 0 : item.data;\n if (gaugeOption.pointer.color == 'auto') {\n for (var _i11 = 0; _i11 < categories.length; _i11++) {\n if (item.data <= categories[_i11].value) {\n item.color = categories[_i11].color;\n break;\n }\n }\n } else {\n item.color = gaugeOption.pointer.color;\n }\n var totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\n item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;\n item._oldAngle_ = gaugeOption.oldAngle;\n if (gaugeOption.oldAngle < gaugeOption.endAngle) {\n item._oldAngle_ += 2;\n }\n if (item.data >= gaugeOption.oldData) {\n item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;\n } else {\n item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;\n }\n if (item._proportion_ >= 2) {\n item._proportion_ = item._proportion_ % 2;\n }\n }\n return series;\n}\n\nfunction getPieTextMaxLength(series) {\n series = getPieDataPoints(series);\n var maxLength = 0;\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n var text = item.format ? item.format(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';\n maxLength = Math.max(maxLength, measureText(text));\n }\n\n return maxLength;\n}\n\nfunction fixColumeData(points, eachSpacing, columnLen, index, config, opts) {\n return points.map(function (item) {\n if (item === null) {\n return null;\n }\n item.width = Math.ceil((eachSpacing - 2 * config.columePadding) / columnLen);\n\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\n item.width = Math.min(item.width, +opts.extra.column.width);\n }\n if (item.width <= 0) {\n item.width = 1;\n }\n item.x += (index + 0.5 - columnLen / 2) * item.width;\n return item;\n });\n}\n\nfunction fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {\n return points.map(function (item) {\n if (item === null) {\n return null;\n }\n item.width = Math.ceil((eachSpacing - 2 * config.columePadding) / 2);\n\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\n item.width = Math.min(item.width, +opts.extra.column.width);\n }\n\n if (index > 0) {\n item.width -= 2 * border;\n }\n return item;\n });\n}\n\nfunction fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {\n\n return points.map(function (item, indexn) {\n\n if (item === null) {\n return null;\n }\n item.width = Math.ceil((eachSpacing - 2 * config.columePadding) / 2);\n\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\n item.width = Math.min(item.width, +opts.extra.column.width);\n }\n return item;\n });\n}\n\nfunction getXAxisPoints(categories, opts, config) {\n var spacingValid = opts.width - opts.area[1] - opts.area[3];\n var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;\n if ((opts.type == 'line' || opts.type == 'area') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\n dataCount -= 1;\n }\n var eachSpacing = spacingValid / dataCount;\n\n var xAxisPoints = [];\n var startX = opts.area[3];\n var endX = opts.width - opts.area[1];\n categories.forEach(function (item, index) {\n xAxisPoints.push(startX + index * eachSpacing);\n });\n if (opts.xAxis.boundaryGap !== 'justify') {\n if (opts.enableScroll === true) {\n xAxisPoints.push(startX + categories.length * eachSpacing);\n } else {\n xAxisPoints.push(endX);\n }\n }\n return {\n xAxisPoints: xAxisPoints,\n startX: startX,\n endX: endX,\n eachSpacing: eachSpacing };\n\n}\n\nfunction getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\n var points = [];\n var validHeight = opts.height - opts.area[0] - opts.area[2];\n data.forEach(function (item, index) {\n if (item === null) {\n points.push(null);\n } else {\n var cPoints = [];\n item.forEach(function (items, indexs) {\n var point = {};\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\n var value = items.value || items;\n var height = validHeight * (value - minRange) / (maxRange - minRange);\n height *= process;\n point.y = opts.height - Math.round(height) - opts.area[2];\n cPoints.push(point);\n });\n points.push(cPoints);\n }\n });\n\n return points;\n}\n\nfunction getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\n var boundaryGap = 'center';\n if (opts.type == 'line' || opts.type == 'area') {\n boundaryGap = opts.xAxis.boundaryGap;\n }\n var points = [];\n var validHeight = opts.height - opts.area[0] - opts.area[2];\n var validWidth = opts.width - opts.area[1] - opts.area[3];\n data.forEach(function (item, index) {\n if (item === null) {\n points.push(null);\n } else {\n var point = {};\n point.color = item.color;\n point.x = xAxisPoints[index];\n var value = item;\n if (typeof item === 'object' && item !== null) {\n if (item.constructor.toString().indexOf('Array') > -1) {\n var xranges, xminRange, xmaxRange;\n xranges = [].concat(opts.chartData.xAxisData.ranges);\n xminRange = xranges.shift();\n xmaxRange = xranges.pop();\n value = item[1];\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\n } else {\n value = item.value;\n }\n }\n if (boundaryGap == 'center') {\n point.x += Math.round(eachSpacing / 2);\n }\n var height = validHeight * (value - minRange) / (maxRange - minRange);\n height *= process;\n point.y = opts.height - Math.round(height) - opts.area[2];\n points.push(point);\n }\n });\n\n return points;\n}\n\nfunction getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\n var points = [];\n var validHeight = opts.height - opts.area[0] - opts.area[2];\n\n data.forEach(function (item, index) {\n if (item === null) {\n points.push(null);\n } else {\n var point = {};\n point.color = item.color;\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\n\n if (seriesIndex > 0) {\n var value = 0;\n for (var i = 0; i <= seriesIndex; i++) {\n value += stackSeries[i].data[index];\n }\n var value0 = value - item;\n var height = validHeight * (value - minRange) / (maxRange - minRange);\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\n } else {\n var value = item;\n var height = validHeight * (value - minRange) / (maxRange - minRange);\n var height0 = 0;\n }\n var heightc = height0;\n height *= process;\n heightc *= process;\n point.y = opts.height - Math.round(height) - opts.area[2];\n point.y0 = opts.height - Math.round(heightc) - opts.area[2];\n points.push(point);\n }\n });\n\n return points;\n}\n\nfunction getYAxisTextList(series, opts, config, stack) {\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\n var data;\n if (stack == 'stack') {\n data = dataCombineStack(series, opts.categories.length);\n } else {\n data = dataCombine(series);\n }\n var sorted = [];\n // remove null from data\n data = data.filter(function (item) {\n //return item !== null;\n if (typeof item === 'object' && item !== null) {\n if (item.constructor.toString().indexOf('Array') > -1) {\n return item !== null;\n } else {\n return item.value !== null;\n }\n } else {\n return item !== null;\n }\n });\n data.map(function (item) {\n if (typeof item === 'object') {\n if (item.constructor.toString().indexOf('Array') > -1) {\n if (opts.type == 'candle') {\n item.map(function (subitem) {\n sorted.push(subitem);\n });\n } else {\n sorted.push(item[1]);\n }\n } else {\n sorted.push(item.value);\n }\n } else {\n sorted.push(item);\n }\n });\n\n var minData = 0;\n var maxData = 0;\n if (sorted.length > 0) {\n minData = Math.min.apply(this, sorted);\n maxData = Math.max.apply(this, sorted);\n }\n //为了兼容v1.9.0之前的项目\n if (index > -1) {\n if (typeof opts.yAxis.data[index].min === 'number') {\n minData = Math.min(opts.yAxis.data[index].min, minData);\n }\n if (typeof opts.yAxis.data[index].max === 'number') {\n maxData = Math.max(opts.yAxis.data[index].max, maxData);\n }\n } else {\n if (typeof opts.yAxis.min === 'number') {\n minData = Math.min(opts.yAxis.min, minData);\n }\n if (typeof opts.yAxis.max === 'number') {\n maxData = Math.max(opts.yAxis.max, maxData);\n }\n }\n\n\n if (minData === maxData) {\n var rangeSpan = maxData || 10;\n maxData += rangeSpan;\n }\n\n var dataRange = getDataRange(minData, maxData);\n var minRange = dataRange.minRange;\n var maxRange = dataRange.maxRange;\n\n var range = [];\n var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;\n\n for (var i = 0; i <= opts.yAxis.splitNumber; i++) {\n range.push(minRange + eachRange * i);\n }\n return range.reverse();\n}\n\nfunction calYAxisData(series, opts, config) {\n //堆叠图重算Y轴\n var columnstyle = assign({}, {\n type: \"\" },\n opts.extra.column);\n //如果是多Y轴,重新计算\n var YLength = opts.yAxis.data.length;\n var newSeries = new Array(YLength);\n if (YLength > 0) {\n for (var i = 0; i < YLength; i++) {\n newSeries[i] = [];\n for (var j = 0; j < series.length; j++) {\n if (series[j].index == i) {\n newSeries[i].push(series[j]);\n }\n }\n }\n var rangesArr = new Array(YLength);\n var rangesFormatArr = new Array(YLength);\n var yAxisWidthArr = new Array(YLength);var _loop3 = function _loop3(\n\n _i12) {\n var yData = opts.yAxis.data[_i12];\n //如果总开关不显示,强制每个Y轴为不显示\n if (opts.yAxis.disabled == true) {\n yData.disabled = true;\n }\n rangesArr[_i12] = getYAxisTextList(newSeries[_i12], opts, config, columnstyle.type, _i12);\n var yAxisFontSizes = yData.fontSize || config.fontSize;\n yAxisWidthArr[_i12] = { position: yData.position ? yData.position : 'left', width: 0 };\n rangesFormatArr[_i12] = rangesArr[_i12].map(function (items) {\n items = util.toFixed(items, 6);\n items = yData.format ? yData.format(Number(items)) : items;\n yAxisWidthArr[_i12].width = Math.max(yAxisWidthArr[_i12].width, measureText(items, yAxisFontSizes) + 5);\n return items;\n });\n var calibration = yData.calibration ? 4 * opts.pixelRatio : 0;\n yAxisWidthArr[_i12].width += calibration + 3 * opts.pixelRatio;\n if (yData.disabled === true) {\n yAxisWidthArr[_i12].width = 0;\n }};for (var _i12 = 0; _i12 < YLength; _i12++) {_loop3(_i12);\n }\n\n } else {\n var rangesArr = new Array(1);\n var rangesFormatArr = new Array(1);\n var yAxisWidthArr = new Array(1);\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type);\n yAxisWidthArr[0] = { position: 'left', width: 0 };\n var yAxisFontSize = opts.yAxis.fontSize || config.fontSize;\n rangesFormatArr[0] = rangesArr[0].map(function (item) {\n item = util.toFixed(item, 6);\n item = opts.yAxis.format ? opts.yAxis.format(Number(item)) : item;\n yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize) + 5);\n return item;\n });\n yAxisWidthArr[0].width += 3 * opts.pixelRatio;\n if (opts.yAxis.disabled === true) {\n yAxisWidthArr[0] = { position: 'left', width: 0 };\n opts.yAxis.data[0] = { disabled: true };\n } else {\n opts.yAxis.data[0] = { disabled: false, position: 'left', max: opts.yAxis.max, min: opts.yAxis.min, format: opts.yAxis.format };\n }\n\n }\n\n return {\n rangesFormat: rangesFormatArr,\n ranges: rangesArr,\n yAxisWidth: yAxisWidthArr };\n\n\n}\n\nfunction calTooltipYAxisData(point, series, opts, config, eachSpacing) {\n var ranges = [].concat(opts.chartData.yAxisData.ranges);\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\n var minAxis = opts.area[0];\n var items = [];\n for (var i = 0; i < ranges.length; i++) {\n var maxVal = ranges[i].shift();\n var minVal = ranges[i].pop();\n var item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;\n item = opts.yAxis.data[i].format ? opts.yAxis.data[i].format(Number(item)) : item.toFixed(0);\n items.push(String(item));\n }\n return items;\n}\n\nfunction calMarkLineData(points, opts) {\n var minRange, maxRange;\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\n for (var i = 0; i < points.length; i++) {\n points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;\n var range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);\n minRange = range.pop();\n maxRange = range.shift();\n var height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);\n points[i].y = opts.height - Math.round(height) - opts.area[2];\n }\n return points;\n}\n\nfunction contextRotate(context, opts) {\n if (opts.rotateLock !== true) {\n context.translate(opts.height, 0);\n context.rotate(90 * Math.PI / 180);\n } else if (opts._rotate_ !== true) {\n context.translate(opts.height, 0);\n context.rotate(90 * Math.PI / 180);\n opts._rotate_ = true;\n }\n}\n\nfunction drawPointShape(points, color, shape, context, opts) {\n context.beginPath();\n if (opts.dataPointShapeType == 'hollow') {\n context.setStrokeStyle(color);\n context.setFillStyle(opts.background);\n context.setLineWidth(2 * opts.pixelRatio);\n } else {\n context.setStrokeStyle(\"#ffffff\");\n context.setFillStyle(color);\n context.setLineWidth(1 * opts.pixelRatio);\n }\n if (shape === 'diamond') {\n points.forEach(function (item, index) {\n if (item !== null) {\n context.moveTo(item.x, item.y - 4.5);\n context.lineTo(item.x - 4.5, item.y);\n context.lineTo(item.x, item.y + 4.5);\n context.lineTo(item.x + 4.5, item.y);\n context.lineTo(item.x, item.y - 4.5);\n }\n });\n } else if (shape === 'circle') {\n points.forEach(function (item, index) {\n if (item !== null) {\n context.moveTo(item.x + 2.5 * opts.pixelRatio, item.y);\n context.arc(item.x, item.y, 3 * opts.pixelRatio, 0, 2 * Math.PI, false);\n }\n });\n } else if (shape === 'rect') {\n points.forEach(function (item, index) {\n if (item !== null) {\n context.moveTo(item.x - 3.5, item.y - 3.5);\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\n }\n });\n } else if (shape === 'triangle') {\n points.forEach(function (item, index) {\n if (item !== null) {\n context.moveTo(item.x, item.y - 4.5);\n context.lineTo(item.x - 4.5, item.y + 4.5);\n context.lineTo(item.x + 4.5, item.y + 4.5);\n context.lineTo(item.x, item.y - 4.5);\n }\n });\n }\n context.closePath();\n context.fill();\n context.stroke();\n}\n\nfunction drawRingTitle(opts, config, context, center) {\n var titlefontSize = opts.title.fontSize || config.titleFontSize;\n var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;\n var title = opts.title.name || '';\n var subtitle = opts.subtitle.name || '';\n var titleFontColor = opts.title.color || config.titleColor;\n var subtitleFontColor = opts.subtitle.color || config.subtitleColor;\n var titleHeight = title ? titlefontSize : 0;\n var subtitleHeight = subtitle ? subtitlefontSize : 0;\n var margin = 5;\n\n if (subtitle) {\n var textWidth = measureText(subtitle, subtitlefontSize);\n var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX || 0);\n var startY = center.y + subtitlefontSize / 2 + (opts.subtitle.offsetY || 0);\n if (title) {\n startY += (titleHeight + margin) / 2;\n }\n context.beginPath();\n context.setFontSize(subtitlefontSize);\n context.setFillStyle(subtitleFontColor);\n context.fillText(subtitle, startX, startY);\n context.closePath();\n context.stroke();\n }\n if (title) {\n var _textWidth = measureText(title, titlefontSize);\n var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);\n var _startY = center.y + titlefontSize / 2 + (opts.title.offsetY || 0);\n if (subtitle) {\n _startY -= (subtitleHeight + margin) / 2;\n }\n context.beginPath();\n context.setFontSize(titlefontSize);\n context.setFillStyle(titleFontColor);\n context.fillText(title, _startX, _startY);\n context.closePath();\n context.stroke();\n }\n}\n\nfunction drawPointText(points, series, config, context) {\n // 绘制数据文案\n var data = series.data;\n points.forEach(function (item, index) {\n if (item !== null) {\n //var formatVal = series.format ? series.format(data[index]) : data[index];\n context.beginPath();\n context.setFontSize(series.textSize || config.fontSize);\n context.setFillStyle(series.textColor || '#666666');\n var value = data[index];\n if (typeof data[index] === 'object' && data[index] !== null) {\n if (data[index].constructor == Array) {\n value = data[index][1];\n } else {\n value = data[index].value;\n }\n }\n var formatVal = series.format ? series.format(value) : value;\n context.fillText(String(formatVal), item.x - measureText(formatVal, series.textSize || config.fontSize) / 2, item.y - 4);\n context.closePath();\n context.stroke();\n }\n });\n\n}\n\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\n radius -= gaugeOption.width / 2 + config.gaugeLabelTextMargin;\n\n var totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\n var splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\n var totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;\n var splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;\n var nowAngle = gaugeOption.startAngle;\n var nowNumber = gaugeOption.startNumber;\n for (var i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\n var pos = {\n x: radius * Math.cos(nowAngle * Math.PI),\n y: radius * Math.sin(nowAngle * Math.PI) };\n\n var labelText = gaugeOption.labelFormat ? gaugeOption.labelFormat(nowNumber) : nowNumber;\n pos.x += centerPosition.x - measureText(labelText) / 2;\n pos.y += centerPosition.y;\n var startX = pos.x;\n var startY = pos.y;\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(gaugeOption.labelColor || '#666666');\n context.fillText(labelText, startX, startY + config.fontSize / 2);\n context.closePath();\n context.stroke();\n\n nowAngle += splitAngle;\n if (nowAngle >= 2) {\n nowAngle = nowAngle % 2;\n }\n nowNumber += splitNumber;\n }\n\n}\n\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\n var radarOption = opts.extra.radar || {};\n radius += config.radarLabelTextMargin;\n\n angleList.forEach(function (angle, index) {\n var pos = {\n x: radius * Math.cos(angle),\n y: radius * Math.sin(angle) };\n\n var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);\n var startX = posRelativeCanvas.x;\n var startY = posRelativeCanvas.y;\n if (util.approximatelyEqual(pos.x, 0)) {\n startX -= measureText(opts.categories[index] || '') / 2;\n } else if (pos.x < 0) {\n startX -= measureText(opts.categories[index] || '');\n }\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(radarOption.labelColor || '#666666');\n context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);\n context.closePath();\n context.stroke();\n });\n\n}\n\nfunction drawPieText(series, opts, config, context, radius, center) {\n var lineRadius = config.pieChartLinePadding;\n var textObjectCollection = [];\n var lastTextObject = null;\n\n var seriesConvert = series.map(function (item) {\n var text = item.format ? item.format(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\n if (item._rose_proportion_) item._proportion_ = item._rose_proportion_;\n var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);\n var color = item.color;\n var radius = item._radius_;\n return {\n arc: arc,\n text: text,\n color: color,\n radius: radius,\n textColor: item.textColor,\n textSize: item.textSize };\n\n });\n for (var i = 0; i < seriesConvert.length; i++) {\n var item = seriesConvert[i];\n // line end\n var orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);\n var orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);\n\n // line start\n var orginX2 = Math.cos(item.arc) * item.radius;\n var orginY2 = Math.sin(item.arc) * item.radius;\n\n // text start\n var orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;\n var orginY3 = orginY1;\n var textWidth = measureText(item.text, item.textSize || config.fontSize);\n var startY = orginY3;\n\n if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {\n x: orginX3 }))\n {\n if (orginX3 > 0) {\n startY = Math.min(orginY3, lastTextObject.start.y);\n } else if (orginX1 < 0) {\n startY = Math.max(orginY3, lastTextObject.start.y);\n } else {\n if (orginY3 > 0) {\n startY = Math.max(orginY3, lastTextObject.start.y);\n } else {\n startY = Math.min(orginY3, lastTextObject.start.y);\n }\n }\n }\n if (orginX3 < 0) {\n orginX3 -= textWidth;\n }\n\n var textObject = {\n lineStart: {\n x: orginX2,\n y: orginY2 },\n\n lineEnd: {\n x: orginX1,\n y: orginY1 },\n\n start: {\n x: orginX3,\n y: startY },\n\n width: textWidth,\n height: config.fontSize,\n text: item.text,\n color: item.color,\n textColor: item.textColor,\n textSize: item.textSize };\n\n lastTextObject = avoidCollision(textObject, lastTextObject);\n textObjectCollection.push(lastTextObject);\n }\n\n for (var _i13 = 0; _i13 < textObjectCollection.length; _i13++) {\n var _item6 = textObjectCollection[_i13];\n var lineStartPoistion = convertCoordinateOrigin(_item6.lineStart.x, _item6.lineStart.y, center);\n var lineEndPoistion = convertCoordinateOrigin(_item6.lineEnd.x, _item6.lineEnd.y, center);\n var textPosition = convertCoordinateOrigin(_item6.start.x, _item6.start.y, center);\n context.setLineWidth(1 * opts.pixelRatio);\n context.setFontSize(config.fontSize);\n context.beginPath();\n context.setStrokeStyle(_item6.color);\n context.setFillStyle(_item6.color);\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\n var curveStartX = _item6.start.x < 0 ? textPosition.x + _item6.width : textPosition.x;\n var textStartX = _item6.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;\n context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\n context.stroke();\n context.closePath();\n context.beginPath();\n context.moveTo(textPosition.x + _item6.width, textPosition.y);\n context.arc(curveStartX, textPosition.y, 2, 0, 2 * Math.PI);\n context.closePath();\n context.fill();\n context.beginPath();\n context.setFontSize(_item6.textSize || config.fontSize);\n context.setFillStyle(_item6.textColor || '#666666');\n context.fillText(_item6.text, textStartX, textPosition.y + 3);\n context.closePath();\n context.stroke();\n context.closePath();\n }\n}\n\nfunction drawToolTipSplitLine(offsetX, opts, config, context) {\n var toolTipOption = opts.extra.tooltip || {};\n toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;\n toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;\n var startY = opts.area[0];\n var endY = opts.height - opts.area[2];\n\n if (toolTipOption.gridType == 'dash') {\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\n }\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\n context.setLineWidth(1 * opts.pixelRatio);\n context.beginPath();\n context.moveTo(offsetX, startY);\n context.lineTo(offsetX, endY);\n context.stroke();\n context.setLineDash([]);\n\n if (toolTipOption.xAxisLabel) {\n var labelText = opts.categories[opts.tooltip.index];\n context.setFontSize(config.fontSize);\n var textWidth = measureText(labelText, config.fontSize);\n\n var textX = offsetX - 0.5 * textWidth;\n var textY = endY;\n context.beginPath();\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\n context.setLineWidth(1 * opts.pixelRatio);\n context.rect(textX - config.toolTipPadding, textY, textWidth + 2 * config.toolTipPadding, config.fontSize + 2 * config.toolTipPadding);\n context.closePath();\n context.stroke();\n context.fill();\n\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(toolTipOption.labelFontColor || config.fontColor);\n context.fillText(String(labelText), textX, textY + config.toolTipPadding + config.fontSize);\n context.closePath();\n context.stroke();\n }\n}\n\nfunction drawMarkLine(opts, config, context) {\n var markLineOption = assign({}, {\n type: 'solid',\n dashLength: 4,\n data: [] },\n opts.extra.markLine);\n var startX = opts.area[3];\n var endX = opts.width - opts.area[1];\n var points = calMarkLineData(markLineOption.data, opts);\n\n for (var i = 0; i < points.length; i++) {\n var item = assign({}, {\n lineColor: '#DE4A42',\n showLabel: false,\n labelFontColor: '#666666',\n labelBgColor: '#DFE8FF',\n labelBgOpacity: 0.8,\n yAxisIndex: 0 },\n points[i]);\n\n if (markLineOption.type == 'dash') {\n context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);\n }\n context.setStrokeStyle(item.lineColor);\n context.setLineWidth(1 * opts.pixelRatio);\n context.beginPath();\n context.moveTo(startX, item.y);\n context.lineTo(endX, item.y);\n context.stroke();\n context.setLineDash([]);\n if (item.showLabel) {\n var labelText = opts.yAxis.format ? opts.yAxis.format(Number(item.value)) : item.value;\n context.setFontSize(config.fontSize);\n var textWidth = measureText(labelText, config.fontSize);\n var bgStartX = opts.padding[3] + config.yAxisTitleWidth - config.toolTipPadding;\n var bgEndX = Math.max(opts.area[3], textWidth + config.toolTipPadding * 2);\n var bgWidth = bgEndX - bgStartX;\n\n var textX = bgStartX + (bgWidth - textWidth) / 2;\n var textY = item.y;\n context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));\n context.setStrokeStyle(item.labelBgColor);\n context.setLineWidth(1 * opts.pixelRatio);\n context.beginPath();\n context.rect(bgStartX, textY - 0.5 * config.fontSize - config.toolTipPadding, bgWidth, config.fontSize + 2 * config.toolTipPadding);\n context.closePath();\n context.stroke();\n context.fill();\n\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(item.labelFontColor);\n context.fillText(String(labelText), textX, textY + 0.5 * config.fontSize);\n context.stroke();\n }\n }\n}\n\nfunction drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {\n var toolTipOption = assign({}, {\n gridType: 'solid',\n dashLength: 4 },\n opts.extra.tooltip);\n\n var startX = opts.area[3];\n var endX = opts.width - opts.area[1];\n\n if (toolTipOption.gridType == 'dash') {\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\n }\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\n context.setLineWidth(1 * opts.pixelRatio);\n context.beginPath();\n context.moveTo(startX, opts.tooltip.offset.y);\n context.lineTo(endX, opts.tooltip.offset.y);\n context.stroke();\n context.setLineDash([]);\n\n if (toolTipOption.yAxisLabel) {\n var labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);\n var widthArr = opts.chartData.yAxisData.yAxisWidth;\n var tStartLeft = opts.area[3];\n var tStartRight = opts.width - opts.area[1];\n for (var i = 0; i < labelText.length; i++) {\n context.setFontSize(config.fontSize);\n var textWidth = measureText(labelText[i], config.fontSize);\n var bgStartX = void 0,bgEndX = void 0,bgWidth = void 0;\n if (widthArr[i].position == 'left') {\n bgStartX = tStartLeft - widthArr[i].width;\n bgEndX = Math.max(bgStartX, bgStartX + textWidth + config.toolTipPadding * 2);\n } else {\n bgStartX = tStartRight;\n bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + config.toolTipPadding * 2);\n }\n bgWidth = bgEndX - bgStartX;\n\n var textX = bgStartX + (bgWidth - textWidth) / 2;\n var textY = opts.tooltip.offset.y;\n context.beginPath();\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\n context.setLineWidth(1 * opts.pixelRatio);\n context.rect(bgStartX, textY - 0.5 * config.fontSize - config.toolTipPadding, bgWidth, config.fontSize + 2 * config.toolTipPadding);\n context.closePath();\n context.stroke();\n context.fill();\n\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(toolTipOption.labelFontColor || config.fontColor);\n context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);\n context.closePath();\n context.stroke();\n if (widthArr[i].position == 'left') {\n tStartLeft -= widthArr[i].width + opts.yAxis.padding;\n } else {\n tStartRight += widthArr[i].width + opts.yAxis.padding;\n }\n }\n }\n}\n\nfunction drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\n var toolTipOption = assign({}, {\n activeBgColor: '#000000',\n activeBgOpacity: 0.08 },\n opts.extra.tooltip);\n var startY = opts.area[0];\n var endY = opts.height - opts.area[2];\n context.beginPath();\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\n context.rect(offsetX - eachSpacing / 2, startY, eachSpacing, endY - startY);\n context.closePath();\n context.fill();\n}\n\nfunction drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {\n var toolTipOption = assign({}, {\n showBox: true,\n bgColor: '#000000',\n bgOpacity: 0.7,\n fontColor: '#FFFFFF' },\n opts.extra.tooltip);\n var legendWidth = 4 * opts.pixelRatio;\n var legendMarginRight = 5 * opts.pixelRatio;\n var arrowWidth = 8 * opts.pixelRatio;\n var isOverRightBorder = false;\n if (opts.type == 'line' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {\n drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);\n }\n\n offset = assign({\n x: 0,\n y: 0 },\n offset);\n offset.y -= 8 * opts.pixelRatio;\n var textWidth = textList.map(function (item) {\n return measureText(item.text, config.fontSize);\n });\n var toolTipWidth = legendWidth + legendMarginRight + 4 * config.toolTipPadding + Math.max.apply(null, textWidth);\n var toolTipHeight = 2 * config.toolTipPadding + textList.length * config.toolTipLineHeight;\n\n if (toolTipOption.showBox == false) {return;}\n // if beyond the right border\n if (offset.x - Math.abs(opts._scrollDistance_) + arrowWidth + toolTipWidth > opts.width) {\n isOverRightBorder = true;\n }\n if (toolTipHeight + offset.y > opts.height) {\n offset.y = opts.height - toolTipHeight;\n }\n // draw background rect\n context.beginPath();\n context.setFillStyle(hexToRgb(toolTipOption.bgColor || config.toolTipBackground, toolTipOption.bgOpacity || config.toolTipOpacity));\n if (isOverRightBorder) {\n context.moveTo(offset.x, offset.y + 10 * opts.pixelRatio);\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pixelRatio - 5 * opts.pixelRatio);\n context.lineTo(offset.x - arrowWidth, offset.y);\n context.lineTo(offset.x - arrowWidth - Math.round(toolTipWidth), offset.y);\n context.lineTo(offset.x - arrowWidth - Math.round(toolTipWidth), offset.y + toolTipHeight);\n context.lineTo(offset.x - arrowWidth, offset.y + toolTipHeight);\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pixelRatio + 5 * opts.pixelRatio);\n context.lineTo(offset.x, offset.y + 10 * opts.pixelRatio);\n } else {\n context.moveTo(offset.x, offset.y + 10 * opts.pixelRatio);\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pixelRatio - 5 * opts.pixelRatio);\n context.lineTo(offset.x + arrowWidth, offset.y);\n context.lineTo(offset.x + arrowWidth + Math.round(toolTipWidth), offset.y);\n context.lineTo(offset.x + arrowWidth + Math.round(toolTipWidth), offset.y + toolTipHeight);\n context.lineTo(offset.x + arrowWidth, offset.y + toolTipHeight);\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pixelRatio + 5 * opts.pixelRatio);\n context.lineTo(offset.x, offset.y + 10 * opts.pixelRatio);\n }\n\n context.closePath();\n context.fill();\n\n // draw legend\n textList.forEach(function (item, index) {\n if (item.color !== null) {\n context.beginPath();\n context.setFillStyle(item.color);\n var startX = offset.x + arrowWidth + 2 * config.toolTipPadding;\n var startY = offset.y + (config.toolTipLineHeight - config.fontSize) / 2 + config.toolTipLineHeight * index +\n config.toolTipPadding + 1;\n if (isOverRightBorder) {\n startX = offset.x - toolTipWidth - arrowWidth + 2 * config.toolTipPadding;\n }\n context.fillRect(startX, startY, legendWidth, config.fontSize);\n context.closePath();\n }\n });\n\n // draw text list\n\n textList.forEach(function (item, index) {\n var startX = offset.x + arrowWidth + 2 * config.toolTipPadding + legendWidth + legendMarginRight;\n if (isOverRightBorder) {\n startX = offset.x - toolTipWidth - arrowWidth + 2 * config.toolTipPadding + +legendWidth + legendMarginRight;\n }\n var startY = offset.y + (config.toolTipLineHeight - config.fontSize) / 2 + config.toolTipLineHeight * index +\n config.toolTipPadding;\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(toolTipOption.fontColor);\n context.fillText(item.text, startX, startY + config.fontSize);\n context.closePath();\n context.stroke();\n });\n}\n\nfunction drawYAxisTitle(title, opts, config, context) {\n var startX = config.xAxisHeight + (opts.height - config.xAxisHeight - measureText(title)) / 2;\n context.save();\n context.beginPath();\n context.setFontSize(config.fontSize);\n context.setFillStyle(opts.yAxis.titleFontColor || '#333333');\n context.translate(0, opts.height);\n context.rotate(-90 * Math.PI / 180);\n context.fillText(title, startX, opts.padding[3] + 0.5 * config.fontSize);\n context.closePath();\n context.stroke();\n context.restore();\n}\n\nfunction drawColumnDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var xAxisData = opts.chartData.xAxisData,\n xAxisPoints = xAxisData.xAxisPoints,\n eachSpacing = xAxisData.eachSpacing;\n var columnOption = assign({}, {\n type: 'group',\n width: eachSpacing / 2,\n meter: {\n border: 4,\n fillColor: '#FFFFFF' } },\n\n opts.extra.column);\n\n var calPoints = [];\n context.save();\n\n var leftNum = -2;\n var rightNum = xAxisPoints.length + 2;\n\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\n context.translate(opts._scrollDistance_, 0);\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\n rightNum = leftNum + opts.xAxis.itemCount + 4;\n }\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\n drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);\n }\n\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n\n var data = eachSeries.data;\n switch (columnOption.type) {\n case 'group':\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\n calPoints.push(tooltipPoints);\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\n for (var i = 0; i < points.length; i++) {\n var item = points[i];\n if (item !== null && i > leftNum && i < rightNum) {\n context.beginPath();\n context.setStrokeStyle(item.color || eachSeries.color);\n context.setLineWidth(1);\n context.setFillStyle(item.color || eachSeries.color);\n var startX = item.x - item.width / 2;\n var height = opts.height - item.y - opts.area[2];\n context.moveTo(startX, item.y);\n context.lineTo(startX + item.width - 2, item.y);\n context.lineTo(startX + item.width - 2, opts.height - opts.area[2]);\n context.lineTo(startX, opts.height - opts.area[2]);\n context.lineTo(startX, item.y);\n context.closePath();\n context.stroke();\n context.fill();\n }\n };\n break;\n case 'stack':\n // 绘制堆叠数据图\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\n calPoints.push(points);\n points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\n\n for (var _i14 = 0; _i14 < points.length; _i14++) {\n var _item7 = points[_i14];\n if (_item7 !== null && _i14 > leftNum && _i14 < rightNum) {\n context.beginPath();\n context.setFillStyle(_item7.color || eachSeries.color);\n var startX = _item7.x - _item7.width / 2 + 1;\n var height = opts.height - _item7.y - opts.area[2];\n var height0 = opts.height - _item7.y0 - opts.area[2];\n if (seriesIndex > 0) {\n height -= height0;\n }\n context.moveTo(startX, _item7.y);\n context.fillRect(startX, _item7.y, _item7.width - 2, height);\n context.closePath();\n context.fill();\n }\n };\n break;\n case 'meter':\n // 绘制温度计数据图\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n calPoints.push(points);\n points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meter.border);\n if (seriesIndex == 0) {\n for (var _i15 = 0; _i15 < points.length; _i15++) {\n var _item8 = points[_i15];\n if (_item8 !== null && _i15 > leftNum && _i15 < rightNum) {\n //画背景颜色\n context.beginPath();\n context.setFillStyle(columnOption.meter.fillColor);\n var startX = _item8.x - _item8.width / 2;\n var height = opts.height - _item8.y - opts.area[2];\n context.moveTo(startX, _item8.y);\n context.fillRect(startX, _item8.y, _item8.width, height);\n context.closePath();\n context.fill();\n //画边框线\n if (columnOption.meter.border > 0) {\n context.beginPath();\n context.setStrokeStyle(eachSeries.color);\n context.setLineWidth(columnOption.meter.border * opts.pixelRatio);\n context.moveTo(startX + columnOption.meter.border * 0.5, _item8.y + height);\n context.lineTo(startX + columnOption.meter.border * 0.5, _item8.y + columnOption.meter.border * 0.5);\n context.lineTo(startX + _item8.width - columnOption.meter.border * 0.5, _item8.y + columnOption.meter.border * 0.5);\n context.lineTo(startX + _item8.width - columnOption.meter.border * 0.5, _item8.y + height);\n context.stroke();\n }\n }\n };\n } else {\n for (var _i16 = 0; _i16 < points.length; _i16++) {\n var _item9 = points[_i16];\n if (_item9 !== null && _i16 > leftNum && _i16 < rightNum) {\n context.beginPath();\n context.setFillStyle(_item9.color || eachSeries.color);\n var startX = _item9.x - _item9.width / 2;\n var height = opts.height - _item9.y - opts.area[2];\n context.moveTo(startX, _item9.y);\n context.fillRect(startX, _item9.y, _item9.width, height);\n context.closePath();\n context.fill();\n }\n };\n }\n break;}\n\n });\n\n if (opts.dataLabel !== false && process === 1) {\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n var data = eachSeries.data;\n switch (columnOption.type) {\n case 'group':\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\n drawPointText(points, eachSeries, config, context);\n break;\n case 'stack':\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\n drawPointText(points, eachSeries, config, context);\n break;\n case 'meter':\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n drawPointText(points, eachSeries, config, context);\n break;}\n\n });\n }\n\n context.restore();\n\n return {\n xAxisPoints: xAxisPoints,\n calPoints: calPoints,\n eachSpacing: eachSpacing };\n\n}\n\nfunction drawCandleDataPoints(series, seriesMA, opts, config, context) {\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n var candleOption = assign({}, {\n color: {},\n average: {} },\n opts.extra.candle);\n candleOption.color = assign({}, {\n upLine: '#f04864',\n upFill: '#f04864',\n downLine: '#2fc25b',\n downFill: '#2fc25b' },\n candleOption.color);\n candleOption.average = assign({}, {\n show: false,\n name: [],\n day: [],\n color: config.colors },\n candleOption.average);\n opts.extra.candle = candleOption;\n\n var xAxisData = opts.chartData.xAxisData,\n xAxisPoints = xAxisData.xAxisPoints,\n eachSpacing = xAxisData.eachSpacing;\n\n var calPoints = [];\n\n context.save();\n\n var leftNum = -2;\n var rightNum = xAxisPoints.length + 2;\n var leftSpace = 0;\n var rightSpace = opts.width + eachSpacing;\n\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\n context.translate(opts._scrollDistance_, 0);\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\n rightNum = leftNum + opts.xAxis.itemCount + 4;\n leftSpace = -opts._scrollDistance_ - eachSpacing + opts.area[3];\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\n }\n\n //画均线\n if (candleOption.average.show) {\n seriesMA.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n var splitPointList = splitPoints(points);\n\n for (var i = 0; i < splitPointList.length; i++) {\n var _points = splitPointList[i];\n context.beginPath();\n context.setStrokeStyle(eachSeries.color);\n context.setLineWidth(1);\n if (_points.length === 1) {\n context.moveTo(_points[0].x, _points[0].y);\n context.arc(_points[0].x, _points[0].y, 1, 0, 2 * Math.PI);\n } else {\n context.moveTo(_points[0].x, _points[0].y);\n var startPoint = 0;\n for (var j = 0; j < _points.length; j++) {\n var item = _points[j];\n if (startPoint == 0 && item.x > leftSpace) {\n context.moveTo(item.x, item.y);\n startPoint = 1;\n }\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\n var ctrlPoint = createCurveControlPoints(_points, j - 1);\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\n }\n }\n context.moveTo(_points[0].x, _points[0].y);\n }\n context.closePath();\n context.stroke();\n }\n });\n }\n //画K线\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n var data = eachSeries.data;\n var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n calPoints.push(points);\n var splitPointList = splitPoints(points);\n\n for (var i = 0; i < splitPointList[0].length; i++) {\n if (i > leftNum && i < rightNum) {\n var item = splitPointList[0][i];\n context.beginPath();\n //如果上涨\n if (data[i][1] - data[i][0] > 0) {\n context.setStrokeStyle(candleOption.color.upLine);\n context.setFillStyle(candleOption.color.upFill);\n context.setLineWidth(1 * opts.pixelRatio);\n context.moveTo(item[3].x, item[3].y); //顶点\n context.lineTo(item[1].x, item[1].y); //收盘中间点\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\n context.lineTo(item[0].x, item[0].y); //开盘中间点\n context.lineTo(item[2].x, item[2].y); //底点\n context.lineTo(item[0].x, item[0].y); //开盘中间点\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\n context.lineTo(item[1].x, item[1].y); //收盘中间点\n context.moveTo(item[3].x, item[3].y); //顶点\n } else {\n context.setStrokeStyle(candleOption.color.downLine);\n context.setFillStyle(candleOption.color.downFill);\n context.setLineWidth(1 * opts.pixelRatio);\n context.moveTo(item[3].x, item[3].y); //顶点\n context.lineTo(item[0].x, item[0].y); //开盘中间点\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\n context.lineTo(item[1].x, item[1].y); //收盘中间点\n context.lineTo(item[2].x, item[2].y); //底点\n context.lineTo(item[1].x, item[1].y); //收盘中间点\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\n context.lineTo(item[0].x, item[0].y); //开盘中间点\n context.moveTo(item[3].x, item[3].y); //顶点\n }\n context.closePath();\n context.fill();\n context.stroke();\n }\n }\n });\n\n context.restore();\n\n return {\n xAxisPoints: xAxisPoints,\n calPoints: calPoints,\n eachSpacing: eachSpacing };\n\n}\n\nfunction drawAreaDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var areaOption = assign({}, {\n type: 'straight',\n opacity: 0.2,\n addLine: false,\n width: 2,\n gradient: false },\n opts.extra.area);\n\n var xAxisData = opts.chartData.xAxisData,\n xAxisPoints = xAxisData.xAxisPoints,\n eachSpacing = xAxisData.eachSpacing;\n\n var endY = opts.height - opts.area[2];\n var calPoints = [];\n\n context.save();\n var leftSpace = 0;\n var rightSpace = opts.width + eachSpacing;\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\n context.translate(opts._scrollDistance_, 0);\n leftSpace = -opts._scrollDistance_ - eachSpacing + opts.area[3];\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\n }\n\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n calPoints.push(points);\n\n var splitPointList = splitPoints(points);\n for (var i = 0; i < splitPointList.length; i++) {\n var _points2 = splitPointList[i];\n // 绘制区域数\n context.beginPath();\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\n if (areaOption.gradient) {\n var gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\n context.setFillStyle(gradient);\n } else {\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\n }\n context.setLineWidth(areaOption.width * opts.pixelRatio);\n if (_points2.length > 1) {\n var firstPoint = _points2[0];\n var lastPoint = _points2[_points2.length - 1];\n context.moveTo(firstPoint.x, firstPoint.y);\n var startPoint = 0;\n if (areaOption.type === 'curve') {\n for (var j = 0; j < _points2.length; j++) {\n var item = _points2[j];\n if (startPoint == 0 && item.x > leftSpace) {\n context.moveTo(item.x, item.y);\n startPoint = 1;\n }\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\n var ctrlPoint = createCurveControlPoints(_points2, j - 1);\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\n }\n };\n } else {\n for (var _j = 0; _j < _points2.length; _j++) {\n var _item10 = _points2[_j];\n if (startPoint == 0 && _item10.x > leftSpace) {\n context.moveTo(_item10.x, _item10.y);\n startPoint = 1;\n }\n if (_j > 0 && _item10.x > leftSpace && _item10.x < rightSpace) {\n context.lineTo(_item10.x, _item10.y);\n }\n };\n }\n\n context.lineTo(lastPoint.x, endY);\n context.lineTo(firstPoint.x, endY);\n context.lineTo(firstPoint.x, firstPoint.y);\n } else {\n var _item11 = _points2[0];\n context.moveTo(_item11.x - eachSpacing / 2, _item11.y);\n context.lineTo(_item11.x + eachSpacing / 2, _item11.y);\n context.lineTo(_item11.x + eachSpacing / 2, endY);\n context.lineTo(_item11.x - eachSpacing / 2, endY);\n context.moveTo(_item11.x - eachSpacing / 2, _item11.y);\n }\n context.closePath();\n context.fill();\n\n //画连线\n if (areaOption.addLine) {\n if (eachSeries.lineType == 'dash') {\n var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\n dashLength *= opts.pixelRatio;\n context.setLineDash([dashLength, dashLength]);\n }\n context.beginPath();\n context.setStrokeStyle(eachSeries.color);\n context.setLineWidth(areaOption.width * opts.pixelRatio);\n if (_points2.length === 1) {\n context.moveTo(_points2[0].x, _points2[0].y);\n context.arc(_points2[0].x, _points2[0].y, 1, 0, 2 * Math.PI);\n } else {\n context.moveTo(_points2[0].x, _points2[0].y);\n var _startPoint = 0;\n if (areaOption.type === 'curve') {\n for (var _j2 = 0; _j2 < _points2.length; _j2++) {\n var _item12 = _points2[_j2];\n if (_startPoint == 0 && _item12.x > leftSpace) {\n context.moveTo(_item12.x, _item12.y);\n _startPoint = 1;\n }\n if (_j2 > 0 && _item12.x > leftSpace && _item12.x < rightSpace) {\n var _ctrlPoint = createCurveControlPoints(_points2, _j2 - 1);\n context.bezierCurveTo(_ctrlPoint.ctrA.x, _ctrlPoint.ctrA.y, _ctrlPoint.ctrB.x, _ctrlPoint.ctrB.y, _item12.x, _item12.y);\n }\n };\n } else {\n for (var _j3 = 0; _j3 < _points2.length; _j3++) {\n var _item13 = _points2[_j3];\n if (_startPoint == 0 && _item13.x > leftSpace) {\n context.moveTo(_item13.x, _item13.y);\n _startPoint = 1;\n }\n if (_j3 > 0 && _item13.x > leftSpace && _item13.x < rightSpace) {\n context.lineTo(_item13.x, _item13.y);\n }\n };\n }\n context.moveTo(_points2[0].x, _points2[0].y);\n }\n context.stroke();\n context.setLineDash([]);\n }\n }\n\n //画点\n if (opts.dataPointShape !== false) {\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\n }\n\n });\n\n if (opts.dataLabel !== false && process === 1) {\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n drawPointText(points, eachSeries, config, context);\n });\n }\n\n context.restore();\n\n return {\n xAxisPoints: xAxisPoints,\n calPoints: calPoints,\n eachSpacing: eachSpacing };\n\n}\n\nfunction drawLineDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var lineOption = assign({}, {\n type: 'straight',\n width: 2 },\n opts.extra.line);\n lineOption.width *= opts.pixelRatio;\n\n var xAxisData = opts.chartData.xAxisData,\n xAxisPoints = xAxisData.xAxisPoints,\n eachSpacing = xAxisData.eachSpacing;\n var calPoints = [];\n\n context.save();\n var leftSpace = 0;\n var rightSpace = opts.width + eachSpacing;\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\n context.translate(opts._scrollDistance_, 0);\n leftSpace = -opts._scrollDistance_ - eachSpacing + opts.area[3];\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\n }\n\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n calPoints.push(points);\n var splitPointList = splitPoints(points);\n\n if (eachSeries.lineType == 'dash') {\n var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\n dashLength *= opts.pixelRatio;\n context.setLineDash([dashLength, dashLength]);\n }\n context.beginPath();\n context.setStrokeStyle(eachSeries.color);\n context.setLineWidth(lineOption.width);\n\n splitPointList.forEach(function (points, index) {\n\n if (points.length === 1) {\n context.moveTo(points[0].x, points[0].y);\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\n } else {\n context.moveTo(points[0].x, points[0].y);\n var startPoint = 0;\n if (lineOption.type === 'curve') {\n for (var j = 0; j < points.length; j++) {\n var item = points[j];\n if (startPoint == 0 && item.x > leftSpace) {\n context.moveTo(item.x, item.y);\n startPoint = 1;\n }\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\n var ctrlPoint = createCurveControlPoints(points, j - 1);\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\n }\n };\n } else {\n for (var _j4 = 0; _j4 < points.length; _j4++) {\n var _item14 = points[_j4];\n if (startPoint == 0 && _item14.x > leftSpace) {\n context.moveTo(_item14.x, _item14.y);\n startPoint = 1;\n }\n if (_j4 > 0 && _item14.x > leftSpace && _item14.x < rightSpace) {\n context.lineTo(_item14.x, _item14.y);\n }\n };\n }\n context.moveTo(points[0].x, points[0].y);\n }\n\n });\n\n context.stroke();\n context.setLineDash([]);\n\n if (opts.dataPointShape !== false) {\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\n }\n });\n\n if (opts.dataLabel !== false && process === 1) {\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n drawPointText(points, eachSeries, config, context);\n });\n }\n\n context.restore();\n\n return {\n xAxisPoints: xAxisPoints,\n calPoints: calPoints,\n eachSpacing: eachSpacing };\n\n}\n\nfunction drawMixDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n\n var xAxisData = opts.chartData.xAxisData,\n xAxisPoints = xAxisData.xAxisPoints,\n eachSpacing = xAxisData.eachSpacing;\n\n var endY = opts.height - opts.area[2];\n var calPoints = [];\n\n var columnIndex = 0;\n var columnLength = 0;\n series.forEach(function (eachSeries, seriesIndex) {\n if (eachSeries.type == 'column') {\n columnLength += 1;\n }\n });\n context.save();\n var leftNum = -2;\n var rightNum = xAxisPoints.length + 2;\n var leftSpace = 0;\n var rightSpace = opts.width + eachSpacing;\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\n context.translate(opts._scrollDistance_, 0);\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\n rightNum = leftNum + opts.xAxis.itemCount + 4;\n leftSpace = -opts._scrollDistance_ - eachSpacing + opts.area[3];\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\n }\n\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n calPoints.push(points);\n\n // 绘制柱状数据图\n if (eachSeries.type == 'column') {\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\n for (var i = 0; i < points.length; i++) {\n var item = points[i];\n if (item !== null && i > leftNum && i < rightNum) {\n context.beginPath();\n context.setStrokeStyle(item.color || eachSeries.color);\n context.setLineWidth(1);\n context.setFillStyle(item.color || eachSeries.color);\n var startX = item.x - item.width / 2;\n var height = opts.height - item.y - opts.area[2];\n context.moveTo(startX, item.y);\n context.moveTo(startX, item.y);\n context.lineTo(startX + item.width - 2, item.y);\n context.lineTo(startX + item.width - 2, opts.height - opts.area[2]);\n context.lineTo(startX, opts.height - opts.area[2]);\n context.lineTo(startX, item.y);\n context.closePath();\n context.stroke();\n context.fill();\n context.closePath();\n context.fill();\n }\n }\n columnIndex += 1;\n }\n\n //绘制区域图数据\n\n if (eachSeries.type == 'area') {\n var _splitPointList = splitPoints(points);\n for (var _i17 = 0; _i17 < _splitPointList.length; _i17++) {\n var _points3 = _splitPointList[_i17];\n // 绘制区域数据\n context.beginPath();\n context.setStrokeStyle(eachSeries.color);\n context.setFillStyle(hexToRgb(eachSeries.color, 0.2));\n context.setLineWidth(2 * opts.pixelRatio);\n if (_points3.length > 1) {\n var firstPoint = _points3[0];\n var lastPoint = _points3[_points3.length - 1];\n context.moveTo(firstPoint.x, firstPoint.y);\n var startPoint = 0;\n if (eachSeries.style === 'curve') {\n for (var j = 0; j < _points3.length; j++) {\n var _item15 = _points3[j];\n if (startPoint == 0 && _item15.x > leftSpace) {\n context.moveTo(_item15.x, _item15.y);\n startPoint = 1;\n }\n if (j > 0 && _item15.x > leftSpace && _item15.x < rightSpace) {\n var ctrlPoint = createCurveControlPoints(_points3, j - 1);\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, _item15.x, _item15.y);\n }\n };\n } else {\n for (var _j5 = 0; _j5 < _points3.length; _j5++) {\n var _item16 = _points3[_j5];\n if (startPoint == 0 && _item16.x > leftSpace) {\n context.moveTo(_item16.x, _item16.y);\n startPoint = 1;\n }\n if (_j5 > 0 && _item16.x > leftSpace && _item16.x < rightSpace) {\n context.lineTo(_item16.x, _item16.y);\n }\n };\n }\n context.lineTo(lastPoint.x, endY);\n context.lineTo(firstPoint.x, endY);\n context.lineTo(firstPoint.x, firstPoint.y);\n } else {\n var _item17 = _points3[0];\n context.moveTo(_item17.x - eachSpacing / 2, _item17.y);\n context.lineTo(_item17.x + eachSpacing / 2, _item17.y);\n context.lineTo(_item17.x + eachSpacing / 2, endY);\n context.lineTo(_item17.x - eachSpacing / 2, endY);\n context.moveTo(_item17.x - eachSpacing / 2, _item17.y);\n }\n context.closePath();\n context.fill();\n }\n }\n\n // 绘制折线数据图\n if (eachSeries.type == 'line') {\n var splitPointList = splitPoints(points);\n splitPointList.forEach(function (points, index) {\n if (eachSeries.lineType == 'dash') {\n var dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\n dashLength *= opts.pixelRatio;\n context.setLineDash([dashLength, dashLength]);\n }\n context.beginPath();\n context.setStrokeStyle(eachSeries.color);\n context.setLineWidth(2 * opts.pixelRatio);\n if (points.length === 1) {\n context.moveTo(points[0].x, points[0].y);\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\n } else {\n context.moveTo(points[0].x, points[0].y);\n var _startPoint2 = 0;\n if (eachSeries.style == 'curve') {\n for (var _j6 = 0; _j6 < points.length; _j6++) {\n var _item18 = points[_j6];\n if (_startPoint2 == 0 && _item18.x > leftSpace) {\n context.moveTo(_item18.x, _item18.y);\n _startPoint2 = 1;\n }\n if (_j6 > 0 && _item18.x > leftSpace && _item18.x < rightSpace) {\n var ctrlPoint = createCurveControlPoints(points, _j6 - 1);\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, _item18.x, _item18.y);\n }\n }\n } else {\n for (var _j7 = 0; _j7 < points.length; _j7++) {\n var _item19 = points[_j7];\n if (_startPoint2 == 0 && _item19.x > leftSpace) {\n context.moveTo(_item19.x, _item19.y);\n _startPoint2 = 1;\n }\n if (_j7 > 0 && _item19.x > leftSpace && _item19.x < rightSpace) {\n context.lineTo(_item19.x, _item19.y);\n }\n }\n }\n context.moveTo(points[0].x, points[0].y);\n }\n context.stroke();\n context.setLineDash([]);\n });\n }\n\n // 绘制点数据图\n if (eachSeries.type == 'point') {\n eachSeries.addPoint = true;\n }\n\n if (eachSeries.addPoint == true && eachSeries.type !== 'column') {\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\n }\n });\n if (opts.dataLabel !== false && process === 1) {\n var columnIndex = 0;\n series.forEach(function (eachSeries, seriesIndex) {\n var ranges, minRange, maxRange;\n\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\n minRange = ranges.pop();\n maxRange = ranges.shift();\n\n var data = eachSeries.data;\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\n if (eachSeries.type !== 'column') {\n drawPointText(points, eachSeries, config, context);\n } else {\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\n drawPointText(points, eachSeries, config, context);\n columnIndex += 1;\n }\n\n });\n }\n\n context.restore();\n\n return {\n xAxisPoints: xAxisPoints,\n calPoints: calPoints,\n eachSpacing: eachSpacing };\n\n}\n\nfunction drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {\n var toolTipOption = opts.extra.tooltip || {};\n if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'candle' || opts.type == 'mix')) {\n drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints);\n }\n context.save();\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\n context.translate(opts._scrollDistance_, 0);\n }\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\n drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);\n }\n context.restore();\n\n}\n\nfunction drawXAxis(categories, opts, config, context) {\n\n var xAxisData = opts.chartData.xAxisData,\n xAxisPoints = xAxisData.xAxisPoints,\n startX = xAxisData.startX,\n endX = xAxisData.endX,\n eachSpacing = xAxisData.eachSpacing;\n var boundaryGap = 'center';\n if (opts.type == 'line' || opts.type == 'area') {\n boundaryGap = opts.xAxis.boundaryGap;\n }\n var startY = opts.height - opts.area[2];\n var endY = opts.area[0];\n\n //绘制滚动条\n if (opts.enableScroll && opts.xAxis.scrollShow) {\n var scrollY = opts.height - opts.area[2] + config.xAxisHeight;\n var scrollScreenWidth = endX - startX;\n var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);\n var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;\n var scrollLeft = 0;\n if (opts._scrollDistance_) {\n scrollLeft = -opts._scrollDistance_ * scrollScreenWidth / scrollTotalWidth;\n }\n context.beginPath();\n context.setLineCap('round');\n context.setLineWidth(6 * opts.pixelRatio);\n context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || \"#EFEBEF\");\n context.moveTo(startX, scrollY);\n context.lineTo(endX, scrollY);\n context.stroke();\n context.closePath();\n context.beginPath();\n context.setLineCap('round');\n context.setLineWidth(6 * opts.pixelRatio);\n context.setStrokeStyle(opts.xAxis.scrollColor || \"#A6A6A6\");\n context.moveTo(startX + scrollLeft, scrollY);\n context.lineTo(startX + scrollLeft + scrollWidth, scrollY);\n context.stroke();\n context.closePath();\n context.setLineCap('butt');\n }\n\n context.save();\n\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\n context.translate(opts._scrollDistance_, 0);\n }\n\n //绘制X轴刻度线\n if (opts.xAxis.calibration === true) {\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\n context.setLineCap('butt');\n context.setLineWidth(1 * opts.pixelRatio);\n xAxisPoints.forEach(function (item, index) {\n if (index > 0) {\n context.beginPath();\n context.moveTo(item - eachSpacing / 2, startY);\n context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pixelRatio);\n context.closePath();\n context.stroke();\n }\n });\n }\n //绘制X轴网格\n if (opts.xAxis.disableGrid !== true) {\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\n context.setLineCap('butt');\n context.setLineWidth(1 * opts.pixelRatio);\n if (opts.xAxis.gridType == 'dash') {\n context.setLineDash([opts.xAxis.dashLength, opts.xAxis.dashLength]);\n }\n opts.xAxis.gridEval = opts.xAxis.gridEval || 1;\n xAxisPoints.forEach(function (item, index) {\n if (index % opts.xAxis.gridEval == 0) {\n context.beginPath();\n context.moveTo(item, startY);\n context.lineTo(item, endY);\n context.stroke();\n }\n });\n context.setLineDash([]);\n }\n\n\n //绘制X轴文案\n if (opts.xAxis.disabled !== true) {\n // 对X轴列表做抽稀处理\n //默认全部显示X轴标签\n var maxXAxisListLength = categories.length;\n //如果设置了X轴单屏数量\n if (opts.xAxis.labelCount) {\n //如果设置X轴密度\n if (opts.xAxis.itemCount) {\n maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);\n } else {\n maxXAxisListLength = opts.xAxis.labelCount;\n }\n maxXAxisListLength -= 1;\n }\n\n var ratio = Math.ceil(categories.length / maxXAxisListLength);\n\n var newCategories = [];\n var cgLength = categories.length;\n for (var i = 0; i < cgLength; i++) {\n if (i % ratio !== 0) {\n newCategories.push(\"\");\n } else {\n newCategories.push(categories[i]);\n }\n }\n newCategories[cgLength - 1] = categories[cgLength - 1];\n\n var xAxisFontSize = opts.xAxis.fontSize || config.fontSize;\n if (config._xAxisTextAngle_ === 0) {\n newCategories.forEach(function (item, index) {\n var offset = -measureText(String(item), xAxisFontSize) / 2;\n if (boundaryGap == 'center') {\n offset += eachSpacing / 2;\n }\n var scrollHeight = 0;\n if (opts.xAxis.scrollShow) {\n scrollHeight = 6 * opts.pixelRatio;\n }\n context.beginPath();\n context.setFontSize(xAxisFontSize);\n context.setFillStyle(opts.xAxis.fontColor || '#666666');\n context.fillText(String(item), xAxisPoints[index] + offset, startY + xAxisFontSize + (config.xAxisHeight - scrollHeight - xAxisFontSize) / 2);\n context.closePath();\n context.stroke();\n });\n\n } else {\n newCategories.forEach(function (item, index) {\n context.save();\n context.beginPath();\n context.setFontSize(xAxisFontSize);\n context.setFillStyle(opts.xAxis.fontColor || '#666666');\n var textWidth = measureText(String(item), xAxisFontSize);\n var offset = -textWidth;\n if (boundaryGap == 'center') {\n offset += eachSpacing / 2;\n }\n var _calRotateTranslate = calRotateTranslate(xAxisPoints[index] + eachSpacing / 2, startY + xAxisFontSize / 2 + 5, opts.height),\n transX = _calRotateTranslate.transX,\n transY = _calRotateTranslate.transY;\n\n context.rotate(-1 * config._xAxisTextAngle_);\n context.translate(transX, transY);\n context.fillText(String(item), xAxisPoints[index] + offset, startY + xAxisFontSize + 5);\n context.closePath();\n context.stroke();\n context.restore();\n });\n }\n }\n context.restore();\n\n //绘制X轴轴线\n if (opts.xAxis.axisLine) {\n context.beginPath();\n context.setStrokeStyle(opts.xAxis.axisLineColor);\n context.setLineWidth(1 * opts.pixelRatio);\n context.moveTo(startX, opts.height - opts.area[2]);\n context.lineTo(endX, opts.height - opts.area[2]);\n context.stroke();\n }\n}\n\nfunction drawYAxisGrid(categories, opts, config, context) {\n if (opts.yAxis.disableGrid === true) {\n return;\n }\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\n var eachSpacing = spacingValid / opts.yAxis.splitNumber;\n var startX = opts.area[3];\n var xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\n xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;\n var TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);\n var endX = startX + TotalWidth;\n\n var points = [];\n for (var i = 0; i < opts.yAxis.splitNumber + 1; i++) {\n points.push(opts.height - opts.area[2] - eachSpacing * i);\n }\n\n context.save();\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\n context.translate(opts._scrollDistance_, 0);\n }\n\n if (opts.yAxis.gridType == 'dash') {\n context.setLineDash([opts.yAxis.dashLength, opts.yAxis.dashLength]);\n }\n context.setStrokeStyle(opts.yAxis.gridColor);\n context.setLineWidth(1 * opts.pixelRatio);\n points.forEach(function (item, index) {\n context.beginPath();\n context.moveTo(startX, item);\n context.lineTo(endX, item);\n context.stroke();\n });\n context.setLineDash([]);\n\n context.restore();\n}\n\nfunction drawYAxis(series, opts, config, context) {\n if (opts.yAxis.disabled === true) {\n return;\n }\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\n var eachSpacing = spacingValid / opts.yAxis.splitNumber;\n var startX = opts.area[3];\n var endX = opts.width - opts.area[1];\n var endY = opts.height - opts.area[2];\n var fillEndY = endY + config.xAxisHeight;\n if (opts.xAxis.scrollShow) {\n fillEndY -= 3 * opts.pixelRatio;\n }\n if (opts.xAxis.rotateLabel) {\n fillEndY = opts.height - opts.area[2] + 3;\n }\n // set YAxis background\n context.beginPath();\n context.setFillStyle(opts.background || '#ffffff');\n if (opts._scrollDistance_ < 0) {\n context.fillRect(0, 0, startX, fillEndY);\n }\n if (opts.enableScroll == true) {\n context.fillRect(endX, 0, opts.width, fillEndY);\n }\n context.closePath();\n context.stroke();\n\n var points = [];\n for (var i = 0; i <= opts.yAxis.splitNumber; i++) {\n points.push(opts.area[0] + eachSpacing * i);\n }\n\n var tStartLeft = opts.area[3];\n var tStartRight = opts.width - opts.area[1];var _loop4 = function _loop4(\n\n _i18) {\n var yData = opts.yAxis.data[_i18];\n if (yData.disabled !== true) {\n var rangesFormat = opts.chartData.yAxisData.rangesFormat[_i18];\n var yAxisFontSize = yData.fontSize || config.fontSize;\n var yAxisWidth = opts.chartData.yAxisData.yAxisWidth[_i18];\n //画Y轴刻度及文案\n rangesFormat.forEach(function (item, index) {\n var pos = points[index] ? points[index] : endY;\n context.beginPath();\n context.setFontSize(yAxisFontSize);\n context.setLineWidth(1 * opts.pixelRatio);\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\n context.setFillStyle(yData.fontColor || '#666666');\n if (yAxisWidth.position == 'left') {\n context.fillText(String(item), tStartLeft - yAxisWidth.width, pos + yAxisFontSize / 2);\n //画刻度线\n if (yData.calibration == true) {\n context.moveTo(tStartLeft, pos);\n context.lineTo(tStartLeft - 3 * opts.pixelRatio, pos);\n }\n } else {\n context.fillText(String(item), tStartRight + 4 * opts.pixelRatio, pos + yAxisFontSize / 2);\n //画刻度线\n if (yData.calibration == true) {\n context.moveTo(tStartRight, pos);\n context.lineTo(tStartRight + 3 * opts.pixelRatio, pos);\n }\n }\n context.closePath();\n context.stroke();\n });\n //画Y轴轴线\n if (yData.axisLine !== false) {\n context.beginPath();\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\n context.setLineWidth(1 * opts.pixelRatio);\n if (yAxisWidth.position == 'left') {\n context.moveTo(tStartLeft, opts.height - opts.area[2]);\n context.lineTo(tStartLeft, opts.area[0]);\n } else {\n context.moveTo(tStartRight, opts.height - opts.area[2]);\n context.lineTo(tStartRight, opts.area[0]);\n }\n context.stroke();\n }\n\n //画Y轴标题\n if (opts.yAxis.showTitle) {\n\n var titleFontSize = yData.titleFontSize || config.fontSize;\n var title = yData.title;\n context.beginPath();\n context.setFontSize(titleFontSize);\n context.setFillStyle(yData.titleFontColor || '#666666');\n if (yAxisWidth.position == 'left') {\n context.fillText(title, tStartLeft - measureText(title, titleFontSize) / 2, opts.area[0] - 10 * opts.pixelRatio);\n } else {\n context.fillText(title, tStartRight - measureText(title, titleFontSize) / 2, opts.area[0] - 10 * opts.pixelRatio);\n }\n context.closePath();\n context.stroke();\n }\n if (yAxisWidth.position == 'left') {\n tStartLeft -= yAxisWidth.width + opts.yAxis.padding;\n } else {\n tStartRight += yAxisWidth.width + opts.yAxis.padding;\n }\n }};for (var _i18 = 0; _i18 < opts.yAxis.data.length; _i18++) {_loop4(_i18);\n }\n}\n\nfunction drawLegend(series, opts, config, context, chartData) {\n if (opts.legend.show === false) {\n return;\n }\n var legendData = chartData.legendData;\n var legendList = legendData.points;\n var legendArea = legendData.area;\n var padding = opts.legend.padding;\n var fontSize = opts.legend.fontSize;\n var shapeWidth = 15 * opts.pixelRatio;\n var shapeRight = 5 * opts.pixelRatio;\n var itemGap = opts.legend.itemGap;\n var lineHeight = Math.max(opts.legend.lineHeight * opts.pixelRatio, fontSize);\n\n //画背景及边框\n context.beginPath();\n context.setLineWidth(opts.legend.borderWidth);\n context.setStrokeStyle(opts.legend.borderColor);\n context.setFillStyle(opts.legend.backgroundColor);\n context.moveTo(legendArea.start.x, legendArea.start.y);\n context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);\n context.closePath();\n context.fill();\n context.stroke();\n\n legendList.forEach(function (itemList, listIndex) {\n var width = 0;\n var height = 0;\n width = legendData.widthArr[listIndex];\n height = legendData.heightArr[listIndex];\n var startX = 0;\n var startY = 0;\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\n startX = legendArea.start.x + (legendArea.width - width) / 2;\n startY = legendArea.start.y + padding + listIndex * lineHeight;\n } else {\n if (listIndex == 0) {\n width = 0;\n } else {\n width = legendData.widthArr[listIndex - 1];\n }\n startX = legendArea.start.x + padding + width;\n startY = legendArea.start.y + padding + (legendArea.height - height) / 2;\n }\n\n context.setFontSize(config.fontSize);\n for (var i = 0; i < itemList.length; i++) {\n var item = itemList[i];\n item.area = [0, 0, 0, 0];\n item.area[0] = startX;\n item.area[1] = startY;\n item.area[3] = startY + lineHeight;\n context.beginPath();\n context.setLineWidth(1 * opts.pixelRatio);\n context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);\n context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);\n switch (item.legendShape) {\n case 'line':\n context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pixelRatio);\n context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pixelRatio, 15 * opts.pixelRatio, 4 * opts.pixelRatio);\n break;\n case 'triangle':\n context.moveTo(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight - 5 * opts.pixelRatio);\n context.lineTo(startX + 2.5 * opts.pixelRatio, startY + 0.5 * lineHeight + 5 * opts.pixelRatio);\n context.lineTo(startX + 12.5 * opts.pixelRatio, startY + 0.5 * lineHeight + 5 * opts.pixelRatio);\n context.lineTo(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight - 5 * opts.pixelRatio);\n break;\n case 'diamond':\n context.moveTo(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight - 5 * opts.pixelRatio);\n context.lineTo(startX + 2.5 * opts.pixelRatio, startY + 0.5 * lineHeight);\n context.lineTo(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight + 5 * opts.pixelRatio);\n context.lineTo(startX + 12.5 * opts.pixelRatio, startY + 0.5 * lineHeight);\n context.lineTo(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight - 5 * opts.pixelRatio);\n break;\n case 'circle':\n context.moveTo(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight);\n context.arc(startX + 7.5 * opts.pixelRatio, startY + 0.5 * lineHeight, 5 * opts.pixelRatio, 0, 2 * Math.PI);\n break;\n case 'rect':\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pixelRatio);\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pixelRatio, 15 * opts.pixelRatio, 10 * opts.pixelRatio);\n break;\n default:\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pixelRatio);\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pixelRatio, 15 * opts.pixelRatio, 10 * opts.pixelRatio);}\n\n context.closePath();\n context.fill();\n context.stroke();\n\n startX += shapeWidth + shapeRight;\n var fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;\n context.beginPath();\n context.setFontSize(fontSize);\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\n context.fillText(item.name, startX, startY + fontTrans);\n context.closePath();\n context.stroke();\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\n startX += measureText(item.name, fontSize) + itemGap;\n item.area[2] = startX;\n } else {\n item.area[2] = startX + measureText(item.name, fontSize) + itemGap;;\n startX -= shapeWidth + shapeRight;\n startY += lineHeight;\n }\n }\n });\n}\n\nfunction drawPieDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var pieOption = assign({}, {\n activeOpacity: 0.5,\n activeRadius: 10 * opts.pixelRatio,\n offsetAngle: 0,\n labelWidth: 15 * opts.pixelRatio,\n ringWidth: 0,\n border: false,\n borderWidth: 2,\n borderColor: '#FFFFFF' },\n opts.extra.pie);\n var centerPosition = {\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 };\n\n if (config.pieChartLinePadding == 0) {\n config.pieChartLinePadding = pieOption.activeRadius;\n }\n\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\n\n series = getPieDataPoints(series, radius, process);\n\n var activeRadius = pieOption.activeRadius;\n\n series = series.map(function (eachSeries) {\n eachSeries._start_ += pieOption.offsetAngle * Math.PI / 180;\n return eachSeries;\n });\n series.forEach(function (eachSeries, seriesIndex) {\n if (opts.tooltip) {\n if (opts.tooltip.index == seriesIndex) {\n context.beginPath();\n context.setFillStyle(hexToRgb(eachSeries.color, opts.extra.pie.activeOpacity || 0.5));\n context.moveTo(centerPosition.x, centerPosition.y);\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_,\n eachSeries._start_ + 2 *\n eachSeries._proportion_ * Math.PI);\n context.closePath();\n context.fill();\n }\n }\n context.beginPath();\n context.setLineWidth(pieOption.borderWidth * opts.pixelRatio);\n context.lineJoin = \"round\";\n context.setStrokeStyle(pieOption.borderColor);\n context.setFillStyle(eachSeries.color);\n context.moveTo(centerPosition.x, centerPosition.y);\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\n context.closePath();\n context.fill();\n if (pieOption.border == true) {\n context.stroke();\n }\n });\n\n if (opts.type === 'ring') {\n var innerPieWidth = radius * 0.6;\n if (typeof opts.extra.pie.ringWidth === 'number' && opts.extra.pie.ringWidth > 0) {\n innerPieWidth = Math.max(0, radius - opts.extra.pie.ringWidth);\n }\n context.beginPath();\n context.setFillStyle(opts.background || '#ffffff');\n context.moveTo(centerPosition.x, centerPosition.y);\n context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);\n context.closePath();\n context.fill();\n }\n\n if (opts.dataLabel !== false && process === 1) {\n var valid = false;\n for (var i = 0, len = series.length; i < len; i++) {\n if (series[i].data > 0) {\n valid = true;\n break;\n }\n }\n\n if (valid) {\n drawPieText(series, opts, config, context, radius, centerPosition);\n }\n }\n\n if (process === 1 && opts.type === 'ring') {\n drawRingTitle(opts, config, context, centerPosition);\n }\n\n return {\n center: centerPosition,\n radius: radius,\n series: series };\n\n}\n\nfunction drawRoseDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var roseOption = assign({}, {\n type: 'area',\n activeOpacity: 0.5,\n activeRadius: 10 * opts.pixelRatio,\n offsetAngle: 0,\n labelWidth: 15 * opts.pixelRatio,\n border: false,\n borderWidth: 2,\n borderColor: '#FFFFFF' },\n opts.extra.rose);\n if (config.pieChartLinePadding == 0) {\n config.pieChartLinePadding = roseOption.activeRadius;\n }\n var centerPosition = {\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 };\n\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\n var minRadius = roseOption.minRadius || radius * 0.5;\n\n series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);\n\n var activeRadius = roseOption.activeRadius;\n\n series = series.map(function (eachSeries) {\n eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;\n return eachSeries;\n });\n\n series.forEach(function (eachSeries, seriesIndex) {\n if (opts.tooltip) {\n if (opts.tooltip.index == seriesIndex) {\n context.beginPath();\n context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));\n context.moveTo(centerPosition.x, centerPosition.y);\n context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_,\n eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\n context.closePath();\n context.fill();\n }\n }\n context.beginPath();\n context.setLineWidth(roseOption.borderWidth * opts.pixelRatio);\n context.lineJoin = \"round\";\n context.setStrokeStyle(roseOption.borderColor);\n context.setFillStyle(eachSeries.color);\n context.moveTo(centerPosition.x, centerPosition.y);\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 *\n eachSeries._rose_proportion_ * Math.PI);\n context.closePath();\n context.fill();\n if (roseOption.border == true) {\n context.stroke();\n }\n });\n\n if (opts.dataLabel !== false && process === 1) {\n var valid = false;\n for (var i = 0, len = series.length; i < len; i++) {\n if (series[i].data > 0) {\n valid = true;\n break;\n }\n }\n\n if (valid) {\n drawPieText(series, opts, config, context, radius, centerPosition);\n }\n }\n\n return {\n center: centerPosition,\n radius: radius,\n series: series };\n\n}\n\nfunction drawArcbarDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var arcbarOption = assign({}, {\n startAngle: 0.75,\n endAngle: 0.25,\n type: 'default',\n width: 12 * opts.pixelRatio,\n gap: 2 * opts.pixelRatio },\n opts.extra.arcbar);\n\n series = getArcbarDataPoints(series, arcbarOption, process);\n\n var centerPosition;\n if (arcbarOption.center) {\n centerPosition = arcbarOption.center;\n } else {\n centerPosition = {\n x: opts.width / 2,\n y: opts.height / 2 };\n\n }\n\n var radius;\n if (arcbarOption.radius) {\n radius = arcbarOption.radius;\n } else {\n radius = Math.min(centerPosition.x, centerPosition.y);\n radius -= 5 * opts.pixelRatio;\n radius -= arcbarOption.width / 2;\n }\n\n for (var i = 0; i < series.length; i++) {\n var eachSeries = series[i];\n //背景颜色\n context.setLineWidth(arcbarOption.width);\n context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');\n context.setLineCap('round');\n context.beginPath();\n if (arcbarOption.type == 'default') {\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width + arcbarOption.gap) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, false);\n } else {\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width + arcbarOption.gap) * i, 0, 2 * Math.PI, false);\n }\n context.stroke();\n //进度条\n context.setLineWidth(arcbarOption.width);\n context.setStrokeStyle(eachSeries.color);\n context.setLineCap('round');\n context.beginPath();\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width + arcbarOption.gap) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, false);\n context.stroke();\n }\n\n drawRingTitle(opts, config, context, centerPosition);\n\n return {\n center: centerPosition,\n radius: radius,\n series: series };\n\n}\n\nfunction drawGaugeDataPoints(categories, series, opts, config, context) {\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\n var gaugeOption = assign({}, {\n type: 'default',\n startAngle: 0.75,\n endAngle: 0.25,\n width: 15,\n splitLine: {\n fixRadius: 0,\n splitNumber: 10,\n width: 15,\n color: '#FFFFFF',\n childNumber: 5,\n childWidth: 5 },\n\n pointer: {\n width: 15,\n color: 'auto' } },\n\n opts.extra.gauge);\n\n if (gaugeOption.oldAngle == undefined) {\n gaugeOption.oldAngle = gaugeOption.startAngle;\n }\n if (gaugeOption.oldData == undefined) {\n gaugeOption.oldData = 0;\n }\n categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);\n\n var centerPosition = {\n x: opts.width / 2,\n y: opts.height / 2 };\n\n var radius = Math.min(centerPosition.x, centerPosition.y);\n radius -= 5 * opts.pixelRatio;\n radius -= gaugeOption.width / 2;\n var innerRadius = radius - gaugeOption.width;\n var totalAngle = 0;\n\n //判断仪表盘的样式:default百度样式,progress新样式\n if (gaugeOption.type == 'progress') {\n\n //## 第一步画中心圆形背景和进度条背景\n //中心圆形背景\n var pieRadius = radius - gaugeOption.width * 3;\n context.beginPath();\n var gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);\n //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径)\n gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\n context.setFillStyle(gradient);\n context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);\n context.fill();\n //画进度条背景\n context.setLineWidth(gaugeOption.width);\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\n context.setLineCap('round');\n context.beginPath();\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);\n context.stroke();\n\n //## 第二步画刻度线\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\n var splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\n var childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\n var startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\n var endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\n context.save();\n context.translate(centerPosition.x, centerPosition.y);\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\n var len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;\n var proc = series[0].data * process;\n for (var i = 0; i < len; i++) {\n context.beginPath();\n //刻度线随进度变色\n if (proc > i / len) {\n context.setStrokeStyle(hexToRgb(series[0].color, 1));\n } else {\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\n }\n context.setLineWidth(3 * opts.pixelRatio);\n context.moveTo(startX, 0);\n context.lineTo(endX, 0);\n context.stroke();\n context.rotate(childAngle * Math.PI);\n }\n context.restore();\n\n //## 第三步画进度条\n series = getArcbarDataPoints(series, gaugeOption, process);\n context.setLineWidth(gaugeOption.width);\n context.setStrokeStyle(series[0].color);\n context.setLineCap('round');\n context.beginPath();\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);\n context.stroke();\n\n //## 第四步画指针\n var pointerRadius = radius - gaugeOption.width * 2.5;\n context.save();\n context.translate(centerPosition.x, centerPosition.y);\n context.rotate((series[0]._proportion_ - 1) * Math.PI);\n context.beginPath();\n context.setLineWidth(gaugeOption.width / 3);\n var gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);\n gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));\n gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));\n gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));\n context.setStrokeStyle(gradient3);\n context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);\n context.stroke();\n context.beginPath();\n context.setLineWidth(1);\n context.setStrokeStyle(series[0].color);\n context.setFillStyle(series[0].color);\n context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\n context.stroke();\n context.fill();\n context.restore();\n\n //default百度样式\n } else {\n //画背景\n context.setLineWidth(gaugeOption.width);\n context.setLineCap('butt');\n for (var _i19 = 0; _i19 < categories.length; _i19++) {\n var eachCategories = categories[_i19];\n context.beginPath();\n context.setStrokeStyle(eachCategories.color);\n context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);\n context.stroke();\n }\n context.save();\n\n //画刻度线\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\n var _splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\n var _childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\n var _startX2 = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\n var _endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\n var childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;\n\n context.translate(centerPosition.x, centerPosition.y);\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\n\n for (var _i20 = 0; _i20 < gaugeOption.splitLine.splitNumber + 1; _i20++) {\n context.beginPath();\n context.setStrokeStyle(gaugeOption.splitLine.color);\n context.setLineWidth(2 * opts.pixelRatio);\n context.moveTo(_startX2, 0);\n context.lineTo(_endX, 0);\n context.stroke();\n context.rotate(_splitAngle * Math.PI);\n }\n context.restore();\n\n context.save();\n context.translate(centerPosition.x, centerPosition.y);\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\n\n for (var _i21 = 0; _i21 < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; _i21++) {\n context.beginPath();\n context.setStrokeStyle(gaugeOption.splitLine.color);\n context.setLineWidth(1 * opts.pixelRatio);\n context.moveTo(_startX2, 0);\n context.lineTo(childendX, 0);\n context.stroke();\n context.rotate(_childAngle * Math.PI);\n }\n context.restore();\n\n //画指针\n series = getGaugeDataPoints(series, categories, gaugeOption, process);\n\n for (var _i22 = 0; _i22 < series.length; _i22++) {\n var eachSeries = series[_i22];\n context.save();\n context.translate(centerPosition.x, centerPosition.y);\n context.rotate((eachSeries._proportion_ - 1) * Math.PI);\n context.beginPath();\n context.setFillStyle(eachSeries.color);\n context.moveTo(gaugeOption.pointer.width, 0);\n context.lineTo(0, -gaugeOption.pointer.width / 2);\n context.lineTo(-innerRadius, 0);\n context.lineTo(0, gaugeOption.pointer.width / 2);\n context.lineTo(gaugeOption.pointer.width, 0);\n context.closePath();\n context.fill();\n context.beginPath();\n context.setFillStyle('#FFFFFF');\n context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);\n context.fill();\n context.restore();\n }\n\n if (opts.dataLabel !== false) {\n drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);\n }\n }\n\n //画仪表盘标题,副标题\n drawRingTitle(opts, config, context, centerPosition);\n\n if (process === 1 && opts.type === 'gauge') {\n opts.extra.gauge.oldAngle = series[0]._proportion_;\n opts.extra.gauge.oldData = series[0].data;\n }\n return {\n center: centerPosition,\n radius: radius,\n innerRadius: innerRadius,\n categories: categories,\n totalAngle: totalAngle };\n\n}\n\nfunction drawRadarDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var radarOption = assign({}, {\n gridColor: '#cccccc',\n labelColor: '#666666',\n opacity: 0.2,\n gridCount: 3 },\n opts.extra.radar);\n\n var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);\n\n var centerPosition = {\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 };\n\n\n var radius = Math.min(centerPosition.x - (getMaxTextListLength(opts.categories) + config.radarLabelTextMargin),\n centerPosition.y - config.radarLabelTextMargin);\n //TODO逻辑不对\n radius -= opts.padding[1];\n\n // draw grid\n context.beginPath();\n context.setLineWidth(1 * opts.pixelRatio);\n context.setStrokeStyle(radarOption.gridColor);\n coordinateAngle.forEach(function (angle) {\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\n context.moveTo(centerPosition.x, centerPosition.y);\n context.lineTo(pos.x, pos.y);\n });\n context.stroke();\n context.closePath();\n // draw split line grid\n\n var _loop = function _loop(i) {\n var startPos = {};\n context.beginPath();\n context.setLineWidth(1 * opts.pixelRatio);\n context.setStrokeStyle(radarOption.gridColor);\n coordinateAngle.forEach(function (angle, index) {\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius / radarOption.gridCount * i * Math.sin(angle), centerPosition);\n if (index === 0) {\n startPos = pos;\n context.moveTo(pos.x, pos.y);\n } else {\n context.lineTo(pos.x, pos.y);\n }\n });\n context.lineTo(startPos.x, startPos.y);\n context.stroke();\n context.closePath();\n };\n\n for (var i = 1; i <= radarOption.gridCount; i++) {\n _loop(i);\n }\n\n var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);\n\n radarDataPoints.forEach(function (eachSeries, seriesIndex) {\n // 绘制区域数据\n context.beginPath();\n context.setFillStyle(hexToRgb(eachSeries.color, radarOption.opacity));\n eachSeries.data.forEach(function (item, index) {\n if (index === 0) {\n context.moveTo(item.position.x, item.position.y);\n } else {\n context.lineTo(item.position.x, item.position.y);\n }\n });\n context.closePath();\n context.fill();\n\n if (opts.dataPointShape !== false) {\n var points = eachSeries.data.map(function (item) {\n return item.position;\n });\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\n }\n });\n // draw label text\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\n\n return {\n center: centerPosition,\n radius: radius,\n angleList: coordinateAngle };\n\n}\n\nfunction normalInt(min, max, iter) {\n iter = iter == 0 ? 1 : iter;\n var arr = [];\n for (var i = 0; i < iter; i++) {\n arr[i] = Math.random();\n };\n return Math.floor(arr.reduce(function (i, j) {return i + j;}) / iter * (max - min)) + min;\n};\n\nfunction collisionNew(area, points, width, height) {\n var isIn = false;\n for (var i = 0; i < points.length; i++) {\n if (points[i].area) {\n if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {\n if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {\n isIn = true;\n break;\n } else {\n isIn = false;\n }\n } else {\n isIn = true;\n break;\n }\n }\n }\n return isIn;\n};\n\nfunction getBoundingBox(data) {\n var bounds = {},coords;\n bounds.xMin = 180;\n bounds.xMax = 0;\n bounds.yMin = 90;\n bounds.yMax = 0;\n for (var i = 0; i < data.length; i++) {\n var coorda = data[i].geometry.coordinates;\n for (var k = 0; k < coorda.length; k++) {\n coords = coorda[k];\n if (coords.length == 1) {\n coords = coords[0];\n }\n for (var j = 0; j < coords.length; j++) {\n var longitude = coords[j][0];\n var latitude = coords[j][1];\n var point = {\n x: longitude,\n y: latitude };\n\n bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;\n bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;\n bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;\n bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;\n }\n }\n }\n return bounds;\n}\n\nfunction coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {\n return {\n x: (longitude - bounds.xMin) * scale + xoffset,\n y: (bounds.yMax - latitude) * scale + yoffset };\n\n}\n\nfunction pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {\n return {\n x: (pointX - xoffset) / scale + bounds.xMin,\n y: bounds.yMax - (pointY - yoffset) / scale };\n\n}\n\nfunction isRayIntersectsSegment(poi, s_poi, e_poi) {\n if (s_poi[1] == e_poi[1]) {return false;}\n if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {return false;}\n if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {return false;}\n if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {return false;}\n if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {return false;}\n if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {return false;}\n var xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);\n if (xseg < poi[0]) {\n return false;\n } else {\n return true;\n }\n}\n\nfunction isPoiWithinPoly(poi, poly) {\n var sinsc = 0;\n for (var i = 0; i < poly.length; i++) {\n var epoly = poly[i][0];\n if (poly.length == 1) {\n epoly = poly[i][0];\n }\n for (var j = 0; j < epoly.length - 1; j++) {\n var s_poi = epoly[j];\n var e_poi = epoly[j + 1];\n if (isRayIntersectsSegment(poi, s_poi, e_poi)) {\n sinsc += 1;\n }\n }\n }\n\n if (sinsc % 2 == 1) {\n return true;\n } else {\n return false;\n }\n}\n\n\nfunction drawMapDataPoints(series, opts, config, context) {\n var mapOption = assign({}, {\n border: true,\n borderWidth: 1,\n borderColor: '#666666',\n fillOpacity: 0.6,\n activeBorderColor: '#f04864',\n activeFillColor: '#facc14',\n activeFillOpacity: 1 },\n opts.extra.map);\n var coords, point;\n var data = series;\n var bounds = getBoundingBox(data);\n var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);\n var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);\n var scale = xScale < yScale ? xScale : yScale;\n var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;\n var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;\n context.beginPath();\n context.clearRect(0, 0, opts.width, opts.height);\n context.setFillStyle(opts.background || '#FFFFFF');\n context.rect(0, 0, opts.width, opts.height);\n context.fill();\n for (var i = 0; i < data.length; i++) {\n context.beginPath();\n context.setLineWidth(mapOption.borderWidth * opts.pixelRatio);\n context.setStrokeStyle(mapOption.borderColor);\n context.setFillStyle(hexToRgb(series[i].color, mapOption.fillOpacity));\n if (opts.tooltip) {\n if (opts.tooltip.index == i) {\n context.setStrokeStyle(mapOption.activeBorderColor);\n context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));\n }\n }\n var coorda = data[i].geometry.coordinates;\n for (var k = 0; k < coorda.length; k++) {\n coords = coorda[k];\n if (coords.length == 1) {\n coords = coords[0];\n }\n for (var j = 0; j < coords.length; j++) {\n point = coordinateToPoint(coords[j][1], coords[j][0], bounds, scale, xoffset, yoffset);\n if (j === 0) {\n context.beginPath();\n context.moveTo(point.x, point.y);\n } else {\n context.lineTo(point.x, point.y);\n }\n }\n context.fill();\n if (mapOption.border == true) {\n context.stroke();\n }\n }\n if (opts.dataLabel == true) {\n var centerPoint = data[i].properties.centroid;\n if (centerPoint) {\n point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);\n var fontSize = data[i].textSize || config.fontSize;\n var text = data[i].properties.name;\n context.beginPath();\n context.setFontSize(fontSize);\n context.setFillStyle(data[i].textColor || '#666666');\n context.fillText(text, point.x - measureText(text, fontSize) / 2, point.y + fontSize / 2);\n context.closePath();\n context.stroke();\n }\n }\n }\n opts.chartData.mapData = {\n bounds: bounds,\n scale: scale,\n xoffset: xoffset,\n yoffset: yoffset };\n\n drawToolTipBridge(opts, config, context, 1);\n context.draw();\n}\n\nfunction getWordCloudPoint(opts, type) {\n var points = opts.series.sort(function (a, b) {return parseInt(b.textSize) - parseInt(a.textSize);});\n switch (type) {\n case 'normal':\n for (var i = 0; i < points.length; i++) {\n var text = points[i].name;\n var tHeight = points[i].textSize;\n var tWidth = measureText(text, tHeight);\n var x = void 0,y = void 0;\n var area = void 0;\n var breaknum = 0;\n while (true) {\n breaknum++;\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];\n var isCollision = collisionNew(area, points, opts.width, opts.height);\n if (!isCollision) break;\n if (breaknum == 1000) {\n area = [-100, -100, -100, -100];\n break;\n }\n };\n points[i].area = area;\n }\n break;\n case 'vertical':var\n Spin = function Spin() {\n //获取均匀随机值,是否旋转,旋转的概率为(1-0.5)\n if (Math.random() > 0.7) {\n return true;\n } else {return false;};\n };;\n for (var _i23 = 0; _i23 < points.length; _i23++) {\n var _text = points[_i23].name;\n var _tHeight = points[_i23].textSize;\n var _tWidth = measureText(_text, _tHeight);\n var isSpin = Spin();\n var _x = void 0,_y = void 0,_area = void 0,areav = void 0;\n var _breaknum = 0;\n while (true) {\n _breaknum++;\n var _isCollision = void 0;\n if (isSpin) {\n _x = normalInt(-opts.width / 2, opts.width / 2, 5) - _tWidth / 2;\n _y = normalInt(-opts.height / 2, opts.height / 2, 5) + _tHeight / 2;\n _area = [_y - 5 - _tWidth + opts.width / 2, -_x - 5 + opts.height / 2, _y + 5 + opts.width / 2, -_x + _tHeight + 5 + opts.height / 2];\n areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-_x + _tHeight + 5 + opts.height / 2) - 5, opts.height / 2 - opts.width / 2 + (_y - 5 - _tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-_x + _tHeight + 5 + opts.height / 2) + _tHeight, opts.height / 2 - opts.width / 2 + (_y - 5 - _tWidth + opts.width / 2) + _tWidth + 5];\n _isCollision = collisionNew(areav, points, opts.height, opts.width);\n } else {\n _x = normalInt(-opts.width / 2, opts.width / 2, 5) - _tWidth / 2;\n _y = normalInt(-opts.height / 2, opts.height / 2, 5) + _tHeight / 2;\n _area = [_x - 5 + opts.width / 2, _y - 5 - _tHeight + opts.height / 2, _x + _tWidth + 5 + opts.width / 2, _y + 5 + opts.height / 2];\n _isCollision = collisionNew(_area, points, opts.width, opts.height);\n }\n if (!_isCollision) break;\n if (_breaknum == 1000) {\n _area = [-1000, -1000, -1000, -1000];\n break;\n }\n };\n if (isSpin) {\n points[_i23].area = areav;\n points[_i23].areav = _area;\n } else {\n points[_i23].area = _area;\n }\n points[_i23].rotate = isSpin;\n };\n break;}\n\n return points;\n}\n\n\nfunction drawWordCloudDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var wordOption = assign({}, {\n type: 'normal',\n autoColors: true },\n opts.extra.word);\n\n context.beginPath();\n context.setFillStyle(opts.background || '#FFFFFF');\n context.rect(0, 0, opts.width, opts.height);\n context.fill();\n context.save();\n var points = opts.chartData.wordCloudData;\n context.translate(opts.width / 2, opts.height / 2);\n\n for (var i = 0; i < points.length; i++) {\n context.save();\n if (points[i].rotate) {\n context.rotate(90 * Math.PI / 180);\n }\n var text = points[i].name;\n var tHeight = points[i].textSize;\n var tWidth = measureText(text, tHeight);\n context.beginPath();\n context.setStrokeStyle(points[i].color);\n context.setFillStyle(points[i].color);\n context.setFontSize(tHeight);\n if (points[i].rotate) {\n if (points[i].areav[0] > 0) {\n if (opts.tooltip) {\n if (opts.tooltip.index == i) {\n context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\n } else {\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\n }\n } else {\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\n }\n }\n } else {\n if (points[i].area[0] > 0) {\n if (opts.tooltip) {\n if (opts.tooltip.index == i) {\n context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\n } else {\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\n }\n } else {\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\n }\n\n }\n }\n\n context.stroke();\n context.restore();\n }\n context.restore();\n}\n\nfunction drawFunnelDataPoints(series, opts, config, context) {\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\n var funnelOption = assign({}, {\n activeWidth: 10,\n activeOpacity: 0.3,\n border: false,\n borderWidth: 2,\n borderColor: '#FFFFFF',\n fillOpacity: 1,\n labelAlign: 'right' },\n opts.extra.funnel);\n var eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;\n var centerPosition = {\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\n y: opts.height - opts.area[2] };\n\n var activeWidth = funnelOption.activeWidth;\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);\n series = getFunnelDataPoints(series, radius, process);\n context.save();\n context.translate(centerPosition.x, centerPosition.y);\n for (var i = 0; i < series.length; i++) {\n if (i == 0) {\n if (opts.tooltip) {\n if (opts.tooltip.index == i) {\n context.beginPath();\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\n context.moveTo(-activeWidth, 0);\n context.lineTo(-series[i].radius - activeWidth, -eachSpacing);\n context.lineTo(series[i].radius + activeWidth, -eachSpacing);\n context.lineTo(activeWidth, 0);\n context.lineTo(-activeWidth, 0);\n context.closePath();\n context.fill();\n }\n }\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing, centerPosition.x + series[i].radius, centerPosition.y];\n context.beginPath();\n context.setLineWidth(funnelOption.borderWidth * opts.pixelRatio);\n context.setStrokeStyle(funnelOption.borderColor);\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.fillOpacity));\n context.moveTo(0, 0);\n context.lineTo(-series[i].radius, -eachSpacing);\n context.lineTo(series[i].radius, -eachSpacing);\n context.lineTo(0, 0);\n context.closePath();\n context.fill();\n if (funnelOption.border == true) {\n context.stroke();\n }\n } else {\n if (opts.tooltip) {\n if (opts.tooltip.index == i) {\n context.beginPath();\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\n context.moveTo(0, 0);\n context.lineTo(-series[i - 1].radius - activeWidth, 0);\n context.lineTo(-series[i].radius - activeWidth, -eachSpacing);\n context.lineTo(series[i].radius + activeWidth, -eachSpacing);\n context.lineTo(series[i - 1].radius + activeWidth, 0);\n context.lineTo(0, 0);\n context.closePath();\n context.fill();\n }\n }\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[i].radius, centerPosition.y - eachSpacing * i];\n context.beginPath();\n context.setLineWidth(funnelOption.borderWidth * opts.pixelRatio);\n context.setStrokeStyle(funnelOption.borderColor);\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.fillOpacity));\n context.moveTo(0, 0);\n context.lineTo(-series[i - 1].radius, 0);\n context.lineTo(-series[i].radius, -eachSpacing);\n context.lineTo(series[i].radius, -eachSpacing);\n context.lineTo(series[i - 1].radius, 0);\n context.lineTo(0, 0);\n context.closePath();\n context.fill();\n if (funnelOption.border == true) {\n context.stroke();\n }\n }\n context.translate(0, -eachSpacing);\n }\n context.restore();\n\n if (opts.dataLabel !== false && process === 1) {\n drawFunnelText(series, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\n }\n\n return {\n center: centerPosition,\n radius: radius,\n series: series };\n\n}\n\nfunction drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\n for (var i = 0; i < series.length; i++) {\n var item = series[i];\n var startX = void 0,endX = void 0,startY = void 0,fontSize = void 0;\n var text = item.format ? item.format(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';\n if (labelAlign == 'right') {\n if (i == 0) {\n startX = (item.funnelArea[2] + centerPosition.x) / 2;\n } else {\n startX = (item.funnelArea[2] + series[i - 1].funnelArea[2]) / 2;\n }\n endX = startX + activeWidth * 2;\n startY = item.funnelArea[1] + eachSpacing / 2;\n fontSize = item.textSize || opts.fontSize;\n context.setLineWidth(1 * opts.pixelRatio);\n context.setStrokeStyle(item.color);\n context.setFillStyle(item.color);\n context.beginPath();\n context.moveTo(startX, startY);\n context.lineTo(endX, startY);\n context.stroke();\n context.closePath();\n context.beginPath();\n context.moveTo(endX, startY);\n context.arc(endX, startY, 2, 0, 2 * Math.PI);\n context.closePath();\n context.fill();\n context.beginPath();\n context.setFontSize(fontSize);\n context.setFillStyle(item.textColor || '#666666');\n context.fillText(text, endX + 5, startY + fontSize / 2 - 2);\n context.closePath();\n context.stroke();\n context.closePath();\n } else {\n if (i == 0) {\n startX = (item.funnelArea[0] + centerPosition.x) / 2;\n } else {\n startX = (item.funnelArea[0] + series[i - 1].funnelArea[0]) / 2;\n }\n endX = startX - activeWidth * 2;\n startY = item.funnelArea[1] + eachSpacing / 2;\n fontSize = item.textSize || opts.fontSize;\n context.setLineWidth(1 * opts.pixelRatio);\n context.setStrokeStyle(item.color);\n context.setFillStyle(item.color);\n context.beginPath();\n context.moveTo(startX, startY);\n context.lineTo(endX, startY);\n context.stroke();\n context.closePath();\n context.beginPath();\n context.moveTo(endX, startY);\n context.arc(endX, startY, 2, 0, 2 * Math.PI);\n context.closePath();\n context.fill();\n context.beginPath();\n context.setFontSize(fontSize);\n context.setFillStyle(item.textColor || '#666666');\n context.fillText(text, endX - 5 - measureText(text), startY + fontSize / 2 - 2);\n context.closePath();\n context.stroke();\n context.closePath();\n }\n\n }\n}\n\n\nfunction drawCanvas(opts, context) {\n context.draw();\n}\n\nvar Timing = {\n easeIn: function easeIn(pos) {\n return Math.pow(pos, 3);\n },\n easeOut: function easeOut(pos) {\n return Math.pow(pos - 1, 3) + 1;\n },\n easeInOut: function easeInOut(pos) {\n if ((pos /= 0.5) < 1) {\n return 0.5 * Math.pow(pos, 3);\n } else {\n return 0.5 * (Math.pow(pos - 2, 3) + 2);\n }\n },\n linear: function linear(pos) {\n return pos;\n } };\n\n\nfunction Animation(opts) {\n this.isStop = false;\n opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;\n opts.timing = opts.timing || 'linear';\n var delay = 17;\n\n function createAnimationFrame() {\n if (typeof setTimeout !== 'undefined') {\n return function (step, delay) {\n setTimeout(function () {\n var timeStamp = +new Date();\n step(timeStamp);\n }, delay);\n };\n } else if (typeof requestAnimationFrame !== 'undefined') {\n return requestAnimationFrame;\n } else {\n return function (step) {\n step(null);\n };\n }\n };\n var animationFrame = createAnimationFrame();\n var startTimeStamp = null;\n var _step = function step(timestamp) {\n if (timestamp === null || this.isStop === true) {\n opts.onProcess && opts.onProcess(1);\n opts.onAnimationFinish && opts.onAnimationFinish();\n return;\n }\n if (startTimeStamp === null) {\n startTimeStamp = timestamp;\n }\n if (timestamp - startTimeStamp < opts.duration) {\n var process = (timestamp - startTimeStamp) / opts.duration;\n var timingFunction = Timing[opts.timing];\n process = timingFunction(process);\n\n opts.onProcess && opts.onProcess(process);\n animationFrame(_step, delay);\n } else {\n opts.onProcess && opts.onProcess(1);\n opts.onAnimationFinish && opts.onAnimationFinish();\n }\n };\n _step = _step.bind(this);\n animationFrame(_step, delay);\n}\n\n// stop animation immediately\n// and tigger onAnimationFinish\nAnimation.prototype.stop = function () {\n this.isStop = true;\n};\n\nfunction drawCharts(type, opts, config, context) {\n var _this = this;\n var series = opts.series;\n var categories = opts.categories;\n series = fillSeries(series, opts, config);\n var duration = opts.animation ? opts.duration : 0;\n _this.animationInstance && _this.animationInstance.stop();\n var seriesMA = null;\n if (type == 'candle') {\n var average = assign({}, opts.extra.candle.average);\n if (average.show) {\n seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);\n seriesMA = fillSeries(seriesMA, opts, config);\n opts.seriesMA = seriesMA;\n } else if (opts.seriesMA) {\n seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);\n } else {\n seriesMA = series;\n }\n } else {\n seriesMA = series;\n }\n\n /* 过滤掉show=false的series */\n opts._series_ = series = filterSeries(series);\n\n //重新计算图表区域\n\n opts.area = new Array(4);\n //复位绘图区域\n for (var j = 0; j < 4; j++) {\n opts.area[j] = opts.padding[j];\n }\n\n //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域\n var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData),\n legendHeight = _calLegendData.area.wholeHeight,\n legendWidth = _calLegendData.area.wholeWidth;\n\n switch (opts.legend.position) {\n case 'top':\n opts.area[0] += legendHeight;\n break;\n case 'bottom':\n opts.area[2] += legendHeight;\n break;\n case 'left':\n opts.area[3] += legendWidth;\n break;\n case 'right':\n opts.area[1] += legendWidth;\n break;}\n\n\n var _calYAxisData = {},yAxisWidth = 0;\n if (opts.type === 'line' || opts.type === 'column' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle') {\n _calYAxisData = calYAxisData(series, opts, config);\n yAxisWidth = _calYAxisData.yAxisWidth;\n //如果显示Y轴标题\n if (opts.yAxis.showTitle) {\n var maxTitleHeight = 0;\n for (var i = 0; i < opts.yAxis.data.length; i++) {\n maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize : config.fontSize);\n }\n opts.area[0] += (maxTitleHeight + 6) * opts.pixelRatio;\n }\n var rightIndex = 0,leftIndex = 0;\n //计算主绘图区域左右位置\n for (var _i24 = 0; _i24 < yAxisWidth.length; _i24++) {\n if (yAxisWidth[_i24].position == 'left') {\n if (leftIndex > 0) {\n opts.area[3] += yAxisWidth[_i24].width + opts.yAxis.padding;\n } else {\n opts.area[3] += yAxisWidth[_i24].width;\n }\n leftIndex += 1;\n } else {\n if (rightIndex > 0) {\n opts.area[1] += yAxisWidth[_i24].width + opts.yAxis.padding;\n } else {\n opts.area[1] += yAxisWidth[_i24].width;\n }\n rightIndex += 1;\n }\n }\n } else {\n config.yAxisWidth = yAxisWidth;\n }\n opts.chartData.yAxisData = _calYAxisData;\n\n if (opts.categories && opts.categories.length) {\n opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);\n var _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing),\n xAxisHeight = _calCategoriesData.xAxisHeight,\n angle = _calCategoriesData.angle;\n config.xAxisHeight = xAxisHeight;\n config._xAxisTextAngle_ = angle;\n opts.area[2] += xAxisHeight;\n opts.chartData.categoriesData = _calCategoriesData;\n } else {\n if (opts.type === 'line' || opts.type === 'area' || opts.type === 'points') {\n opts.chartData.xAxisData = calXAxisData(series, opts, config);\n categories = opts.chartData.xAxisData.rangesFormat;\n var _calCategoriesData2 = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing),\n _xAxisHeight = _calCategoriesData2.xAxisHeight,\n _angle = _calCategoriesData2.angle;\n config.xAxisHeight = _xAxisHeight;\n config._xAxisTextAngle_ = _angle;\n opts.area[2] += _xAxisHeight;\n opts.chartData.categoriesData = _calCategoriesData2;\n } else {\n opts.chartData.xAxisData = {\n xAxisPoints: [] };\n\n }\n }\n //计算右对齐偏移距离\n if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {\n var offsetLeft = 0,\n xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\n startX = opts.chartData.xAxisData.startX,\n endX = opts.chartData.xAxisData.endX,\n eachSpacing = opts.chartData.xAxisData.eachSpacing;\n var totalWidth = eachSpacing * (xAxisPoints.length - 1);\n var screenWidth = endX - startX;\n offsetLeft = screenWidth - totalWidth;\n _this.scrollOption = {\n currentOffset: offsetLeft,\n startTouchX: offsetLeft,\n distance: 0,\n lastMoveTime: 0 };\n\n opts._scrollDistance_ = offsetLeft;\n }\n\n if (type === 'pie' || type === 'ring' || type === 'rose') {\n config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA);\n }\n\n switch (type) {\n case 'word':\n var wordOption = assign({}, {\n type: 'normal',\n autoColors: true },\n opts.extra.word);\n if (opts.updateData == true || opts.updateData == undefined) {\n opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type);\n }\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n drawWordCloudDataPoints(series, opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'map':\n context.clearRect(0, 0, opts.width, opts.height);\n drawMapDataPoints(series, opts, config, context);\n break;\n case 'funnel':\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'line':\n this.animationInstance = new Animation({\n timing: 'easeIn',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n drawYAxisGrid(categories, opts, config, context);\n drawXAxis(categories, opts, config, context);\n var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),\n xAxisPoints = _drawLineDataPoints.xAxisPoints,\n calPoints = _drawLineDataPoints.calPoints,\n eachSpacing = _drawLineDataPoints.eachSpacing;\n opts.chartData.xAxisPoints = xAxisPoints;\n opts.chartData.calPoints = calPoints;\n opts.chartData.eachSpacing = eachSpacing;\n drawYAxis(series, opts, config, context);\n if (opts.enableMarkLine !== false && process === 1) {\n drawMarkLine(opts, config, context);\n }\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\n drawCanvas(opts, context);\n\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'mix':\n this.animationInstance = new Animation({\n timing: 'easeIn',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n drawYAxisGrid(categories, opts, config, context);\n drawXAxis(categories, opts, config, context);\n var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),\n xAxisPoints = _drawMixDataPoints.xAxisPoints,\n calPoints = _drawMixDataPoints.calPoints,\n eachSpacing = _drawMixDataPoints.eachSpacing;\n opts.chartData.xAxisPoints = xAxisPoints;\n opts.chartData.calPoints = calPoints;\n opts.chartData.eachSpacing = eachSpacing;\n drawYAxis(series, opts, config, context);\n if (opts.enableMarkLine !== false && process === 1) {\n drawMarkLine(opts, config, context);\n }\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'column':\n this.animationInstance = new Animation({\n timing: 'easeIn',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n drawYAxisGrid(categories, opts, config, context);\n drawXAxis(categories, opts, config, context);\n var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),\n xAxisPoints = _drawColumnDataPoints.xAxisPoints,\n calPoints = _drawColumnDataPoints.calPoints,\n eachSpacing = _drawColumnDataPoints.eachSpacing;\n opts.chartData.xAxisPoints = xAxisPoints;\n opts.chartData.calPoints = calPoints;\n opts.chartData.eachSpacing = eachSpacing;\n drawYAxis(series, opts, config, context);\n if (opts.enableMarkLine !== false && process === 1) {\n drawMarkLine(opts, config, context);\n }\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'area':\n this.animationInstance = new Animation({\n timing: 'easeIn',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n drawYAxisGrid(categories, opts, config, context);\n drawXAxis(categories, opts, config, context);\n var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),\n xAxisPoints = _drawAreaDataPoints.xAxisPoints,\n calPoints = _drawAreaDataPoints.calPoints,\n eachSpacing = _drawAreaDataPoints.eachSpacing;\n opts.chartData.xAxisPoints = xAxisPoints;\n opts.chartData.calPoints = calPoints;\n opts.chartData.eachSpacing = eachSpacing;\n drawYAxis(series, opts, config, context);\n if (opts.enableMarkLine !== false && process === 1) {\n drawMarkLine(opts, config, context);\n }\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'ring':\n case 'pie':\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'rose':\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'radar':\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);\n drawLegend(opts.series, opts, config, context, opts.chartData);\n drawToolTipBridge(opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'arcbar':\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'gauge':\n this.animationInstance = new Animation({\n timing: 'easeInOut',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;\n case 'candle':\n this.animationInstance = new Animation({\n timing: 'easeIn',\n duration: duration,\n onProcess: function onProcess(process) {\n context.clearRect(0, 0, opts.width, opts.height);\n if (opts.rotate) {\n contextRotate(context, opts);\n }\n drawYAxisGrid(categories, opts, config, context);\n drawXAxis(categories, opts, config, context);\n var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),\n xAxisPoints = _drawCandleDataPoints.xAxisPoints,\n calPoints = _drawCandleDataPoints.calPoints,\n eachSpacing = _drawCandleDataPoints.eachSpacing;\n opts.chartData.xAxisPoints = xAxisPoints;\n opts.chartData.calPoints = calPoints;\n opts.chartData.eachSpacing = eachSpacing;\n drawYAxis(series, opts, config, context);\n if (opts.enableMarkLine !== false && process === 1) {\n drawMarkLine(opts, config, context);\n }\n if (seriesMA) {\n drawLegend(seriesMA, opts, config, context, opts.chartData);\n } else {\n drawLegend(opts.series, opts, config, context, opts.chartData);\n }\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\n drawCanvas(opts, context);\n },\n onAnimationFinish: function onAnimationFinish() {\n _this.event.trigger('renderComplete');\n } });\n\n break;}\n\n}\n\n// simple event implement\n\nfunction Event() {\n this.events = {};\n}\n\nEvent.prototype.addEventListener = function (type, listener) {\n this.events[type] = this.events[type] || [];\n this.events[type].push(listener);\n};\n\nEvent.prototype.trigger = function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var type = args[0];\n var params = args.slice(1);\n if (!!this.events[type]) {\n this.events[type].forEach(function (listener) {\n try {\n listener.apply(null, params);\n } catch (e) {\n __f__(\"error\", e, \" at pages/mine/uchart/u-charts.js:5120\");\n }\n });\n }\n};\n\nvar Charts = function Charts(opts) {\n opts.pixelRatio = opts.pixelRatio ? opts.pixelRatio : 1;\n opts.fontSize = opts.fontSize ? opts.fontSize * opts.pixelRatio : 13 * opts.pixelRatio;\n opts.title = assign({}, opts.title);\n opts.subtitle = assign({}, opts.subtitle);\n opts.duration = opts.duration ? opts.duration : 1000;\n opts.yAxis = assign({}, {\n data: [],\n showTitle: false,\n disabled: false,\n disableGrid: false,\n splitNumber: 5,\n gridType: 'solid',\n dashLength: 4 * opts.pixelRatio,\n gridColor: '#cccccc',\n padding: 10,\n fontColor: '#666666' },\n opts.yAxis);\n opts.yAxis.dashLength *= opts.pixelRatio;\n opts.yAxis.padding *= opts.pixelRatio;\n opts.xAxis = assign({}, {\n rotateLabel: false,\n type: 'calibration',\n gridType: 'solid',\n dashLength: 4,\n scrollAlign: 'left',\n boundaryGap: 'center',\n axisLine: true,\n axisLineColor: '#cccccc' },\n opts.xAxis);\n opts.xAxis.dashLength *= opts.pixelRatio;\n opts.legend = assign({}, {\n show: true,\n position: 'bottom',\n float: 'center',\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n padding: 5,\n margin: 5,\n itemGap: 10,\n fontSize: opts.fontSize,\n lineHeight: opts.fontSize,\n fontColor: '#333333',\n format: {},\n hiddenColor: '#CECECE' },\n opts.legend);\n opts.legend.borderWidth = opts.legend.borderWidth * opts.pixelRatio;\n opts.legend.itemGap = opts.legend.itemGap * opts.pixelRatio;\n opts.legend.padding = opts.legend.padding * opts.pixelRatio;\n opts.legend.margin = opts.legend.margin * opts.pixelRatio;\n opts.extra = assign({}, opts.extra);\n opts.rotate = opts.rotate ? true : false;\n opts.animation = opts.animation ? true : false;\n opts.rotate = opts.rotate ? true : false;\n\n var config$$1 = JSON.parse(JSON.stringify(config));\n config$$1.colors = opts.colors ? opts.colors : config$$1.colors;\n config$$1.yAxisTitleWidth = opts.yAxis.disabled !== true && opts.yAxis.title ? config$$1.yAxisTitleWidth : 0;\n if (opts.type == 'pie' || opts.type == 'ring') {\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pixelRatio || config$$1.pieChartLinePadding * opts.pixelRatio;\n }\n if (opts.type == 'rose') {\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pixelRatio || config$$1.pieChartLinePadding * opts.pixelRatio;\n }\n config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pixelRatio;\n config$$1.yAxisSplit = opts.yAxis.splitNumber ? opts.yAxis.splitNumber : config.yAxisSplit;\n\n //屏幕旋转\n config$$1.rotate = opts.rotate;\n if (opts.rotate) {\n var tempWidth = opts.width;\n var tempHeight = opts.height;\n opts.width = tempHeight;\n opts.height = tempWidth;\n }\n\n //适配高分屏\n opts.padding = opts.padding ? opts.padding : config$$1.padding;\n for (var i = 0; i < 4; i++) {\n opts.padding[i] *= opts.pixelRatio;\n }\n config$$1.yAxisWidth = config.yAxisWidth * opts.pixelRatio;\n config$$1.xAxisHeight = config.xAxisHeight * opts.pixelRatio;\n if (opts.enableScroll && opts.xAxis.scrollShow) {\n config$$1.xAxisHeight += 6 * opts.pixelRatio;\n }\n config$$1.xAxisLineHeight = config.xAxisLineHeight * opts.pixelRatio;\n config$$1.fontSize = opts.fontSize;\n config$$1.titleFontSize = config.titleFontSize * opts.pixelRatio;\n config$$1.subtitleFontSize = config.subtitleFontSize * opts.pixelRatio;\n config$$1.toolTipPadding = config.toolTipPadding * opts.pixelRatio;\n config$$1.toolTipLineHeight = config.toolTipLineHeight * opts.pixelRatio;\n config$$1.columePadding = config.columePadding * opts.pixelRatio;\n opts.$this = opts.$this ? opts.$this : this;\n\n this.context = uni.createCanvasContext(opts.canvasId, opts.$this);\n /* 兼容原生H5\r\n this.context = document.getElementById(opts.canvasId).getContext(\"2d\");\r\n this.context.setStrokeStyle = function(e){ return this.strokeStyle=e; }\r\n this.context.setLineWidth = function(e){ return this.lineWidth=e; }\r\n this.context.setLineCap = function(e){ return this.lineCap=e; }\r\n this.context.setFontSize = function(e){ return this.font=e+\"px sans-serif\"; }\r\n this.context.setFillStyle = function(e){ return this.fillStyle=e; }\r\n this.context.draw = function(){ }\r\n */\n\n opts.chartData = {};\n this.event = new Event();\n this.scrollOption = {\n currentOffset: 0,\n startTouchX: 0,\n distance: 0,\n lastMoveTime: 0 };\n\n\n this.opts = opts;\n this.config = config$$1;\n\n drawCharts.call(this, opts.type, opts, config$$1, this.context);\n};\n\nCharts.prototype.updateData = function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.opts = assign({}, this.opts, data);\n this.opts.updateData = true;\n var scrollPosition = data.scrollPosition || 'current';\n switch (scrollPosition) {\n case 'current':\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\n break;\n case 'left':\n this.opts._scrollDistance_ = 0;\n this.scrollOption = {\n currentOffset: 0,\n startTouchX: 0,\n distance: 0,\n lastMoveTime: 0 };\n\n break;\n case 'right':\n var _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config),\n yAxisWidth = _calYAxisData.yAxisWidth;\n this.config.yAxisWidth = yAxisWidth;\n var offsetLeft = 0;\n var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\n startX = _getXAxisPoints0.startX,\n endX = _getXAxisPoints0.endX,\n eachSpacing = _getXAxisPoints0.eachSpacing;\n var totalWidth = eachSpacing * (xAxisPoints.length - 1);\n var screenWidth = endX - startX;\n offsetLeft = screenWidth - totalWidth;\n this.scrollOption = {\n currentOffset: offsetLeft,\n startTouchX: offsetLeft,\n distance: 0,\n lastMoveTime: 0 };\n\n this.opts._scrollDistance_ = offsetLeft;\n break;}\n\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\n};\n\nCharts.prototype.zoom = function () {\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;\n if (this.opts.enableScroll !== true) {\n __f__(\"log\", '请启用滚动条后使用!', \" at pages/mine/uchart/u-charts.js:5294\");\n return;\n }\n //当前屏幕中间点\n var centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(\n this.opts.xAxis.itemCount / 2);\n this.opts.animation = false;\n this.opts.xAxis.itemCount = val.itemCount;\n //重新计算x轴偏移距离\n var _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config),\n yAxisWidth = _calYAxisData.yAxisWidth;\n this.config.yAxisWidth = yAxisWidth;\n var offsetLeft = 0;\n var _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\n startX = _getXAxisPoints0.startX,\n endX = _getXAxisPoints0.endX,\n eachSpacing = _getXAxisPoints0.eachSpacing;\n var centerLeft = eachSpacing * centerPoint;\n var screenWidth = endX - startX;\n var MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\n offsetLeft = screenWidth / 2 - centerLeft;\n if (offsetLeft > 0) {\n offsetLeft = 0;\n }\n if (offsetLeft < MaxLeft) {\n offsetLeft = MaxLeft;\n }\n this.scrollOption = {\n currentOffset: offsetLeft,\n startTouchX: offsetLeft,\n distance: 0,\n lastMoveTime: 0 };\n\n this.opts._scrollDistance_ = offsetLeft;\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\n};\n\nCharts.prototype.stopAnimation = function () {\n this.animationInstance && this.animationInstance.stop();\n};\n\nCharts.prototype.addEventListener = function (type, listener) {\n this.event.addEventListener(type, listener);\n};\n\nCharts.prototype.getCurrentDataIndex = function (e) {\n var touches = null;\n if (e.changedTouches) {\n touches = e.changedTouches[0];\n } else {\n touches = e.mp.changedTouches[0];\n }\n if (touches) {\n var _touches$ = getTouches(touches, this.opts, e);\n if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose') {\n return findPieChartCurrentIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts.chartData.pieData);\n } else if (this.opts.type === 'radar') {\n return findRadarChartCurrentIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts.chartData.radarData, this.opts.categories.length);\n } else if (this.opts.type === 'funnel') {\n return findFunnelChartCurrentIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts.chartData.funnelData);\n } else if (this.opts.type === 'map') {\n return findMapChartCurrentIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts);\n } else if (this.opts.type === 'word') {\n return findWordChartCurrentIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts.chartData.wordCloudData);\n } else {\n return findCurrentIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\n }\n }\n return -1;\n};\n\nCharts.prototype.getLegendDataIndex = function (e) {\n var touches = null;\n if (e.changedTouches) {\n touches = e.changedTouches[0];\n } else {\n touches = e.mp.changedTouches[0];\n }\n if (touches) {\n var _touches$ = getTouches(touches, this.opts, e);\n return findLegendIndex({\n x: _touches$.x,\n y: _touches$.y },\n this.opts.chartData.legendData);\n }\n return -1;\n};\n\nCharts.prototype.touchLegend = function (e) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var touches = null;\n if (e.changedTouches) {\n touches = e.changedTouches[0];\n } else {\n touches = e.mp.changedTouches[0];\n }\n if (touches) {\n var _touches$ = getTouches(touches, this.opts, e);\n var index = this.getLegendDataIndex(e);\n if (index >= 0) {\n this.opts.series[index].show = !this.opts.series[index].show;\n this.opts.animation = option.animation ? true : false;\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\n }\n }\n\n};\n\nCharts.prototype.showToolTip = function (e) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var touches = null;\n if (e.changedTouches) {\n touches = e.changedTouches[0];\n } else {\n touches = e.mp.changedTouches[0];\n }\n if (!touches) {\n __f__(\"log\", \"touchError\", \" at pages/mine/uchart/u-charts.js:5431\");\n }\n var _touches$ = getTouches(touches, this.opts, e);\n var currentOffset = this.scrollOption.currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset,\n animation: false });\n\n if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column') {\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\n if (index > -1) {\n var seriesData = getSeriesDataItem(this.opts.series, index);\n if (seriesData.length !== 0) {\n var _getToolTipData = getToolTipData(seriesData, this.opts.chartData.calPoints, index, this.opts.categories, option),\n textList = _getToolTipData.textList,\n offset = _getToolTipData.offset;\n offset.y = _touches$.y;\n opts.tooltip = {\n textList: option.textList ? option.textList : textList,\n offset: offset,\n option: option,\n index: index };\n\n }\n }\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n }\n if (this.opts.type === 'mix') {\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\n if (index > -1) {\n var currentOffset = this.scrollOption.currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset,\n animation: false });\n\n var seriesData = getSeriesDataItem(this.opts.series, index);\n if (seriesData.length !== 0) {\n var _getMixToolTipData = getMixToolTipData(seriesData, this.opts.chartData.calPoints, index, this.opts.categories, option),\n textList = _getMixToolTipData.textList,\n offset = _getMixToolTipData.offset;\n offset.y = _touches$.y;\n opts.tooltip = {\n textList: option.textList ? option.textList : textList,\n offset: offset,\n option: option,\n index: index };\n\n }\n }\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n }\n if (this.opts.type === 'candle') {\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\n if (index > -1) {\n var currentOffset = this.scrollOption.currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset,\n animation: false });\n\n var seriesData = getSeriesDataItem(this.opts.series, index);\n if (seriesData.length !== 0) {\n var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts.chartData.calPoints,\n index, this.opts.categories, this.opts.extra.candle, option),\n textList = _getToolTipData.textList,\n offset = _getToolTipData.offset;\n offset.y = _touches$.y;\n opts.tooltip = {\n textList: option.textList ? option.textList : textList,\n offset: offset,\n option: option,\n index: index };\n\n }\n }\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n }\n if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\n if (index > -1) {\n var currentOffset = this.scrollOption.currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset,\n animation: false });\n\n var seriesData = this.opts._series_[index];\n var textList = [{\n text: option.format ? option.format(seriesData) : seriesData.name + ': ' + seriesData.data,\n color: seriesData.color }];\n\n var offset = {\n x: _touches$.x,\n y: _touches$.y };\n\n opts.tooltip = {\n textList: option.textList ? option.textList : textList,\n offset: offset,\n option: option,\n index: index };\n\n }\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n }\n if (this.opts.type === 'map' || this.opts.type === 'word') {\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\n if (index > -1) {\n var currentOffset = this.scrollOption.currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset,\n animation: false });\n\n var seriesData = this.opts._series_[index];\n var textList = [{\n text: option.format ? option.format(seriesData) : seriesData.properties.name,\n color: seriesData.color }];\n\n var offset = {\n x: _touches$.x,\n y: _touches$.y };\n\n opts.tooltip = {\n textList: option.textList ? option.textList : textList,\n offset: offset,\n option: option,\n index: index };\n\n }\n opts.updateData = false;\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n }\n if (this.opts.type === 'radar') {\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\n if (index > -1) {\n var currentOffset = this.scrollOption.currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset,\n animation: false });\n\n var seriesData = getSeriesDataItem(this.opts.series, index);\n if (seriesData.length !== 0) {\n var textList = seriesData.map(function (item) {\n return {\n text: option.format ? option.format(item) : item.name + ': ' + item.data,\n color: item.color };\n\n });\n var offset = {\n x: _touches$.x,\n y: _touches$.y };\n\n opts.tooltip = {\n textList: option.textList ? option.textList : textList,\n offset: offset,\n option: option,\n index: index };\n\n }\n }\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n }\n};\n\nCharts.prototype.translate = function (distance) {\n this.scrollOption = {\n currentOffset: distance,\n startTouchX: distance,\n distance: 0,\n lastMoveTime: 0 };\n\n var opts = assign({}, this.opts, {\n _scrollDistance_: distance,\n animation: false });\n\n drawCharts.call(this, this.opts.type, opts, this.config, this.context);\n};\n\nCharts.prototype.scrollStart = function (e) {\n var touches = null;\n if (e.changedTouches) {\n touches = e.changedTouches[0];\n } else {\n touches = e.mp.changedTouches[0];\n }\n var _touches$ = getTouches(touches, this.opts, e);\n if (touches && this.opts.enableScroll === true) {\n this.scrollOption.startTouchX = _touches$.x;\n }\n};\n\nCharts.prototype.scroll = function (e) {\n if (this.scrollOption.lastMoveTime === 0) {\n this.scrollOption.lastMoveTime = Date.now();\n }\n var Limit = this.opts.extra.touchMoveLimit || 20;\n var currMoveTime = Date.now();\n var duration = currMoveTime - this.scrollOption.lastMoveTime;\n if (duration < Math.floor(1000 / Limit)) return;\n this.scrollOption.lastMoveTime = currMoveTime;\n var touches = null;\n if (e.changedTouches) {\n touches = e.changedTouches[0];\n } else {\n touches = e.mp.changedTouches[0];\n }\n if (touches && this.opts.enableScroll === true) {\n var _touches$ = getTouches(touches, this.opts, e);\n var _distance;\n _distance = _touches$.x - this.scrollOption.startTouchX;\n var currentOffset = this.scrollOption.currentOffset;\n var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);\n this.scrollOption.distance = _distance = validDistance - currentOffset;\n var opts = assign({}, this.opts, {\n _scrollDistance_: currentOffset + _distance,\n animation: false });\n\n drawCharts.call(this, opts.type, opts, this.config, this.context);\n return currentOffset + _distance;\n }\n};\n\nCharts.prototype.scrollEnd = function (e) {\n if (this.opts.enableScroll === true) {\n var _scrollOption = this.scrollOption,\n currentOffset = _scrollOption.currentOffset,\n distance = _scrollOption.distance;\n this.scrollOption.currentOffset = currentOffset + distance;\n this.scrollOption.distance = 0;\n }\n};\nif ( true && typeof module.exports === \"object\") {\n module.exports = Charts;\n //export default Charts;//建议使用nodejs的module导出方式,如报错请使用export方式导出\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS91Y2hhcnQvdS1jaGFydHMuanMiXSwibmFtZXMiOlsiY29uZmlnIiwieUF4aXNXaWR0aCIsInlBeGlzU3BsaXQiLCJ4QXhpc0hlaWdodCIsInhBeGlzTGluZUhlaWdodCIsImxlZ2VuZEhlaWdodCIsInlBeGlzVGl0bGVXaWR0aCIsInBhZGRpbmciLCJwaXhlbFJhdGlvIiwicm90YXRlIiwiY29sdW1lUGFkZGluZyIsImZvbnRTaXplIiwiZGF0YVBvaW50U2hhcGUiLCJjb2xvcnMiLCJwaWVDaGFydExpbmVQYWRkaW5nIiwicGllQ2hhcnRUZXh0UGFkZGluZyIsInhBeGlzVGV4dFBhZGRpbmciLCJ0aXRsZUNvbG9yIiwidGl0bGVGb250U2l6ZSIsInN1YnRpdGxlQ29sb3IiLCJzdWJ0aXRsZUZvbnRTaXplIiwidG9vbFRpcFBhZGRpbmciLCJ0b29sVGlwQmFja2dyb3VuZCIsInRvb2xUaXBPcGFjaXR5IiwidG9vbFRpcExpbmVIZWlnaHQiLCJyYWRhckxhYmVsVGV4dE1hcmdpbiIsImdhdWdlTGFiZWxUZXh0TWFyZ2luIiwiYXNzaWduIiwidGFyZ2V0IiwidmFyQXJncyIsIlR5cGVFcnJvciIsImxlbmd0aCIsImRlZXBBc3NpZ24iLCJvYmoxIiwib2JqMiIsImtleSIsInRvU3RyaW5nIiwiZm9yRWFjaCIsInZhbCIsInV0aWwiLCJ0b0ZpeGVkIiwibnVtIiwibGltaXQiLCJpc0Zsb2F0IiwiYXBwcm94aW1hdGVseUVxdWFsIiwibnVtMSIsIm51bTIiLCJNYXRoIiwiYWJzIiwiaXNTYW1lU2lnbiIsImlzU2FtZVhDb29yZGluYXRlQXJlYSIsInAxIiwicDIiLCJ4IiwiaXNDb2xsaXNpb24iLCJlbmQiLCJzdGFydCIsIndpZHRoIiwieSIsImhlaWdodCIsImZsYWciLCJnZXRINU9mZnNldCIsImUiLCJtcCIsImNoYW5nZWRUb3VjaGVzIiwicHVzaCIsIm9mZnNldFgiLCJvZmZzZXRZIiwiaGV4VG9SZ2IiLCJoZXhWYWx1ZSIsIm9wYyIsInJneCIsImhleCIsInJlcGxhY2UiLCJtIiwiciIsImciLCJiIiwicmdiIiwiZXhlYyIsInBhcnNlSW50IiwiZmluZFJhbmdlIiwidHlwZSIsImlzTmFOIiwiRXJyb3IiLCJtdWx0aXBsZSIsImNlaWwiLCJmbG9vciIsImNhbENhbmRsZU1BIiwiZGF5QXJyIiwibmFtZUFyciIsImNvbG9yQXJyIiwia2RhdGEiLCJzZXJpZXNUZW1wIiwiayIsInNlcmllc0l0ZW0iLCJkYXRhIiwibmFtZSIsImNvbG9yIiwiaSIsImxlbiIsInN1bSIsImoiLCJjYWxWYWxpZERpc3RhbmNlIiwic2VsZiIsImRpc3RhbmNlIiwiY2hhcnREYXRhIiwib3B0cyIsImRhdGFDaGFydEFyZWFXaWR0aCIsImFyZWEiLCJkYXRhQ2hhcnRXaWR0aCIsImVhY2hTcGFjaW5nIiwieEF4aXNEYXRhIiwieEF4aXNQb2ludHMiLCJ2YWxpZERpc3RhbmNlIiwiZXZlbnQiLCJ0cmlnZ2VyIiwiaXNJbkFuZ2xlUmFuZ2UiLCJhbmdsZSIsInN0YXJ0QW5nbGUiLCJlbmRBbmdsZSIsImFkanVzdCIsIlBJIiwiY2FsUm90YXRlVHJhbnNsYXRlIiwiaCIsInh2IiwieXYiLCJ0cmFuc1giLCJzcXJ0IiwidHJhbnNZIiwiY3JlYXRlQ3VydmVDb250cm9sUG9pbnRzIiwicG9pbnRzIiwiaXNOb3RNaWRkbGVQb2ludCIsIm1heCIsIm1pbiIsImlzTm90TWlkZGxlUG9pbnRYIiwiYSIsInBBeCIsInBBeSIsInBCeCIsInBCeSIsImxhc3QiLCJjdHJBIiwiY3RyQiIsImNvbnZlcnRDb29yZGluYXRlT3JpZ2luIiwiY2VudGVyIiwiYXZvaWRDb2xsaXNpb24iLCJvYmoiLCJmaWxsU2VyaWVzIiwic2VyaWVzIiwiaW5kZXgiLCJtYXAiLCJpdGVtIiwic2hvdyIsInBvaW50U2hhcGUiLCJsZWdlbmRTaGFwZSIsImdldERhdGFSYW5nZSIsIm1pbkRhdGEiLCJtYXhEYXRhIiwicmFuZ2UiLCJtaW5SYW5nZSIsIm1heFJhbmdlIiwibWVhc3VyZVRleHQiLCJ0ZXh0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiU3RyaW5nIiwic3BsaXQiLCJ0ZXN0IiwiZGF0YUNvbWJpbmUiLCJyZWR1Y2UiLCJjb25jYXQiLCJkYXRhQ29tYmluZVN0YWNrIiwiQXJyYXkiLCJnZXRUb3VjaGVzIiwidG91Y2hlcyIsImNsaWVudFgiLCJwYWdlWSIsImN1cnJlbnRUYXJnZXQiLCJvZmZzZXRUb3AiLCJnZXRTZXJpZXNEYXRhSXRlbSIsInN0eWxlIiwiZGlzYWJsZUxlZ2VuZCIsImZvcm1hdCIsImdldE1heFRleHRMaXN0TGVuZ3RoIiwibGlzdCIsImxlbmd0aExpc3QiLCJhcHBseSIsImdldFJhZGFyQ29vcmRpbmF0ZVNlcmllcyIsImVhY2hBbmdsZSIsIkNvb3JkaW5hdGVTZXJpZXMiLCJnZXRUb29sVGlwRGF0YSIsInNlcmllc0RhdGEiLCJjYWxQb2ludHMiLCJjYXRlZ29yaWVzIiwib3B0aW9uIiwidGV4dExpc3QiLCJ0aXRsZVRleHQiLCJ2YWxpZENhbFBvaW50cyIsIm9mZnNldCIsInJvdW5kIiwiZ2V0TWl4VG9vbFRpcERhdGEiLCJmaWx0ZXIiLCJnZXRDYW5kbGVUb29sVGlwRGF0YSIsImV4dHJhIiwidXBDb2xvciIsInVwRmlsbCIsImRvd25Db2xvciIsImRvd25GaWxsIiwidGV4dDAiLCJ0ZXh0MSIsInRleHQyIiwidGV4dDMiLCJ0ZXh0NCIsImZpbHRlclNlcmllcyIsInRlbXBTZXJpZXMiLCJmaW5kQ3VycmVudEluZGV4IiwiY3VycmVudFBvaW50cyIsImN1cnJlbnRJbmRleCIsInNwYWNpbmciLCJ4QXhpcyIsImJvdW5kYXJ5R2FwIiwiaXNJbkV4YWN0Q2hhcnRBcmVhIiwiZmluZExlZ2VuZEluZGV4IiwibGVnZW5kRGF0YSIsImlzSW5FeGFjdExlZ2VuZEFyZWEiLCJmaW5kUmFkYXJDaGFydEN1cnJlbnRJbmRleCIsInJhZGFyRGF0YSIsImNvdW50IiwiZWFjaEFuZ2xlQXJlYSIsImlzSW5FeGFjdFBpZUNoYXJ0QXJlYSIsInJhZGl1cyIsImZpeEFuZ2xlIiwiYXRhbjIiLCJhbmdsZUxpc3QiLCJyYW5nZVN0YXJ0IiwicmFuZ2VFbmQiLCJmaW5kRnVubmVsQ2hhcnRDdXJyZW50SW5kZXgiLCJmdW5uZWxEYXRhIiwiZnVubmVsQXJlYSIsImZpbmRXb3JkQ2hhcnRDdXJyZW50SW5kZXgiLCJ3b3JkRGF0YSIsImZpbmRNYXBDaGFydEN1cnJlbnRJbmRleCIsImNEYXRhIiwibWFwRGF0YSIsInRtcCIsInBvaW50VG9Db29yZGluYXRlIiwiYm91bmRzIiwic2NhbGUiLCJ4b2Zmc2V0IiwieW9mZnNldCIsInBvaSIsImdlb21ldHJ5IiwiY29vcmRpbmF0ZXMiLCJpc1BvaVdpdGhpblBvbHkiLCJmaW5kUGllQ2hhcnRDdXJyZW50SW5kZXgiLCJwaWVEYXRhIiwiX3N0YXJ0XyIsIl9wcm9wb3J0aW9uXyIsInBvdyIsInNwbGl0UG9pbnRzIiwibmV3UG9pbnRzIiwiaXRlbXMiLCJjYWxMZWdlbmREYXRhIiwid2hvbGVXaWR0aCIsIndob2xlSGVpZ2h0Iiwid2lkdGhBcnIiLCJoZWlnaHRBcnIiLCJsZWdlbmQiLCJtYXJnaW4iLCJzaGFwZVdpZHRoIiwic2hhcGVSaWdodCIsImxpbmVIZWlnaHQiLCJwb3NpdGlvbiIsImxlZ2VuZExpc3QiLCJ3aWR0aENvdW50Iiwid2lkdGhDb3VudEFyciIsImN1cnJlbnRSb3ciLCJpdGVtV2lkdGgiLCJpdGVtR2FwIiwibGVnZW5kV2lkdGgiLCJmbG9hdCIsIm1heEhlaWdodCIsIm1heExlbmd0aCIsImxpbmVOdW0iLCJ0ZW1wIiwic2xpY2UiLCJtYXhXaWR0aCIsImNhbENhdGVnb3JpZXNEYXRhIiwicmVzdWx0IiwiY2F0ZWdvcmllc1RleHRMZW50aCIsIm1heFRleHRMZW5ndGgiLCJyb3RhdGVMYWJlbCIsInNpbiIsImdldFhBeGlzVGV4dExpc3QiLCJzb3J0ZWQiLCJjb25zdHJ1Y3RvciIsImluZGV4T2YiLCJ2YWx1ZSIsInN1Yml0ZW0iLCJyYW5nZVNwYW4iLCJlYWNoUmFuZ2UiLCJzcGxpdE51bWJlciIsImNhbFhBeGlzRGF0YSIsInJhbmdlcyIsInJhbmdlc0Zvcm1hdCIsInhBeGlzU2NhbGVWYWx1ZXMiLCJOdW1iZXIiLCJPYmplY3QiLCJnZXRYQXhpc1BvaW50cyIsInRleHRMZW5ndGgiLCJkaXNhYmxlZCIsImdldFJhZGFyRGF0YVBvaW50cyIsInByb2Nlc3MiLCJyYWRhck9wdGlvbiIsInJhZGFyIiwiZWFjaCIsImxpc3RJdGVtIiwicHJvcG9ydGlvbiIsImNvcyIsImdldFBpZURhdGFQb2ludHMiLCJfcmFkaXVzXyIsImdldEZ1bm5lbERhdGFQb2ludHMiLCJzb3J0IiwicmV2ZXJzZSIsImdldFJvc2VEYXRhUG9pbnRzIiwibWluUmFkaXVzIiwiZGF0YUFyciIsInJhZGl1c0xlbmd0aCIsIl9yb3NlX3Byb3BvcnRpb25fIiwiZ2V0QXJjYmFyRGF0YVBvaW50cyIsImFyY2Jhck9wdGlvbiIsInRvdGFsQW5nbGUiLCJnZXRHYXVnZUF4aXNQb2ludHMiLCJ0ZW1wU3RhcnRBbmdsZSIsIl9zdGFydEFuZ2xlXyIsIl9lbmRBbmdsZV8iLCJnZXRHYXVnZURhdGFQb2ludHMiLCJnYXVnZU9wdGlvbiIsInBvaW50ZXIiLCJfb2xkQW5nbGVfIiwib2xkQW5nbGUiLCJvbGREYXRhIiwiZ2V0UGllVGV4dE1heExlbmd0aCIsImZpeENvbHVtZURhdGEiLCJjb2x1bW5MZW4iLCJjb2x1bW4iLCJmaXhDb2x1bWVNZXRlckRhdGEiLCJib3JkZXIiLCJmaXhDb2x1bWVTdGFja0RhdGEiLCJpbmRleG4iLCJzcGFjaW5nVmFsaWQiLCJkYXRhQ291bnQiLCJlbmFibGVTY3JvbGwiLCJpdGVtQ291bnQiLCJzdGFydFgiLCJlbmRYIiwiZ2V0Q2FuZGxlRGF0YVBvaW50cyIsInZhbGlkSGVpZ2h0IiwiY1BvaW50cyIsImluZGV4cyIsInBvaW50IiwiZ2V0RGF0YVBvaW50cyIsInZhbGlkV2lkdGgiLCJ4cmFuZ2VzIiwieG1pblJhbmdlIiwieG1heFJhbmdlIiwic2hpZnQiLCJwb3AiLCJnZXRTdGFja0RhdGFQb2ludHMiLCJzZXJpZXNJbmRleCIsInN0YWNrU2VyaWVzIiwidmFsdWUwIiwiaGVpZ2h0MCIsImhlaWdodGMiLCJ5MCIsImdldFlBeGlzVGV4dExpc3QiLCJzdGFjayIsInlBeGlzIiwiZGF0YVJhbmdlIiwiY2FsWUF4aXNEYXRhIiwiY29sdW1uc3R5bGUiLCJZTGVuZ3RoIiwibmV3U2VyaWVzIiwicmFuZ2VzQXJyIiwicmFuZ2VzRm9ybWF0QXJyIiwieUF4aXNXaWR0aEFyciIsInlEYXRhIiwieUF4aXNGb250U2l6ZXMiLCJjYWxpYnJhdGlvbiIsInlBeGlzRm9udFNpemUiLCJjYWxUb29sdGlwWUF4aXNEYXRhIiwieUF4aXNEYXRhIiwibWluQXhpcyIsIm1heFZhbCIsIm1pblZhbCIsImNhbE1hcmtMaW5lRGF0YSIsInlBeGlzSW5kZXgiLCJjb250ZXh0Um90YXRlIiwiY29udGV4dCIsInJvdGF0ZUxvY2siLCJ0cmFuc2xhdGUiLCJfcm90YXRlXyIsImRyYXdQb2ludFNoYXBlIiwic2hhcGUiLCJiZWdpblBhdGgiLCJkYXRhUG9pbnRTaGFwZVR5cGUiLCJzZXRTdHJva2VTdHlsZSIsInNldEZpbGxTdHlsZSIsImJhY2tncm91bmQiLCJzZXRMaW5lV2lkdGgiLCJtb3ZlVG8iLCJsaW5lVG8iLCJhcmMiLCJyZWN0IiwiY2xvc2VQYXRoIiwiZmlsbCIsInN0cm9rZSIsImRyYXdSaW5nVGl0bGUiLCJ0aXRsZWZvbnRTaXplIiwidGl0bGUiLCJzdWJ0aXRsZWZvbnRTaXplIiwic3VidGl0bGUiLCJ0aXRsZUZvbnRDb2xvciIsInN1YnRpdGxlRm9udENvbG9yIiwidGl0bGVIZWlnaHQiLCJzdWJ0aXRsZUhlaWdodCIsInRleHRXaWR0aCIsInN0YXJ0WSIsInNldEZvbnRTaXplIiwiZmlsbFRleHQiLCJfdGV4dFdpZHRoIiwiX3N0YXJ0WCIsIl9zdGFydFkiLCJkcmF3UG9pbnRUZXh0IiwidGV4dFNpemUiLCJ0ZXh0Q29sb3IiLCJmb3JtYXRWYWwiLCJkcmF3R2F1Z2VMYWJlbCIsImNlbnRlclBvc2l0aW9uIiwic3BsaXRBbmdsZSIsInNwbGl0TGluZSIsInRvdGFsTnVtYmVyIiwiZW5kTnVtYmVyIiwic3RhcnROdW1iZXIiLCJub3dBbmdsZSIsIm5vd051bWJlciIsInBvcyIsImxhYmVsVGV4dCIsImxhYmVsRm9ybWF0IiwibGFiZWxDb2xvciIsImRyYXdSYWRhckxhYmVsIiwicG9zUmVsYXRpdmVDYW52YXMiLCJkcmF3UGllVGV4dCIsImxpbmVSYWRpdXMiLCJ0ZXh0T2JqZWN0Q29sbGVjdGlvbiIsImxhc3RUZXh0T2JqZWN0Iiwic2VyaWVzQ29udmVydCIsIm9yZ2luWDEiLCJvcmdpblkxIiwib3JnaW5YMiIsIm9yZ2luWTIiLCJvcmdpblgzIiwib3JnaW5ZMyIsInRleHRPYmplY3QiLCJsaW5lU3RhcnQiLCJsaW5lRW5kIiwibGluZVN0YXJ0UG9pc3Rpb24iLCJsaW5lRW5kUG9pc3Rpb24iLCJ0ZXh0UG9zaXRpb24iLCJjdXJ2ZVN0YXJ0WCIsInRleHRTdGFydFgiLCJxdWFkcmF0aWNDdXJ2ZVRvIiwiZHJhd1Rvb2xUaXBTcGxpdExpbmUiLCJ0b29sVGlwT3B0aW9uIiwidG9vbHRpcCIsImdyaWRUeXBlIiwiZGFzaExlbmd0aCIsImVuZFkiLCJzZXRMaW5lRGFzaCIsImdyaWRDb2xvciIsInhBeGlzTGFiZWwiLCJ0ZXh0WCIsInRleHRZIiwibGFiZWxCZ0NvbG9yIiwibGFiZWxCZ09wYWNpdHkiLCJsYWJlbEZvbnRDb2xvciIsImZvbnRDb2xvciIsImRyYXdNYXJrTGluZSIsIm1hcmtMaW5lT3B0aW9uIiwibWFya0xpbmUiLCJsaW5lQ29sb3IiLCJzaG93TGFiZWwiLCJiZ1N0YXJ0WCIsImJnRW5kWCIsImJnV2lkdGgiLCJkcmF3VG9vbFRpcEhvcml6ZW50YWxMaW5lIiwieUF4aXNMYWJlbCIsInRTdGFydExlZnQiLCJ0U3RhcnRSaWdodCIsImRyYXdUb29sVGlwU3BsaXRBcmVhIiwiYWN0aXZlQmdDb2xvciIsImFjdGl2ZUJnT3BhY2l0eSIsImRyYXdUb29sVGlwIiwic2hvd0JveCIsImJnQ29sb3IiLCJiZ09wYWNpdHkiLCJsZWdlbmRNYXJnaW5SaWdodCIsImFycm93V2lkdGgiLCJpc092ZXJSaWdodEJvcmRlciIsInRvb2xUaXBXaWR0aCIsInRvb2xUaXBIZWlnaHQiLCJfc2Nyb2xsRGlzdGFuY2VfIiwiZmlsbFJlY3QiLCJkcmF3WUF4aXNUaXRsZSIsInNhdmUiLCJyZXN0b3JlIiwiZHJhd0NvbHVtbkRhdGFQb2ludHMiLCJjb2x1bW5PcHRpb24iLCJtZXRlciIsImZpbGxDb2xvciIsImxlZnROdW0iLCJyaWdodE51bSIsImVhY2hTZXJpZXMiLCJ0b29sdGlwUG9pbnRzIiwiZGF0YUxhYmVsIiwiZHJhd0NhbmRsZURhdGFQb2ludHMiLCJzZXJpZXNNQSIsImNhbmRsZU9wdGlvbiIsImF2ZXJhZ2UiLCJjYW5kbGUiLCJ1cExpbmUiLCJkb3duTGluZSIsImRheSIsImxlZnRTcGFjZSIsInJpZ2h0U3BhY2UiLCJzcGxpdFBvaW50TGlzdCIsInN0YXJ0UG9pbnQiLCJjdHJsUG9pbnQiLCJiZXppZXJDdXJ2ZVRvIiwiZHJhd0FyZWFEYXRhUG9pbnRzIiwiYXJlYU9wdGlvbiIsIm9wYWNpdHkiLCJhZGRMaW5lIiwiZ3JhZGllbnQiLCJjcmVhdGVMaW5lYXJHcmFkaWVudCIsImFkZENvbG9yU3RvcCIsImZpcnN0UG9pbnQiLCJsYXN0UG9pbnQiLCJsaW5lVHlwZSIsImRyYXdMaW5lRGF0YVBvaW50cyIsImxpbmVPcHRpb24iLCJsaW5lIiwiZHJhd01peERhdGFQb2ludHMiLCJjb2x1bW5JbmRleCIsImNvbHVtbkxlbmd0aCIsImFkZFBvaW50IiwiZHJhd1Rvb2xUaXBCcmlkZ2UiLCJob3JpemVudGFsTGluZSIsImRyYXdYQXhpcyIsInNjcm9sbFNob3ciLCJzY3JvbGxZIiwic2Nyb2xsU2NyZWVuV2lkdGgiLCJzY3JvbGxUb3RhbFdpZHRoIiwic2Nyb2xsV2lkdGgiLCJzY3JvbGxMZWZ0Iiwic2V0TGluZUNhcCIsInNjcm9sbEJhY2tncm91bmRDb2xvciIsInNjcm9sbENvbG9yIiwiZGlzYWJsZUdyaWQiLCJncmlkRXZhbCIsIm1heFhBeGlzTGlzdExlbmd0aCIsImxhYmVsQ291bnQiLCJyYXRpbyIsIm5ld0NhdGVnb3JpZXMiLCJjZ0xlbmd0aCIsInhBeGlzRm9udFNpemUiLCJfeEF4aXNUZXh0QW5nbGVfIiwic2Nyb2xsSGVpZ2h0IiwiX2NhbFJvdGF0ZVRyYW5zbGF0ZSIsImF4aXNMaW5lIiwiYXhpc0xpbmVDb2xvciIsImRyYXdZQXhpc0dyaWQiLCJ4QXhpc2VhY2hTcGFjaW5nIiwiVG90YWxXaWR0aCIsImRyYXdZQXhpcyIsImZpbGxFbmRZIiwic2hvd1RpdGxlIiwiZHJhd0xlZ2VuZCIsImxlZ2VuZEFyZWEiLCJib3JkZXJXaWR0aCIsImJvcmRlckNvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiaXRlbUxpc3QiLCJsaXN0SW5kZXgiLCJoaWRkZW5Db2xvciIsImZvbnRUcmFucyIsImRyYXdQaWVEYXRhUG9pbnRzIiwicGllT3B0aW9uIiwiYWN0aXZlT3BhY2l0eSIsImFjdGl2ZVJhZGl1cyIsIm9mZnNldEFuZ2xlIiwibGFiZWxXaWR0aCIsInJpbmdXaWR0aCIsInBpZSIsIl9waWVUZXh0TWF4TGVuZ3RoXyIsImxpbmVKb2luIiwiaW5uZXJQaWVXaWR0aCIsInZhbGlkIiwiZHJhd1Jvc2VEYXRhUG9pbnRzIiwicm9zZU9wdGlvbiIsInJvc2UiLCJkcmF3QXJjYmFyRGF0YVBvaW50cyIsImdhcCIsImFyY2JhciIsImRyYXdHYXVnZURhdGFQb2ludHMiLCJmaXhSYWRpdXMiLCJjaGlsZE51bWJlciIsImNoaWxkV2lkdGgiLCJnYXVnZSIsImlubmVyUmFkaXVzIiwicGllUmFkaXVzIiwiY2hpbGRBbmdsZSIsInByb2MiLCJwb2ludGVyUmFkaXVzIiwiZ3JhZGllbnQzIiwiZWFjaENhdGVnb3JpZXMiLCJjaGlsZGVuZFgiLCJkcmF3UmFkYXJEYXRhUG9pbnRzIiwiZ3JpZENvdW50IiwiY29vcmRpbmF0ZUFuZ2xlIiwiX2xvb3AiLCJzdGFydFBvcyIsInJhZGFyRGF0YVBvaW50cyIsIm5vcm1hbEludCIsIml0ZXIiLCJhcnIiLCJyYW5kb20iLCJjb2xsaXNpb25OZXciLCJpc0luIiwiZ2V0Qm91bmRpbmdCb3giLCJjb29yZHMiLCJ4TWluIiwieE1heCIsInlNaW4iLCJ5TWF4IiwiY29vcmRhIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJjb29yZGluYXRlVG9Qb2ludCIsInBvaW50WSIsInBvaW50WCIsImlzUmF5SW50ZXJzZWN0c1NlZ21lbnQiLCJzX3BvaSIsImVfcG9pIiwieHNlZyIsInBvbHkiLCJzaW5zYyIsImVwb2x5IiwiZHJhd01hcERhdGFQb2ludHMiLCJtYXBPcHRpb24iLCJmaWxsT3BhY2l0eSIsImFjdGl2ZUJvcmRlckNvbG9yIiwiYWN0aXZlRmlsbENvbG9yIiwiYWN0aXZlRmlsbE9wYWNpdHkiLCJ4U2NhbGUiLCJ5U2NhbGUiLCJjbGVhclJlY3QiLCJjZW50ZXJQb2ludCIsInByb3BlcnRpZXMiLCJjZW50cm9pZCIsImRyYXciLCJnZXRXb3JkQ2xvdWRQb2ludCIsInRIZWlnaHQiLCJ0V2lkdGgiLCJicmVha251bSIsIlNwaW4iLCJpc1NwaW4iLCJhcmVhdiIsImRyYXdXb3JkQ2xvdWREYXRhUG9pbnRzIiwid29yZE9wdGlvbiIsImF1dG9Db2xvcnMiLCJ3b3JkIiwid29yZENsb3VkRGF0YSIsInN0cm9rZVRleHQiLCJkcmF3RnVubmVsRGF0YVBvaW50cyIsImZ1bm5lbE9wdGlvbiIsImFjdGl2ZVdpZHRoIiwibGFiZWxBbGlnbiIsImZ1bm5lbCIsImRyYXdGdW5uZWxUZXh0IiwiZHJhd0NhbnZhcyIsIlRpbWluZyIsImVhc2VJbiIsImVhc2VPdXQiLCJlYXNlSW5PdXQiLCJsaW5lYXIiLCJBbmltYXRpb24iLCJpc1N0b3AiLCJkdXJhdGlvbiIsInRpbWluZyIsImRlbGF5IiwiY3JlYXRlQW5pbWF0aW9uRnJhbWUiLCJzZXRUaW1lb3V0Iiwic3RlcCIsInRpbWVTdGFtcCIsIkRhdGUiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJhbmltYXRpb25GcmFtZSIsInN0YXJ0VGltZVN0YW1wIiwiX3N0ZXAiLCJ0aW1lc3RhbXAiLCJvblByb2Nlc3MiLCJvbkFuaW1hdGlvbkZpbmlzaCIsInRpbWluZ0Z1bmN0aW9uIiwiYmluZCIsInByb3RvdHlwZSIsInN0b3AiLCJkcmF3Q2hhcnRzIiwiX3RoaXMiLCJhbmltYXRpb24iLCJhbmltYXRpb25JbnN0YW5jZSIsIl9zZXJpZXNfIiwiX2NhbExlZ2VuZERhdGEiLCJfY2FsWUF4aXNEYXRhIiwibWF4VGl0bGVIZWlnaHQiLCJyaWdodEluZGV4IiwibGVmdEluZGV4IiwiX2NhbENhdGVnb3JpZXNEYXRhIiwiY2F0ZWdvcmllc0RhdGEiLCJzY3JvbGxBbGlnbiIsIm9mZnNldExlZnQiLCJ0b3RhbFdpZHRoIiwic2NyZWVuV2lkdGgiLCJzY3JvbGxPcHRpb24iLCJjdXJyZW50T2Zmc2V0Iiwic3RhcnRUb3VjaFgiLCJsYXN0TW92ZVRpbWUiLCJ1cGRhdGVEYXRhIiwiX2RyYXdMaW5lRGF0YVBvaW50cyIsImVuYWJsZU1hcmtMaW5lIiwiX2RyYXdNaXhEYXRhUG9pbnRzIiwiX2RyYXdDb2x1bW5EYXRhUG9pbnRzIiwiX2RyYXdBcmVhRGF0YVBvaW50cyIsImFyY2JhckRhdGEiLCJnYXVnZURhdGEiLCJfZHJhd0NhbmRsZURhdGFQb2ludHMiLCJFdmVudCIsImV2ZW50cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJsaXN0ZW5lciIsIl9sZW4iLCJhcmdzIiwiX2tleSIsInBhcmFtcyIsIkNoYXJ0cyIsImNvbmZpZyQkMSIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsInRlbXBXaWR0aCIsInRlbXBIZWlnaHQiLCIkdGhpcyIsInVuaSIsImNyZWF0ZUNhbnZhc0NvbnRleHQiLCJjYW52YXNJZCIsImNhbGwiLCJzY3JvbGxQb3NpdGlvbiIsIl9nZXRYQXhpc1BvaW50czAiLCJ6b29tIiwiY2VudGVyTGVmdCIsIk1heExlZnQiLCJzdG9wQW5pbWF0aW9uIiwiZ2V0Q3VycmVudERhdGFJbmRleCIsIl90b3VjaGVzJCIsImdldExlZ2VuZERhdGFJbmRleCIsInRvdWNoTGVnZW5kIiwic2hvd1Rvb2xUaXAiLCJfZ2V0VG9vbFRpcERhdGEiLCJfZ2V0TWl4VG9vbFRpcERhdGEiLCJzY3JvbGxTdGFydCIsInNjcm9sbCIsIm5vdyIsIkxpbWl0IiwidG91Y2hNb3ZlTGltaXQiLCJjdXJyTW92ZVRpbWUiLCJfZGlzdGFuY2UiLCJzY3JvbGxFbmQiLCJfc2Nyb2xsT3B0aW9uIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJhOztBQUViLElBQUlBLE1BQU0sR0FBRztBQUNYQyxZQUFVLEVBQUUsRUFERDtBQUVYQyxZQUFVLEVBQUUsQ0FGRDtBQUdYQyxhQUFXLEVBQUUsRUFIRjtBQUlYQyxpQkFBZSxFQUFFLEVBSk47QUFLWEMsY0FBWSxFQUFFLEVBTEg7QUFNWEMsaUJBQWUsRUFBRSxFQU5OO0FBT1hDLFNBQU8sRUFBRSxDQUFDLEVBQUQsRUFBSyxFQUFMLEVBQVMsRUFBVCxFQUFhLEVBQWIsQ0FQRTtBQVFYQyxZQUFVLEVBQUUsQ0FSRDtBQVNYQyxRQUFNLEVBQUUsS0FURztBQVVYQyxlQUFhLEVBQUUsQ0FWSjtBQVdYQyxVQUFRLEVBQUUsRUFYQztBQVlYO0FBQ0FDLGdCQUFjLEVBQUUsQ0FBQyxRQUFELEVBQVcsUUFBWCxFQUFxQixRQUFyQixFQUErQixRQUEvQixDQWJMO0FBY1hDLFFBQU0sRUFBRSxDQUFDLFNBQUQsRUFBWSxTQUFaLEVBQXVCLFNBQXZCLEVBQWtDLFNBQWxDLEVBQTZDLFNBQTdDLEVBQXdELFNBQXhELENBZEc7QUFlWEMscUJBQW1CLEVBQUUsRUFmVjtBQWdCWEMscUJBQW1CLEVBQUUsQ0FoQlY7QUFpQlhDLGtCQUFnQixFQUFFLENBakJQO0FBa0JYQyxZQUFVLEVBQUUsU0FsQkQ7QUFtQlhDLGVBQWEsRUFBRSxFQW5CSjtBQW9CWEMsZUFBYSxFQUFFLFNBcEJKO0FBcUJYQyxrQkFBZ0IsRUFBRSxFQXJCUDtBQXNCWEMsZ0JBQWMsRUFBRSxDQXRCTDtBQXVCWEMsbUJBQWlCLEVBQUUsU0F2QlI7QUF3QlhDLGdCQUFjLEVB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QjtBQUdBLFNBQUtxbkIsWUFBTCxDQUFrQkMsYUFBbEIsR0FBa0NBLGFBQWEsR0FBR3RuQixRQUFsRDtBQUNBLFNBQUtxbkIsWUFBTCxDQUFrQnJuQixRQUFsQixHQUE2QixDQUE3QjtBQUNEO0FBQ0YsQ0FSRDtBQVNBLElBQUksU0FBOEIsT0FBTzRxQixNQUFNLENBQUNDLE9BQWQsS0FBMEIsUUFBNUQsRUFBc0U7QUFDcEVELFFBQU0sQ0FBQ0MsT0FBUCxHQUFpQm5DLE1BQWpCO0FBQ0E7QUFDRCxDIiwiZmlsZSI6IjE5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogdUNoYXJ0cyB2MS45LjQuMjAyMDAzMzFcclxuICogdW5pLWFwcOW5s+WPsOmrmOaAp+iDvei3qOWFqOerr+WbvuihqO+8jOaUr+aMgUg144CBQVBQ44CB5bCP56iL5bqP77yI5b6u5L+hL+aUr+S7mOWunS/nmb7luqYv5aS05p2hL1FRLzM2MO+8iVxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTkgUUlVTueni+S6kSBodHRwczovL3d3dy51Y2hhcnRzLmNuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbiAqIExpY2Vuc2VkICggaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIClcclxuICogXHJcbiAqIHVDaGFydHPlrpjmlrnnvZHnq5lcclxuICogaHR0cHM6Ly93d3cudUNoYXJ0cy5jblxyXG4gKiBcclxuICog5byA5rqQ5Zyw5Z2AOlxyXG4gKiBodHRwczovL2dpdGVlLmNvbS91Q2hhcnRzL3VDaGFydHNcclxuICogXHJcbiAqIHVuaS1hcHDmj5Lku7bluILlnLrlnLDlnYDvvJpcclxuICogaHR0cDovL2V4dC5kY2xvdWQubmV0LmNuL3BsdWdpbj9pZD0yNzFcclxuICogXHJcbiAqL1xyXG5cclxuJ3VzZSBzdHJpY3QnO1xyXG5cclxudmFyIGNvbmZpZyA9IHtcclxuICB5QXhpc1dpZHRoOiAxNSxcclxuICB5QXhpc1NwbGl0OiA1LFxyXG4gIHhBeGlzSGVpZ2h0OiAxNSxcclxuICB4QXhpc0xpbmVIZWlnaHQ6IDE1LFxyXG4gIGxlZ2VuZEhlaWdodDogMTUsXHJcbiAgeUF4aXNUaXRsZVdpZHRoOiAxNSxcclxuICBwYWRkaW5nOiBbMTAsIDEwLCAxMCwgMTBdLFxyXG4gIHBpeGVsUmF0aW86IDEsXHJcbiAgcm90YXRlOiBmYWxzZSxcclxuICBjb2x1bWVQYWRkaW5nOiAzLFxyXG4gIGZvbnRTaXplOiAxMyxcclxuICAvL2RhdGFQb2ludFNoYXBlOiBbJ2RpYW1vbmQnLCAnY2lyY2xlJywgJ3RyaWFuZ2xlJywgJ3JlY3QnXSxcclxuICBkYXRhUG9pbnRTaGFwZTogWydjaXJjbGUnLCAnY2lyY2xlJywgJ2NpcmNsZScsICdjaXJjbGUnXSxcclxuICBjb2xvcnM6IFsnIzE4OTBmZicsICcjMmZjMjViJywgJyNmYWNjMTQnLCAnI2YwNDg2NCcsICcjODU0M2UwJywgJyM5MGVkN2QnXSxcclxuICBwaWVDaGFydExpbmVQYWRkaW5nOiAxNSxcclxuICBwaWVDaGFydFRleHRQYWRkaW5nOiA1LFxyXG4gIHhBeGlzVGV4dFBhZGRpbmc6IDMsXHJcbiAgdGl0bGVDb2xvcjogJyMzMzMzMzMnLFxyXG4gIHRpdGxlRm9udFNpemU6IDIwLFxyXG4gIHN1YnRpdGxlQ29sb3I6ICcjOTk5OTk5JyxcclxuICBzdWJ0aXRsZUZvbnRTaXplOiAxNSxcclxuICB0b29sVGlwUGFkZGluZzogMyxcclxuICB0b29sVGlwQmFja2dyb3VuZDogJyMwMDAwMDAnLFxyXG4gIHRvb2xUaXBPcGFjaXR5OiAwLjcsXHJcbiAgdG9vbFRpcExpbmVIZWlnaHQ6IDIwLFxyXG4gIHJhZGFyTGFiZWxUZXh0TWFyZ2luOiAxNSxcclxuICBnYXVnZUxhYmVsVGV4dE1hcmdpbjogMTVcclxufTtcclxuXHJcbmxldCBhc3NpZ24gPSBmdW5jdGlvbiAodGFyZ2V0LCAuLi52YXJBcmdzKSB7XHJcbiAgICBpZiAodGFyZ2V0ID09IG51bGwpIHtcclxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QnKTtcclxuICAgIH1cclxuICAgIGlmICghdmFyQXJncyB8fCB2YXJBcmdzLmxlbmd0aCA8PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHRhcmdldDtcclxuICAgIH1cclxuICAgIC8vIOa3seW6puWQiOW5tuWvueixoVxyXG4gICAgZnVuY3Rpb24gZGVlcEFzc2lnbihvYmoxLCBvYmoyKSB7XHJcbiAgICAgICAgZm9yIChsZXQga2V5IGluIG9iajIpIHtcclxuICAgICAgICAgICAgb2JqMVtrZXldID0gb2JqMVtrZXldICYmIG9iajFba2V5XS50b1N0cmluZygpID09PSBcIltvYmplY3QgT2JqZWN0XVwiID9cclxuICAgICAgICAgICAgICAgIGRlZXBBc3NpZ24ob2JqMVtrZXldLCBvYmoyW2tleV0pIDogb2JqMVtrZXldID0gb2JqMltrZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2JqMTtcclxuICAgIH1cclxuXHJcbiAgICB2YXJBcmdzLmZvckVhY2godmFsID0+IHtcclxuICAgICAgICB0YXJnZXQgPSBkZWVwQXNzaWduKHRhcmdldCwgdmFsKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRhcmdldDtcclxufTtcclxuXHJcbnZhciB1dGlsID0ge1xyXG4gIHRvRml4ZWQ6IGZ1bmN0aW9uIHRvRml4ZWQobnVtLCBsaW1pdCkge1xyXG4gICAgbGltaXQgPSBsaW1pdCB8fCAyO1xyXG4gICAgaWYgKHRoaXMuaXNGbG9hdChudW0pKSB7XHJcbiAgICAgIG51bSA9IG51bS50b0ZpeGVkKGxpbWl0KTtcclxuICAgIH1cclxuICAgIHJldHVybiBudW07XHJcbiAgfSxcclxuICBpc0Zsb2F0OiBmdW5jdGlvbiBpc0Zsb2F0KG51bSkge1xyXG4gICAgcmV0dXJuIG51bSAlIDEgIT09IDA7XHJcbiAgfSxcclxuICBhcHByb3hpbWF0ZWx5RXF1YWw6IGZ1bmN0aW9uIGFwcHJveGltYXRlbHlFcXVhbChudW0xLCBudW0yKSB7XHJcbiAgICByZXR1cm4gTWF0aC5hYnMobnVtMSAtIG51bTIpIDwgMWUtMTA7XHJcbiAgfSxcclxuICBpc1NhbWVTaWduOiBmdW5jdGlvbiBpc1NhbWVTaWduKG51bTEsIG51bTIpIHtcclxuICAgIHJldHVybiBNYXRoLmFicyhudW0xKSA9PT0gbnVtMSAmJiBNYXRoLmFicyhudW0yKSA9PT0gbnVtMiB8fCBNYXRoLmFicyhudW0xKSAhPT0gbnVtMSAmJiBNYXRoLmFicyhudW0yKSAhPT0gbnVtMjtcclxuICB9LFxyXG4gIGlzU2FtZVhDb29yZGluYXRlQXJlYTogZnVuY3Rpb24gaXNTYW1lWENvb3JkaW5hdGVBcmVhKHAxLCBwMikge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNTYW1lU2lnbihwMS54LCBwMi54KTtcclxuICB9LFxyXG4gIGlzQ29sbGlzaW9uOiBmdW5jdGlvbiBpc0NvbGxpc2lvbihvYmoxLCBvYmoyKSB7XHJcbiAgICBvYmoxLmVuZCA9IHt9O1xyXG4gICAgb2JqMS5lbmQueCA9IG9iajEuc3RhcnQueCArIG9iajEud2lkdGg7XHJcbiAgICBvYmoxLmVuZC55ID0gb2JqMS5zdGFydC55IC0gb2JqMS5oZWlnaHQ7XHJcbiAgICBvYmoyLmVuZCA9IHt9O1xyXG4gICAgb2JqMi5lbmQueCA9IG9iajIuc3RhcnQueCArIG9iajIud2lkdGg7XHJcbiAgICBvYmoyLmVuZC55ID0gb2JqMi5zdGFydC55IC0gb2JqMi5oZWlnaHQ7XHJcbiAgICB2YXIgZmxhZyA9IG9iajIuc3RhcnQueCA+IG9iajEuZW5kLnggfHwgb2JqMi5lbmQueCA8IG9iajEuc3RhcnQueCB8fCBvYmoyLmVuZC55ID4gb2JqMS5zdGFydC55IHx8IG9iajIuc3RhcnQueSA8IG9iajEuZW5kLnk7XHJcbiAgICByZXR1cm4gIWZsYWc7XHJcbiAgfVxyXG59O1xyXG5cclxuLy/lhbzlrrlINeeCueWHu+S6i+S7tlxyXG5mdW5jdGlvbiBnZXRINU9mZnNldChlKSB7XHJcbiAgZS5tcCA9IHtcclxuICAgIGNoYW5nZWRUb3VjaGVzOiBbXVxyXG4gIH07XHJcbiAgZS5tcC5jaGFuZ2VkVG91Y2hlcy5wdXNoKHtcclxuICAgIHg6IGUub2Zmc2V0WCxcclxuICAgIHk6IGUub2Zmc2V0WVxyXG4gIH0pO1xyXG4gIHJldHVybiBlO1xyXG59XHJcblxyXG4vLyBoZXgg6L2sIHJnYmFcclxuZnVuY3Rpb24gaGV4VG9SZ2IoaGV4VmFsdWUsIG9wYykge1xyXG4gIHZhciByZ3ggPSAvXiM/KFthLWZcXGRdKShbYS1mXFxkXSkoW2EtZlxcZF0pJC9pO1xyXG4gIHZhciBoZXggPSBoZXhWYWx1ZS5yZXBsYWNlKHJneCwgZnVuY3Rpb24obSwgciwgZywgYikge1xyXG4gICAgcmV0dXJuIHIgKyByICsgZyArIGcgKyBiICsgYjtcclxuICB9KTtcclxuICB2YXIgcmdiID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XHJcbiAgdmFyIHIgPSBwYXJzZUludChyZ2JbMV0sIDE2KTtcclxuICB2YXIgZyA9IHBhcnNlSW50KHJnYlsyXSwgMTYpO1xyXG4gIHZhciBiID0gcGFyc2VJbnQocmdiWzNdLCAxNik7XHJcbiAgcmV0dXJuICdyZ2JhKCcgKyByICsgJywnICsgZyArICcsJyArIGIgKyAnLCcgKyBvcGMgKyAnKSc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbmRSYW5nZShudW0sIHR5cGUsIGxpbWl0KSB7XHJcbiAgaWYgKGlzTmFOKG51bSkpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignW3VDaGFydHNdIHVudmFsaWQgc2VyaWVzIGRhdGEhJyk7XHJcbiAgfVxyXG4gIGxpbWl0ID0gbGltaXQgfHwgMTA7XHJcbiAgdHlwZSA9IHR5cGUgPyB0eXBlIDogJ3VwcGVyJztcclxuICB2YXIgbXVsdGlwbGUgPSAxO1xyXG4gIHdoaWxlIChsaW1pdCA8IDEpIHtcclxuICAgIGxpbWl0ICo9IDEwO1xyXG4gICAgbXVsdGlwbGUgKj0gMTA7XHJcbiAgfVxyXG4gIGlmICh0eXBlID09PSAndXBwZXInKSB7XHJcbiAgICBudW0gPSBNYXRoLmNlaWwobnVtICogbXVsdGlwbGUpO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBudW0gPSBNYXRoLmZsb29yKG51bSAqIG11bHRpcGxlKTtcclxuICB9XHJcbiAgd2hpbGUgKG51bSAlIGxpbWl0ICE9PSAwKSB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3VwcGVyJykge1xyXG4gICAgICBudW0rKztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG51bS0tO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gbnVtIC8gbXVsdGlwbGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbENhbmRsZU1BKGRheUFyciwgbmFtZUFyciwgY29sb3JBcnIsIGtkYXRhKSB7XHJcbiAgbGV0IHNlcmllc1RlbXAgPSBbXTtcclxuICBmb3IgKGxldCBrID0gMDsgayA8IGRheUFyci5sZW5ndGg7IGsrKykge1xyXG4gICAgbGV0IHNlcmllc0l0ZW0gPSB7XHJcbiAgICAgIGRhdGE6IFtdLFxyXG4gICAgICBuYW1lOiBuYW1lQXJyW2tdLFxyXG4gICAgICBjb2xvcjogY29sb3JBcnJba11cclxuICAgIH07XHJcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0ga2RhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgaWYgKGkgPCBkYXlBcnJba10pIHtcclxuICAgICAgICBzZXJpZXNJdGVtLmRhdGEucHVzaChudWxsKTtcclxuICAgICAgICBjb250aW51ZTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgc3VtID0gMDtcclxuICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkYXlBcnJba107IGorKykge1xyXG4gICAgICAgIHN1bSArPSBrZGF0YVtpIC0gal1bMV07XHJcbiAgICAgIH1cclxuICAgICAgc2VyaWVzSXRlbS5kYXRhLnB1c2goKyhzdW0gLyBkYXlBcnJba10pLnRvRml4ZWQoMykpO1xyXG4gICAgfVxyXG4gICAgc2VyaWVzVGVtcC5wdXNoKHNlcmllc0l0ZW0pO1xyXG4gIH1cclxuICByZXR1cm4gc2VyaWVzVGVtcDtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FsVmFsaWREaXN0YW5jZShzZWxmLGRpc3RhbmNlLCBjaGFydERhdGEsIGNvbmZpZywgb3B0cykge1xyXG4gIHZhciBkYXRhQ2hhcnRBcmVhV2lkdGggPSBvcHRzLndpZHRoIC0gb3B0cy5hcmVhWzFdIC0gb3B0cy5hcmVhWzNdO1xyXG4gIHZhciBkYXRhQ2hhcnRXaWR0aCA9IGNoYXJ0RGF0YS5lYWNoU3BhY2luZyAqIChvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEueEF4aXNQb2ludHMubGVuZ3RoLTEpO1xyXG4gIHZhciB2YWxpZERpc3RhbmNlID0gZGlzdGFuY2U7XHJcbiAgaWYgKGRpc3RhbmNlID49IDApIHtcclxuICAgIHZhbGlkRGlzdGFuY2UgPSAwO1xyXG5cdFx0c2VsZi5ldmVudC50cmlnZ2VyKCdzY3JvbGxMZWZ0Jyk7XHJcbiAgfSBlbHNlIGlmIChNYXRoLmFicyhkaXN0YW5jZSkgPj0gZGF0YUNoYXJ0V2lkdGggLSBkYXRhQ2hhcnRBcmVhV2lkdGgpIHtcclxuICAgIHZhbGlkRGlzdGFuY2UgPSBkYXRhQ2hhcnRBcmVhV2lkdGggLSBkYXRhQ2hhcnRXaWR0aDtcclxuXHRcdHNlbGYuZXZlbnQudHJpZ2dlcignc2Nyb2xsUmlnaHQnKTtcclxuICB9XHJcbiAgcmV0dXJuIHZhbGlkRGlzdGFuY2U7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzSW5BbmdsZVJhbmdlKGFuZ2xlLCBzdGFydEFuZ2xlLCBlbmRBbmdsZSkge1xyXG4gIGZ1bmN0aW9uIGFkanVzdChhbmdsZSkge1xyXG4gICAgd2hpbGUgKGFuZ2xlIDwgMCkge1xyXG4gICAgICBhbmdsZSArPSAyICogTWF0aC5QSTtcclxuICAgIH1cclxuICAgIHdoaWxlIChhbmdsZSA+IDIgKiBNYXRoLlBJKSB7XHJcbiAgICAgIGFuZ2xlIC09IDIgKiBNYXRoLlBJO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFuZ2xlO1xyXG4gIH1cclxuICBhbmdsZSA9IGFkanVzdChhbmdsZSk7XHJcbiAgc3RhcnRBbmdsZSA9IGFkanVzdChzdGFydEFuZ2xlKTtcclxuICBlbmRBbmdsZSA9IGFkanVzdChlbmRBbmdsZSk7XHJcbiAgaWYgKHN0YXJ0QW5nbGUgPiBlbmRBbmdsZSkge1xyXG4gICAgZW5kQW5nbGUgKz0gMiAqIE1hdGguUEk7XHJcbiAgICBpZiAoYW5nbGUgPCBzdGFydEFuZ2xlKSB7XHJcbiAgICAgIGFuZ2xlICs9IDIgKiBNYXRoLlBJO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gYW5nbGUgPj0gc3RhcnRBbmdsZSAmJiBhbmdsZSA8PSBlbmRBbmdsZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FsUm90YXRlVHJhbnNsYXRlKHgsIHksIGgpIHtcclxuICB2YXIgeHYgPSB4O1xyXG4gIHZhciB5diA9IGggLSB5O1xyXG4gIHZhciB0cmFuc1ggPSB4diArIChoIC0geXYgLSB4dikgLyBNYXRoLnNxcnQoMik7XHJcbiAgdHJhbnNYICo9IC0xO1xyXG4gIHZhciB0cmFuc1kgPSAoaCAtIHl2KSAqIChNYXRoLnNxcnQoMikgLSAxKSAtIChoIC0geXYgLSB4dikgLyBNYXRoLnNxcnQoMik7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRyYW5zWDogdHJhbnNYLFxyXG4gICAgdHJhbnNZOiB0cmFuc1lcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVDdXJ2ZUNvbnRyb2xQb2ludHMocG9pbnRzLCBpKSB7XHJcblxyXG4gIGZ1bmN0aW9uIGlzTm90TWlkZGxlUG9pbnQocG9pbnRzLCBpKSB7XHJcbiAgICBpZiAocG9pbnRzW2kgLSAxXSAmJiBwb2ludHNbaSArIDFdKSB7XHJcbiAgICAgIHJldHVybiBwb2ludHNbaV0ueSA+PSBNYXRoLm1heChwb2ludHNbaSAtIDFdLnksIHBvaW50c1tpICsgMV0ueSkgfHwgcG9pbnRzW2ldLnkgPD0gTWF0aC5taW4ocG9pbnRzW2kgLSAxXS55LHBvaW50c1tpICsgMV0ueSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cdGZ1bmN0aW9uIGlzTm90TWlkZGxlUG9pbnRYKHBvaW50cywgaSkge1xyXG5cdCAgaWYgKHBvaW50c1tpIC0gMV0gJiYgcG9pbnRzW2kgKyAxXSkge1xyXG5cdCAgICByZXR1cm4gcG9pbnRzW2ldLnggPj0gTWF0aC5tYXgocG9pbnRzW2kgLSAxXS54LCBwb2ludHNbaSArIDFdLngpIHx8IHBvaW50c1tpXS54IDw9IE1hdGgubWluKHBvaW50c1tpIC0gMV0ueCxwb2ludHNbaSArIDFdLngpO1xyXG5cdCAgfSBlbHNlIHtcclxuXHQgICAgcmV0dXJuIGZhbHNlO1xyXG5cdCAgfVxyXG5cdH1cclxuICB2YXIgYSA9IDAuMjtcclxuICB2YXIgYiA9IDAuMjtcclxuICB2YXIgcEF4ID0gbnVsbDtcclxuICB2YXIgcEF5ID0gbnVsbDtcclxuICB2YXIgcEJ4ID0gbnVsbDtcclxuICB2YXIgcEJ5ID0gbnVsbDtcclxuICBpZiAoaSA8IDEpIHtcclxuICAgIHBBeCA9IHBvaW50c1swXS54ICsgKHBvaW50c1sxXS54IC0gcG9pbnRzWzBdLngpICogYTtcclxuICAgIHBBeSA9IHBvaW50c1swXS55ICsgKHBvaW50c1sxXS55IC0gcG9pbnRzWzBdLnkpICogYTtcclxuICB9IGVsc2Uge1xyXG4gICAgcEF4ID0gcG9pbnRzW2ldLnggKyAocG9pbnRzW2kgKyAxXS54IC0gcG9pbnRzW2kgLSAxXS54KSAqIGE7XHJcbiAgICBwQXkgPSBwb2ludHNbaV0ueSArIChwb2ludHNbaSArIDFdLnkgLSBwb2ludHNbaSAtIDFdLnkpICogYTtcclxuICB9XHJcblxyXG4gIGlmIChpID4gcG9pbnRzLmxlbmd0aCAtIDMpIHtcclxuICAgIHZhciBsYXN0ID0gcG9pbnRzLmxlbmd0aCAtIDE7XHJcbiAgICBwQnggPSBwb2ludHNbbGFzdF0ueCAtIChwb2ludHNbbGFzdF0ueCAtIHBvaW50c1tsYXN0IC0gMV0ueCkgKiBiO1xyXG4gICAgcEJ5ID0gcG9pbnRzW2xhc3RdLnkgLSAocG9pbnRzW2xhc3RdLnkgLSBwb2ludHNbbGFzdCAtIDFdLnkpICogYjtcclxuICB9IGVsc2Uge1xyXG4gICAgcEJ4ID0gcG9pbnRzW2kgKyAxXS54IC0gKHBvaW50c1tpICsgMl0ueCAtIHBvaW50c1tpXS54KSAqIGI7XHJcbiAgICBwQnkgPSBwb2ludHNbaSArIDFdLnkgLSAocG9pbnRzW2kgKyAyXS55IC0gcG9pbnRzW2ldLnkpICogYjtcclxuICB9XHJcbiAgaWYgKGlzTm90TWlkZGxlUG9pbnQocG9pbnRzLCBpICsgMSkpIHtcclxuICAgIHBCeSA9IHBvaW50c1tpICsgMV0ueTtcclxuICB9XHJcbiAgaWYgKGlzTm90TWlkZGxlUG9pbnQocG9pbnRzLCBpKSkge1xyXG4gICAgcEF5ID0gcG9pbnRzW2ldLnk7XHJcbiAgfVxyXG5cdGlmIChpc05vdE1pZGRsZVBvaW50WChwb2ludHMsIGkgKyAxKSkge1xyXG5cdCAgcEJ4ID0gcG9pbnRzW2kgKyAxXS54O1xyXG5cdH1cclxuXHRpZiAoaXNOb3RNaWRkbGVQb2ludFgocG9pbnRzLCBpKSkge1xyXG5cdCAgcEF4ID0gcG9pbnRzW2ldLng7XHJcblx0fVxyXG5cdGlmIChwQXkgPj0gTWF0aC5tYXgocG9pbnRzW2ldLnksIHBvaW50c1tpICsgMV0ueSkgfHwgcEF5IDw9IE1hdGgubWluKHBvaW50c1tpXS55LCBwb2ludHNbaSArIDFdLnkpKSB7XHJcblx0cEF5ID0gcG9pbnRzW2ldLnk7XHJcblx0fVxyXG5cdGlmIChwQnkgPj0gTWF0aC5tYXgocG9pbnRzW2ldLnksIHBvaW50c1tpICsgMV0ueSkgfHwgcEJ5IDw9IE1hdGgubWluKHBvaW50c1tpXS55LCBwb2ludHNbaSArIDFdLnkpKSB7XHJcblx0cEJ5ID0gcG9pbnRzW2kgKyAxXS55O1xyXG5cdH1cclxuXHRpZiAocEF4ID49IE1hdGgubWF4KHBvaW50c1tpXS54LCBwb2ludHNbaSArIDFdLngpIHx8IHBBeCA8PSBNYXRoLm1pbihwb2ludHNbaV0ueCwgcG9pbnRzW2kgKyAxXS54KSkge1xyXG5cdHBBeCA9IHBvaW50c1tpXS54O1xyXG5cdH1cclxuXHRpZiAocEJ4ID49IE1hdGgubWF4KHBvaW50c1tpXS54LCBwb2ludHNbaSArIDFdLngpIHx8IHBCeCA8PSBNYXRoLm1pbihwb2ludHNbaV0ueCwgcG9pbnRzW2kgKyAxXS54KSkge1xyXG5cdHBCeCA9IHBvaW50c1tpICsgMV0ueDtcclxuXHR9XHJcbiAgcmV0dXJuIHtcclxuICAgIGN0ckE6IHtcclxuICAgICAgeDogcEF4LFxyXG4gICAgICB5OiBwQXlcclxuICAgIH0sXHJcbiAgICBjdHJCOiB7XHJcbiAgICAgIHg6IHBCeCxcclxuICAgICAgeTogcEJ5XHJcbiAgICB9XHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gY29udmVydENvb3JkaW5hdGVPcmlnaW4oeCwgeSwgY2VudGVyKSB7XHJcbiAgcmV0dXJuIHtcclxuICAgIHg6IGNlbnRlci54ICsgeCxcclxuICAgIHk6IGNlbnRlci55IC0geVxyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGF2b2lkQ29sbGlzaW9uKG9iaiwgdGFyZ2V0KSB7XHJcbiAgaWYgKHRhcmdldCkge1xyXG4gICAgLy8gaXMgY29sbGlzaW9uIHRlc3RcclxuICAgIHdoaWxlICh1dGlsLmlzQ29sbGlzaW9uKG9iaiwgdGFyZ2V0KSkge1xyXG4gICAgICBpZiAob2JqLnN0YXJ0LnggPiAwKSB7XHJcbiAgICAgICAgb2JqLnN0YXJ0LnktLTtcclxuICAgICAgfSBlbHNlIGlmIChvYmouc3RhcnQueCA8IDApIHtcclxuICAgICAgICBvYmouc3RhcnQueSsrO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChvYmouc3RhcnQueSA+IDApIHtcclxuICAgICAgICAgIG9iai5zdGFydC55Kys7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9iai5zdGFydC55LS07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBvYmo7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbGxTZXJpZXMoc2VyaWVzLCBvcHRzLCBjb25maWcpIHtcclxuICB2YXIgaW5kZXggPSAwO1xyXG4gIHJldHVybiBzZXJpZXMubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIGlmICghaXRlbS5jb2xvcikge1xyXG4gICAgICBpdGVtLmNvbG9yID0gY29uZmlnLmNvbG9yc1tpbmRleF07XHJcbiAgICAgIGluZGV4ID0gKGluZGV4ICsgMSkgJSBjb25maWcuY29sb3JzLmxlbmd0aDtcclxuICAgIH1cclxuICAgIGlmICghaXRlbS5pbmRleCkge1xyXG4gICAgICBpdGVtLmluZGV4ID0gMDtcclxuICAgIH1cclxuICAgIGlmICghaXRlbS50eXBlKSB7XHJcbiAgICAgIGl0ZW0udHlwZSA9IG9wdHMudHlwZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgaXRlbS5zaG93ID09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgaXRlbS5zaG93ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICghaXRlbS50eXBlKSB7XHJcbiAgICAgIGl0ZW0udHlwZSA9IG9wdHMudHlwZTtcclxuICAgIH1cclxuICAgIGlmICghaXRlbS5wb2ludFNoYXBlKSB7XHJcbiAgICAgIGl0ZW0ucG9pbnRTaGFwZSA9IFwiY2lyY2xlXCI7XHJcbiAgICB9XHJcbiAgICBpZiAoIWl0ZW0ubGVnZW5kU2hhcGUpIHtcclxuICAgICAgc3dpdGNoIChpdGVtLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdsaW5lJzpcclxuICAgICAgICAgIGl0ZW0ubGVnZW5kU2hhcGUgPSBcImxpbmVcIjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2NvbHVtbic6XHJcbiAgICAgICAgICBpdGVtLmxlZ2VuZFNoYXBlID0gXCJyZWN0XCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdhcmVhJzpcclxuICAgICAgICAgIGl0ZW0ubGVnZW5kU2hhcGUgPSBcInRyaWFuZ2xlXCI7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgaXRlbS5sZWdlbmRTaGFwZSA9IFwiY2lyY2xlXCI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXREYXRhUmFuZ2UobWluRGF0YSwgbWF4RGF0YSkge1xyXG4gIHZhciBsaW1pdCA9IDA7XHJcbiAgdmFyIHJhbmdlID0gbWF4RGF0YSAtIG1pbkRhdGE7XHJcbiAgaWYgKHJhbmdlID49IDEwMDAwKSB7XHJcbiAgICBsaW1pdCA9IDEwMDA7XHJcbiAgfSBlbHNlIGlmIChyYW5nZSA+PSAxMDAwKSB7XHJcbiAgICBsaW1pdCA9IDEwMDtcclxuICB9IGVsc2UgaWYgKHJhbmdlID49IDEwMCkge1xyXG4gICAgbGltaXQgPSAxMDtcclxuICB9IGVsc2UgaWYgKHJhbmdlID49IDEwKSB7XHJcbiAgICBsaW1pdCA9IDU7XHJcbiAgfSBlbHNlIGlmIChyYW5nZSA+PSAxKSB7XHJcbiAgICBsaW1pdCA9IDE7XHJcbiAgfSBlbHNlIGlmIChyYW5nZSA+PSAwLjEpIHtcclxuICAgIGxpbWl0ID0gMC4xO1xyXG4gIH0gZWxzZSBpZiAocmFuZ2UgPj0gMC4wMSkge1xyXG4gICAgbGltaXQgPSAwLjAxO1xyXG4gIH0gZWxzZSBpZiAocmFuZ2UgPj0gMC4wMDEpIHtcclxuICAgIGxpbWl0ID0gMC4wMDE7XHJcbiAgfSBlbHNlIGlmIChyYW5nZSA+PSAwLjAwMDEpIHtcclxuICAgIGxpbWl0ID0gMC4wMDAxO1xyXG4gIH0gZWxzZSBpZiAocmFuZ2UgPj0gMC4wMDAwMSkge1xyXG4gICAgbGltaXQgPSAwLjAwMDAxO1xyXG4gIH0gZWxzZSB7XHJcbiAgICBsaW1pdCA9IDAuMDAwMDAxO1xyXG4gIH1cclxuICByZXR1cm4ge1xyXG4gICAgbWluUmFuZ2U6IGZpbmRSYW5nZShtaW5EYXRhLCAnbG93ZXInLCBsaW1pdCksXHJcbiAgICBtYXhSYW5nZTogZmluZFJhbmdlKG1heERhdGEsICd1cHBlcicsIGxpbWl0KVxyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1lYXN1cmVUZXh0KHRleHQpIHtcclxuICB2YXIgZm9udFNpemUgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGNvbmZpZy5mb250U2l6ZTtcclxuICB0ZXh0ID0gU3RyaW5nKHRleHQpO1xyXG4gIHZhciB0ZXh0ID0gdGV4dC5zcGxpdCgnJyk7XHJcbiAgdmFyIHdpZHRoID0gMDtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcclxuICAgIGxldCBpdGVtID0gdGV4dFtpXTtcclxuICAgIGlmICgvW2EtekEtWl0vLnRlc3QoaXRlbSkpIHtcclxuICAgICAgd2lkdGggKz0gNztcclxuICAgIH0gZWxzZSBpZiAoL1swLTldLy50ZXN0KGl0ZW0pKSB7XHJcbiAgICAgIHdpZHRoICs9IDUuNTtcclxuICAgIH0gZWxzZSBpZiAoL1xcLi8udGVzdChpdGVtKSkge1xyXG4gICAgICB3aWR0aCArPSAyLjc7XHJcbiAgICB9IGVsc2UgaWYgKC8tLy50ZXN0KGl0ZW0pKSB7XHJcbiAgICAgIHdpZHRoICs9IDMuMjU7XHJcbiAgICB9IGVsc2UgaWYgKC9bXFx1NGUwMC1cXHU5ZmE1XS8udGVzdChpdGVtKSkge1xyXG4gICAgICB3aWR0aCArPSAxMDtcclxuICAgIH0gZWxzZSBpZiAoL1xcKHxcXCkvLnRlc3QoaXRlbSkpIHtcclxuICAgICAgd2lkdGggKz0gMy43MztcclxuICAgIH0gZWxzZSBpZiAoL1xccy8udGVzdChpdGVtKSkge1xyXG4gICAgICB3aWR0aCArPSAyLjU7XHJcbiAgICB9IGVsc2UgaWYgKC8lLy50ZXN0KGl0ZW0pKSB7XHJcbiAgICAgIHdpZHRoICs9IDg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB3aWR0aCArPSAxMDtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHdpZHRoICogZm9udFNpemUgLyAxMDtcclxufVxyXG5cclxuZnVuY3Rpb24gZGF0YUNvbWJpbmUoc2VyaWVzKSB7XHJcbiAgcmV0dXJuIHNlcmllcy5yZWR1Y2UoZnVuY3Rpb24oYSwgYikge1xyXG4gICAgcmV0dXJuIChhLmRhdGEgPyBhLmRhdGEgOiBhKS5jb25jYXQoYi5kYXRhKTtcclxuICB9LCBbXSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRhdGFDb21iaW5lU3RhY2soc2VyaWVzLCBsZW4pIHtcclxuICB2YXIgc3VtID0gbmV3IEFycmF5KGxlbik7XHJcbiAgZm9yICh2YXIgaiA9IDA7IGogPCBzdW0ubGVuZ3RoOyBqKyspIHtcclxuICAgIHN1bVtqXSA9IDA7XHJcbiAgfVxyXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHN1bS5sZW5ndGg7IGorKykge1xyXG4gICAgICBzdW1bal0gKz0gc2VyaWVzW2ldLmRhdGFbal07XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBzZXJpZXMucmVkdWNlKGZ1bmN0aW9uKGEsIGIpIHtcclxuICAgIHJldHVybiAoYS5kYXRhID8gYS5kYXRhIDogYSkuY29uY2F0KGIuZGF0YSkuY29uY2F0KHN1bSk7XHJcbiAgfSwgW10pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRUb3VjaGVzKHRvdWNoZXMsIG9wdHMsIGUpIHtcclxuICBsZXQgeCwgeTtcclxuICBpZiAodG91Y2hlcy5jbGllbnRYKSB7XHJcbiAgICBpZiAob3B0cy5yb3RhdGUpIHtcclxuICAgICAgeSA9IG9wdHMuaGVpZ2h0IC0gdG91Y2hlcy5jbGllbnRYICogb3B0cy5waXhlbFJhdGlvO1xyXG4gICAgICB4ID0gKHRvdWNoZXMucGFnZVkgLSBlLmN1cnJlbnRUYXJnZXQub2Zmc2V0VG9wIC0gKG9wdHMuaGVpZ2h0IC8gb3B0cy5waXhlbFJhdGlvIC8gMikgKiAob3B0cy5waXhlbFJhdGlvIC0gMSkpICpcclxuICAgICAgICBvcHRzLnBpeGVsUmF0aW87XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB4ID0gdG91Y2hlcy5jbGllbnRYICogb3B0cy5waXhlbFJhdGlvO1xyXG4gICAgICB5ID0gKHRvdWNoZXMucGFnZVkgLSBlLmN1cnJlbnRUYXJnZXQub2Zmc2V0VG9wIC0gKG9wdHMuaGVpZ2h0IC8gb3B0cy5waXhlbFJhdGlvIC8gMikgKiAob3B0cy5waXhlbFJhdGlvIC0gMSkpICpcclxuICAgICAgICBvcHRzLnBpeGVsUmF0aW87XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgICB5ID0gb3B0cy5oZWlnaHQgLSB0b3VjaGVzLnggKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgICAgIHggPSB0b3VjaGVzLnkgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB4ID0gdG91Y2hlcy54ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gICAgICB5ID0gdG91Y2hlcy55ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4ge1xyXG4gICAgeDogeCxcclxuICAgIHk6IHlcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFNlcmllc0RhdGFJdGVtKHNlcmllcywgaW5kZXgpIHtcclxuICB2YXIgZGF0YSA9IFtdO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgIGlmIChpdGVtLmRhdGFbaW5kZXhdICE9PSBudWxsICYmIHR5cGVvZiBpdGVtLmRhdGFbaW5kZXhdICE9PSAndW5kZWZpbmVkJyAmJiBpdGVtLnNob3cpIHtcclxuICAgICAgbGV0IHNlcmllc0l0ZW0gPSB7fTtcclxuICAgICAgc2VyaWVzSXRlbS5jb2xvciA9IGl0ZW0uY29sb3I7XHJcbiAgICAgIHNlcmllc0l0ZW0udHlwZSA9IGl0ZW0udHlwZTtcclxuICAgICAgc2VyaWVzSXRlbS5zdHlsZSA9IGl0ZW0uc3R5bGU7XHJcbiAgICAgIHNlcmllc0l0ZW0ucG9pbnRTaGFwZSA9IGl0ZW0ucG9pbnRTaGFwZTtcclxuICAgICAgc2VyaWVzSXRlbS5kaXNhYmxlTGVnZW5kID0gaXRlbS5kaXNhYmxlTGVnZW5kO1xyXG4gICAgICBzZXJpZXNJdGVtLm5hbWUgPSBpdGVtLm5hbWU7XHJcbiAgICAgIHNlcmllc0l0ZW0uc2hvdyA9IGl0ZW0uc2hvdztcclxuICAgICAgc2VyaWVzSXRlbS5kYXRhID0gaXRlbS5mb3JtYXQgPyBpdGVtLmZvcm1hdChpdGVtLmRhdGFbaW5kZXhdKSA6IGl0ZW0uZGF0YVtpbmRleF07XHJcbiAgICAgIGRhdGEucHVzaChzZXJpZXNJdGVtKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGRhdGE7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldE1heFRleHRMaXN0TGVuZ3RoKGxpc3QpIHtcclxuICB2YXIgbGVuZ3RoTGlzdCA9IGxpc3QubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIHJldHVybiBtZWFzdXJlVGV4dChpdGVtKTtcclxuICB9KTtcclxuICByZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCwgbGVuZ3RoTGlzdCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFJhZGFyQ29vcmRpbmF0ZVNlcmllcyhsZW5ndGgpIHtcclxuICB2YXIgZWFjaEFuZ2xlID0gMiAqIE1hdGguUEkgLyBsZW5ndGg7XHJcbiAgdmFyIENvb3JkaW5hdGVTZXJpZXMgPSBbXTtcclxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XHJcbiAgICBDb29yZGluYXRlU2VyaWVzLnB1c2goZWFjaEFuZ2xlICogaSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gQ29vcmRpbmF0ZVNlcmllcy5tYXAoZnVuY3Rpb24oaXRlbSkge1xyXG4gICAgcmV0dXJuIC0xICogaXRlbSArIE1hdGguUEkgLyAyO1xyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRUb29sVGlwRGF0YShzZXJpZXNEYXRhLCBjYWxQb2ludHMsIGluZGV4LCBjYXRlZ29yaWVzKSB7XHJcbiAgdmFyIG9wdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiA0ICYmIGFyZ3VtZW50c1s0XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzRdIDoge307XHJcblxyXG4gIHZhciB0ZXh0TGlzdCA9IHNlcmllc0RhdGEubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuXHRcdGxldCB0aXRsZVRleHQ9W107XHJcblx0XHRpZihjYXRlZ29yaWVzKXtcclxuXHRcdFx0dGl0bGVUZXh0PWNhdGVnb3JpZXM7XHJcblx0XHR9ZWxzZXtcclxuXHRcdFx0dGl0bGVUZXh0PWl0ZW0uZGF0YTtcclxuXHRcdH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRleHQ6IG9wdGlvbi5mb3JtYXQgPyBvcHRpb24uZm9ybWF0KGl0ZW0sIHRpdGxlVGV4dFtpbmRleF0pIDogaXRlbS5uYW1lICsgJzogJyArIGl0ZW0uZGF0YSxcclxuICAgICAgY29sb3I6IGl0ZW0uY29sb3JcclxuICAgIH07XHJcbiAgfSk7XHJcbiAgdmFyIHZhbGlkQ2FsUG9pbnRzID0gW107XHJcbiAgdmFyIG9mZnNldCA9IHtcclxuICAgIHg6IDAsXHJcbiAgICB5OiAwXHJcbiAgfTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbFBvaW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IHBvaW50cyA9IGNhbFBvaW50c1tpXTtcclxuICAgIGlmICh0eXBlb2YgcG9pbnRzW2luZGV4XSAhPT0gJ3VuZGVmaW5lZCcgJiYgcG9pbnRzW2luZGV4XSAhPT0gbnVsbCkge1xyXG4gICAgICB2YWxpZENhbFBvaW50cy5wdXNoKHBvaW50c1tpbmRleF0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbGlkQ2FsUG9pbnRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHZhbGlkQ2FsUG9pbnRzW2ldO1xyXG4gICAgb2Zmc2V0LnggPSBNYXRoLnJvdW5kKGl0ZW0ueCk7XHJcbiAgICBvZmZzZXQueSArPSBpdGVtLnk7XHJcbiAgfVxyXG4gIG9mZnNldC55IC89IHZhbGlkQ2FsUG9pbnRzLmxlbmd0aDtcclxuICByZXR1cm4ge1xyXG4gICAgdGV4dExpc3Q6IHRleHRMaXN0LFxyXG4gICAgb2Zmc2V0OiBvZmZzZXRcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRNaXhUb29sVGlwRGF0YShzZXJpZXNEYXRhLCBjYWxQb2ludHMsIGluZGV4LCBjYXRlZ29yaWVzKSB7XHJcbiAgdmFyIG9wdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiA0ICYmIGFyZ3VtZW50c1s0XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzRdIDoge307XHJcbiAgdmFyIHRleHRMaXN0ID0gc2VyaWVzRGF0YS5tYXAoZnVuY3Rpb24oaXRlbSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdGV4dDogb3B0aW9uLmZvcm1hdCA/IG9wdGlvbi5mb3JtYXQoaXRlbSwgY2F0ZWdvcmllc1tpbmRleF0pIDogaXRlbS5uYW1lICsgJzogJyArIGl0ZW0uZGF0YSxcclxuICAgICAgY29sb3I6IGl0ZW0uY29sb3IsXHJcbiAgICAgIGRpc2FibGVMZWdlbmQ6IGl0ZW0uZGlzYWJsZUxlZ2VuZCA/IHRydWUgOiBmYWxzZVxyXG4gICAgfTtcclxuICB9KTtcclxuICB0ZXh0TGlzdCA9IHRleHRMaXN0LmZpbHRlcihmdW5jdGlvbihpdGVtKSB7XHJcbiAgICBpZiAoaXRlbS5kaXNhYmxlTGVnZW5kICE9PSB0cnVlKSB7XHJcbiAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIHZhciB2YWxpZENhbFBvaW50cyA9IFtdO1xyXG4gIHZhciBvZmZzZXQgPSB7XHJcbiAgICB4OiAwLFxyXG4gICAgeTogMFxyXG4gIH07XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYWxQb2ludHMubGVuZ3RoOyBpKyspIHtcclxuICAgIGxldCBwb2ludHMgPSBjYWxQb2ludHNbaV07XHJcbiAgICBpZiAodHlwZW9mIHBvaW50c1tpbmRleF0gIT09ICd1bmRlZmluZWQnICYmIHBvaW50c1tpbmRleF0gIT09IG51bGwpIHtcclxuICAgICAgdmFsaWRDYWxQb2ludHMucHVzaChwb2ludHNbaW5kZXhdKTtcclxuICAgIH1cclxuICB9XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWxpZENhbFBvaW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGl0ZW0gPSB2YWxpZENhbFBvaW50c1tpXTtcclxuICAgIG9mZnNldC54ID0gTWF0aC5yb3VuZChpdGVtLngpO1xyXG4gICAgb2Zmc2V0LnkgKz0gaXRlbS55O1xyXG4gIH1cclxuICBvZmZzZXQueSAvPSB2YWxpZENhbFBvaW50cy5sZW5ndGg7XHJcbiAgcmV0dXJuIHtcclxuICAgIHRleHRMaXN0OiB0ZXh0TGlzdCxcclxuICAgIG9mZnNldDogb2Zmc2V0XHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0Q2FuZGxlVG9vbFRpcERhdGEoc2VyaWVzLCBzZXJpZXNEYXRhLCBjYWxQb2ludHMsIGluZGV4LCBjYXRlZ29yaWVzLCBleHRyYSkge1xyXG4gIHZhciBvcHRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gNiAmJiBhcmd1bWVudHNbNl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s2XSA6IHt9O1xyXG4gIGxldCB1cENvbG9yID0gZXh0cmEuY29sb3IudXBGaWxsO1xyXG4gIGxldCBkb3duQ29sb3IgPSBleHRyYS5jb2xvci5kb3duRmlsbDtcclxuICAvL+minOiJsumhuuW6j+S4uuW8gOebmO+8jOaUtuebmO+8jOacgOS9ju+8jOacgOmrmFxyXG4gIGxldCBjb2xvciA9IFt1cENvbG9yLCB1cENvbG9yLCBkb3duQ29sb3IsIHVwQ29sb3JdO1xyXG4gIHZhciB0ZXh0TGlzdCA9IFtdO1xyXG4gIGxldCB0ZXh0MCA9IHtcclxuICAgIHRleHQ6IGNhdGVnb3JpZXNbaW5kZXhdLFxyXG4gICAgY29sb3I6IG51bGxcclxuICB9O1xyXG4gIHRleHRMaXN0LnB1c2godGV4dDApO1xyXG4gIHNlcmllc0RhdGEubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIGlmIChpbmRleCA9PSAwKSB7XHJcbiAgICAgIGlmKGl0ZW0uZGF0YVsxXSAtIGl0ZW0uZGF0YVswXSA8IDApe1xyXG4gICAgICBcdGNvbG9yWzFdID0gZG93bkNvbG9yO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgXHRjb2xvclsxXSA9IHVwQ29sb3I7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChpdGVtLmRhdGFbMF0gPCBzZXJpZXNbaW5kZXggLSAxXVsxXSkge1xyXG4gICAgICAgIGNvbG9yWzBdID0gZG93bkNvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpdGVtLmRhdGFbMV0gPCBpdGVtLmRhdGFbMF0pIHtcclxuICAgICAgICBjb2xvclsxXSA9IGRvd25Db2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaXRlbS5kYXRhWzJdID4gc2VyaWVzW2luZGV4IC0gMV1bMV0pIHtcclxuICAgICAgICBjb2xvclsyXSA9IHVwQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGl0ZW0uZGF0YVszXSA8IHNlcmllc1tpbmRleCAtIDFdWzFdKSB7XHJcbiAgICAgICAgY29sb3JbM10gPSBkb3duQ29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGxldCB0ZXh0MSA9IHtcclxuICAgICAgdGV4dDogJ+W8gOebmO+8micgKyBpdGVtLmRhdGFbMF0sXHJcbiAgICAgIGNvbG9yOiBjb2xvclswXVxyXG4gICAgfTtcclxuICAgIGxldCB0ZXh0MiA9IHtcclxuICAgICAgdGV4dDogJ+aUtuebmO+8micgKyBpdGVtLmRhdGFbMV0sXHJcbiAgICAgIGNvbG9yOiBjb2xvclsxXVxyXG4gICAgfTtcclxuICAgIGxldCB0ZXh0MyA9IHtcclxuICAgICAgdGV4dDogJ+acgOS9ju+8micgKyBpdGVtLmRhdGFbMl0sXHJcbiAgICAgIGNvbG9yOiBjb2xvclsyXVxyXG4gICAgfTtcclxuICAgIGxldCB0ZXh0NCA9IHtcclxuICAgICAgdGV4dDogJ+acgOmrmO+8micgKyBpdGVtLmRhdGFbM10sXHJcbiAgICAgIGNvbG9yOiBjb2xvclszXVxyXG4gICAgfTtcclxuICAgIHRleHRMaXN0LnB1c2godGV4dDEsIHRleHQyLCB0ZXh0MywgdGV4dDQpO1xyXG4gIH0pO1xyXG4gIHZhciB2YWxpZENhbFBvaW50cyA9IFtdO1xyXG4gIHZhciBvZmZzZXQgPSB7XHJcbiAgICB4OiAwLFxyXG4gICAgeTogMFxyXG4gIH07XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYWxQb2ludHMubGVuZ3RoOyBpKyspIHtcclxuICAgIGxldCBwb2ludHMgPSBjYWxQb2ludHNbaV07XHJcbiAgICBpZiAodHlwZW9mIHBvaW50c1tpbmRleF0gIT09ICd1bmRlZmluZWQnICYmIHBvaW50c1tpbmRleF0gIT09IG51bGwpIHtcclxuICAgICAgdmFsaWRDYWxQb2ludHMucHVzaChwb2ludHNbaW5kZXhdKTtcclxuICAgIH1cclxuICB9XHJcbiAgb2Zmc2V0LnggPSBNYXRoLnJvdW5kKHZhbGlkQ2FsUG9pbnRzWzBdWzBdLngpO1xyXG4gIHJldHVybiB7XHJcbiAgICB0ZXh0TGlzdDogdGV4dExpc3QsXHJcbiAgICBvZmZzZXQ6IG9mZnNldFxyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbHRlclNlcmllcyhzZXJpZXMpIHtcclxuICBsZXQgdGVtcFNlcmllcyA9IFtdO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBpZiAoc2VyaWVzW2ldLnNob3cgPT0gdHJ1ZSkge1xyXG4gICAgICB0ZW1wU2VyaWVzLnB1c2goc2VyaWVzW2ldKVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gdGVtcFNlcmllcztcclxufVxyXG5cclxuZnVuY3Rpb24gZmluZEN1cnJlbnRJbmRleChjdXJyZW50UG9pbnRzLCBjYWxQb2ludHMsIG9wdHMsIGNvbmZpZykge1xyXG4gIHZhciBvZmZzZXQgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IDA7XHJcbiAgdmFyIGN1cnJlbnRJbmRleCA9IC0xO1xyXG4gIHZhciBzcGFjaW5nID0gb3B0cy5jaGFydERhdGEuZWFjaFNwYWNpbmcvMjtcclxuXHRsZXQgeEF4aXNQb2ludHM9W107XHJcblx0aWYoY2FsUG9pbnRzLmxlbmd0aD4wKXtcclxuXHRcdGlmKG9wdHMudHlwZT09J2NhbmRsZScpe1xyXG5cdFx0XHRmb3IobGV0IGk9MDtpPGNhbFBvaW50c1swXS5sZW5ndGg7aSsrKXtcclxuXHRcdFx0XHR4QXhpc1BvaW50cy5wdXNoKGNhbFBvaW50c1swXVtpXVswXS54KVxyXG5cdFx0XHR9XHJcblx0XHR9ZWxzZXtcclxuXHRcdFx0Zm9yKGxldCBpPTA7aTxjYWxQb2ludHNbMF0ubGVuZ3RoO2krKyl7XHJcblx0XHRcdFx0eEF4aXNQb2ludHMucHVzaChjYWxQb2ludHNbMF1baV0ueClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0aWYoKG9wdHMudHlwZT09J2xpbmUnIHx8IG9wdHMudHlwZT09J2FyZWEnKSAmJiBvcHRzLnhBeGlzLmJvdW5kYXJ5R2FwPT0nanVzdGlmeScpe1xyXG5cdFx0ICBzcGFjaW5nID0gb3B0cy5jaGFydERhdGEuZWFjaFNwYWNpbmcvMjtcclxuXHRcdH1cclxuXHRcdGlmKCFvcHRzLmNhdGVnb3JpZXMpe1xyXG5cdFx0XHRzcGFjaW5nPTBcclxuXHRcdH1cclxuXHRcdGlmIChpc0luRXhhY3RDaGFydEFyZWEoY3VycmVudFBvaW50cywgb3B0cywgY29uZmlnKSkge1xyXG5cdFx0ICB4QXhpc1BvaW50cy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcblx0XHQgICAgaWYgKGN1cnJlbnRQb2ludHMueCArIG9mZnNldCArIHNwYWNpbmcgPiBpdGVtKSB7XHJcblx0XHQgICAgICBjdXJyZW50SW5kZXggPSBpbmRleDtcclxuXHRcdCAgICB9XHJcblx0XHQgIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuICByZXR1cm4gY3VycmVudEluZGV4O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaW5kTGVnZW5kSW5kZXgoY3VycmVudFBvaW50cywgbGVnZW5kRGF0YSwgb3B0cykge1xyXG4gIGxldCBjdXJyZW50SW5kZXggPSAtMTtcclxuICBpZiAoaXNJbkV4YWN0TGVnZW5kQXJlYShjdXJyZW50UG9pbnRzLCBsZWdlbmREYXRhLmFyZWEpKSB7XHJcbiAgICBsZXQgcG9pbnRzID0gbGVnZW5kRGF0YS5wb2ludHM7XHJcbiAgICBsZXQgaW5kZXggPSAtMTtcclxuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBwb2ludHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgbGV0IGl0ZW0gPSBwb2ludHNbaV07XHJcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgaXRlbS5sZW5ndGg7IGorKykge1xyXG4gICAgICAgIGluZGV4ICs9IDE7XHJcbiAgICAgICAgbGV0IGFyZWEgPSBpdGVtW2pdWydhcmVhJ107XHJcbiAgICAgICAgaWYgKGN1cnJlbnRQb2ludHMueCA+IGFyZWFbMF0gJiYgY3VycmVudFBvaW50cy54IDwgYXJlYVsyXSAmJiBjdXJyZW50UG9pbnRzLnkgPiBhcmVhWzFdICYmIGN1cnJlbnRQb2ludHMueSA8IGFyZWFbM10pIHtcclxuICAgICAgICAgIGN1cnJlbnRJbmRleCA9IGluZGV4O1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY3VycmVudEluZGV4O1xyXG4gIH1cclxuICByZXR1cm4gY3VycmVudEluZGV4O1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0luRXhhY3RMZWdlbmRBcmVhKGN1cnJlbnRQb2ludHMsIGFyZWEpIHtcclxuICByZXR1cm4gY3VycmVudFBvaW50cy54ID4gYXJlYS5zdGFydC54ICYmIGN1cnJlbnRQb2ludHMueCA8IGFyZWEuZW5kLnggJiYgY3VycmVudFBvaW50cy55ID4gYXJlYS5zdGFydC55ICYmXHJcbiAgICBjdXJyZW50UG9pbnRzLnkgPCBhcmVhLmVuZC55O1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0luRXhhY3RDaGFydEFyZWEoY3VycmVudFBvaW50cywgb3B0cywgY29uZmlnKSB7XHJcbiAgcmV0dXJuIGN1cnJlbnRQb2ludHMueCA8PSBvcHRzLndpZHRoIC0gb3B0cy5hcmVhWzFdICsgMTAgJiYgY3VycmVudFBvaW50cy54ID49IG9wdHMuYXJlYVszXSAtMTAgJiYgY3VycmVudFBvaW50cy55ID49IG9wdHMuYXJlYVswXSAmJiBjdXJyZW50UG9pbnRzLnkgPD0gb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpbmRSYWRhckNoYXJ0Q3VycmVudEluZGV4KGN1cnJlbnRQb2ludHMsIHJhZGFyRGF0YSwgY291bnQpIHtcclxuICB2YXIgZWFjaEFuZ2xlQXJlYSA9IDIgKiBNYXRoLlBJIC8gY291bnQ7XHJcbiAgdmFyIGN1cnJlbnRJbmRleCA9IC0xO1xyXG4gIGlmIChpc0luRXhhY3RQaWVDaGFydEFyZWEoY3VycmVudFBvaW50cywgcmFkYXJEYXRhLmNlbnRlciwgcmFkYXJEYXRhLnJhZGl1cykpIHtcclxuICAgIHZhciBmaXhBbmdsZSA9IGZ1bmN0aW9uIGZpeEFuZ2xlKGFuZ2xlKSB7XHJcbiAgICAgIGlmIChhbmdsZSA8IDApIHtcclxuICAgICAgICBhbmdsZSArPSAyICogTWF0aC5QSTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYW5nbGUgPiAyICogTWF0aC5QSSkge1xyXG4gICAgICAgIGFuZ2xlIC09IDIgKiBNYXRoLlBJO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBhbmdsZTtcclxuICAgIH07XHJcblxyXG4gICAgdmFyIGFuZ2xlID0gTWF0aC5hdGFuMihyYWRhckRhdGEuY2VudGVyLnkgLSBjdXJyZW50UG9pbnRzLnksIGN1cnJlbnRQb2ludHMueCAtIHJhZGFyRGF0YS5jZW50ZXIueCk7XHJcbiAgICBhbmdsZSA9IC0xICogYW5nbGU7XHJcbiAgICBpZiAoYW5nbGUgPCAwKSB7XHJcbiAgICAgIGFuZ2xlICs9IDIgKiBNYXRoLlBJO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBhbmdsZUxpc3QgPSByYWRhckRhdGEuYW5nbGVMaXN0Lm1hcChmdW5jdGlvbihpdGVtKSB7XHJcbiAgICAgIGl0ZW0gPSBmaXhBbmdsZSgtMSAqIGl0ZW0pO1xyXG5cclxuICAgICAgcmV0dXJuIGl0ZW07XHJcbiAgICB9KTtcclxuXHJcbiAgICBhbmdsZUxpc3QuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICB2YXIgcmFuZ2VTdGFydCA9IGZpeEFuZ2xlKGl0ZW0gLSBlYWNoQW5nbGVBcmVhIC8gMik7XHJcbiAgICAgIHZhciByYW5nZUVuZCA9IGZpeEFuZ2xlKGl0ZW0gKyBlYWNoQW5nbGVBcmVhIC8gMik7XHJcbiAgICAgIGlmIChyYW5nZUVuZCA8IHJhbmdlU3RhcnQpIHtcclxuICAgICAgICByYW5nZUVuZCArPSAyICogTWF0aC5QSTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYW5nbGUgPj0gcmFuZ2VTdGFydCAmJiBhbmdsZSA8PSByYW5nZUVuZCB8fCBhbmdsZSArIDIgKiBNYXRoLlBJID49IHJhbmdlU3RhcnQgJiYgYW5nbGUgKyAyICogTWF0aC5QSSA8PVxyXG4gICAgICAgIHJhbmdlRW5kKSB7XHJcbiAgICAgICAgY3VycmVudEluZGV4ID0gaW5kZXg7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGN1cnJlbnRJbmRleDtcclxufVxyXG5cclxuZnVuY3Rpb24gZmluZEZ1bm5lbENoYXJ0Q3VycmVudEluZGV4KGN1cnJlbnRQb2ludHMsIGZ1bm5lbERhdGEpIHtcclxuICB2YXIgY3VycmVudEluZGV4ID0gLTE7XHJcbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGZ1bm5lbERhdGEuc2VyaWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICB2YXIgaXRlbSA9IGZ1bm5lbERhdGEuc2VyaWVzW2ldO1xyXG4gICAgaWYgKGN1cnJlbnRQb2ludHMueCA+IGl0ZW0uZnVubmVsQXJlYVswXSAmJiBjdXJyZW50UG9pbnRzLnggPCBpdGVtLmZ1bm5lbEFyZWFbMl0gJiYgY3VycmVudFBvaW50cy55ID4gaXRlbS5mdW5uZWxBcmVhWzFdICYmIGN1cnJlbnRQb2ludHMueSA8IGl0ZW0uZnVubmVsQXJlYVszXSkge1xyXG4gICAgICBjdXJyZW50SW5kZXggPSBpO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGN1cnJlbnRJbmRleDtcclxufVxyXG5cclxuZnVuY3Rpb24gZmluZFdvcmRDaGFydEN1cnJlbnRJbmRleChjdXJyZW50UG9pbnRzLCB3b3JkRGF0YSkge1xyXG4gIHZhciBjdXJyZW50SW5kZXggPSAtMTtcclxuICBmb3IgKHZhciBpID0gMCwgbGVuID0gd29yZERhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgIHZhciBpdGVtID0gd29yZERhdGFbaV07XHJcbiAgICBpZiAoY3VycmVudFBvaW50cy54ID4gaXRlbS5hcmVhWzBdICYmIGN1cnJlbnRQb2ludHMueCA8IGl0ZW0uYXJlYVsyXSAmJiBjdXJyZW50UG9pbnRzLnkgPiBpdGVtLmFyZWFbMV0gJiYgY3VycmVudFBvaW50cy55IDwgaXRlbS5hcmVhWzNdKSB7XHJcbiAgICAgIGN1cnJlbnRJbmRleCA9IGk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gY3VycmVudEluZGV4O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaW5kTWFwQ2hhcnRDdXJyZW50SW5kZXgoY3VycmVudFBvaW50cywgb3B0cykge1xyXG4gIHZhciBjdXJyZW50SW5kZXggPSAtMTtcclxuICB2YXIgY0RhdGE9b3B0cy5jaGFydERhdGEubWFwRGF0YTtcclxuICB2YXIgZGF0YT1vcHRzLnNlcmllcztcclxuICB2YXIgdG1wPXBvaW50VG9Db29yZGluYXRlKGN1cnJlbnRQb2ludHMueSwgY3VycmVudFBvaW50cy54LGNEYXRhLmJvdW5kcyxjRGF0YS5zY2FsZSxjRGF0YS54b2Zmc2V0LGNEYXRhLnlvZmZzZXQpO1xyXG4gIHZhciBwb2k9W3RtcC54LCB0bXAueV07XHJcbiAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGRhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgIHZhciBpdGVtID0gZGF0YVtpXS5nZW9tZXRyeS5jb29yZGluYXRlcztcclxuICAgIGlmKGlzUG9pV2l0aGluUG9seShwb2ksaXRlbSkpe1xyXG4gICAgICBjdXJyZW50SW5kZXggPSBpO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGN1cnJlbnRJbmRleDtcclxufVxyXG5cclxuZnVuY3Rpb24gZmluZFBpZUNoYXJ0Q3VycmVudEluZGV4KGN1cnJlbnRQb2ludHMsIHBpZURhdGEpIHtcclxuICB2YXIgY3VycmVudEluZGV4ID0gLTE7XHJcbiAgaWYgKGlzSW5FeGFjdFBpZUNoYXJ0QXJlYShjdXJyZW50UG9pbnRzLCBwaWVEYXRhLmNlbnRlciwgcGllRGF0YS5yYWRpdXMpKSB7XHJcbiAgICB2YXIgYW5nbGUgPSBNYXRoLmF0YW4yKHBpZURhdGEuY2VudGVyLnkgLSBjdXJyZW50UG9pbnRzLnksIGN1cnJlbnRQb2ludHMueCAtIHBpZURhdGEuY2VudGVyLngpO1xyXG4gICAgYW5nbGUgPSAtYW5nbGU7XHJcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gcGllRGF0YS5zZXJpZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgdmFyIGl0ZW0gPSBwaWVEYXRhLnNlcmllc1tpXTtcclxuICAgICAgaWYgKGlzSW5BbmdsZVJhbmdlKGFuZ2xlLCBpdGVtLl9zdGFydF8sIGl0ZW0uX3N0YXJ0XyArIGl0ZW0uX3Byb3BvcnRpb25fICogMiAqIE1hdGguUEkpKSB7XHJcbiAgICAgICAgY3VycmVudEluZGV4ID0gaTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGN1cnJlbnRJbmRleDtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNJbkV4YWN0UGllQ2hhcnRBcmVhKGN1cnJlbnRQb2ludHMsIGNlbnRlciwgcmFkaXVzKSB7XHJcbiAgcmV0dXJuIE1hdGgucG93KGN1cnJlbnRQb2ludHMueCAtIGNlbnRlci54LCAyKSArIE1hdGgucG93KGN1cnJlbnRQb2ludHMueSAtIGNlbnRlci55LCAyKSA8PSBNYXRoLnBvdyhyYWRpdXMsIDIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzcGxpdFBvaW50cyhwb2ludHMpIHtcclxuICB2YXIgbmV3UG9pbnRzID0gW107XHJcbiAgdmFyIGl0ZW1zID0gW107XHJcbiAgcG9pbnRzLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgIGlmIChpdGVtICE9PSBudWxsKSB7XHJcbiAgICAgIGl0ZW1zLnB1c2goaXRlbSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoaXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgbmV3UG9pbnRzLnB1c2goaXRlbXMpO1xyXG4gICAgICB9XHJcbiAgICAgIGl0ZW1zID0gW107XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgaWYgKGl0ZW1zLmxlbmd0aCkge1xyXG4gICAgbmV3UG9pbnRzLnB1c2goaXRlbXMpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG5ld1BvaW50cztcclxufVxyXG5cclxuZnVuY3Rpb24gY2FsTGVnZW5kRGF0YShzZXJpZXMsIG9wdHMsIGNvbmZpZywgY2hhcnREYXRhKSB7XHJcbiAgbGV0IGxlZ2VuZERhdGEgPSB7XHJcbiAgICBhcmVhOiB7XHJcbiAgICAgIHN0YXJ0OiB7XHJcbiAgICAgICAgeDogMCxcclxuICAgICAgICB5OiAwXHJcbiAgICAgIH0sXHJcbiAgICAgIGVuZDoge1xyXG4gICAgICAgIHg6IDAsXHJcbiAgICAgICAgeTogMFxyXG4gICAgICB9LFxyXG4gICAgICB3aWR0aDogMCxcclxuICAgICAgaGVpZ2h0OiAwLFxyXG4gICAgICB3aG9sZVdpZHRoOiAwLFxyXG4gICAgICB3aG9sZUhlaWdodDogMFxyXG4gICAgfSxcclxuICAgIHBvaW50czogW10sXHJcbiAgICB3aWR0aEFycjogW10sXHJcbiAgICBoZWlnaHRBcnI6IFtdXHJcbiAgfTtcclxuICBpZiAob3B0cy5sZWdlbmQuc2hvdyA9PT0gZmFsc2UpIHtcclxuICAgIGNoYXJ0RGF0YS5sZWdlbmREYXRhID0gbGVnZW5kRGF0YTtcclxuICAgIHJldHVybiBsZWdlbmREYXRhO1xyXG4gIH1cclxuXHJcbiAgbGV0IHBhZGRpbmcgPSBvcHRzLmxlZ2VuZC5wYWRkaW5nO1xyXG4gIGxldCBtYXJnaW4gPSBvcHRzLmxlZ2VuZC5tYXJnaW47XHJcbiAgbGV0IGZvbnRTaXplID0gb3B0cy5sZWdlbmQuZm9udFNpemU7XHJcbiAgbGV0IHNoYXBlV2lkdGggPSAxNSAqIG9wdHMucGl4ZWxSYXRpbztcclxuICBsZXQgc2hhcGVSaWdodCA9IDUgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgbGV0IGxpbmVIZWlnaHQgPSBNYXRoLm1heChvcHRzLmxlZ2VuZC5saW5lSGVpZ2h0ICogb3B0cy5waXhlbFJhdGlvLCBmb250U2l6ZSk7XHJcbiAgaWYgKG9wdHMubGVnZW5kLnBvc2l0aW9uID09ICd0b3AnIHx8IG9wdHMubGVnZW5kLnBvc2l0aW9uID09ICdib3R0b20nKSB7XHJcbiAgICBsZXQgbGVnZW5kTGlzdCA9IFtdO1xyXG4gICAgbGV0IHdpZHRoQ291bnQgPSAwO1xyXG4gICAgbGV0IHdpZHRoQ291bnRBcnIgPSBbXTtcclxuICAgIGxldCBjdXJyZW50Um93ID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgICAgbGV0IGl0ZW1XaWR0aCA9IHNoYXBlV2lkdGggKyBzaGFwZVJpZ2h0ICsgbWVhc3VyZVRleHQoaXRlbS5uYW1lIHx8ICd1bmRlZmluZWQnLCBmb250U2l6ZSkgKyBvcHRzLmxlZ2VuZC5pdGVtR2FwO1xyXG4gICAgICBpZiAod2lkdGhDb3VudCArIGl0ZW1XaWR0aCA+IG9wdHMud2lkdGggLSBvcHRzLnBhZGRpbmdbMV0gLSBvcHRzLnBhZGRpbmdbM10pIHtcclxuICAgICAgICBsZWdlbmRMaXN0LnB1c2goY3VycmVudFJvdyk7XHJcbiAgICAgICAgd2lkdGhDb3VudEFyci5wdXNoKHdpZHRoQ291bnQgLSBvcHRzLmxlZ2VuZC5pdGVtR2FwKTtcclxuICAgICAgICB3aWR0aENvdW50ID0gaXRlbVdpZHRoO1xyXG4gICAgICAgIGN1cnJlbnRSb3cgPSBbaXRlbV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd2lkdGhDb3VudCArPSBpdGVtV2lkdGg7XHJcbiAgICAgICAgY3VycmVudFJvdy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoY3VycmVudFJvdy5sZW5ndGgpIHtcclxuICAgICAgbGVnZW5kTGlzdC5wdXNoKGN1cnJlbnRSb3cpO1xyXG4gICAgICB3aWR0aENvdW50QXJyLnB1c2god2lkdGhDb3VudCAtIG9wdHMubGVnZW5kLml0ZW1HYXApO1xyXG4gICAgICBsZWdlbmREYXRhLndpZHRoQXJyID0gd2lkdGhDb3VudEFycjtcclxuICAgICAgbGV0IGxlZ2VuZFdpZHRoID0gTWF0aC5tYXguYXBwbHkobnVsbCwgd2lkdGhDb3VudEFycik7XHJcbiAgICAgIHN3aXRjaCAob3B0cy5sZWdlbmQuZmxvYXQpIHtcclxuICAgICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgICAgIGxlZ2VuZERhdGEuYXJlYS5zdGFydC54ID0gb3B0cy5wYWRkaW5nWzNdO1xyXG4gICAgICAgICAgbGVnZW5kRGF0YS5hcmVhLmVuZC54ID0gb3B0cy5wYWRkaW5nWzNdICsgMiAqIHBhZGRpbmc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdyaWdodCc6XHJcbiAgICAgICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueCA9IG9wdHMud2lkdGggLSBvcHRzLnBhZGRpbmdbMV0gLSBsZWdlbmRXaWR0aCAtIDIgKiBwYWRkaW5nO1xyXG4gICAgICAgICAgbGVnZW5kRGF0YS5hcmVhLmVuZC54ID0gb3B0cy53aWR0aCAtIG9wdHMucGFkZGluZ1sxXTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueCA9IChvcHRzLndpZHRoIC0gbGVnZW5kV2lkdGgpIC8gMiAtIHBhZGRpbmc7XHJcbiAgICAgICAgICBsZWdlbmREYXRhLmFyZWEuZW5kLnggPSAob3B0cy53aWR0aCArIGxlZ2VuZFdpZHRoKSAvIDIgKyBwYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICAgIGxlZ2VuZERhdGEuYXJlYS53aWR0aCA9IGxlZ2VuZFdpZHRoICsgMiAqIHBhZGRpbmc7XHJcbiAgICAgIGxlZ2VuZERhdGEuYXJlYS53aG9sZVdpZHRoID0gbGVnZW5kV2lkdGggKyAyICogcGFkZGluZztcclxuICAgICAgbGVnZW5kRGF0YS5hcmVhLmhlaWdodCA9IGxlZ2VuZExpc3QubGVuZ3RoICogbGluZUhlaWdodCArIDIgKiBwYWRkaW5nO1xyXG4gICAgICBsZWdlbmREYXRhLmFyZWEud2hvbGVIZWlnaHQgPSBsZWdlbmRMaXN0Lmxlbmd0aCAqIGxpbmVIZWlnaHQgKyAyICogcGFkZGluZyArIDIgKiBtYXJnaW47XHJcbiAgICAgIGxlZ2VuZERhdGEucG9pbnRzID0gbGVnZW5kTGlzdDtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgbGV0IGxlbiA9IHNlcmllcy5sZW5ndGg7XHJcbiAgICBsZXQgbWF4SGVpZ2h0ID0gb3B0cy5oZWlnaHQgLSBvcHRzLnBhZGRpbmdbMF0gLSBvcHRzLnBhZGRpbmdbMl0gLSAyICogbWFyZ2luIC0gMiAqIHBhZGRpbmc7XHJcbiAgICBsZXQgbWF4TGVuZ3RoID0gTWF0aC5taW4oTWF0aC5mbG9vcihtYXhIZWlnaHQgLyBsaW5lSGVpZ2h0KSwgbGVuKTtcclxuICAgIGxlZ2VuZERhdGEuYXJlYS5oZWlnaHQgPSBtYXhMZW5ndGggKiBsaW5lSGVpZ2h0ICsgcGFkZGluZyAqIDI7XHJcbiAgICBsZWdlbmREYXRhLmFyZWEud2hvbGVIZWlnaHQgPSBtYXhMZW5ndGggKiBsaW5lSGVpZ2h0ICsgcGFkZGluZyAqIDI7XHJcbiAgICBzd2l0Y2ggKG9wdHMubGVnZW5kLmZsb2F0KSB7XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgbGVnZW5kRGF0YS5hcmVhLnN0YXJ0LnkgPSBvcHRzLnBhZGRpbmdbMF0gKyBtYXJnaW47XHJcbiAgICAgICAgbGVnZW5kRGF0YS5hcmVhLmVuZC55ID0gb3B0cy5wYWRkaW5nWzBdICsgbWFyZ2luICsgbGVnZW5kRGF0YS5hcmVhLmhlaWdodDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAnYm90dG9tJzpcclxuICAgICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueSA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5wYWRkaW5nWzJdIC0gbWFyZ2luIC0gbGVnZW5kRGF0YS5hcmVhLmhlaWdodDtcclxuICAgICAgICBsZWdlbmREYXRhLmFyZWEuZW5kLnkgPSBvcHRzLmhlaWdodCAtIG9wdHMucGFkZGluZ1syXSAtIG1hcmdpbjtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueSA9IChvcHRzLmhlaWdodCAtIGxlZ2VuZERhdGEuYXJlYS5oZWlnaHQpIC8gMjtcclxuICAgICAgICBsZWdlbmREYXRhLmFyZWEuZW5kLnkgPSAob3B0cy5oZWlnaHQgKyBsZWdlbmREYXRhLmFyZWEuaGVpZ2h0KSAvIDI7XHJcbiAgICB9XHJcbiAgICBsZXQgbGluZU51bSA9IGxlbiAlIG1heExlbmd0aCA9PT0gMCA/IGxlbiAvIG1heExlbmd0aCA6IE1hdGguZmxvb3IoKGxlbiAvIG1heExlbmd0aCkgKyAxKTtcclxuICAgIGxldCBjdXJyZW50Um93ID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVOdW07IGkrKykge1xyXG4gICAgICBsZXQgdGVtcCA9IHNlcmllcy5zbGljZShpICogbWF4TGVuZ3RoLCBpICogbWF4TGVuZ3RoICsgbWF4TGVuZ3RoKTtcclxuICAgICAgY3VycmVudFJvdy5wdXNoKHRlbXApO1xyXG4gICAgfVxyXG5cclxuICAgIGxlZ2VuZERhdGEucG9pbnRzID0gY3VycmVudFJvdztcclxuXHJcbiAgICBpZiAoY3VycmVudFJvdy5sZW5ndGgpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjdXJyZW50Um93Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgbGV0IGl0ZW0gPSBjdXJyZW50Um93W2ldO1xyXG4gICAgICAgIGxldCBtYXhXaWR0aCA9IDA7XHJcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBpdGVtLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICBsZXQgaXRlbVdpZHRoID0gc2hhcGVXaWR0aCArIHNoYXBlUmlnaHQgKyBtZWFzdXJlVGV4dChpdGVtW2pdLm5hbWUgfHwgJ3VuZGVmaW5lZCcsIGZvbnRTaXplKSArIG9wdHMubGVnZW5kLml0ZW1HYXA7XHJcbiAgICAgICAgICBpZiAoaXRlbVdpZHRoID4gbWF4V2lkdGgpIHtcclxuICAgICAgICAgICAgbWF4V2lkdGggPSBpdGVtV2lkdGg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxlZ2VuZERhdGEud2lkdGhBcnIucHVzaChtYXhXaWR0aCk7XHJcbiAgICAgICAgbGVnZW5kRGF0YS5oZWlnaHRBcnIucHVzaChpdGVtLmxlbmd0aCAqIGxpbmVIZWlnaHQgKyBwYWRkaW5nICogMik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGxlZ2VuZFdpZHRoID0gMFxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlZ2VuZERhdGEud2lkdGhBcnIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZWdlbmRXaWR0aCArPSBsZWdlbmREYXRhLndpZHRoQXJyW2ldO1xyXG4gICAgICB9XHJcbiAgICAgIGxlZ2VuZERhdGEuYXJlYS53aWR0aCA9IGxlZ2VuZFdpZHRoIC0gb3B0cy5sZWdlbmQuaXRlbUdhcCArIDIgKiBwYWRkaW5nO1xyXG4gICAgICBsZWdlbmREYXRhLmFyZWEud2hvbGVXaWR0aCA9IGxlZ2VuZERhdGEuYXJlYS53aWR0aCArIHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzd2l0Y2ggKG9wdHMubGVnZW5kLnBvc2l0aW9uKSB7XHJcbiAgICBjYXNlICd0b3AnOlxyXG4gICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueSA9IG9wdHMucGFkZGluZ1swXSArIG1hcmdpbjtcclxuICAgICAgbGVnZW5kRGF0YS5hcmVhLmVuZC55ID0gb3B0cy5wYWRkaW5nWzBdICsgbWFyZ2luICsgbGVnZW5kRGF0YS5hcmVhLmhlaWdodDtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueSA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5wYWRkaW5nWzJdIC0gbGVnZW5kRGF0YS5hcmVhLmhlaWdodCAtIG1hcmdpbjtcclxuICAgICAgbGVnZW5kRGF0YS5hcmVhLmVuZC55ID0gb3B0cy5oZWlnaHQgLSBvcHRzLnBhZGRpbmdbMl0gLSBtYXJnaW47XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAnbGVmdCc6XHJcbiAgICAgIGxlZ2VuZERhdGEuYXJlYS5zdGFydC54ID0gb3B0cy5wYWRkaW5nWzNdO1xyXG4gICAgICBsZWdlbmREYXRhLmFyZWEuZW5kLnggPSBvcHRzLnBhZGRpbmdbM10gKyBsZWdlbmREYXRhLmFyZWEud2lkdGg7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICBsZWdlbmREYXRhLmFyZWEuc3RhcnQueCA9IG9wdHMud2lkdGggLSBvcHRzLnBhZGRpbmdbMV0gLSBsZWdlbmREYXRhLmFyZWEud2lkdGg7XHJcbiAgICAgIGxlZ2VuZERhdGEuYXJlYS5lbmQueCA9IG9wdHMud2lkdGggLSBvcHRzLnBhZGRpbmdbMV07XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuICBjaGFydERhdGEubGVnZW5kRGF0YSA9IGxlZ2VuZERhdGE7XHJcbiAgcmV0dXJuIGxlZ2VuZERhdGE7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbENhdGVnb3JpZXNEYXRhKGNhdGVnb3JpZXMsIG9wdHMsIGNvbmZpZywgZWFjaFNwYWNpbmcpIHtcclxuICB2YXIgcmVzdWx0ID0ge1xyXG4gICAgYW5nbGU6IDAsXHJcbiAgICB4QXhpc0hlaWdodDogY29uZmlnLnhBeGlzSGVpZ2h0XHJcbiAgfTtcclxuICB2YXIgY2F0ZWdvcmllc1RleHRMZW50aCA9IGNhdGVnb3JpZXMubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIHJldHVybiBtZWFzdXJlVGV4dChpdGVtLG9wdHMueEF4aXMuZm9udFNpemV8fGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgfSk7XHJcbiAgdmFyIG1heFRleHRMZW5ndGggPSBNYXRoLm1heC5hcHBseSh0aGlzLCBjYXRlZ29yaWVzVGV4dExlbnRoKTtcclxuXHJcbiAgaWYgKG9wdHMueEF4aXMucm90YXRlTGFiZWwgPT0gdHJ1ZSAmJiBtYXhUZXh0TGVuZ3RoICsgMiAqIGNvbmZpZy54QXhpc1RleHRQYWRkaW5nID4gZWFjaFNwYWNpbmcpIHtcclxuICAgIHJlc3VsdC5hbmdsZSA9IDQ1ICogTWF0aC5QSSAvIDE4MDtcclxuICAgIHJlc3VsdC54QXhpc0hlaWdodCA9IDIgKiBjb25maWcueEF4aXNUZXh0UGFkZGluZyArIG1heFRleHRMZW5ndGggKiBNYXRoLnNpbihyZXN1bHQuYW5nbGUpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRYQXhpc1RleHRMaXN0KHNlcmllcywgb3B0cywgY29uZmlnKSB7XHJcbiAgdmFyIGluZGV4ID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiAtMTtcclxuICB2YXIgZGF0YSA9IGRhdGFDb21iaW5lKHNlcmllcyk7XHJcbiAgdmFyIHNvcnRlZCA9IFtdO1xyXG4gIC8vIHJlbW92ZSBudWxsIGZyb20gZGF0YVxyXG4gIGRhdGEgPSBkYXRhLmZpbHRlcihmdW5jdGlvbihpdGVtKSB7XHJcbiAgICAvL3JldHVybiBpdGVtICE9PSBudWxsO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsKSB7XHJcbiAgICAgIGlmIChpdGVtLmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZignQXJyYXknKT4tMSkge1xyXG4gICAgICAgIHJldHVybiBpdGVtICE9PSBudWxsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBpdGVtLnZhbHVlICE9PSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaXRlbSAhPT0gbnVsbDtcclxuICAgIH1cclxuICB9KTtcclxuICBkYXRhLm1hcChmdW5jdGlvbihpdGVtKSB7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgIGlmIChpdGVtLmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZignQXJyYXknKT4tMSkge1xyXG5cdFx0XHRcdGlmKG9wdHMudHlwZT09J2NhbmRsZScpe1xyXG5cdFx0XHRcdFx0aXRlbS5tYXAoZnVuY3Rpb24oc3ViaXRlbSkge1xyXG5cdFx0XHRcdFx0ICBzb3J0ZWQucHVzaChzdWJpdGVtKTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRzb3J0ZWQucHVzaChpdGVtWzBdKTtcclxuXHRcdFx0XHR9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc29ydGVkLnB1c2goaXRlbS52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNvcnRlZC5wdXNoKGl0ZW0pO1xyXG4gICAgfVxyXG4gIH0pXHJcblx0XHJcbiAgdmFyIG1pbkRhdGEgPSAwO1xyXG4gIHZhciBtYXhEYXRhID0gMDtcclxuICBpZiAoc29ydGVkLmxlbmd0aCA+IDApIHtcclxuICAgIG1pbkRhdGEgPSBNYXRoLm1pbi5hcHBseSh0aGlzLCBzb3J0ZWQpO1xyXG4gICAgbWF4RGF0YSA9IE1hdGgubWF4LmFwcGx5KHRoaXMsIHNvcnRlZCk7XHJcbiAgfVxyXG4gIC8v5Li65LqG5YW85a65djEuOS4w5LmL5YmN55qE6aG555uuXHJcbiAgaWYoaW5kZXg+LTEpe1xyXG4gICAgaWYgKHR5cGVvZiBvcHRzLnhBeGlzLmRhdGFbaW5kZXhdLm1pbiA9PT0gJ251bWJlcicpIHtcclxuICAgICAgbWluRGF0YSA9IE1hdGgubWluKG9wdHMueEF4aXMuZGF0YVtpbmRleF0ubWluLCBtaW5EYXRhKTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2Ygb3B0cy54QXhpcy5kYXRhW2luZGV4XS5tYXggPT09ICdudW1iZXInKSB7XHJcbiAgICAgIG1heERhdGEgPSBNYXRoLm1heChvcHRzLnhBeGlzLmRhdGFbaW5kZXhdLm1heCwgbWF4RGF0YSk7XHJcbiAgICB9XHJcbiAgfWVsc2V7XHJcbiAgICBpZiAodHlwZW9mIG9wdHMueEF4aXMubWluID09PSAnbnVtYmVyJykge1xyXG4gICAgICBtaW5EYXRhID0gTWF0aC5taW4ob3B0cy54QXhpcy5taW4sIG1pbkRhdGEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBvcHRzLnhBeGlzLm1heCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgbWF4RGF0YSA9IE1hdGgubWF4KG9wdHMueEF4aXMubWF4LCBtYXhEYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcblxyXG4gIGlmIChtaW5EYXRhID09PSBtYXhEYXRhKSB7XHJcbiAgICB2YXIgcmFuZ2VTcGFuID0gbWF4RGF0YSB8fCAxMDtcclxuICAgIG1heERhdGEgKz0gcmFuZ2VTcGFuO1xyXG4gIH1cclxuXHJcbiAgLy92YXIgZGF0YVJhbmdlID0gZ2V0RGF0YVJhbmdlKG1pbkRhdGEsIG1heERhdGEpO1xyXG4gIHZhciBtaW5SYW5nZSA9IG1pbkRhdGE7XHJcbiAgdmFyIG1heFJhbmdlID0gbWF4RGF0YTtcclxuXHJcbiAgdmFyIHJhbmdlID0gW107XHJcbiAgdmFyIGVhY2hSYW5nZSA9IChtYXhSYW5nZSAtIG1pblJhbmdlKSAvIG9wdHMueEF4aXMuc3BsaXROdW1iZXI7XHJcblxyXG4gIGZvciAodmFyIGkgPSAwOyBpIDw9IG9wdHMueEF4aXMuc3BsaXROdW1iZXI7IGkrKykge1xyXG4gICAgcmFuZ2UucHVzaChtaW5SYW5nZSArIGVhY2hSYW5nZSAqIGkpO1xyXG4gIH1cclxuICByZXR1cm4gcmFuZ2U7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbFhBeGlzRGF0YShzZXJpZXMsIG9wdHMsIGNvbmZpZyl7XHJcbiAgICB2YXIgcmVzdWx0ID0ge1xyXG4gICAgICAgIGFuZ2xlOiAwLFxyXG4gICAgICAgIHhBeGlzSGVpZ2h0OiBjb25maWcueEF4aXNIZWlnaHRcclxuICAgIH07XHJcblxyXG4gICAgcmVzdWx0LnJhbmdlcyA9IGdldFhBeGlzVGV4dExpc3Qoc2VyaWVzLCBvcHRzLCBjb25maWcpO1xyXG4gICAgcmVzdWx0LnJhbmdlc0Zvcm1hdCA9IHJlc3VsdC5yYW5nZXMubWFwKGZ1bmN0aW9uKGl0ZW0pe1xyXG4gICAgICAgIGl0ZW0gPSBvcHRzLnhBeGlzLmZvcm1hdD8gb3B0cy54QXhpcy5mb3JtYXQoaXRlbSk6dXRpbC50b0ZpeGVkKGl0ZW0sIDIpO1xyXG4gICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgfSk7XHJcblx0XHRcclxuICAgIHZhciB4QXhpc1NjYWxlVmFsdWVzID0gcmVzdWx0LnJhbmdlcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICAvLyDlpoLmnpzliLvluqblgLzmmK/mta7ngrnmlbAs5YiZ5L+d55WZ5Lik5L2N5bCP5pWwXHJcbiAgICAgICAgaXRlbSA9IHV0aWwudG9GaXhlZChpdGVtLCAyKTtcclxuICAgICAgICAvLyDoi6XmnInoh6rlrprkuYnmoLzlvI/liJnosIPnlKjoh6rlrprkuYnnmoTmoLzlvI/ljJblh73mlbBcclxuICAgICAgICBpdGVtID0gb3B0cy54QXhpcy5mb3JtYXQgPyBvcHRzLnhBeGlzLmZvcm1hdChOdW1iZXIoaXRlbSkpIDogaXRlbTtcclxuICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJlc3VsdCA9IE9iamVjdC5hc3NpZ24ocmVzdWx0LGdldFhBeGlzUG9pbnRzKHhBeGlzU2NhbGVWYWx1ZXMsIG9wdHMsIGNvbmZpZykpO1xyXG4gICAgLy8g6K6h566XWOi9tOWIu+W6pueahOWxnuaAp+itrOWmguavj+S4quWIu+W6pueahOmXtOmalCzliLvluqbnmoTotbflp4vngrlcXOe7k+adn+eCueS7peWPiuaAu+mVv1xyXG4gICAgdmFyIGVhY2hTcGFjaW5nID0gcmVzdWx0LmVhY2hTcGFjaW5nO1xyXG5cclxuICAgIHZhciB0ZXh0TGVuZ3RoID0geEF4aXNTY2FsZVZhbHVlcy5tYXAoZnVuY3Rpb24gKGl0ZW0pIHtcclxuICAgICAgICByZXR1cm4gbWVhc3VyZVRleHQoaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgLy8gZ2V0IG1heCBsZW5ndGggb2YgY2F0ZWdvcmllcyB0ZXh0XHJcbiAgICB2YXIgbWF4VGV4dExlbmd0aCA9IE1hdGgubWF4LmFwcGx5KHRoaXMsIHRleHRMZW5ndGgpO1xyXG5cclxuICAgIC8vIOWmguaenOWIu+W6puWAvOaWh+acrOWGheWuuei/h+mVvyzliJnlsIblhbbpgIbml7bpkojml4vovaw0NcKwXHJcbiAgICBpZiAobWF4VGV4dExlbmd0aCArIDIgKiBjb25maWcueEF4aXNUZXh0UGFkZGluZyA+IGVhY2hTcGFjaW5nKSB7XHJcbiAgICAgICAgcmVzdWx0LmFuZ2xlID0gNDUgKiBNYXRoLlBJIC8gMTgwO1xyXG4gICAgICAgIHJlc3VsdC54QXhpc0hlaWdodCA9IDIgKiBjb25maWcueEF4aXNUZXh0UGFkZGluZyArIG1heFRleHRMZW5ndGggKiBNYXRoLnNpbihyZXN1bHQuYW5nbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvcHRzLnhBeGlzLmRpc2FibGVkID09PSB0cnVlKSB7XHJcbiAgICAgICAgcmVzdWx0LnhBeGlzSGVpZ2h0ID0gMDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRSYWRhckRhdGFQb2ludHMoYW5nbGVMaXN0LCBjZW50ZXIsIHJhZGl1cywgc2VyaWVzLCBvcHRzKSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gNSAmJiBhcmd1bWVudHNbNV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s1XSA6IDE7XHJcblxyXG4gIHZhciByYWRhck9wdGlvbiA9IG9wdHMuZXh0cmEucmFkYXIgfHwge307XHJcbiAgcmFkYXJPcHRpb24ubWF4ID0gcmFkYXJPcHRpb24ubWF4IHx8IDA7XHJcbiAgdmFyIG1heERhdGEgPSBNYXRoLm1heChyYWRhck9wdGlvbi5tYXgsIE1hdGgubWF4LmFwcGx5KG51bGwsIGRhdGFDb21iaW5lKHNlcmllcykpKTtcclxuXHJcbiAgdmFyIGRhdGEgPSBbXTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllcy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGVhY2ggPSBzZXJpZXNbaV07XHJcbiAgICBsZXQgbGlzdEl0ZW0gPSB7fTtcclxuICAgIGxpc3RJdGVtLmNvbG9yID0gZWFjaC5jb2xvcjtcclxuXHRcdGxpc3RJdGVtLmxlZ2VuZFNoYXBlID0gZWFjaC5sZWdlbmRTaGFwZTtcclxuXHRcdGxpc3RJdGVtLnBvaW50U2hhcGUgPSBlYWNoLnBvaW50U2hhcGU7XHJcbiAgICBsaXN0SXRlbS5kYXRhID0gW107XHJcbiAgICBlYWNoLmRhdGEuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICBsZXQgdG1wID0ge307XHJcbiAgICAgIHRtcC5hbmdsZSA9IGFuZ2xlTGlzdFtpbmRleF07XHJcblxyXG4gICAgICB0bXAucHJvcG9ydGlvbiA9IGl0ZW0gLyBtYXhEYXRhO1xyXG4gICAgICB0bXAucG9zaXRpb24gPSBjb252ZXJ0Q29vcmRpbmF0ZU9yaWdpbihyYWRpdXMgKiB0bXAucHJvcG9ydGlvbiAqIHByb2Nlc3MgKiBNYXRoLmNvcyh0bXAuYW5nbGUpLCByYWRpdXMgKiB0bXAucHJvcG9ydGlvbiAqXHJcbiAgICAgICAgcHJvY2VzcyAqIE1hdGguc2luKHRtcC5hbmdsZSksIGNlbnRlcik7XHJcbiAgICAgIGxpc3RJdGVtLmRhdGEucHVzaCh0bXApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgZGF0YS5wdXNoKGxpc3RJdGVtKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBkYXRhO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRQaWVEYXRhUG9pbnRzKHNlcmllcywgcmFkaXVzKSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IDE7XHJcblxyXG4gIHZhciBjb3VudCA9IDA7XHJcbiAgdmFyIF9zdGFydF8gPSAwO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgIGl0ZW0uZGF0YSA9IGl0ZW0uZGF0YSA9PT0gbnVsbCA/IDAgOiBpdGVtLmRhdGE7XHJcbiAgICBjb3VudCArPSBpdGVtLmRhdGE7XHJcbiAgfVxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgIGl0ZW0uZGF0YSA9IGl0ZW0uZGF0YSA9PT0gbnVsbCA/IDAgOiBpdGVtLmRhdGE7XHJcbiAgICBpZiAoY291bnQgPT09IDApIHtcclxuICAgICAgaXRlbS5fcHJvcG9ydGlvbl8gPSAxIC8gc2VyaWVzLmxlbmd0aCAqIHByb2Nlc3M7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtLl9wcm9wb3J0aW9uXyA9IGl0ZW0uZGF0YSAvIGNvdW50ICogcHJvY2VzcztcclxuICAgIH1cclxuICAgIGl0ZW0uX3JhZGl1c18gPSByYWRpdXM7XHJcbiAgfVxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgIGl0ZW0uX3N0YXJ0XyA9IF9zdGFydF87XHJcbiAgICBfc3RhcnRfICs9IDIgKiBpdGVtLl9wcm9wb3J0aW9uXyAqIE1hdGguUEk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gc2VyaWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRGdW5uZWxEYXRhUG9pbnRzKHNlcmllcywgcmFkaXVzKSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IDE7XHJcbiAgc2VyaWVzID0gc2VyaWVzLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gcGFyc2VJbnQoYi5kYXRhKS1wYXJzZUludChhLmRhdGEpO30pO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBzZXJpZXNbaV0ucmFkaXVzID0gc2VyaWVzW2ldLmRhdGEvc2VyaWVzWzBdLmRhdGEqcmFkaXVzKnByb2Nlc3M7XHJcbiAgICBzZXJpZXNbaV0uX3Byb3BvcnRpb25fID0gc2VyaWVzW2ldLmRhdGEvc2VyaWVzWzBdLmRhdGE7XHJcbiAgfVxyXG4gIHJldHVybiBzZXJpZXMucmV2ZXJzZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRSb3NlRGF0YVBvaW50cyhzZXJpZXMsIHR5cGUsIG1pblJhZGl1cywgcmFkaXVzKSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IDE7XHJcbiAgdmFyIGNvdW50ID0gMDtcclxuICB2YXIgX3N0YXJ0XyA9IDA7XHJcblxyXG4gIHZhciBkYXRhQXJyID0gW107XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzZXJpZXMubGVuZ3RoOyBpKyspIHtcclxuICAgIGxldCBpdGVtID0gc2VyaWVzW2ldO1xyXG4gICAgaXRlbS5kYXRhID0gaXRlbS5kYXRhID09PSBudWxsID8gMCA6IGl0ZW0uZGF0YTtcclxuICAgIGNvdW50ICs9IGl0ZW0uZGF0YTtcclxuICAgIGRhdGFBcnIucHVzaChpdGVtLmRhdGEpO1xyXG4gIH1cclxuICBcclxuICB2YXIgbWluRGF0YSA9IE1hdGgubWluLmFwcGx5KG51bGwsIGRhdGFBcnIpO1xyXG4gIHZhciBtYXhEYXRhID0gTWF0aC5tYXguYXBwbHkobnVsbCwgZGF0YUFycik7XHJcbiAgdmFyIHJhZGl1c0xlbmd0aCA9IHJhZGl1cyAtIG1pblJhZGl1cztcclxuICBcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllcy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGl0ZW0gPSBzZXJpZXNbaV07XHJcbiAgICBpdGVtLmRhdGEgPSBpdGVtLmRhdGEgPT09IG51bGwgPyAwIDogaXRlbS5kYXRhO1xyXG4gICAgaWYgKGNvdW50ID09PSAwIHx8IHR5cGUgPT0gJ2FyZWEnKSB7XHJcbiAgICAgIGl0ZW0uX3Byb3BvcnRpb25fID0gaXRlbS5kYXRhIC8gY291bnQgKiBwcm9jZXNzO1xyXG4gICAgICBpdGVtLl9yb3NlX3Byb3BvcnRpb25fID0gMSAvIHNlcmllcy5sZW5ndGggKiBwcm9jZXNzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbS5fcHJvcG9ydGlvbl8gPSBpdGVtLmRhdGEgLyBjb3VudCAqIHByb2Nlc3M7XHJcbiAgICAgIGl0ZW0uX3Jvc2VfcHJvcG9ydGlvbl8gPSBpdGVtLmRhdGEgLyBjb3VudCAqIHByb2Nlc3M7XHJcbiAgICB9XHJcbiAgICBpdGVtLl9yYWRpdXNfID0gbWluUmFkaXVzICsgcmFkaXVzTGVuZ3RoICogKChpdGVtLmRhdGEgLSBtaW5EYXRhKSAvIChtYXhEYXRhIC0gbWluRGF0YSkpO1xyXG4gIH1cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllcy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGl0ZW0gPSBzZXJpZXNbaV07XHJcbiAgICBpdGVtLl9zdGFydF8gPSBfc3RhcnRfO1xyXG4gICAgX3N0YXJ0XyArPSAyICogaXRlbS5fcm9zZV9wcm9wb3J0aW9uXyAqIE1hdGguUEk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gc2VyaWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRBcmNiYXJEYXRhUG9pbnRzKHNlcmllcywgYXJjYmFyT3B0aW9uKSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IDE7XHJcbiAgaWYgKHByb2Nlc3MgPT0gMSkge1xyXG4gICAgcHJvY2VzcyA9IDAuOTk5OTk5O1xyXG4gIH1cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllcy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGl0ZW0gPSBzZXJpZXNbaV07XHJcbiAgICBpdGVtLmRhdGEgPSBpdGVtLmRhdGEgPT09IG51bGwgPyAwIDogaXRlbS5kYXRhO1xyXG4gICAgbGV0IHRvdGFsQW5nbGU7XHJcbiAgICBpZiAoYXJjYmFyT3B0aW9uLnR5cGUgPT0gJ2NpcmNsZScpIHtcclxuICAgICAgdG90YWxBbmdsZSA9IDI7XHJcbiAgICB9IGVsc2Uge1xyXG5cdFx0XHRpZiAoYXJjYmFyT3B0aW9uLmVuZEFuZ2xlIDwgYXJjYmFyT3B0aW9uLnN0YXJ0QW5nbGUpIHtcclxuXHRcdFx0ICB0b3RhbEFuZ2xlID0gMiArIGFyY2Jhck9wdGlvbi5lbmRBbmdsZSAtIGFyY2Jhck9wdGlvbi5zdGFydEFuZ2xlO1xyXG5cdFx0XHR9IGVsc2V7XHJcblx0XHRcdCAgdG90YWxBbmdsZSA9IGFyY2Jhck9wdGlvbi5zdGFydEFuZ2xlIC0gYXJjYmFyT3B0aW9uLmVuZEFuZ2xlO1xyXG5cdFx0XHR9XHJcbiAgICB9XHJcbiAgICBpdGVtLl9wcm9wb3J0aW9uXyA9IHRvdGFsQW5nbGUgKiBpdGVtLmRhdGEgKiBwcm9jZXNzICsgYXJjYmFyT3B0aW9uLnN0YXJ0QW5nbGU7XHJcbiAgICBpZiAoaXRlbS5fcHJvcG9ydGlvbl8gPj0gMikge1xyXG4gICAgICBpdGVtLl9wcm9wb3J0aW9uXyA9IGl0ZW0uX3Byb3BvcnRpb25fICUgMjtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHNlcmllcztcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0R2F1Z2VBeGlzUG9pbnRzKGNhdGVnb3JpZXMsIHN0YXJ0QW5nbGUsIGVuZEFuZ2xlKSB7XHJcbiAgbGV0IHRvdGFsQW5nbGUgPSBzdGFydEFuZ2xlIC0gZW5kQW5nbGUgKyAxO1xyXG4gIGxldCB0ZW1wU3RhcnRBbmdsZSA9IHN0YXJ0QW5nbGU7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXRlZ29yaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBjYXRlZ29yaWVzW2ldLnZhbHVlID0gY2F0ZWdvcmllc1tpXS52YWx1ZSA9PT0gbnVsbCA/IDAgOiBjYXRlZ29yaWVzW2ldLnZhbHVlO1xyXG4gICAgY2F0ZWdvcmllc1tpXS5fc3RhcnRBbmdsZV8gPSB0ZW1wU3RhcnRBbmdsZTtcclxuICAgIGNhdGVnb3JpZXNbaV0uX2VuZEFuZ2xlXyA9IHRvdGFsQW5nbGUgKiBjYXRlZ29yaWVzW2ldLnZhbHVlICsgc3RhcnRBbmdsZTtcclxuICAgIGlmIChjYXRlZ29yaWVzW2ldLl9lbmRBbmdsZV8gPj0gMikge1xyXG4gICAgICBjYXRlZ29yaWVzW2ldLl9lbmRBbmdsZV8gPSBjYXRlZ29yaWVzW2ldLl9lbmRBbmdsZV8gJSAyO1xyXG4gICAgfVxyXG4gICAgdGVtcFN0YXJ0QW5nbGUgPSBjYXRlZ29yaWVzW2ldLl9lbmRBbmdsZV87XHJcbiAgfVxyXG4gIHJldHVybiBjYXRlZ29yaWVzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRHYXVnZURhdGFQb2ludHMoc2VyaWVzLCBjYXRlZ29yaWVzLCBnYXVnZU9wdGlvbikge1xyXG4gIGxldCBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiAxO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgIGl0ZW0uZGF0YSA9IGl0ZW0uZGF0YSA9PT0gbnVsbCA/IDAgOiBpdGVtLmRhdGE7XHJcbiAgICBpZiAoZ2F1Z2VPcHRpb24ucG9pbnRlci5jb2xvciA9PSAnYXV0bycpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjYXRlZ29yaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uZGF0YSA8PSBjYXRlZ29yaWVzW2ldLnZhbHVlKSB7XHJcbiAgICAgICAgICBpdGVtLmNvbG9yID0gY2F0ZWdvcmllc1tpXS5jb2xvcjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbS5jb2xvciA9IGdhdWdlT3B0aW9uLnBvaW50ZXIuY29sb3I7XHJcbiAgICB9XHJcbiAgICBsZXQgdG90YWxBbmdsZSA9IGdhdWdlT3B0aW9uLnN0YXJ0QW5nbGUgLSBnYXVnZU9wdGlvbi5lbmRBbmdsZSArIDE7XHJcbiAgICBpdGVtLl9lbmRBbmdsZV8gPSB0b3RhbEFuZ2xlICogaXRlbS5kYXRhICsgZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZTtcclxuICAgIGl0ZW0uX29sZEFuZ2xlXyA9IGdhdWdlT3B0aW9uLm9sZEFuZ2xlO1xyXG4gICAgaWYgKGdhdWdlT3B0aW9uLm9sZEFuZ2xlIDwgZ2F1Z2VPcHRpb24uZW5kQW5nbGUpIHtcclxuICAgICAgaXRlbS5fb2xkQW5nbGVfICs9IDI7XHJcbiAgICB9XHJcbiAgICBpZiAoaXRlbS5kYXRhID49IGdhdWdlT3B0aW9uLm9sZERhdGEpIHtcclxuICAgICAgaXRlbS5fcHJvcG9ydGlvbl8gPSAoaXRlbS5fZW5kQW5nbGVfIC0gaXRlbS5fb2xkQW5nbGVfKSAqIHByb2Nlc3MgKyBnYXVnZU9wdGlvbi5vbGRBbmdsZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGl0ZW0uX3Byb3BvcnRpb25fID0gaXRlbS5fb2xkQW5nbGVfIC0gKGl0ZW0uX29sZEFuZ2xlXyAtIGl0ZW0uX2VuZEFuZ2xlXykgKiBwcm9jZXNzO1xyXG4gICAgfVxyXG4gICAgaWYgKGl0ZW0uX3Byb3BvcnRpb25fID49IDIpIHtcclxuICAgICAgaXRlbS5fcHJvcG9ydGlvbl8gPSBpdGVtLl9wcm9wb3J0aW9uXyAlIDI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBzZXJpZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldFBpZVRleHRNYXhMZW5ndGgoc2VyaWVzKSB7XHJcbiAgc2VyaWVzID0gZ2V0UGllRGF0YVBvaW50cyhzZXJpZXMpO1xyXG4gIGxldCBtYXhMZW5ndGggPSAwO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgaXRlbSA9IHNlcmllc1tpXTtcclxuICAgIGxldCB0ZXh0ID0gaXRlbS5mb3JtYXQgPyBpdGVtLmZvcm1hdCgraXRlbS5fcHJvcG9ydGlvbl8udG9GaXhlZCgyKSkgOiB1dGlsLnRvRml4ZWQoaXRlbS5fcHJvcG9ydGlvbl8gKiAxMDApICsgJyUnO1xyXG4gICAgbWF4TGVuZ3RoID0gTWF0aC5tYXgobWF4TGVuZ3RoLCBtZWFzdXJlVGV4dCh0ZXh0KSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbWF4TGVuZ3RoO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaXhDb2x1bWVEYXRhKHBvaW50cywgZWFjaFNwYWNpbmcsIGNvbHVtbkxlbiwgaW5kZXgsIGNvbmZpZywgb3B0cykge1xyXG4gIHJldHVybiBwb2ludHMubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgaXRlbS53aWR0aCA9IE1hdGguY2VpbCgoZWFjaFNwYWNpbmcgLSAyICogY29uZmlnLmNvbHVtZVBhZGRpbmcpIC8gY29sdW1uTGVuKTtcclxuXHJcbiAgICBpZiAob3B0cy5leHRyYS5jb2x1bW4gJiYgb3B0cy5leHRyYS5jb2x1bW4ud2lkdGggJiYgK29wdHMuZXh0cmEuY29sdW1uLndpZHRoID4gMCkge1xyXG4gICAgICBpdGVtLndpZHRoID0gTWF0aC5taW4oaXRlbS53aWR0aCwgK29wdHMuZXh0cmEuY29sdW1uLndpZHRoKTtcclxuICAgIH1cclxuICAgIGlmIChpdGVtLndpZHRoIDw9IDApIHtcclxuICAgICAgaXRlbS53aWR0aCA9IDE7XHJcbiAgICB9XHJcbiAgICBpdGVtLnggKz0gKGluZGV4ICsgMC41IC0gY29sdW1uTGVuIC8gMikgKiBpdGVtLndpZHRoO1xyXG4gICAgcmV0dXJuIGl0ZW07XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGZpeENvbHVtZU1ldGVyRGF0YShwb2ludHMsIGVhY2hTcGFjaW5nLCBjb2x1bW5MZW4sIGluZGV4LCBjb25maWcsIG9wdHMsIGJvcmRlcikge1xyXG4gIHJldHVybiBwb2ludHMubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIGlmIChpdGVtID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgaXRlbS53aWR0aCA9IE1hdGguY2VpbCgoZWFjaFNwYWNpbmcgLSAyICogY29uZmlnLmNvbHVtZVBhZGRpbmcpIC8gMik7XHJcblxyXG4gICAgaWYgKG9wdHMuZXh0cmEuY29sdW1uICYmIG9wdHMuZXh0cmEuY29sdW1uLndpZHRoICYmICtvcHRzLmV4dHJhLmNvbHVtbi53aWR0aCA+IDApIHtcclxuICAgICAgaXRlbS53aWR0aCA9IE1hdGgubWluKGl0ZW0ud2lkdGgsICtvcHRzLmV4dHJhLmNvbHVtbi53aWR0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGluZGV4ID4gMCkge1xyXG4gICAgICBpdGVtLndpZHRoIC09IDIgKiBib3JkZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gZml4Q29sdW1lU3RhY2tEYXRhKHBvaW50cywgZWFjaFNwYWNpbmcsIGNvbHVtbkxlbiwgaW5kZXgsIGNvbmZpZywgb3B0cywgc2VyaWVzKSB7XHJcblxyXG4gIHJldHVybiBwb2ludHMubWFwKGZ1bmN0aW9uKGl0ZW0sIGluZGV4bikge1xyXG5cclxuICAgIGlmIChpdGVtID09PSBudWxsKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgaXRlbS53aWR0aCA9IE1hdGguY2VpbCgoZWFjaFNwYWNpbmcgLSAyICogY29uZmlnLmNvbHVtZVBhZGRpbmcpIC8gMik7XHJcblxyXG4gICAgaWYgKG9wdHMuZXh0cmEuY29sdW1uICYmIG9wdHMuZXh0cmEuY29sdW1uLndpZHRoICYmICtvcHRzLmV4dHJhLmNvbHVtbi53aWR0aCA+IDApIHtcclxuICAgICAgaXRlbS53aWR0aCA9IE1hdGgubWluKGl0ZW0ud2lkdGgsICtvcHRzLmV4dHJhLmNvbHVtbi53aWR0aCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0WEF4aXNQb2ludHMoY2F0ZWdvcmllcywgb3B0cywgY29uZmlnKSB7XHJcbiAgdmFyIHNwYWNpbmdWYWxpZCA9IG9wdHMud2lkdGggLSBvcHRzLmFyZWFbMV0gLSBvcHRzLmFyZWFbM107XHJcbiAgdmFyIGRhdGFDb3VudCA9IG9wdHMuZW5hYmxlU2Nyb2xsID8gTWF0aC5taW4ob3B0cy54QXhpcy5pdGVtQ291bnQsIGNhdGVnb3JpZXMubGVuZ3RoKSA6IGNhdGVnb3JpZXMubGVuZ3RoO1xyXG4gIGlmKChvcHRzLnR5cGU9PSdsaW5lJyB8fCBvcHRzLnR5cGU9PSdhcmVhJykgJiYgZGF0YUNvdW50PjEgJiYgb3B0cy54QXhpcy5ib3VuZGFyeUdhcD09J2p1c3RpZnknKXtcclxuICAgIGRhdGFDb3VudCAtPTE7XHJcbiAgfVxyXG4gIHZhciBlYWNoU3BhY2luZyA9IHNwYWNpbmdWYWxpZCAvIGRhdGFDb3VudDtcclxuXHJcbiAgdmFyIHhBeGlzUG9pbnRzID0gW107XHJcbiAgdmFyIHN0YXJ0WCA9IG9wdHMuYXJlYVszXTtcclxuICB2YXIgZW5kWCA9IG9wdHMud2lkdGggLSBvcHRzLmFyZWFbMV07XHJcbiAgY2F0ZWdvcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcbiAgICB4QXhpc1BvaW50cy5wdXNoKHN0YXJ0WCArIGluZGV4ICogZWFjaFNwYWNpbmcpO1xyXG4gIH0pO1xyXG4gIGlmKG9wdHMueEF4aXMuYm91bmRhcnlHYXAgIT09J2p1c3RpZnknKXtcclxuICAgIGlmIChvcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgICB4QXhpc1BvaW50cy5wdXNoKHN0YXJ0WCArIGNhdGVnb3JpZXMubGVuZ3RoICogZWFjaFNwYWNpbmcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgeEF4aXNQb2ludHMucHVzaChlbmRYKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHtcclxuICAgIHhBeGlzUG9pbnRzOiB4QXhpc1BvaW50cyxcclxuICAgIHN0YXJ0WDogc3RhcnRYLFxyXG4gICAgZW5kWDogZW5kWCxcclxuICAgIGVhY2hTcGFjaW5nOiBlYWNoU3BhY2luZ1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldENhbmRsZURhdGFQb2ludHMoZGF0YSwgbWluUmFuZ2UsIG1heFJhbmdlLCB4QXhpc1BvaW50cywgZWFjaFNwYWNpbmcsIG9wdHMsIGNvbmZpZykge1xyXG4gIHZhciBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDcgJiYgYXJndW1lbnRzWzddICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbN10gOiAxO1xyXG4gIHZhciBwb2ludHMgPSBbXTtcclxuICB2YXIgdmFsaWRIZWlnaHQgPSBvcHRzLmhlaWdodCAtIG9wdHMuYXJlYVswXSAtIG9wdHMuYXJlYVsyXTtcclxuICBkYXRhLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgIGlmIChpdGVtID09PSBudWxsKSB7XHJcbiAgICAgIHBvaW50cy5wdXNoKG51bGwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFyIGNQb2ludHMgPSBbXTtcclxuICAgICAgaXRlbS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW1zLCBpbmRleHMpIHtcclxuICAgICAgICB2YXIgcG9pbnQgPSB7fTtcclxuICAgICAgICBwb2ludC54ID0geEF4aXNQb2ludHNbaW5kZXhdICsgTWF0aC5yb3VuZChlYWNoU3BhY2luZyAvIDIpO1xyXG4gICAgICAgIHZhciB2YWx1ZSA9IGl0ZW1zLnZhbHVlIHx8IGl0ZW1zO1xyXG4gICAgICAgIHZhciBoZWlnaHQgPSB2YWxpZEhlaWdodCAqICh2YWx1ZSAtIG1pblJhbmdlKSAvIChtYXhSYW5nZSAtIG1pblJhbmdlKTtcclxuICAgICAgICBoZWlnaHQgKj0gcHJvY2VzcztcclxuICAgICAgICBwb2ludC55ID0gb3B0cy5oZWlnaHQgLSBNYXRoLnJvdW5kKGhlaWdodCkgLSBvcHRzLmFyZWFbMl07XHJcbiAgICAgICAgY1BvaW50cy5wdXNoKHBvaW50KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHBvaW50cy5wdXNoKGNQb2ludHMpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gcG9pbnRzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXREYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcpIHtcclxuICB2YXIgcHJvY2VzcyA9IGFyZ3VtZW50cy5sZW5ndGggPiA3ICYmIGFyZ3VtZW50c1s3XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzddIDogMTtcclxuICB2YXIgYm91bmRhcnlHYXA9J2NlbnRlcic7XHJcbiAgaWYgKG9wdHMudHlwZSA9PSAnbGluZSd8fG9wdHMudHlwZSA9PSAnYXJlYScpe1xyXG4gICAgYm91bmRhcnlHYXA9b3B0cy54QXhpcy5ib3VuZGFyeUdhcDtcclxuICB9XHJcbiAgdmFyIHBvaW50cyA9IFtdO1xyXG4gIHZhciB2YWxpZEhlaWdodCA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzBdIC0gb3B0cy5hcmVhWzJdO1xyXG5cdHZhciB2YWxpZFdpZHRoID0gb3B0cy53aWR0aCAtIG9wdHMuYXJlYVsxXSAtIG9wdHMuYXJlYVszXTtcclxuICBkYXRhLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgIGlmIChpdGVtID09PSBudWxsKSB7XHJcbiAgICAgIHBvaW50cy5wdXNoKG51bGwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdmFyIHBvaW50ID0ge307XHJcbiAgICAgIHBvaW50LmNvbG9yID0gaXRlbS5jb2xvcjtcclxuICAgICAgcG9pbnQueCA9IHhBeGlzUG9pbnRzW2luZGV4XTtcclxuICAgICAgdmFyIHZhbHVlID0gaXRlbTtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsKSB7XHJcblx0XHRcdFx0aWYgKGl0ZW0uY29uc3RydWN0b3IudG9TdHJpbmcoKS5pbmRleE9mKCdBcnJheScpPi0xKSB7XHJcblx0XHRcdFx0XHRsZXQgeHJhbmdlcyx4bWluUmFuZ2UseG1heFJhbmdlO1xyXG5cdFx0XHRcdFx0eHJhbmdlcyA9IFtdLmNvbmNhdChvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEucmFuZ2VzKTtcclxuXHRcdFx0XHRcdHhtaW5SYW5nZSA9IHhyYW5nZXMuc2hpZnQoKTtcclxuXHRcdFx0XHRcdHhtYXhSYW5nZSA9IHhyYW5nZXMucG9wKCk7XHJcblx0XHRcdFx0ICB2YWx1ZSA9IGl0ZW1bMV07XHJcblx0XHRcdFx0XHRwb2ludC54ID0gb3B0cy5hcmVhWzNdKyB2YWxpZFdpZHRoICogKGl0ZW1bMF0gLSB4bWluUmFuZ2UpIC8gKHhtYXhSYW5nZSAtIHhtaW5SYW5nZSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHQgIHZhbHVlID0gaXRlbS52YWx1ZTtcclxuXHRcdFx0XHR9XHJcbiAgICAgIH1cclxuXHRcdFx0aWYoYm91bmRhcnlHYXA9PSdjZW50ZXInKXtcclxuXHRcdFx0ICBwb2ludC54ICs9IE1hdGgucm91bmQoZWFjaFNwYWNpbmcgLyAyKTtcclxuXHRcdFx0fVxyXG4gICAgICB2YXIgaGVpZ2h0ID0gdmFsaWRIZWlnaHQgKiAodmFsdWUgLSBtaW5SYW5nZSkgLyAobWF4UmFuZ2UgLSBtaW5SYW5nZSk7XHJcbiAgICAgIGhlaWdodCAqPSBwcm9jZXNzO1xyXG4gICAgICBwb2ludC55ID0gb3B0cy5oZWlnaHQgLSBNYXRoLnJvdW5kKGhlaWdodCkgLSBvcHRzLmFyZWFbMl07XHJcbiAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHBvaW50cztcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0U3RhY2tEYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcsIHNlcmllc0luZGV4LCBzdGFja1Nlcmllcykge1xyXG4gIHZhciBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDkgJiYgYXJndW1lbnRzWzldICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbOV0gOiAxO1xyXG4gIHZhciBwb2ludHMgPSBbXTtcclxuICB2YXIgdmFsaWRIZWlnaHQgPSBvcHRzLmhlaWdodCAtIG9wdHMuYXJlYVswXSAtIG9wdHMuYXJlYVsyXTtcclxuXHJcbiAgZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcbiAgICBpZiAoaXRlbSA9PT0gbnVsbCkge1xyXG4gICAgICBwb2ludHMucHVzaChudWxsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHZhciBwb2ludCA9IHt9O1xyXG4gICAgICBwb2ludC5jb2xvciA9IGl0ZW0uY29sb3I7XHJcbiAgICAgIHBvaW50LnggPSB4QXhpc1BvaW50c1tpbmRleF0gKyBNYXRoLnJvdW5kKGVhY2hTcGFjaW5nIC8gMik7XHJcblxyXG4gICAgICBpZiAoc2VyaWVzSW5kZXggPiAwKSB7XHJcbiAgICAgICAgdmFyIHZhbHVlID0gMDtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBzZXJpZXNJbmRleDsgaSsrKSB7XHJcbiAgICAgICAgICB2YWx1ZSArPSBzdGFja1Nlcmllc1tpXS5kYXRhW2luZGV4XTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmFyIHZhbHVlMCA9IHZhbHVlIC0gaXRlbTtcclxuICAgICAgICB2YXIgaGVpZ2h0ID0gdmFsaWRIZWlnaHQgKiAodmFsdWUgLSBtaW5SYW5nZSkgLyAobWF4UmFuZ2UgLSBtaW5SYW5nZSk7XHJcbiAgICAgICAgdmFyIGhlaWdodDAgPSB2YWxpZEhlaWdodCAqICh2YWx1ZTAgLSBtaW5SYW5nZSkgLyAobWF4UmFuZ2UgLSBtaW5SYW5nZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdmFyIHZhbHVlID0gaXRlbTtcclxuICAgICAgICB2YXIgaGVpZ2h0ID0gdmFsaWRIZWlnaHQgKiAodmFsdWUgLSBtaW5SYW5nZSkgLyAobWF4UmFuZ2UgLSBtaW5SYW5nZSk7XHJcbiAgICAgICAgdmFyIGhlaWdodDAgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHZhciBoZWlnaHRjID0gaGVpZ2h0MDtcclxuICAgICAgaGVpZ2h0ICo9IHByb2Nlc3M7XHJcbiAgICAgIGhlaWdodGMgKj0gcHJvY2VzcztcclxuICAgICAgcG9pbnQueSA9IG9wdHMuaGVpZ2h0IC0gTWF0aC5yb3VuZChoZWlnaHQpIC0gb3B0cy5hcmVhWzJdO1xyXG4gICAgICBwb2ludC55MCA9IG9wdHMuaGVpZ2h0IC0gTWF0aC5yb3VuZChoZWlnaHRjKSAtIG9wdHMuYXJlYVsyXTtcclxuICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gcG9pbnRzO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRZQXhpc1RleHRMaXN0KHNlcmllcywgb3B0cywgY29uZmlnLCBzdGFjaykge1xyXG4gIHZhciBpbmRleCA9IGFyZ3VtZW50cy5sZW5ndGggPiA0ICYmIGFyZ3VtZW50c1s0XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzRdIDogLTE7XHJcbiAgdmFyIGRhdGE7XHJcbiAgaWYgKHN0YWNrID09ICdzdGFjaycpIHtcclxuICAgIGRhdGEgPSBkYXRhQ29tYmluZVN0YWNrKHNlcmllcywgb3B0cy5jYXRlZ29yaWVzLmxlbmd0aCk7XHJcbiAgfSBlbHNlIHtcclxuICAgIGRhdGEgPSBkYXRhQ29tYmluZShzZXJpZXMpO1xyXG4gIH1cclxuICB2YXIgc29ydGVkID0gW107XHJcbiAgLy8gcmVtb3ZlIG51bGwgZnJvbSBkYXRhXHJcbiAgZGF0YSA9IGRhdGEuZmlsdGVyKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIC8vcmV0dXJuIGl0ZW0gIT09IG51bGw7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnICYmIGl0ZW0gIT09IG51bGwpIHtcclxuICAgICAgaWYgKGl0ZW0uY29uc3RydWN0b3IudG9TdHJpbmcoKS5pbmRleE9mKCdBcnJheScpPi0xKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0gIT09IG51bGw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWUgIT09IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBpdGVtICE9PSBudWxsO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIGRhdGEubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgaWYgKGl0ZW0uY29uc3RydWN0b3IudG9TdHJpbmcoKS5pbmRleE9mKCdBcnJheScpPi0xKSB7XHJcblx0XHRcdFx0aWYob3B0cy50eXBlPT0nY2FuZGxlJyl7XHJcblx0XHRcdFx0XHRpdGVtLm1hcChmdW5jdGlvbihzdWJpdGVtKSB7XHJcblx0XHRcdFx0XHQgIHNvcnRlZC5wdXNoKHN1Yml0ZW0pO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHNvcnRlZC5wdXNoKGl0ZW1bMV0pO1xyXG5cdFx0XHRcdH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzb3J0ZWQucHVzaChpdGVtLnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc29ydGVkLnB1c2goaXRlbSk7XHJcbiAgICB9XHJcbiAgfSlcclxuXHRcclxuICB2YXIgbWluRGF0YSA9IDA7XHJcbiAgdmFyIG1heERhdGEgPSAwO1xyXG4gIGlmIChzb3J0ZWQubGVuZ3RoID4gMCkge1xyXG4gICAgbWluRGF0YSA9IE1hdGgubWluLmFwcGx5KHRoaXMsIHNvcnRlZCk7XHJcbiAgICBtYXhEYXRhID0gTWF0aC5tYXguYXBwbHkodGhpcywgc29ydGVkKTtcclxuICB9XHJcbiAgLy/kuLrkuoblhbzlrrl2MS45LjDkuYvliY3nmoTpobnnm65cclxuICBpZihpbmRleD4tMSl7XHJcbiAgICBpZiAodHlwZW9mIG9wdHMueUF4aXMuZGF0YVtpbmRleF0ubWluID09PSAnbnVtYmVyJykge1xyXG4gICAgICBtaW5EYXRhID0gTWF0aC5taW4ob3B0cy55QXhpcy5kYXRhW2luZGV4XS5taW4sIG1pbkRhdGEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBvcHRzLnlBeGlzLmRhdGFbaW5kZXhdLm1heCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgbWF4RGF0YSA9IE1hdGgubWF4KG9wdHMueUF4aXMuZGF0YVtpbmRleF0ubWF4LCBtYXhEYXRhKTtcclxuICAgIH1cclxuICB9ZWxzZXtcclxuICAgIGlmICh0eXBlb2Ygb3B0cy55QXhpcy5taW4gPT09ICdudW1iZXInKSB7XHJcbiAgICAgIG1pbkRhdGEgPSBNYXRoLm1pbihvcHRzLnlBeGlzLm1pbiwgbWluRGF0YSk7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIG9wdHMueUF4aXMubWF4ID09PSAnbnVtYmVyJykge1xyXG4gICAgICBtYXhEYXRhID0gTWF0aC5tYXgob3B0cy55QXhpcy5tYXgsIG1heERhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuXHJcbiAgaWYgKG1pbkRhdGEgPT09IG1heERhdGEpIHtcclxuICAgIHZhciByYW5nZVNwYW4gPSBtYXhEYXRhIHx8IDEwO1xyXG4gICAgbWF4RGF0YSArPSByYW5nZVNwYW47XHJcbiAgfVxyXG5cclxuICB2YXIgZGF0YVJhbmdlID0gZ2V0RGF0YVJhbmdlKG1pbkRhdGEsIG1heERhdGEpO1xyXG4gIHZhciBtaW5SYW5nZSA9IGRhdGFSYW5nZS5taW5SYW5nZTtcclxuICB2YXIgbWF4UmFuZ2UgPSBkYXRhUmFuZ2UubWF4UmFuZ2U7XHJcblxyXG4gIHZhciByYW5nZSA9IFtdO1xyXG4gIHZhciBlYWNoUmFuZ2UgPSAobWF4UmFuZ2UgLSBtaW5SYW5nZSkgLyBvcHRzLnlBeGlzLnNwbGl0TnVtYmVyO1xyXG5cclxuICBmb3IgKHZhciBpID0gMDsgaSA8PSBvcHRzLnlBeGlzLnNwbGl0TnVtYmVyOyBpKyspIHtcclxuICAgIHJhbmdlLnB1c2gobWluUmFuZ2UgKyBlYWNoUmFuZ2UgKiBpKTtcclxuICB9XHJcbiAgcmV0dXJuIHJhbmdlLnJldmVyc2UoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gY2FsWUF4aXNEYXRhKHNlcmllcywgb3B0cywgY29uZmlnKSB7XHJcbiAgLy/loIblj6Dlm77ph43nrpdZ6L20XHJcbiAgdmFyIGNvbHVtbnN0eWxlID0gYXNzaWduKHt9LCB7XHJcbiAgICB0eXBlOiBcIlwiXHJcbiAgfSwgb3B0cy5leHRyYS5jb2x1bW4pO1xyXG4gIC8v5aaC5p6c5piv5aSaWei9tO+8jOmHjeaWsOiuoeeul1xyXG4gIHZhciBZTGVuZ3RoID0gb3B0cy55QXhpcy5kYXRhLmxlbmd0aDtcclxuICB2YXIgbmV3U2VyaWVzPW5ldyBBcnJheShZTGVuZ3RoKTtcclxuICBpZihZTGVuZ3RoPjApe1xyXG4gICAgZm9yKGxldCBpPTA7aTxZTGVuZ3RoO2krKyl7XHJcbiAgICAgIG5ld1Nlcmllc1tpXT1bXTtcclxuICAgICAgZm9yKGxldCBqPTA7ajxzZXJpZXMubGVuZ3RoO2orKyl7XHJcbiAgICAgICAgaWYoc2VyaWVzW2pdLmluZGV4ID09IGkpe1xyXG4gICAgICAgICAgbmV3U2VyaWVzW2ldLnB1c2goc2VyaWVzW2pdKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHZhciByYW5nZXNBcnIgPW5ldyBBcnJheShZTGVuZ3RoKTtcclxuICAgIHZhciByYW5nZXNGb3JtYXRBcnIgPSBuZXcgQXJyYXkoWUxlbmd0aCk7XHJcbiAgICB2YXIgeUF4aXNXaWR0aEFyciA9bmV3IEFycmF5KFlMZW5ndGgpO1xyXG5cdFx0XHJcbiAgICBmb3IobGV0IGk9MDtpPFlMZW5ndGg7aSsrKXtcclxuICAgICAgbGV0IHlEYXRhID0gb3B0cy55QXhpcy5kYXRhW2ldO1xyXG5cdFx0XHQvL+WmguaenOaAu+W8gOWFs+S4jeaYvuekuu+8jOW8uuWItuavj+S4qlnovbTkuLrkuI3mmL7npLpcclxuXHRcdFx0aWYob3B0cy55QXhpcy5kaXNhYmxlZCA9PSB0cnVlKXtcclxuXHRcdFx0XHR5RGF0YS5kaXNhYmxlZCA9IHRydWU7XHJcblx0XHRcdH1cclxuXHRcdFx0cmFuZ2VzQXJyW2ldPWdldFlBeGlzVGV4dExpc3QobmV3U2VyaWVzW2ldLCBvcHRzLCBjb25maWcsIGNvbHVtbnN0eWxlLnR5cGUsaSk7XHJcblx0XHRcdGxldCB5QXhpc0ZvbnRTaXplcyA9IHlEYXRhLmZvbnRTaXplIHx8IGNvbmZpZy5mb250U2l6ZTtcclxuXHRcdFx0eUF4aXNXaWR0aEFycltpXSA9IHtwb3NpdGlvbjp5RGF0YS5wb3NpdGlvbj95RGF0YS5wb3NpdGlvbjonbGVmdCcsd2lkdGg6MH07XHJcblx0XHRcdHJhbmdlc0Zvcm1hdEFycltpXT0gcmFuZ2VzQXJyW2ldLm1hcChmdW5jdGlvbihpdGVtcykge1xyXG5cdFx0XHRcdGl0ZW1zID0gdXRpbC50b0ZpeGVkKGl0ZW1zLCA2KTtcclxuXHRcdFx0XHRpdGVtcyA9IHlEYXRhLmZvcm1hdCA/IHlEYXRhLmZvcm1hdChOdW1iZXIoaXRlbXMpKSA6IGl0ZW1zO1xyXG5cdFx0XHRcdHlBeGlzV2lkdGhBcnJbaV0ud2lkdGggPSBNYXRoLm1heCh5QXhpc1dpZHRoQXJyW2ldLndpZHRoLCBtZWFzdXJlVGV4dChpdGVtcywgeUF4aXNGb250U2l6ZXMpICsgNSk7XHJcblx0XHRcdFx0cmV0dXJuIGl0ZW1zO1xyXG5cdFx0XHR9KTtcclxuXHRcdFx0bGV0IGNhbGlicmF0aW9uPSB5RGF0YS5jYWxpYnJhdGlvbj8gNCpvcHRzLnBpeGVsUmF0aW8gOiAwIDtcclxuXHRcdFx0eUF4aXNXaWR0aEFycltpXS53aWR0aCArPSBjYWxpYnJhdGlvbiArMypvcHRzLnBpeGVsUmF0aW87XHJcbiAgICAgIGlmICh5RGF0YS5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHlBeGlzV2lkdGhBcnJbaV0ud2lkdGg9MDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfWVsc2V7XHJcbiAgICB2YXIgcmFuZ2VzQXJyID1uZXcgQXJyYXkoMSk7XHJcbiAgICB2YXIgcmFuZ2VzRm9ybWF0QXJyID0gbmV3IEFycmF5KDEpO1xyXG4gICAgdmFyIHlBeGlzV2lkdGhBcnIgPW5ldyBBcnJheSgxKTtcclxuXHRcdHJhbmdlc0FyclswXSA9IGdldFlBeGlzVGV4dExpc3Qoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbHVtbnN0eWxlLnR5cGUpO1xyXG5cdFx0eUF4aXNXaWR0aEFyclswXSA9IHtwb3NpdGlvbjonbGVmdCcsd2lkdGg6MH07XHJcblx0XHR2YXIgeUF4aXNGb250U2l6ZSA9IG9wdHMueUF4aXMuZm9udFNpemUgfHwgY29uZmlnLmZvbnRTaXplO1xyXG5cdFx0cmFuZ2VzRm9ybWF0QXJyWzBdID0gcmFuZ2VzQXJyWzBdLm1hcChmdW5jdGlvbihpdGVtKSB7XHJcblx0XHRcdGl0ZW0gPSB1dGlsLnRvRml4ZWQoaXRlbSwgNik7XHJcblx0XHRcdGl0ZW0gPSBvcHRzLnlBeGlzLmZvcm1hdCA/IG9wdHMueUF4aXMuZm9ybWF0KE51bWJlcihpdGVtKSkgOiBpdGVtO1xyXG5cdFx0XHR5QXhpc1dpZHRoQXJyWzBdLndpZHRoID0gTWF0aC5tYXgoeUF4aXNXaWR0aEFyclswXS53aWR0aCwgbWVhc3VyZVRleHQoaXRlbSwgeUF4aXNGb250U2l6ZSkgKyA1KTtcclxuXHRcdFx0cmV0dXJuIGl0ZW07XHJcblx0XHR9KTtcclxuXHRcdHlBeGlzV2lkdGhBcnJbMF0ud2lkdGggKz0gMypvcHRzLnBpeGVsUmF0aW87XHJcblx0XHRpZiAob3B0cy55QXhpcy5kaXNhYmxlZCA9PT0gdHJ1ZSkge1xyXG5cdFx0ICB5QXhpc1dpZHRoQXJyWzBdID0ge3Bvc2l0aW9uOidsZWZ0Jyx3aWR0aDowfTtcclxuXHRcdCAgb3B0cy55QXhpcy5kYXRhWzBdPXtkaXNhYmxlZDp0cnVlfTtcclxuXHRcdH1lbHNle1xyXG5cdFx0XHRvcHRzLnlBeGlzLmRhdGFbMF09e2Rpc2FibGVkOmZhbHNlLHBvc2l0aW9uOidsZWZ0JyxtYXg6b3B0cy55QXhpcy5tYXgsbWluOm9wdHMueUF4aXMubWluLGZvcm1hdDpvcHRzLnlBeGlzLmZvcm1hdH07XHJcblx0XHR9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICByYW5nZXNGb3JtYXQ6IHJhbmdlc0Zvcm1hdEFycixcclxuICAgIHJhbmdlczogcmFuZ2VzQXJyLFxyXG4gICAgeUF4aXNXaWR0aDogeUF4aXNXaWR0aEFyclxyXG4gIH07XHJcbiAgXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbFRvb2x0aXBZQXhpc0RhdGEocG9pbnQsIHNlcmllcywgb3B0cywgY29uZmlnLCBlYWNoU3BhY2luZykge1xyXG4gIGxldCByYW5nZXMgPSBbXS5jb25jYXQob3B0cy5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlcyk7XHJcbiAgbGV0IHNwYWNpbmdWYWxpZCA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzBdIC0gb3B0cy5hcmVhWzJdO1xyXG4gIGxldCBtaW5BeGlzID0gb3B0cy5hcmVhWzBdO1xyXG4gIGxldCBpdGVtcz1bXTtcclxuICBmb3IobGV0IGk9MDtpPHJhbmdlcy5sZW5ndGg7aSsrKXtcclxuICAgIGxldCBtYXhWYWwgPSByYW5nZXNbaV0uc2hpZnQoKTtcclxuICAgIGxldCBtaW5WYWwgPSByYW5nZXNbaV0ucG9wKCk7XHJcbiAgICBsZXQgaXRlbSA9IG1heFZhbCAtIChtYXhWYWwgLSBtaW5WYWwpICogKHBvaW50IC0gbWluQXhpcykgLyBzcGFjaW5nVmFsaWQ7XHJcbiAgICBpdGVtID0gb3B0cy55QXhpcy5kYXRhW2ldLmZvcm1hdCA/IG9wdHMueUF4aXMuZGF0YVtpXS5mb3JtYXQoTnVtYmVyKGl0ZW0pKSA6IGl0ZW0udG9GaXhlZCgwKTtcclxuICAgIGl0ZW1zLnB1c2goU3RyaW5nKGl0ZW0pKVxyXG4gIH1cclxuICByZXR1cm4gaXRlbXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNhbE1hcmtMaW5lRGF0YShwb2ludHMsIG9wdHMpIHtcclxuICBsZXQgbWluUmFuZ2UsIG1heFJhbmdlO1xyXG4gIGxldCBzcGFjaW5nVmFsaWQgPSBvcHRzLmhlaWdodCAtIG9wdHMuYXJlYVswXSAtIG9wdHMuYXJlYVsyXTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgcG9pbnRzW2ldLnlBeGlzSW5kZXggPSBwb2ludHNbaV0ueUF4aXNJbmRleCA/IHBvaW50c1tpXS55QXhpc0luZGV4OjA7XHJcbiAgICBsZXQgcmFuZ2UgPSBbXS5jb25jYXQob3B0cy5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1twb2ludHNbaV0ueUF4aXNJbmRleF0pO1xyXG4gICAgbWluUmFuZ2UgPSByYW5nZS5wb3AoKTtcclxuICAgIG1heFJhbmdlID0gcmFuZ2Uuc2hpZnQoKTtcclxuICAgIGxldCBoZWlnaHQgPSBzcGFjaW5nVmFsaWQgKiAocG9pbnRzW2ldLnZhbHVlIC0gbWluUmFuZ2UpIC8gKG1heFJhbmdlIC0gbWluUmFuZ2UpO1xyXG4gICAgcG9pbnRzW2ldLnkgPSBvcHRzLmhlaWdodCAtIE1hdGgucm91bmQoaGVpZ2h0KSAtIG9wdHMuYXJlYVsyXTtcclxuICB9XHJcbiAgcmV0dXJuIHBvaW50cztcclxufVxyXG5cclxuZnVuY3Rpb24gY29udGV4dFJvdGF0ZShjb250ZXh0LCBvcHRzKSB7XHJcbiAgaWYgKG9wdHMucm90YXRlTG9jayAhPT0gdHJ1ZSkge1xyXG4gICAgY29udGV4dC50cmFuc2xhdGUob3B0cy5oZWlnaHQsIDApO1xyXG4gICAgY29udGV4dC5yb3RhdGUoOTAgKiBNYXRoLlBJIC8gMTgwKTtcclxuICB9IGVsc2UgaWYgKG9wdHMuX3JvdGF0ZV8gIT09IHRydWUpIHtcclxuICAgIGNvbnRleHQudHJhbnNsYXRlKG9wdHMuaGVpZ2h0LCAwKTtcclxuICAgIGNvbnRleHQucm90YXRlKDkwICogTWF0aC5QSSAvIDE4MCk7XHJcbiAgICBvcHRzLl9yb3RhdGVfID0gdHJ1ZTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdQb2ludFNoYXBlKHBvaW50cywgY29sb3IsIHNoYXBlLCBjb250ZXh0LCBvcHRzKSB7XHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuXHRpZihvcHRzLmRhdGFQb2ludFNoYXBlVHlwZSA9PSAnaG9sbG93Jyl7XHJcblx0XHRjb250ZXh0LnNldFN0cm9rZVN0eWxlKGNvbG9yKTtcclxuXHRcdGNvbnRleHQuc2V0RmlsbFN0eWxlKG9wdHMuYmFja2dyb3VuZCk7XHJcblx0XHRjb250ZXh0LnNldExpbmVXaWR0aCgyICogb3B0cy5waXhlbFJhdGlvKTtcclxuXHR9ZWxzZXtcclxuXHRcdGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoXCIjZmZmZmZmXCIpO1xyXG5cdFx0Y29udGV4dC5zZXRGaWxsU3R5bGUoY29sb3IpO1xyXG5cdFx0Y29udGV4dC5zZXRMaW5lV2lkdGgoMSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcblx0fVxyXG4gIGlmIChzaGFwZSA9PT0gJ2RpYW1vbmQnKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICBpZiAoaXRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ueCwgaXRlbS55IC0gNC41KTtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLnggLSA0LjUsIGl0ZW0ueSk7XHJcbiAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54LCBpdGVtLnkgKyA0LjUpO1xyXG4gICAgICAgIGNvbnRleHQubGluZVRvKGl0ZW0ueCArIDQuNSwgaXRlbS55KTtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLngsIGl0ZW0ueSAtIDQuNSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAoc2hhcGUgPT09ICdjaXJjbGUnKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICBpZiAoaXRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ueCArIDIuNSAqIG9wdHMucGl4ZWxSYXRpbywgaXRlbS55KTtcclxuICAgICAgICBjb250ZXh0LmFyYyhpdGVtLngsIGl0ZW0ueSwgMyAqIG9wdHMucGl4ZWxSYXRpbywgMCwgMiAqIE1hdGguUEksIGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfSBlbHNlIGlmIChzaGFwZSA9PT0gJ3JlY3QnKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICBpZiAoaXRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ueCAtIDMuNSwgaXRlbS55IC0gMy41KTtcclxuICAgICAgICBjb250ZXh0LnJlY3QoaXRlbS54IC0gMy41LCBpdGVtLnkgLSAzLjUsIDcsIDcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9IGVsc2UgaWYgKHNoYXBlID09PSAndHJpYW5nbGUnKSB7XHJcbiAgICBwb2ludHMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICBpZiAoaXRlbSAhPT0gbnVsbCkge1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ueCwgaXRlbS55IC0gNC41KTtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLnggLSA0LjUsIGl0ZW0ueSArIDQuNSk7XHJcbiAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54ICsgNC41LCBpdGVtLnkgKyA0LjUpO1xyXG4gICAgICAgIGNvbnRleHQubGluZVRvKGl0ZW0ueCwgaXRlbS55IC0gNC41KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgY29udGV4dC5maWxsKCk7XHJcbiAgY29udGV4dC5zdHJva2UoKTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd1JpbmdUaXRsZShvcHRzLCBjb25maWcsIGNvbnRleHQsIGNlbnRlcikge1xyXG4gIHZhciB0aXRsZWZvbnRTaXplID0gb3B0cy50aXRsZS5mb250U2l6ZSB8fCBjb25maWcudGl0bGVGb250U2l6ZTtcclxuICB2YXIgc3VidGl0bGVmb250U2l6ZSA9IG9wdHMuc3VidGl0bGUuZm9udFNpemUgfHwgY29uZmlnLnN1YnRpdGxlRm9udFNpemU7XHJcbiAgdmFyIHRpdGxlID0gb3B0cy50aXRsZS5uYW1lIHx8ICcnO1xyXG4gIHZhciBzdWJ0aXRsZSA9IG9wdHMuc3VidGl0bGUubmFtZSB8fCAnJztcclxuICB2YXIgdGl0bGVGb250Q29sb3IgPSBvcHRzLnRpdGxlLmNvbG9yIHx8IGNvbmZpZy50aXRsZUNvbG9yO1xyXG4gIHZhciBzdWJ0aXRsZUZvbnRDb2xvciA9IG9wdHMuc3VidGl0bGUuY29sb3IgfHwgY29uZmlnLnN1YnRpdGxlQ29sb3I7XHJcbiAgdmFyIHRpdGxlSGVpZ2h0ID0gdGl0bGUgPyB0aXRsZWZvbnRTaXplIDogMDtcclxuICB2YXIgc3VidGl0bGVIZWlnaHQgPSBzdWJ0aXRsZSA/IHN1YnRpdGxlZm9udFNpemUgOiAwO1xyXG4gIHZhciBtYXJnaW4gPSA1O1xyXG5cclxuICBpZiAoc3VidGl0bGUpIHtcclxuICAgIHZhciB0ZXh0V2lkdGggPSBtZWFzdXJlVGV4dChzdWJ0aXRsZSwgc3VidGl0bGVmb250U2l6ZSk7XHJcbiAgICB2YXIgc3RhcnRYID0gY2VudGVyLnggLSB0ZXh0V2lkdGggLyAyICsgKG9wdHMuc3VidGl0bGUub2Zmc2V0WCB8fCAwKTtcclxuICAgIHZhciBzdGFydFkgPSBjZW50ZXIueSArIHN1YnRpdGxlZm9udFNpemUgLyAyICsgKG9wdHMuc3VidGl0bGUub2Zmc2V0WSB8fCAwKTtcclxuICAgIGlmICh0aXRsZSkge1xyXG4gICAgICBzdGFydFkgKz0gKHRpdGxlSGVpZ2h0ICsgbWFyZ2luKSAvIDI7XHJcbiAgICB9XHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRGb250U2l6ZShzdWJ0aXRsZWZvbnRTaXplKTtcclxuICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKHN1YnRpdGxlRm9udENvbG9yKTtcclxuICAgIGNvbnRleHQuZmlsbFRleHQoc3VidGl0bGUsIHN0YXJ0WCwgc3RhcnRZKTtcclxuICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gIH1cclxuICBpZiAodGl0bGUpIHtcclxuICAgIHZhciBfdGV4dFdpZHRoID0gbWVhc3VyZVRleHQodGl0bGUsIHRpdGxlZm9udFNpemUpO1xyXG4gICAgdmFyIF9zdGFydFggPSBjZW50ZXIueCAtIF90ZXh0V2lkdGggLyAyICsgKG9wdHMudGl0bGUub2Zmc2V0WCB8fCAwKTtcclxuICAgIHZhciBfc3RhcnRZID0gY2VudGVyLnkgKyB0aXRsZWZvbnRTaXplIC8gMiArIChvcHRzLnRpdGxlLm9mZnNldFkgfHwgMCk7XHJcbiAgICBpZiAoc3VidGl0bGUpIHtcclxuICAgICAgX3N0YXJ0WSAtPSAoc3VidGl0bGVIZWlnaHQgKyBtYXJnaW4pIC8gMjtcclxuICAgIH1cclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldEZvbnRTaXplKHRpdGxlZm9udFNpemUpO1xyXG4gICAgY29udGV4dC5zZXRGaWxsU3R5bGUodGl0bGVGb250Q29sb3IpO1xyXG4gICAgY29udGV4dC5maWxsVGV4dCh0aXRsZSwgX3N0YXJ0WCwgX3N0YXJ0WSk7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgY29udGV4dC5zdHJva2UoKTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdQb2ludFRleHQocG9pbnRzLCBzZXJpZXMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIC8vIOe7mOWItuaVsOaNruaWh+ahiFxyXG4gIHZhciBkYXRhID0gc2VyaWVzLmRhdGE7XHJcbiAgcG9pbnRzLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgIGlmIChpdGVtICE9PSBudWxsKSB7XHJcbiAgICAgIC8vdmFyIGZvcm1hdFZhbCA9IHNlcmllcy5mb3JtYXQgPyBzZXJpZXMuZm9ybWF0KGRhdGFbaW5kZXhdKSA6IGRhdGFbaW5kZXhdO1xyXG4gICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LnNldEZvbnRTaXplKHNlcmllcy50ZXh0U2l6ZSB8fCBjb25maWcuZm9udFNpemUpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShzZXJpZXMudGV4dENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICAgIHZhciB2YWx1ZSA9IGRhdGFbaW5kZXhdXHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVtpbmRleF0gPT09ICdvYmplY3QnICYmIGRhdGFbaW5kZXhdICE9PSBudWxsKSB7XHJcblx0XHRcdFx0aWYgKGRhdGFbaW5kZXhdLmNvbnN0cnVjdG9yID09IEFycmF5KSB7XHJcblx0XHRcdFx0XHR2YWx1ZSA9IGRhdGFbaW5kZXhdWzFdO1xyXG5cdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0dmFsdWUgPSBkYXRhW2luZGV4XS52YWx1ZVxyXG5cdFx0XHRcdH1cclxuICAgICAgfVxyXG4gICAgICB2YXIgZm9ybWF0VmFsID0gc2VyaWVzLmZvcm1hdCA/IHNlcmllcy5mb3JtYXQodmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGNvbnRleHQuZmlsbFRleHQoU3RyaW5nKGZvcm1hdFZhbCksIGl0ZW0ueCAtIG1lYXN1cmVUZXh0KGZvcm1hdFZhbCwgc2VyaWVzLnRleHRTaXplIHx8IGNvbmZpZy5mb250U2l6ZSkgLyAyLCBpdGVtLnkgLTQpO1xyXG4gICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd0dhdWdlTGFiZWwoZ2F1Z2VPcHRpb24sIHJhZGl1cywgY2VudGVyUG9zaXRpb24sIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIHJhZGl1cyAtPSBnYXVnZU9wdGlvbi53aWR0aCAvIDIgKyBjb25maWcuZ2F1Z2VMYWJlbFRleHRNYXJnaW47XHJcblxyXG4gIGxldCB0b3RhbEFuZ2xlID0gZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZSAtIGdhdWdlT3B0aW9uLmVuZEFuZ2xlICsgMTtcclxuICBsZXQgc3BsaXRBbmdsZSA9IHRvdGFsQW5nbGUgLyBnYXVnZU9wdGlvbi5zcGxpdExpbmUuc3BsaXROdW1iZXI7XHJcbiAgbGV0IHRvdGFsTnVtYmVyID0gZ2F1Z2VPcHRpb24uZW5kTnVtYmVyIC0gZ2F1Z2VPcHRpb24uc3RhcnROdW1iZXI7XHJcbiAgbGV0IHNwbGl0TnVtYmVyID0gdG90YWxOdW1iZXIgLyBnYXVnZU9wdGlvbi5zcGxpdExpbmUuc3BsaXROdW1iZXI7XHJcbiAgbGV0IG5vd0FuZ2xlID0gZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZTtcclxuICBsZXQgbm93TnVtYmVyID0gZ2F1Z2VPcHRpb24uc3RhcnROdW1iZXI7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBnYXVnZU9wdGlvbi5zcGxpdExpbmUuc3BsaXROdW1iZXIgKyAxOyBpKyspIHtcclxuICAgIHZhciBwb3MgPSB7XHJcbiAgICAgIHg6IHJhZGl1cyAqIE1hdGguY29zKG5vd0FuZ2xlICogTWF0aC5QSSksXHJcbiAgICAgIHk6IHJhZGl1cyAqIE1hdGguc2luKG5vd0FuZ2xlICogTWF0aC5QSSlcclxuICAgIH07XHJcbiAgICB2YXIgbGFiZWxUZXh0ID0gZ2F1Z2VPcHRpb24ubGFiZWxGb3JtYXQgPyBnYXVnZU9wdGlvbi5sYWJlbEZvcm1hdChub3dOdW1iZXIpIDogbm93TnVtYmVyO1xyXG4gICAgcG9zLnggKz0gY2VudGVyUG9zaXRpb24ueCAtIG1lYXN1cmVUZXh0KGxhYmVsVGV4dCkgLyAyO1xyXG4gICAgcG9zLnkgKz0gY2VudGVyUG9zaXRpb24ueTtcclxuICAgIHZhciBzdGFydFggPSBwb3MueDtcclxuICAgIHZhciBzdGFydFkgPSBwb3MueTtcclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICBjb250ZXh0LnNldEZpbGxTdHlsZShnYXVnZU9wdGlvbi5sYWJlbENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICBjb250ZXh0LmZpbGxUZXh0KGxhYmVsVGV4dCwgc3RhcnRYLCBzdGFydFkgKyBjb25maWcuZm9udFNpemUgLyAyKTtcclxuICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG5cclxuICAgIG5vd0FuZ2xlICs9IHNwbGl0QW5nbGU7XHJcbiAgICBpZiAobm93QW5nbGUgPj0gMikge1xyXG4gICAgICBub3dBbmdsZSA9IG5vd0FuZ2xlICUgMjtcclxuICAgIH1cclxuICAgIG5vd051bWJlciArPSBzcGxpdE51bWJlcjtcclxuICB9XHJcblxyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3UmFkYXJMYWJlbChhbmdsZUxpc3QsIHJhZGl1cywgY2VudGVyUG9zaXRpb24sIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIHZhciByYWRhck9wdGlvbiA9IG9wdHMuZXh0cmEucmFkYXIgfHwge307XHJcbiAgcmFkaXVzICs9IGNvbmZpZy5yYWRhckxhYmVsVGV4dE1hcmdpbjtcclxuXHJcbiAgYW5nbGVMaXN0LmZvckVhY2goZnVuY3Rpb24oYW5nbGUsIGluZGV4KSB7XHJcbiAgICB2YXIgcG9zID0ge1xyXG4gICAgICB4OiByYWRpdXMgKiBNYXRoLmNvcyhhbmdsZSksXHJcbiAgICAgIHk6IHJhZGl1cyAqIE1hdGguc2luKGFuZ2xlKVxyXG4gICAgfTtcclxuICAgIHZhciBwb3NSZWxhdGl2ZUNhbnZhcyA9IGNvbnZlcnRDb29yZGluYXRlT3JpZ2luKHBvcy54LCBwb3MueSwgY2VudGVyUG9zaXRpb24pO1xyXG4gICAgdmFyIHN0YXJ0WCA9IHBvc1JlbGF0aXZlQ2FudmFzLng7XHJcbiAgICB2YXIgc3RhcnRZID0gcG9zUmVsYXRpdmVDYW52YXMueTtcclxuICAgIGlmICh1dGlsLmFwcHJveGltYXRlbHlFcXVhbChwb3MueCwgMCkpIHtcclxuICAgICAgc3RhcnRYIC09IG1lYXN1cmVUZXh0KG9wdHMuY2F0ZWdvcmllc1tpbmRleF0gfHwgJycpIC8gMjtcclxuICAgIH0gZWxzZSBpZiAocG9zLnggPCAwKSB7XHJcbiAgICAgIHN0YXJ0WCAtPSBtZWFzdXJlVGV4dChvcHRzLmNhdGVnb3JpZXNbaW5kZXhdIHx8ICcnKTtcclxuICAgIH1cclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICBjb250ZXh0LnNldEZpbGxTdHlsZShyYWRhck9wdGlvbi5sYWJlbENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICBjb250ZXh0LmZpbGxUZXh0KG9wdHMuY2F0ZWdvcmllc1tpbmRleF0gfHwgJycsIHN0YXJ0WCwgc3RhcnRZICsgY29uZmlnLmZvbnRTaXplIC8gMik7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgY29udGV4dC5zdHJva2UoKTtcclxuICB9KTtcclxuXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdQaWVUZXh0KHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCByYWRpdXMsIGNlbnRlcikge1xyXG4gIHZhciBsaW5lUmFkaXVzID0gY29uZmlnLnBpZUNoYXJ0TGluZVBhZGRpbmc7XHJcbiAgdmFyIHRleHRPYmplY3RDb2xsZWN0aW9uID0gW107XHJcbiAgdmFyIGxhc3RUZXh0T2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgdmFyIHNlcmllc0NvbnZlcnQgPSBzZXJpZXMubWFwKGZ1bmN0aW9uKGl0ZW0pIHtcclxuICAgIHZhciB0ZXh0ID0gaXRlbS5mb3JtYXQgPyBpdGVtLmZvcm1hdCgraXRlbS5fcHJvcG9ydGlvbl8udG9GaXhlZCgyKSkgOiB1dGlsLnRvRml4ZWQoaXRlbS5fcHJvcG9ydGlvbl8udG9GaXhlZCg0KSAqIDEwMCkgKyclJztcclxuICAgIGlmKGl0ZW0uX3Jvc2VfcHJvcG9ydGlvbl8pIGl0ZW0uX3Byb3BvcnRpb25fPWl0ZW0uX3Jvc2VfcHJvcG9ydGlvbl87XHJcbiAgICB2YXIgYXJjID0gMiAqIE1hdGguUEkgLSAoaXRlbS5fc3RhcnRfICsgMiAqIE1hdGguUEkgKiBpdGVtLl9wcm9wb3J0aW9uXyAvIDIpO1xyXG4gICAgdmFyIGNvbG9yID0gaXRlbS5jb2xvcjtcclxuICAgIHZhciByYWRpdXMgPSBpdGVtLl9yYWRpdXNfO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgYXJjOiBhcmMsXHJcbiAgICAgIHRleHQ6IHRleHQsXHJcbiAgICAgIGNvbG9yOiBjb2xvcixcclxuICAgICAgcmFkaXVzOiByYWRpdXMsXHJcbiAgICAgIHRleHRDb2xvcjogaXRlbS50ZXh0Q29sb3IsXHJcbiAgICAgIHRleHRTaXplOiBpdGVtLnRleHRTaXplLFxyXG4gICAgfTtcclxuICB9KTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllc0NvbnZlcnQubGVuZ3RoOyBpKyspIHtcclxuICAgIGxldCBpdGVtID0gc2VyaWVzQ29udmVydFtpXTtcclxuICAgIC8vIGxpbmUgZW5kXHJcbiAgICBsZXQgb3JnaW5YMSA9IE1hdGguY29zKGl0ZW0uYXJjKSAqIChpdGVtLnJhZGl1cyArIGxpbmVSYWRpdXMpO1xyXG4gICAgbGV0IG9yZ2luWTEgPSBNYXRoLnNpbihpdGVtLmFyYykgKiAoaXRlbS5yYWRpdXMgKyBsaW5lUmFkaXVzKTtcclxuXHJcbiAgICAvLyBsaW5lIHN0YXJ0XHJcbiAgICBsZXQgb3JnaW5YMiA9IE1hdGguY29zKGl0ZW0uYXJjKSAqIGl0ZW0ucmFkaXVzO1xyXG4gICAgbGV0IG9yZ2luWTIgPSBNYXRoLnNpbihpdGVtLmFyYykgKiBpdGVtLnJhZGl1cztcclxuXHJcbiAgICAvLyB0ZXh0IHN0YXJ0XHJcbiAgICBsZXQgb3JnaW5YMyA9IG9yZ2luWDEgPj0gMCA/IG9yZ2luWDEgKyBjb25maWcucGllQ2hhcnRUZXh0UGFkZGluZyA6IG9yZ2luWDEgLSBjb25maWcucGllQ2hhcnRUZXh0UGFkZGluZztcclxuICAgIGxldCBvcmdpblkzID0gb3JnaW5ZMTtcclxuICAgIGxldCB0ZXh0V2lkdGggPSBtZWFzdXJlVGV4dChpdGVtLnRleHQsaXRlbS50ZXh0U2l6ZXx8Y29uZmlnLmZvbnRTaXplKTtcclxuICAgIGxldCBzdGFydFkgPSBvcmdpblkzO1xyXG5cclxuICAgIGlmIChsYXN0VGV4dE9iamVjdCAmJiB1dGlsLmlzU2FtZVhDb29yZGluYXRlQXJlYShsYXN0VGV4dE9iamVjdC5zdGFydCwge1xyXG4gICAgICAgIHg6IG9yZ2luWDNcclxuICAgICAgfSkpIHtcclxuICAgICAgaWYgKG9yZ2luWDMgPiAwKSB7XHJcbiAgICAgICAgc3RhcnRZID0gTWF0aC5taW4ob3JnaW5ZMywgbGFzdFRleHRPYmplY3Quc3RhcnQueSk7XHJcbiAgICAgIH0gZWxzZSBpZiAob3JnaW5YMSA8IDApIHtcclxuICAgICAgICBzdGFydFkgPSBNYXRoLm1heChvcmdpblkzLCBsYXN0VGV4dE9iamVjdC5zdGFydC55KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAob3JnaW5ZMyA+IDApIHtcclxuICAgICAgICAgIHN0YXJ0WSA9IE1hdGgubWF4KG9yZ2luWTMsIGxhc3RUZXh0T2JqZWN0LnN0YXJ0LnkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzdGFydFkgPSBNYXRoLm1pbihvcmdpblkzLCBsYXN0VGV4dE9iamVjdC5zdGFydC55KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChvcmdpblgzIDwgMCkge1xyXG4gICAgICBvcmdpblgzIC09IHRleHRXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdGV4dE9iamVjdCA9IHtcclxuICAgICAgbGluZVN0YXJ0OiB7XHJcbiAgICAgICAgeDogb3JnaW5YMixcclxuICAgICAgICB5OiBvcmdpblkyXHJcbiAgICAgIH0sXHJcbiAgICAgIGxpbmVFbmQ6IHtcclxuICAgICAgICB4OiBvcmdpblgxLFxyXG4gICAgICAgIHk6IG9yZ2luWTFcclxuICAgICAgfSxcclxuICAgICAgc3RhcnQ6IHtcclxuICAgICAgICB4OiBvcmdpblgzLFxyXG4gICAgICAgIHk6IHN0YXJ0WVxyXG4gICAgICB9LFxyXG4gICAgICB3aWR0aDogdGV4dFdpZHRoLFxyXG4gICAgICBoZWlnaHQ6IGNvbmZpZy5mb250U2l6ZSxcclxuICAgICAgdGV4dDogaXRlbS50ZXh0LFxyXG4gICAgICBjb2xvcjogaXRlbS5jb2xvcixcclxuICAgICAgdGV4dENvbG9yOiBpdGVtLnRleHRDb2xvcixcclxuICAgICAgdGV4dFNpemU6IGl0ZW0udGV4dFNpemVcclxuICAgIH07XHJcbiAgICBsYXN0VGV4dE9iamVjdCA9IGF2b2lkQ29sbGlzaW9uKHRleHRPYmplY3QsIGxhc3RUZXh0T2JqZWN0KTtcclxuICAgIHRleHRPYmplY3RDb2xsZWN0aW9uLnB1c2gobGFzdFRleHRPYmplY3QpO1xyXG4gIH1cclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0T2JqZWN0Q29sbGVjdGlvbi5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGl0ZW0gPSB0ZXh0T2JqZWN0Q29sbGVjdGlvbltpXTtcclxuICAgIGxldCBsaW5lU3RhcnRQb2lzdGlvbiA9IGNvbnZlcnRDb29yZGluYXRlT3JpZ2luKGl0ZW0ubGluZVN0YXJ0LngsIGl0ZW0ubGluZVN0YXJ0LnksIGNlbnRlcik7XHJcbiAgICBsZXQgbGluZUVuZFBvaXN0aW9uID0gY29udmVydENvb3JkaW5hdGVPcmlnaW4oaXRlbS5saW5lRW5kLngsIGl0ZW0ubGluZUVuZC55LCBjZW50ZXIpO1xyXG4gICAgbGV0IHRleHRQb3NpdGlvbiA9IGNvbnZlcnRDb29yZGluYXRlT3JpZ2luKGl0ZW0uc3RhcnQueCwgaXRlbS5zdGFydC55LCBjZW50ZXIpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lV2lkdGgoMSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShpdGVtLmNvbG9yKTtcclxuICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0uY29sb3IpO1xyXG4gICAgY29udGV4dC5tb3ZlVG8obGluZVN0YXJ0UG9pc3Rpb24ueCwgbGluZVN0YXJ0UG9pc3Rpb24ueSk7XHJcbiAgICBsZXQgY3VydmVTdGFydFggPSBpdGVtLnN0YXJ0LnggPCAwID8gdGV4dFBvc2l0aW9uLnggKyBpdGVtLndpZHRoIDogdGV4dFBvc2l0aW9uLng7XHJcbiAgICBsZXQgdGV4dFN0YXJ0WCA9IGl0ZW0uc3RhcnQueCA8IDAgPyB0ZXh0UG9zaXRpb24ueCAtIDUgOiB0ZXh0UG9zaXRpb24ueCArIDU7XHJcbiAgICBjb250ZXh0LnF1YWRyYXRpY0N1cnZlVG8obGluZUVuZFBvaXN0aW9uLngsIGxpbmVFbmRQb2lzdGlvbi55LCBjdXJ2ZVN0YXJ0WCwgdGV4dFBvc2l0aW9uLnkpO1xyXG4gICAgY29udGV4dC5tb3ZlVG8obGluZVN0YXJ0UG9pc3Rpb24ueCwgbGluZVN0YXJ0UG9pc3Rpb24ueSk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0Lm1vdmVUbyh0ZXh0UG9zaXRpb24ueCArIGl0ZW0ud2lkdGgsIHRleHRQb3NpdGlvbi55KTtcclxuICAgIGNvbnRleHQuYXJjKGN1cnZlU3RhcnRYLCB0ZXh0UG9zaXRpb24ueSwgMiwgMCwgMiAqIE1hdGguUEkpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgIGNvbnRleHQuc2V0Rm9udFNpemUoaXRlbS50ZXh0U2l6ZSB8fCBjb25maWcuZm9udFNpemUpO1xyXG4gICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaXRlbS50ZXh0Q29sb3IgfHwgJyM2NjY2NjYnKTtcclxuICAgIGNvbnRleHQuZmlsbFRleHQoaXRlbS50ZXh0LCB0ZXh0U3RhcnRYLCB0ZXh0UG9zaXRpb24ueSArIDMpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd1Rvb2xUaXBTcGxpdExpbmUob2Zmc2V0WCwgb3B0cywgY29uZmlnLCBjb250ZXh0KSB7XHJcbiAgdmFyIHRvb2xUaXBPcHRpb24gPSBvcHRzLmV4dHJhLnRvb2x0aXAgfHwge307XHJcbiAgdG9vbFRpcE9wdGlvbi5ncmlkVHlwZSA9IHRvb2xUaXBPcHRpb24uZ3JpZFR5cGUgPT0gdW5kZWZpbmVkID8gJ3NvbGlkJyA6IHRvb2xUaXBPcHRpb24uZ3JpZFR5cGU7XHJcbiAgdG9vbFRpcE9wdGlvbi5kYXNoTGVuZ3RoID0gdG9vbFRpcE9wdGlvbi5kYXNoTGVuZ3RoID09IHVuZGVmaW5lZCA/IDQgOiB0b29sVGlwT3B0aW9uLmRhc2hMZW5ndGg7XHJcbiAgdmFyIHN0YXJ0WSA9IG9wdHMuYXJlYVswXTtcclxuICB2YXIgZW5kWSA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzJdO1xyXG5cclxuICBpZiAodG9vbFRpcE9wdGlvbi5ncmlkVHlwZSA9PSAnZGFzaCcpIHtcclxuICAgIGNvbnRleHQuc2V0TGluZURhc2goW3Rvb2xUaXBPcHRpb24uZGFzaExlbmd0aCwgdG9vbFRpcE9wdGlvbi5kYXNoTGVuZ3RoXSk7XHJcbiAgfVxyXG4gIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUodG9vbFRpcE9wdGlvbi5ncmlkQ29sb3IgfHwgJyNjY2NjY2MnKTtcclxuICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gIGNvbnRleHQubW92ZVRvKG9mZnNldFgsIHN0YXJ0WSk7XHJcbiAgY29udGV4dC5saW5lVG8ob2Zmc2V0WCwgZW5kWSk7XHJcbiAgY29udGV4dC5zdHJva2UoKTtcclxuICBjb250ZXh0LnNldExpbmVEYXNoKFtdKTtcclxuXHJcbiAgaWYgKHRvb2xUaXBPcHRpb24ueEF4aXNMYWJlbCkge1xyXG4gICAgbGV0IGxhYmVsVGV4dCA9IG9wdHMuY2F0ZWdvcmllc1tvcHRzLnRvb2x0aXAuaW5kZXhdO1xyXG4gICAgY29udGV4dC5zZXRGb250U2l6ZShjb25maWcuZm9udFNpemUpO1xyXG4gICAgbGV0IHRleHRXaWR0aCA9IG1lYXN1cmVUZXh0KGxhYmVsVGV4dCwgY29uZmlnLmZvbnRTaXplKTtcclxuXHJcbiAgICBsZXQgdGV4dFggPSBvZmZzZXRYIC0gMC41ICogdGV4dFdpZHRoO1xyXG4gICAgbGV0IHRleHRZID0gZW5kWTtcclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldEZpbGxTdHlsZShoZXhUb1JnYih0b29sVGlwT3B0aW9uLmxhYmVsQmdDb2xvciB8fCBjb25maWcudG9vbFRpcEJhY2tncm91bmQsIHRvb2xUaXBPcHRpb24ubGFiZWxCZ09wYWNpdHkgfHwgY29uZmlnLnRvb2xUaXBPcGFjaXR5KSk7XHJcbiAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKHRvb2xUaXBPcHRpb24ubGFiZWxCZ0NvbG9yIHx8IGNvbmZpZy50b29sVGlwQmFja2dyb3VuZCk7XHJcbiAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgIGNvbnRleHQucmVjdCh0ZXh0WCAtIGNvbmZpZy50b29sVGlwUGFkZGluZywgdGV4dFksIHRleHRXaWR0aCArIDIgKiBjb25maWcudG9vbFRpcFBhZGRpbmcsIGNvbmZpZy5mb250U2l6ZSArIDIgKiBjb25maWcudG9vbFRpcFBhZGRpbmcpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICBjb250ZXh0LmZpbGwoKTtcclxuXHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRGb250U2l6ZShjb25maWcuZm9udFNpemUpO1xyXG4gICAgY29udGV4dC5zZXRGaWxsU3R5bGUodG9vbFRpcE9wdGlvbi5sYWJlbEZvbnRDb2xvciB8fCBjb25maWcuZm9udENvbG9yKTtcclxuICAgIGNvbnRleHQuZmlsbFRleHQoU3RyaW5nKGxhYmVsVGV4dCksIHRleHRYLCB0ZXh0WSArIGNvbmZpZy50b29sVGlwUGFkZGluZyArIGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgY29udGV4dC5zdHJva2UoKTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdNYXJrTGluZShvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICBsZXQgbWFya0xpbmVPcHRpb24gPSBhc3NpZ24oe30sIHtcclxuICAgIHR5cGU6ICdzb2xpZCcsXHJcbiAgICBkYXNoTGVuZ3RoOiA0LFxyXG4gICAgZGF0YTogW11cclxuICB9LCBvcHRzLmV4dHJhLm1hcmtMaW5lKTtcclxuICBsZXQgc3RhcnRYID0gb3B0cy5hcmVhWzNdO1xyXG4gIGxldCBlbmRYID0gb3B0cy53aWR0aCAtIG9wdHMuYXJlYVsxXTtcclxuICBsZXQgcG9pbnRzID0gY2FsTWFya0xpbmVEYXRhKG1hcmtMaW5lT3B0aW9uLmRhdGEsIG9wdHMpO1xyXG5cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGg7IGkrKykge1xyXG4gICAgbGV0IGl0ZW0gPSBhc3NpZ24oe30sIHtcclxuICAgICAgbGluZUNvbG9yOiAnI0RFNEE0MicsXHJcbiAgICAgIHNob3dMYWJlbDogZmFsc2UsXHJcbiAgICAgIGxhYmVsRm9udENvbG9yOiAnIzY2NjY2NicsXHJcbiAgICAgIGxhYmVsQmdDb2xvcjogJyNERkU4RkYnLFxyXG4gICAgICBsYWJlbEJnT3BhY2l0eTogMC44LFxyXG4gICAgICB5QXhpc0luZGV4OiAwXHJcbiAgICB9LCBwb2ludHNbaV0pO1xyXG5cclxuICAgIGlmIChtYXJrTGluZU9wdGlvbi50eXBlID09ICdkYXNoJykge1xyXG4gICAgICBjb250ZXh0LnNldExpbmVEYXNoKFttYXJrTGluZU9wdGlvbi5kYXNoTGVuZ3RoLCBtYXJrTGluZU9wdGlvbi5kYXNoTGVuZ3RoXSk7XHJcbiAgICB9XHJcbiAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGl0ZW0ubGluZUNvbG9yKTtcclxuICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgaXRlbS55KTtcclxuICAgIGNvbnRleHQubGluZVRvKGVuZFgsIGl0ZW0ueSk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lRGFzaChbXSk7XHJcbiAgICBpZiAoaXRlbS5zaG93TGFiZWwpIHtcclxuICAgICAgbGV0IGxhYmVsVGV4dCA9IG9wdHMueUF4aXMuZm9ybWF0ID8gb3B0cy55QXhpcy5mb3JtYXQoTnVtYmVyKGl0ZW0udmFsdWUpKSA6IGl0ZW0udmFsdWU7XHJcbiAgICAgIGNvbnRleHQuc2V0Rm9udFNpemUoY29uZmlnLmZvbnRTaXplKTtcclxuICAgICAgbGV0IHRleHRXaWR0aCA9IG1lYXN1cmVUZXh0KGxhYmVsVGV4dCwgY29uZmlnLmZvbnRTaXplKTtcclxuICAgICAgbGV0IGJnU3RhcnRYID0gb3B0cy5wYWRkaW5nWzNdICsgY29uZmlnLnlBeGlzVGl0bGVXaWR0aCAtIGNvbmZpZy50b29sVGlwUGFkZGluZztcclxuICAgICAgbGV0IGJnRW5kWCA9IE1hdGgubWF4KG9wdHMuYXJlYVszXSwgdGV4dFdpZHRoICsgY29uZmlnLnRvb2xUaXBQYWRkaW5nICogMik7XHJcbiAgICAgIGxldCBiZ1dpZHRoID0gYmdFbmRYIC0gYmdTdGFydFg7XHJcblxyXG4gICAgICBsZXQgdGV4dFggPSBiZ1N0YXJ0WCArIChiZ1dpZHRoIC0gdGV4dFdpZHRoKSAvIDI7XHJcbiAgICAgIGxldCB0ZXh0WSA9IGl0ZW0ueTtcclxuICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaGV4VG9SZ2IoaXRlbS5sYWJlbEJnQ29sb3IsIGl0ZW0ubGFiZWxCZ09wYWNpdHkpKTtcclxuICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShpdGVtLmxhYmVsQmdDb2xvcik7XHJcbiAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LnJlY3QoYmdTdGFydFgsIHRleHRZIC0gMC41ICogY29uZmlnLmZvbnRTaXplIC0gY29uZmlnLnRvb2xUaXBQYWRkaW5nLCBiZ1dpZHRoLCBjb25maWcuZm9udFNpemUgKyAyICogY29uZmlnLnRvb2xUaXBQYWRkaW5nKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgY29udGV4dC5maWxsKCk7XHJcblxyXG4gICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0ubGFiZWxGb250Q29sb3IpO1xyXG4gICAgICBjb250ZXh0LmZpbGxUZXh0KFN0cmluZyhsYWJlbFRleHQpLCB0ZXh0WCwgdGV4dFkgKyAwLjUgKiBjb25maWcuZm9udFNpemUpO1xyXG4gICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd1Rvb2xUaXBIb3JpemVudGFsTGluZShvcHRzLCBjb25maWcsIGNvbnRleHQsIGVhY2hTcGFjaW5nLCB4QXhpc1BvaW50cykge1xyXG4gIHZhciB0b29sVGlwT3B0aW9uID0gYXNzaWduKHt9LCB7XHJcbiAgICBncmlkVHlwZTogJ3NvbGlkJyxcclxuICAgIGRhc2hMZW5ndGg6IDRcclxuICB9LCBvcHRzLmV4dHJhLnRvb2x0aXApO1xyXG5cclxuICB2YXIgc3RhcnRYID0gb3B0cy5hcmVhWzNdO1xyXG4gIHZhciBlbmRYID0gb3B0cy53aWR0aCAtIG9wdHMuYXJlYVsxXTtcclxuXHJcbiAgaWYgKHRvb2xUaXBPcHRpb24uZ3JpZFR5cGUgPT0gJ2Rhc2gnKSB7XHJcbiAgICBjb250ZXh0LnNldExpbmVEYXNoKFt0b29sVGlwT3B0aW9uLmRhc2hMZW5ndGgsIHRvb2xUaXBPcHRpb24uZGFzaExlbmd0aF0pO1xyXG4gIH1cclxuICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKHRvb2xUaXBPcHRpb24uZ3JpZENvbG9yIHx8ICcjY2NjY2NjJyk7XHJcbiAgY29udGV4dC5zZXRMaW5lV2lkdGgoMSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICBjb250ZXh0Lm1vdmVUbyhzdGFydFgsIG9wdHMudG9vbHRpcC5vZmZzZXQueSk7XHJcbiAgY29udGV4dC5saW5lVG8oZW5kWCwgb3B0cy50b29sdGlwLm9mZnNldC55KTtcclxuICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gIGNvbnRleHQuc2V0TGluZURhc2goW10pO1xyXG5cclxuICBpZiAodG9vbFRpcE9wdGlvbi55QXhpc0xhYmVsKSB7XHJcbiAgICBsZXQgbGFiZWxUZXh0ID0gY2FsVG9vbHRpcFlBeGlzRGF0YShvcHRzLnRvb2x0aXAub2Zmc2V0LnksIG9wdHMuc2VyaWVzLCBvcHRzLCBjb25maWcsIGVhY2hTcGFjaW5nKTtcclxuICAgIGxldCB3aWR0aEFyciA9IG9wdHMuY2hhcnREYXRhLnlBeGlzRGF0YS55QXhpc1dpZHRoO1xyXG4gICAgbGV0IHRTdGFydExlZnQ9b3B0cy5hcmVhWzNdO1xyXG4gICAgbGV0IHRTdGFydFJpZ2h0PW9wdHMud2lkdGgtb3B0cy5hcmVhWzFdO1xyXG4gICAgZm9yKGxldCBpPTA7aTxsYWJlbFRleHQubGVuZ3RoO2krKyl7XHJcbiAgICAgIGNvbnRleHQuc2V0Rm9udFNpemUoY29uZmlnLmZvbnRTaXplKTtcclxuICAgICAgbGV0IHRleHRXaWR0aCA9IG1lYXN1cmVUZXh0KGxhYmVsVGV4dFtpXSwgY29uZmlnLmZvbnRTaXplKTtcclxuICAgICAgbGV0IGJnU3RhcnRYLGJnRW5kWCxiZ1dpZHRoO1xyXG4gICAgICBpZih3aWR0aEFycltpXS5wb3NpdGlvbiA9PSAnbGVmdCcpe1xyXG4gICAgICAgIGJnU3RhcnRYID0gdFN0YXJ0TGVmdCAtIHdpZHRoQXJyW2ldLndpZHRoO1xyXG4gICAgICAgIGJnRW5kWCA9IE1hdGgubWF4KGJnU3RhcnRYLCBiZ1N0YXJ0WCArIHRleHRXaWR0aCArIGNvbmZpZy50b29sVGlwUGFkZGluZyAqIDIpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBiZ1N0YXJ0WCA9IHRTdGFydFJpZ2h0O1xyXG4gICAgICAgIGJnRW5kWCA9IE1hdGgubWF4KGJnU3RhcnRYICsgd2lkdGhBcnJbaV0ud2lkdGgsIGJnU3RhcnRYICsgdGV4dFdpZHRoICsgY29uZmlnLnRvb2xUaXBQYWRkaW5nICogMik7XHJcbiAgICAgIH1cclxuICAgICAgYmdXaWR0aCA9IGJnRW5kWCAtIGJnU3RhcnRYO1xyXG4gICAgICBcclxuICAgICAgbGV0IHRleHRYID0gYmdTdGFydFggKyAoYmdXaWR0aCAtIHRleHRXaWR0aCkgLyAyO1xyXG4gICAgICBsZXQgdGV4dFkgPSBvcHRzLnRvb2x0aXAub2Zmc2V0Lnk7XHJcbiAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGhleFRvUmdiKHRvb2xUaXBPcHRpb24ubGFiZWxCZ0NvbG9yIHx8IGNvbmZpZy50b29sVGlwQmFja2dyb3VuZCwgdG9vbFRpcE9wdGlvbi5sYWJlbEJnT3BhY2l0eSB8fCBjb25maWcudG9vbFRpcE9wYWNpdHkpKTtcclxuICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZSh0b29sVGlwT3B0aW9uLmxhYmVsQmdDb2xvciB8fCBjb25maWcudG9vbFRpcEJhY2tncm91bmQpO1xyXG4gICAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgY29udGV4dC5yZWN0KGJnU3RhcnRYLCB0ZXh0WSAtIDAuNSAqIGNvbmZpZy5mb250U2l6ZSAtIGNvbmZpZy50b29sVGlwUGFkZGluZywgYmdXaWR0aCwgY29uZmlnLmZvbnRTaXplICsgMiAqIGNvbmZpZy50b29sVGlwUGFkZGluZyk7XHJcbiAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgICBcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRGb250U2l6ZShjb25maWcuZm9udFNpemUpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZSh0b29sVGlwT3B0aW9uLmxhYmVsRm9udENvbG9yIHx8IGNvbmZpZy5mb250Q29sb3IpO1xyXG4gICAgICBjb250ZXh0LmZpbGxUZXh0KGxhYmVsVGV4dFtpXSwgdGV4dFgsIHRleHRZICsgMC41ICogY29uZmlnLmZvbnRTaXplKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgaWYod2lkdGhBcnJbaV0ucG9zaXRpb24gPT0gJ2xlZnQnKXtcclxuICAgICAgICB0U3RhcnRMZWZ0IC09KHdpZHRoQXJyW2ldLndpZHRoICsgb3B0cy55QXhpcy5wYWRkaW5nKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdFN0YXJ0UmlnaHQgKz13aWR0aEFycltpXS53aWR0aCsgb3B0cy55QXhpcy5wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3VG9vbFRpcFNwbGl0QXJlYShvZmZzZXRYLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIGVhY2hTcGFjaW5nKSB7XHJcbiAgdmFyIHRvb2xUaXBPcHRpb24gPSBhc3NpZ24oe30sIHtcclxuICAgIGFjdGl2ZUJnQ29sb3I6ICcjMDAwMDAwJyxcclxuICAgIGFjdGl2ZUJnT3BhY2l0eTogMC4wOFxyXG4gIH0sIG9wdHMuZXh0cmEudG9vbHRpcCk7XHJcbiAgdmFyIHN0YXJ0WSA9IG9wdHMuYXJlYVswXTtcclxuICB2YXIgZW5kWSA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzJdO1xyXG4gIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgY29udGV4dC5zZXRGaWxsU3R5bGUoaGV4VG9SZ2IodG9vbFRpcE9wdGlvbi5hY3RpdmVCZ0NvbG9yLCB0b29sVGlwT3B0aW9uLmFjdGl2ZUJnT3BhY2l0eSkpO1xyXG4gIGNvbnRleHQucmVjdChvZmZzZXRYIC0gZWFjaFNwYWNpbmcgLyAyLCBzdGFydFksIGVhY2hTcGFjaW5nLCBlbmRZIC0gc3RhcnRZKTtcclxuICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gIGNvbnRleHQuZmlsbCgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3VG9vbFRpcCh0ZXh0TGlzdCwgb2Zmc2V0LCBvcHRzLCBjb25maWcsIGNvbnRleHQsIGVhY2hTcGFjaW5nLCB4QXhpc1BvaW50cykge1xyXG4gIHZhciB0b29sVGlwT3B0aW9uID0gYXNzaWduKHt9LCB7XHJcblx0XHRzaG93Qm94OnRydWUsXHJcbiAgICBiZ0NvbG9yOiAnIzAwMDAwMCcsXHJcbiAgICBiZ09wYWNpdHk6IDAuNyxcclxuICAgIGZvbnRDb2xvcjogJyNGRkZGRkYnXHJcbiAgfSwgb3B0cy5leHRyYS50b29sdGlwKTtcclxuICB2YXIgbGVnZW5kV2lkdGggPSA0ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIHZhciBsZWdlbmRNYXJnaW5SaWdodCA9IDUgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgdmFyIGFycm93V2lkdGggPSA4ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIHZhciBpc092ZXJSaWdodEJvcmRlciA9IGZhbHNlO1xyXG4gIGlmIChvcHRzLnR5cGUgPT0gJ2xpbmUnIHx8IG9wdHMudHlwZSA9PSAnYXJlYScgfHwgb3B0cy50eXBlID09ICdjYW5kbGUnIHx8IG9wdHMudHlwZSA9PSAnbWl4Jykge1xyXG4gICAgZHJhd1Rvb2xUaXBTcGxpdExpbmUob3B0cy50b29sdGlwLm9mZnNldC54LCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gIH1cclxuXHJcbiAgb2Zmc2V0ID0gYXNzaWduKHtcclxuICAgIHg6IDAsXHJcbiAgICB5OiAwXHJcbiAgfSwgb2Zmc2V0KTtcclxuICBvZmZzZXQueSAtPSA4ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIHZhciB0ZXh0V2lkdGggPSB0ZXh0TGlzdC5tYXAoZnVuY3Rpb24oaXRlbSkge1xyXG4gICAgcmV0dXJuIG1lYXN1cmVUZXh0KGl0ZW0udGV4dCwgY29uZmlnLmZvbnRTaXplKTtcclxuICB9KTtcclxuICB2YXIgdG9vbFRpcFdpZHRoID0gbGVnZW5kV2lkdGggKyBsZWdlbmRNYXJnaW5SaWdodCArIDQgKiBjb25maWcudG9vbFRpcFBhZGRpbmcgKyBNYXRoLm1heC5hcHBseShudWxsLCB0ZXh0V2lkdGgpO1xyXG4gIHZhciB0b29sVGlwSGVpZ2h0ID0gMiAqIGNvbmZpZy50b29sVGlwUGFkZGluZyArIHRleHRMaXN0Lmxlbmd0aCAqIGNvbmZpZy50b29sVGlwTGluZUhlaWdodDtcclxuXHJcblx0aWYodG9vbFRpcE9wdGlvbi5zaG93Qm94ID09IGZhbHNlKXsgcmV0dXJuIH1cclxuICAvLyBpZiBiZXlvbmQgdGhlIHJpZ2h0IGJvcmRlclxyXG4gIGlmIChvZmZzZXQueCAtIE1hdGguYWJzKG9wdHMuX3Njcm9sbERpc3RhbmNlXykgKyBhcnJvd1dpZHRoICsgdG9vbFRpcFdpZHRoID4gb3B0cy53aWR0aCkge1xyXG4gICAgaXNPdmVyUmlnaHRCb3JkZXIgPSB0cnVlO1xyXG4gIH1cclxuICBpZiAodG9vbFRpcEhlaWdodCArIG9mZnNldC55ID4gb3B0cy5oZWlnaHQpIHtcclxuICAgIG9mZnNldC55ID0gb3B0cy5oZWlnaHQgLSB0b29sVGlwSGVpZ2h0O1xyXG4gIH1cclxuICAvLyBkcmF3IGJhY2tncm91bmQgcmVjdFxyXG4gIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgY29udGV4dC5zZXRGaWxsU3R5bGUoaGV4VG9SZ2IodG9vbFRpcE9wdGlvbi5iZ0NvbG9yIHx8IGNvbmZpZy50b29sVGlwQmFja2dyb3VuZCwgdG9vbFRpcE9wdGlvbi5iZ09wYWNpdHkgfHwgY29uZmlnLnRvb2xUaXBPcGFjaXR5KSk7XHJcbiAgaWYgKGlzT3ZlclJpZ2h0Qm9yZGVyKSB7XHJcbiAgICBjb250ZXh0Lm1vdmVUbyhvZmZzZXQueCwgb2Zmc2V0LnkgKyAxMCAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhvZmZzZXQueCAtIGFycm93V2lkdGgsIG9mZnNldC55ICsgMTAgKiBvcHRzLnBpeGVsUmF0aW8gLSA1ICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgIGNvbnRleHQubGluZVRvKG9mZnNldC54IC0gYXJyb3dXaWR0aCwgb2Zmc2V0LnkpO1xyXG4gICAgY29udGV4dC5saW5lVG8ob2Zmc2V0LnggLSBhcnJvd1dpZHRoIC0gTWF0aC5yb3VuZCh0b29sVGlwV2lkdGgpLCBvZmZzZXQueSk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhvZmZzZXQueCAtIGFycm93V2lkdGggLSBNYXRoLnJvdW5kKHRvb2xUaXBXaWR0aCksIG9mZnNldC55ICsgdG9vbFRpcEhlaWdodCk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhvZmZzZXQueCAtIGFycm93V2lkdGgsIG9mZnNldC55ICsgdG9vbFRpcEhlaWdodCk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhvZmZzZXQueCAtIGFycm93V2lkdGgsIG9mZnNldC55ICsgMTAgKiBvcHRzLnBpeGVsUmF0aW8gKyA1ICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgIGNvbnRleHQubGluZVRvKG9mZnNldC54LCBvZmZzZXQueSArIDEwICogb3B0cy5waXhlbFJhdGlvKTtcclxuICB9IGVsc2Uge1xyXG4gICAgY29udGV4dC5tb3ZlVG8ob2Zmc2V0LngsIG9mZnNldC55ICsgMTAgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgY29udGV4dC5saW5lVG8ob2Zmc2V0LnggKyBhcnJvd1dpZHRoLCBvZmZzZXQueSArIDEwICogb3B0cy5waXhlbFJhdGlvIC0gNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhvZmZzZXQueCArIGFycm93V2lkdGgsIG9mZnNldC55KTtcclxuICAgIGNvbnRleHQubGluZVRvKG9mZnNldC54ICsgYXJyb3dXaWR0aCArIE1hdGgucm91bmQodG9vbFRpcFdpZHRoKSwgb2Zmc2V0LnkpO1xyXG4gICAgY29udGV4dC5saW5lVG8ob2Zmc2V0LnggKyBhcnJvd1dpZHRoICsgTWF0aC5yb3VuZCh0b29sVGlwV2lkdGgpLCBvZmZzZXQueSArIHRvb2xUaXBIZWlnaHQpO1xyXG4gICAgY29udGV4dC5saW5lVG8ob2Zmc2V0LnggKyBhcnJvd1dpZHRoLCBvZmZzZXQueSArIHRvb2xUaXBIZWlnaHQpO1xyXG4gICAgY29udGV4dC5saW5lVG8ob2Zmc2V0LnggKyBhcnJvd1dpZHRoLCBvZmZzZXQueSArIDEwICogb3B0cy5waXhlbFJhdGlvICsgNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhvZmZzZXQueCwgb2Zmc2V0LnkgKyAxMCAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgfVxyXG5cclxuICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gIGNvbnRleHQuZmlsbCgpO1xyXG5cclxuICAvLyBkcmF3IGxlZ2VuZFxyXG4gIHRleHRMaXN0LmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgIGlmIChpdGVtLmNvbG9yICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0uY29sb3IpO1xyXG4gICAgICB2YXIgc3RhcnRYID0gb2Zmc2V0LnggKyBhcnJvd1dpZHRoICsgMiAqIGNvbmZpZy50b29sVGlwUGFkZGluZztcclxuICAgICAgdmFyIHN0YXJ0WSA9IG9mZnNldC55ICsgKGNvbmZpZy50b29sVGlwTGluZUhlaWdodCAtIGNvbmZpZy5mb250U2l6ZSkgLyAyICsgY29uZmlnLnRvb2xUaXBMaW5lSGVpZ2h0ICogaW5kZXggK1xyXG4gICAgICAgIGNvbmZpZy50b29sVGlwUGFkZGluZyArIDE7XHJcbiAgICAgIGlmIChpc092ZXJSaWdodEJvcmRlcikge1xyXG4gICAgICAgIHN0YXJ0WCA9IG9mZnNldC54IC0gdG9vbFRpcFdpZHRoIC0gYXJyb3dXaWR0aCArIDIgKiBjb25maWcudG9vbFRpcFBhZGRpbmc7XHJcbiAgICAgIH1cclxuICAgICAgY29udGV4dC5maWxsUmVjdChzdGFydFgsIHN0YXJ0WSwgbGVnZW5kV2lkdGgsIGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8vIGRyYXcgdGV4dCBsaXN0XHJcblxyXG4gIHRleHRMaXN0LmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgIHZhciBzdGFydFggPSBvZmZzZXQueCArIGFycm93V2lkdGggKyAyICogY29uZmlnLnRvb2xUaXBQYWRkaW5nICsgbGVnZW5kV2lkdGggKyBsZWdlbmRNYXJnaW5SaWdodDtcclxuICAgIGlmIChpc092ZXJSaWdodEJvcmRlcikge1xyXG4gICAgICBzdGFydFggPSBvZmZzZXQueCAtIHRvb2xUaXBXaWR0aCAtIGFycm93V2lkdGggKyAyICogY29uZmlnLnRvb2xUaXBQYWRkaW5nICsgK2xlZ2VuZFdpZHRoICsgbGVnZW5kTWFyZ2luUmlnaHQ7XHJcbiAgICB9XHJcbiAgICB2YXIgc3RhcnRZID0gb2Zmc2V0LnkgKyAoY29uZmlnLnRvb2xUaXBMaW5lSGVpZ2h0IC0gY29uZmlnLmZvbnRTaXplKSAvIDIgKyBjb25maWcudG9vbFRpcExpbmVIZWlnaHQgKiBpbmRleCArXHJcbiAgICAgIGNvbmZpZy50b29sVGlwUGFkZGluZztcclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICBjb250ZXh0LnNldEZpbGxTdHlsZSh0b29sVGlwT3B0aW9uLmZvbnRDb2xvcik7XHJcbiAgICBjb250ZXh0LmZpbGxUZXh0KGl0ZW0udGV4dCwgc3RhcnRYLCBzdGFydFkgKyBjb25maWcuZm9udFNpemUpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdZQXhpc1RpdGxlKHRpdGxlLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICB2YXIgc3RhcnRYID0gY29uZmlnLnhBeGlzSGVpZ2h0ICsgKG9wdHMuaGVpZ2h0IC0gY29uZmlnLnhBeGlzSGVpZ2h0IC0gbWVhc3VyZVRleHQodGl0bGUpKSAvIDI7XHJcbiAgY29udGV4dC5zYXZlKCk7XHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgY29udGV4dC5zZXRGaWxsU3R5bGUob3B0cy55QXhpcy50aXRsZUZvbnRDb2xvciB8fCAnIzMzMzMzMycpO1xyXG4gIGNvbnRleHQudHJhbnNsYXRlKDAsIG9wdHMuaGVpZ2h0KTtcclxuICBjb250ZXh0LnJvdGF0ZSgtOTAgKiBNYXRoLlBJIC8gMTgwKTtcclxuICBjb250ZXh0LmZpbGxUZXh0KHRpdGxlLCBzdGFydFgsIG9wdHMucGFkZGluZ1szXSArIDAuNSAqIGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gIGNvbnRleHQucmVzdG9yZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3Q29sdW1uRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIGxldCBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiAxO1xyXG4gIGxldCB4QXhpc0RhdGEgPSBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEsXHJcbiAgICB4QXhpc1BvaW50cyA9IHhBeGlzRGF0YS54QXhpc1BvaW50cyxcclxuICAgIGVhY2hTcGFjaW5nID0geEF4aXNEYXRhLmVhY2hTcGFjaW5nO1xyXG4gIGxldCBjb2x1bW5PcHRpb24gPSBhc3NpZ24oe30sIHtcclxuICAgIHR5cGU6ICdncm91cCcsXHJcbiAgICB3aWR0aDogZWFjaFNwYWNpbmcgLyAyLFxyXG4gICAgbWV0ZXI6IHtcclxuICAgICAgYm9yZGVyOiA0LFxyXG4gICAgICBmaWxsQ29sb3I6ICcjRkZGRkZGJ1xyXG4gICAgfVxyXG4gIH0sIG9wdHMuZXh0cmEuY29sdW1uKTtcclxuICBcclxuICBsZXQgY2FsUG9pbnRzID0gW107XHJcbiAgY29udGV4dC5zYXZlKCk7XHJcblx0XHJcblx0bGV0IGxlZnROdW09LTI7XHJcblx0bGV0IHJpZ2h0TnVtPXhBeGlzUG9pbnRzLmxlbmd0aCsyO1xyXG5cdFxyXG4gIGlmIChvcHRzLl9zY3JvbGxEaXN0YW5jZV8gJiYgb3B0cy5fc2Nyb2xsRGlzdGFuY2VfICE9PSAwICYmIG9wdHMuZW5hYmxlU2Nyb2xsID09PSB0cnVlKSB7XHJcbiAgICBjb250ZXh0LnRyYW5zbGF0ZShvcHRzLl9zY3JvbGxEaXN0YW5jZV8sIDApO1xyXG5cdFx0bGVmdE51bT1NYXRoLmZsb29yKC1vcHRzLl9zY3JvbGxEaXN0YW5jZV8vZWFjaFNwYWNpbmcpLTI7XHJcblx0XHRyaWdodE51bT1sZWZ0TnVtK29wdHMueEF4aXMuaXRlbUNvdW50KzQ7XHJcbiAgfVxyXG4gIGlmIChvcHRzLnRvb2x0aXAgJiYgb3B0cy50b29sdGlwLnRleHRMaXN0ICYmIG9wdHMudG9vbHRpcC50ZXh0TGlzdC5sZW5ndGggJiYgcHJvY2VzcyA9PT0gMSkge1xyXG4gICAgZHJhd1Rvb2xUaXBTcGxpdEFyZWEob3B0cy50b29sdGlwLm9mZnNldC54LCBvcHRzLCBjb25maWcsIGNvbnRleHQsIGVhY2hTcGFjaW5nKTtcclxuICB9XHJcblx0XHJcbiAgc2VyaWVzLmZvckVhY2goZnVuY3Rpb24oZWFjaFNlcmllcywgc2VyaWVzSW5kZXgpIHtcclxuICAgIGxldCByYW5nZXMsbWluUmFuZ2UsbWF4UmFuZ2U7XHJcbiAgICByYW5nZXMgPSBbXS5jb25jYXQob3B0cy5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1tlYWNoU2VyaWVzLmluZGV4XSk7XHJcbiAgICBtaW5SYW5nZSA9IHJhbmdlcy5wb3AoKTtcclxuICAgIG1heFJhbmdlID0gcmFuZ2VzLnNoaWZ0KCk7XHJcbiAgICBcclxuICAgIHZhciBkYXRhID0gZWFjaFNlcmllcy5kYXRhO1xyXG4gICAgc3dpdGNoIChjb2x1bW5PcHRpb24udHlwZSkge1xyXG4gICAgICBjYXNlICdncm91cCc6XHJcbiAgICAgICAgdmFyIHBvaW50cyA9IGdldERhdGFQb2ludHMoZGF0YSwgbWluUmFuZ2UsIG1heFJhbmdlLCB4QXhpc1BvaW50cywgZWFjaFNwYWNpbmcsIG9wdHMsIGNvbmZpZywgcHJvY2Vzcyk7XHJcbiAgICAgICAgdmFyIHRvb2x0aXBQb2ludHMgPSBnZXRTdGFja0RhdGFQb2ludHMoZGF0YSwgbWluUmFuZ2UsIG1heFJhbmdlLCB4QXhpc1BvaW50cywgZWFjaFNwYWNpbmcsIG9wdHMsIGNvbmZpZywgc2VyaWVzSW5kZXgsIHNlcmllcywgcHJvY2Vzcyk7XHJcbiAgICAgICAgY2FsUG9pbnRzLnB1c2godG9vbHRpcFBvaW50cyk7XHJcbiAgICAgICAgcG9pbnRzID0gZml4Q29sdW1lRGF0YShwb2ludHMsIGVhY2hTcGFjaW5nLCBzZXJpZXMubGVuZ3RoLCBzZXJpZXNJbmRleCwgY29uZmlnLCBvcHRzKTtcclxuXHRcdFx0XHRmb3IobGV0IGk9MDtpPHBvaW50cy5sZW5ndGg7aSsrKXtcclxuXHRcdFx0XHRcdGxldCBpdGVtPXBvaW50c1tpXTtcclxuICAgICAgICAgIGlmIChpdGVtICE9PSBudWxsICYmIGk+bGVmdE51bSAmJiBpPHJpZ2h0TnVtKSB7XHJcbiAgICAgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoaXRlbS5jb2xvciB8fCBlYWNoU2VyaWVzLmNvbG9yKTtcclxuICAgICAgICAgICAgY29udGV4dC5zZXRMaW5lV2lkdGgoMSlcclxuICAgICAgICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaXRlbS5jb2xvciB8fCBlYWNoU2VyaWVzLmNvbG9yKTtcclxuICAgICAgICAgICAgdmFyIHN0YXJ0WCA9IGl0ZW0ueCAtIGl0ZW0ud2lkdGggLyAyO1xyXG4gICAgICAgICAgICB2YXIgaGVpZ2h0ID0gb3B0cy5oZWlnaHQgLSBpdGVtLnkgLSBvcHRzLmFyZWFbMl07XHJcbiAgICAgICAgICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgaXRlbS55KTtcclxuICAgICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYK2l0ZW0ud2lkdGgtMixpdGVtLnkpO1xyXG4gICAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzdGFydFgraXRlbS53aWR0aC0yLG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzJdKTtcclxuICAgICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYLG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzJdKTtcclxuICAgICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYLGl0ZW0ueSk7XHJcbiAgICAgICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgICAgICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ3N0YWNrJzpcclxuICAgICAgICAvLyDnu5jliLbloIblj6DmlbDmja7lm75cclxuICAgICAgICB2YXIgcG9pbnRzID0gZ2V0U3RhY2tEYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcsIHNlcmllc0luZGV4LCBzZXJpZXMsIHByb2Nlc3MpO1xyXG4gICAgICAgIGNhbFBvaW50cy5wdXNoKHBvaW50cyk7XHJcbiAgICAgICAgcG9pbnRzID0gZml4Q29sdW1lU3RhY2tEYXRhKHBvaW50cywgZWFjaFNwYWNpbmcsIHNlcmllcy5sZW5ndGgsIHNlcmllc0luZGV4LCBjb25maWcsIG9wdHMsIHNlcmllcyk7XHJcblxyXG4gICAgICAgIGZvcihsZXQgaT0wO2k8cG9pbnRzLmxlbmd0aDtpKyspe1xyXG4gICAgICAgIFx0bGV0IGl0ZW09cG9pbnRzW2ldO1xyXG4gICAgICAgICAgaWYgKGl0ZW0gIT09IG51bGwgJiYgaT5sZWZ0TnVtICYmIGk8cmlnaHROdW0pIHtcclxuICAgICAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaXRlbS5jb2xvciB8fCBlYWNoU2VyaWVzLmNvbG9yKTtcclxuICAgICAgICAgICAgdmFyIHN0YXJ0WCA9IGl0ZW0ueCAtIGl0ZW0ud2lkdGggLyAyICsgMTtcclxuICAgICAgICAgICAgdmFyIGhlaWdodCA9IG9wdHMuaGVpZ2h0IC0gaXRlbS55IC0gb3B0cy5hcmVhWzJdO1xyXG4gICAgICAgICAgICB2YXIgaGVpZ2h0MCA9IG9wdHMuaGVpZ2h0IC0gaXRlbS55MCAtIG9wdHMuYXJlYVsyXTtcclxuICAgICAgICAgICAgaWYgKHNlcmllc0luZGV4ID4gMCkge1xyXG4gICAgICAgICAgICAgIGhlaWdodCAtPSBoZWlnaHQwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgaXRlbS55KTtcclxuICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdChzdGFydFgsIGl0ZW0ueSwgaXRlbS53aWR0aCAtIDIsIGhlaWdodCk7XHJcbiAgICAgICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21ldGVyJzpcclxuICAgICAgICAvLyDnu5jliLbmuKnluqborqHmlbDmja7lm75cclxuICAgICAgICB2YXIgcG9pbnRzID0gZ2V0RGF0YVBvaW50cyhkYXRhLCBtaW5SYW5nZSwgbWF4UmFuZ2UsIHhBeGlzUG9pbnRzLCBlYWNoU3BhY2luZywgb3B0cywgY29uZmlnLCBwcm9jZXNzKTtcclxuICAgICAgICBjYWxQb2ludHMucHVzaChwb2ludHMpO1xyXG4gICAgICAgIHBvaW50cyA9IGZpeENvbHVtZU1ldGVyRGF0YShwb2ludHMsIGVhY2hTcGFjaW5nLCBzZXJpZXMubGVuZ3RoLCBzZXJpZXNJbmRleCwgY29uZmlnLCBvcHRzLCBjb2x1bW5PcHRpb24ubWV0ZXIuYm9yZGVyKTtcclxuICAgICAgICBpZiAoc2VyaWVzSW5kZXggPT0gMCkge1xyXG4gICAgICAgICAgZm9yKGxldCBpPTA7aTxwb2ludHMubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICBcdGxldCBpdGVtPXBvaW50c1tpXTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0gIT09IG51bGwgJiYgaT5sZWZ0TnVtICYmIGk8cmlnaHROdW0pIHtcclxuICAgICAgICAgICAgICAvL+eUu+iDjOaZr+minOiJslxyXG4gICAgICAgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoY29sdW1uT3B0aW9uLm1ldGVyLmZpbGxDb2xvcik7XHJcbiAgICAgICAgICAgICAgdmFyIHN0YXJ0WCA9IGl0ZW0ueCAtIGl0ZW0ud2lkdGggLyAyO1xyXG4gICAgICAgICAgICAgIHZhciBoZWlnaHQgPSBvcHRzLmhlaWdodCAtIGl0ZW0ueSAtIG9wdHMuYXJlYVsyXTtcclxuICAgICAgICAgICAgICBjb250ZXh0Lm1vdmVUbyhzdGFydFgsIGl0ZW0ueSk7XHJcbiAgICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdChzdGFydFgsIGl0ZW0ueSwgaXRlbS53aWR0aCwgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICAgICAgICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgICAgICAgICAgIC8v55S76L655qGG57q/XHJcbiAgICAgICAgICAgICAgaWYgKGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShlYWNoU2VyaWVzLmNvbG9yKTtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYICsgY29sdW1uT3B0aW9uLm1ldGVyLmJvcmRlciAqIDAuNSwgaXRlbS55ICsgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIGNvbnRleHQubGluZVRvKHN0YXJ0WCArIGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgKiAwLjUsIGl0ZW0ueSArIGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgKiAwLjUpO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYICsgaXRlbS53aWR0aCAtIGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgKiAwLjUsIGl0ZW0ueSArIGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgKiAwLjUpO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYICsgaXRlbS53aWR0aCAtIGNvbHVtbk9wdGlvbi5tZXRlci5ib3JkZXIgKiAwLjUsIGl0ZW0ueSArIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgZm9yKGxldCBpPTA7aTxwb2ludHMubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgICBcdGxldCBpdGVtPXBvaW50c1tpXTtcclxuICAgICAgICAgICAgaWYgKGl0ZW0gIT09IG51bGwgJiYgaT5sZWZ0TnVtICYmIGk8cmlnaHROdW0pIHtcclxuICAgICAgICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0uY29sb3IgfHwgZWFjaFNlcmllcy5jb2xvcik7XHJcbiAgICAgICAgICAgICAgdmFyIHN0YXJ0WCA9IGl0ZW0ueCAtIGl0ZW0ud2lkdGggLyAyO1xyXG4gICAgICAgICAgICAgIHZhciBoZWlnaHQgPSBvcHRzLmhlaWdodCAtIGl0ZW0ueSAtIG9wdHMuYXJlYVsyXTtcclxuICAgICAgICAgICAgICBjb250ZXh0Lm1vdmVUbyhzdGFydFgsIGl0ZW0ueSk7XHJcbiAgICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdChzdGFydFgsIGl0ZW0ueSwgaXRlbS53aWR0aCwgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICAgICAgICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgaWYgKG9wdHMuZGF0YUxhYmVsICE9PSBmYWxzZSAmJiBwcm9jZXNzID09PSAxKSB7XHJcbiAgICBzZXJpZXMuZm9yRWFjaChmdW5jdGlvbihlYWNoU2VyaWVzLCBzZXJpZXNJbmRleCkge1xyXG4gICAgICBsZXQgcmFuZ2VzLG1pblJhbmdlLG1heFJhbmdlO1xyXG4gICAgICAgIHJhbmdlcyA9IFtdLmNvbmNhdChvcHRzLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW2VhY2hTZXJpZXMuaW5kZXhdKTtcclxuICAgICAgICBtaW5SYW5nZSA9IHJhbmdlcy5wb3AoKTtcclxuICAgICAgICBtYXhSYW5nZSA9IHJhbmdlcy5zaGlmdCgpO1xyXG4gICAgICB2YXIgZGF0YSA9IGVhY2hTZXJpZXMuZGF0YTtcclxuICAgICAgc3dpdGNoIChjb2x1bW5PcHRpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2dyb3VwJzpcclxuICAgICAgICAgIHZhciBwb2ludHMgPSBnZXREYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcsIHByb2Nlc3MpO1xyXG4gICAgICAgICAgcG9pbnRzID0gZml4Q29sdW1lRGF0YShwb2ludHMsIGVhY2hTcGFjaW5nLCBzZXJpZXMubGVuZ3RoLCBzZXJpZXNJbmRleCwgY29uZmlnLCBvcHRzKTtcclxuICAgICAgICAgIGRyYXdQb2ludFRleHQocG9pbnRzLCBlYWNoU2VyaWVzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc3RhY2snOlxyXG4gICAgICAgICAgdmFyIHBvaW50cyA9IGdldFN0YWNrRGF0YVBvaW50cyhkYXRhLCBtaW5SYW5nZSwgbWF4UmFuZ2UsIHhBeGlzUG9pbnRzLCBlYWNoU3BhY2luZywgb3B0cywgY29uZmlnLCBzZXJpZXNJbmRleCwgc2VyaWVzLCBwcm9jZXNzKTtcclxuICAgICAgICAgIGRyYXdQb2ludFRleHQocG9pbnRzLCBlYWNoU2VyaWVzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnbWV0ZXInOlxyXG4gICAgICAgICAgdmFyIHBvaW50cyA9IGdldERhdGFQb2ludHMoZGF0YSwgbWluUmFuZ2UsIG1heFJhbmdlLCB4QXhpc1BvaW50cywgZWFjaFNwYWNpbmcsIG9wdHMsIGNvbmZpZywgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3UG9pbnRUZXh0KHBvaW50cywgZWFjaFNlcmllcywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbnRleHQucmVzdG9yZSgpO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgeEF4aXNQb2ludHM6IHhBeGlzUG9pbnRzLFxyXG4gICAgY2FsUG9pbnRzOiBjYWxQb2ludHMsXHJcbiAgICBlYWNoU3BhY2luZzogZWFjaFNwYWNpbmdcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3Q2FuZGxlRGF0YVBvaW50cyhzZXJpZXMsIHNlcmllc01BLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICB2YXIgcHJvY2VzcyA9IGFyZ3VtZW50cy5sZW5ndGggPiA1ICYmIGFyZ3VtZW50c1s1XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzVdIDogMTtcclxuICB2YXIgY2FuZGxlT3B0aW9uID0gYXNzaWduKHt9LCB7XHJcbiAgICBjb2xvcjoge30sXHJcbiAgICBhdmVyYWdlOiB7fVxyXG4gIH0sIG9wdHMuZXh0cmEuY2FuZGxlKTtcclxuICBjYW5kbGVPcHRpb24uY29sb3IgPSBhc3NpZ24oe30sIHtcclxuICAgIHVwTGluZTogJyNmMDQ4NjQnLFxyXG4gICAgdXBGaWxsOiAnI2YwNDg2NCcsXHJcbiAgICBkb3duTGluZTogJyMyZmMyNWInLFxyXG4gICAgZG93bkZpbGw6ICcjMmZjMjViJ1xyXG4gIH0sIGNhbmRsZU9wdGlvbi5jb2xvcik7XHJcbiAgY2FuZGxlT3B0aW9uLmF2ZXJhZ2UgPSBhc3NpZ24oe30sIHtcclxuICAgIHNob3c6IGZhbHNlLFxyXG4gICAgbmFtZTogW10sXHJcbiAgICBkYXk6IFtdLFxyXG4gICAgY29sb3I6IGNvbmZpZy5jb2xvcnNcclxuICB9LCBjYW5kbGVPcHRpb24uYXZlcmFnZSk7XHJcbiAgb3B0cy5leHRyYS5jYW5kbGUgPSBjYW5kbGVPcHRpb247XHJcblxyXG4gIGxldCB4QXhpc0RhdGEgPSBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEsXHJcbiAgICB4QXhpc1BvaW50cyA9IHhBeGlzRGF0YS54QXhpc1BvaW50cyxcclxuICAgIGVhY2hTcGFjaW5nID0geEF4aXNEYXRhLmVhY2hTcGFjaW5nO1xyXG5cclxuICBsZXQgY2FsUG9pbnRzID0gW107XHJcblxyXG4gIGNvbnRleHQuc2F2ZSgpO1xyXG5cdFxyXG5cdGxldCBsZWZ0TnVtPS0yO1xyXG5cdGxldCByaWdodE51bT14QXhpc1BvaW50cy5sZW5ndGgrMjtcclxuXHRsZXQgbGVmdFNwYWNlPTA7XHJcblx0bGV0IHJpZ2h0U3BhY2U9b3B0cy53aWR0aCtlYWNoU3BhY2luZztcclxuXHRcclxuICBpZiAob3B0cy5fc2Nyb2xsRGlzdGFuY2VfICYmIG9wdHMuX3Njcm9sbERpc3RhbmNlXyAhPT0gMCAmJiBvcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgY29udGV4dC50cmFuc2xhdGUob3B0cy5fc2Nyb2xsRGlzdGFuY2VfLCAwKTtcclxuXHRcdGxlZnROdW09TWF0aC5mbG9vcigtb3B0cy5fc2Nyb2xsRGlzdGFuY2VfL2VhY2hTcGFjaW5nKS0yO1xyXG5cdFx0cmlnaHROdW09bGVmdE51bStvcHRzLnhBeGlzLml0ZW1Db3VudCs0O1xyXG5cdFx0bGVmdFNwYWNlPS1vcHRzLl9zY3JvbGxEaXN0YW5jZV8tZWFjaFNwYWNpbmcrb3B0cy5hcmVhWzNdO1xyXG5cdFx0cmlnaHRTcGFjZT1sZWZ0U3BhY2UrKG9wdHMueEF4aXMuaXRlbUNvdW50KzQpKmVhY2hTcGFjaW5nO1xyXG4gIH1cclxuXHJcbiAgLy/nlLvlnYfnur9cclxuICBpZiAoY2FuZGxlT3B0aW9uLmF2ZXJhZ2Uuc2hvdykge1xyXG4gICAgc2VyaWVzTUEuZm9yRWFjaChmdW5jdGlvbihlYWNoU2VyaWVzLCBzZXJpZXNJbmRleCkge1xyXG4gICAgICBsZXQgcmFuZ2VzLG1pblJhbmdlLG1heFJhbmdlO1xyXG4gICAgICByYW5nZXMgPSBbXS5jb25jYXQob3B0cy5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1tlYWNoU2VyaWVzLmluZGV4XSk7XHJcbiAgICAgIG1pblJhbmdlID0gcmFuZ2VzLnBvcCgpO1xyXG4gICAgICBtYXhSYW5nZSA9IHJhbmdlcy5zaGlmdCgpO1xyXG5cclxuICAgICAgdmFyIGRhdGEgPSBlYWNoU2VyaWVzLmRhdGE7XHJcbiAgICAgIHZhciBwb2ludHMgPSBnZXREYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcsIHByb2Nlc3MpO1xyXG4gICAgICB2YXIgc3BsaXRQb2ludExpc3QgPSBzcGxpdFBvaW50cyhwb2ludHMpO1xyXG5cdFx0XHRcclxuXHRcdFx0Zm9yKGxldCBpPTA7aTxzcGxpdFBvaW50TGlzdC5sZW5ndGg7aSsrKXtcclxuXHRcdFx0XHRsZXQgcG9pbnRzPXNwbGl0UG9pbnRMaXN0W2ldO1xyXG5cdFx0XHRcdGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcblx0XHRcdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShlYWNoU2VyaWVzLmNvbG9yKTtcclxuXHRcdFx0XHRjb250ZXh0LnNldExpbmVXaWR0aCgxKTtcclxuXHRcdFx0XHRpZiAocG9pbnRzLmxlbmd0aCA9PT0gMSkge1xyXG5cdFx0XHRcdFx0Y29udGV4dC5tb3ZlVG8ocG9pbnRzWzBdLngsIHBvaW50c1swXS55KTtcclxuXHRcdFx0XHRcdGNvbnRleHQuYXJjKHBvaW50c1swXS54LCBwb2ludHNbMF0ueSwgMSwgMCwgMiAqIE1hdGguUEkpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRjb250ZXh0Lm1vdmVUbyhwb2ludHNbMF0ueCwgcG9pbnRzWzBdLnkpO1xyXG5cdFx0XHRcdFx0bGV0IHN0YXJ0UG9pbnQ9MDtcclxuXHRcdFx0XHRcdGZvcihsZXQgaj0wO2o8cG9pbnRzLmxlbmd0aDtqKyspe1xyXG5cdFx0XHRcdFx0XHRsZXQgaXRlbT1wb2ludHNbal07XHJcblx0XHRcdFx0XHRcdGlmKHN0YXJ0UG9pbnQ9PTAgJiYgaXRlbS54ID4gbGVmdFNwYWNlKXtcclxuXHRcdFx0XHRcdFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtLngsIGl0ZW0ueSk7XHJcblx0XHRcdFx0XHRcdFx0c3RhcnRQb2ludD0xO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmIChqID4gMCAmJiBpdGVtLnggPiBsZWZ0U3BhY2UgJiYgaXRlbS54IDwgcmlnaHRTcGFjZSkge1xyXG5cdFx0XHRcdFx0XHRcdHZhciBjdHJsUG9pbnQgPSBjcmVhdGVDdXJ2ZUNvbnRyb2xQb2ludHMocG9pbnRzLCBqIC0gMSk7XHJcblx0XHRcdFx0XHRcdFx0Y29udGV4dC5iZXppZXJDdXJ2ZVRvKGN0cmxQb2ludC5jdHJBLngsIGN0cmxQb2ludC5jdHJBLnksIGN0cmxQb2ludC5jdHJCLngsIGN0cmxQb2ludC5jdHJCLnksaXRlbS54LCBpdGVtLnkpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb250ZXh0Lm1vdmVUbyhwb2ludHNbMF0ueCwgcG9pbnRzWzBdLnkpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG5cdFx0XHRcdGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvL+eUu0vnur9cclxuICBzZXJpZXMuZm9yRWFjaChmdW5jdGlvbihlYWNoU2VyaWVzLCBzZXJpZXNJbmRleCkge1xyXG4gICAgbGV0IHJhbmdlcyxtaW5SYW5nZSxtYXhSYW5nZTtcclxuICAgIHJhbmdlcyA9IFtdLmNvbmNhdChvcHRzLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW2VhY2hTZXJpZXMuaW5kZXhdKTtcclxuICAgIG1pblJhbmdlID0gcmFuZ2VzLnBvcCgpO1xyXG4gICAgbWF4UmFuZ2UgPSByYW5nZXMuc2hpZnQoKTtcclxuICAgIHZhciBkYXRhID0gZWFjaFNlcmllcy5kYXRhO1xyXG4gICAgdmFyIHBvaW50cyA9IGdldENhbmRsZURhdGFQb2ludHMoZGF0YSwgbWluUmFuZ2UsIG1heFJhbmdlLCB4QXhpc1BvaW50cywgZWFjaFNwYWNpbmcsIG9wdHMsIGNvbmZpZywgcHJvY2Vzcyk7XHJcbiAgICBjYWxQb2ludHMucHVzaChwb2ludHMpO1xyXG4gICAgdmFyIHNwbGl0UG9pbnRMaXN0ID0gc3BsaXRQb2ludHMocG9pbnRzKTtcclxuXHJcblx0XHRmb3IobGV0IGk9MDtpPHNwbGl0UG9pbnRMaXN0WzBdLmxlbmd0aDtpKyspe1xyXG5cdFx0XHRpZihpPmxlZnROdW0gJiYgaTxyaWdodE51bSl7XHJcblx0XHRcdFx0bGV0IGl0ZW09c3BsaXRQb2ludExpc3RbMF1baV07XHJcblx0XHRcdFx0Y29udGV4dC5iZWdpblBhdGgoKTtcclxuXHRcdFx0XHQvL+WmguaenOS4iua2qFxyXG5cdFx0XHRcdGlmIChkYXRhW2ldWzFdIC0gZGF0YVtpXVswXSA+IDApIHtcclxuXHRcdFx0XHRcdGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoY2FuZGxlT3B0aW9uLmNvbG9yLnVwTGluZSk7XHJcblx0XHRcdFx0XHRjb250ZXh0LnNldEZpbGxTdHlsZShjYW5kbGVPcHRpb24uY29sb3IudXBGaWxsKTtcclxuXHRcdFx0XHRcdGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG5cdFx0XHRcdFx0Y29udGV4dC5tb3ZlVG8oaXRlbVszXS54LCBpdGVtWzNdLnkpOyAvL+mhtueCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVsxXS54LCBpdGVtWzFdLnkpOyAvL+aUtuebmOS4remXtOeCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVsxXS54IC0gZWFjaFNwYWNpbmcgLyA0LCBpdGVtWzFdLnkpOyAvL+aUtuebmOW3puS+p+eCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVswXS54IC0gZWFjaFNwYWNpbmcgLyA0LCBpdGVtWzBdLnkpOyAvL+W8gOebmOW3puS+p+eCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVswXS54LCBpdGVtWzBdLnkpOyAvL+W8gOebmOS4remXtOeCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVsyXS54LCBpdGVtWzJdLnkpOyAvL+W6leeCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVswXS54LCBpdGVtWzBdLnkpOyAvL+W8gOebmOS4remXtOeCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVswXS54ICsgZWFjaFNwYWNpbmcgLyA0LCBpdGVtWzBdLnkpOyAvL+W8gOebmOWPs+S+p+eCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVsxXS54ICsgZWFjaFNwYWNpbmcgLyA0LCBpdGVtWzFdLnkpOyAvL+aUtuebmOWPs+S+p+eCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5saW5lVG8oaXRlbVsxXS54LCBpdGVtWzFdLnkpOyAvL+aUtuebmOS4remXtOeCuVxyXG5cdFx0XHRcdFx0Y29udGV4dC5tb3ZlVG8oaXRlbVszXS54LCBpdGVtWzNdLnkpOyAvL+mhtueCuVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRjb250ZXh0LnNldFN0cm9rZVN0eWxlKGNhbmRsZU9wdGlvbi5jb2xvci5kb3duTGluZSk7XHJcblx0XHRcdFx0XHRjb250ZXh0LnNldEZpbGxTdHlsZShjYW5kbGVPcHRpb24uY29sb3IuZG93bkZpbGwpO1xyXG5cdFx0XHRcdFx0Y29udGV4dC5zZXRMaW5lV2lkdGgoMSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcblx0XHRcdFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtWzNdLngsIGl0ZW1bM10ueSk7IC8v6aG254K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzBdLngsIGl0ZW1bMF0ueSk7IC8v5byA55uY5Lit6Ze054K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzBdLnggLSBlYWNoU3BhY2luZyAvIDQsIGl0ZW1bMF0ueSk7IC8v5byA55uY5bem5L6n54K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzFdLnggLSBlYWNoU3BhY2luZyAvIDQsIGl0ZW1bMV0ueSk7IC8v5pS255uY5bem5L6n54K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzFdLngsIGl0ZW1bMV0ueSk7IC8v5pS255uY5Lit6Ze054K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzJdLngsIGl0ZW1bMl0ueSk7IC8v5bqV54K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzFdLngsIGl0ZW1bMV0ueSk7IC8v5pS255uY5Lit6Ze054K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzFdLnggKyBlYWNoU3BhY2luZyAvIDQsIGl0ZW1bMV0ueSk7IC8v5pS255uY5Y+z5L6n54K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzBdLnggKyBlYWNoU3BhY2luZyAvIDQsIGl0ZW1bMF0ueSk7IC8v5byA55uY5Y+z5L6n54K5XHJcblx0XHRcdFx0XHRjb250ZXh0LmxpbmVUbyhpdGVtWzBdLngsIGl0ZW1bMF0ueSk7IC8v5byA55uY5Lit6Ze054K5XHJcblx0XHRcdFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtWzNdLngsIGl0ZW1bM10ueSk7IC8v6aG254K5XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcblx0XHRcdFx0Y29udGV4dC5maWxsKCk7XHJcblx0XHRcdFx0Y29udGV4dC5zdHJva2UoKTtcclxuXHRcdFx0fVxyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBjb250ZXh0LnJlc3RvcmUoKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHhBeGlzUG9pbnRzOiB4QXhpc1BvaW50cyxcclxuICAgIGNhbFBvaW50czogY2FsUG9pbnRzLFxyXG4gICAgZWFjaFNwYWNpbmc6IGVhY2hTcGFjaW5nXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd0FyZWFEYXRhUG9pbnRzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IDE7XHJcbiAgdmFyIGFyZWFPcHRpb24gPSBhc3NpZ24oe30se1xyXG4gICAgdHlwZTogJ3N0cmFpZ2h0JyxcclxuICAgIG9wYWNpdHk6IDAuMixcclxuICAgIGFkZExpbmU6IGZhbHNlLFxyXG4gICAgd2lkdGg6IDIsXHJcblx0XHRncmFkaWVudDpmYWxzZVxyXG4gIH0sb3B0cy5leHRyYS5hcmVhKTtcclxuXHJcbiAgbGV0IHhBeGlzRGF0YSA9IG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YSxcclxuICAgIHhBeGlzUG9pbnRzID0geEF4aXNEYXRhLnhBeGlzUG9pbnRzLFxyXG4gICAgZWFjaFNwYWNpbmcgPSB4QXhpc0RhdGEuZWFjaFNwYWNpbmc7XHJcblxyXG4gIGxldCBlbmRZID0gb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl07XHJcbiAgbGV0IGNhbFBvaW50cyA9IFtdO1xyXG5cclxuICBjb250ZXh0LnNhdmUoKTtcclxuXHRsZXQgbGVmdFNwYWNlPTA7XHJcblx0bGV0IHJpZ2h0U3BhY2U9b3B0cy53aWR0aCtlYWNoU3BhY2luZztcclxuICBpZiAob3B0cy5fc2Nyb2xsRGlzdGFuY2VfICYmIG9wdHMuX3Njcm9sbERpc3RhbmNlXyAhPT0gMCAmJiBvcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgY29udGV4dC50cmFuc2xhdGUob3B0cy5fc2Nyb2xsRGlzdGFuY2VfLCAwKTtcclxuXHRcdGxlZnRTcGFjZT0tb3B0cy5fc2Nyb2xsRGlzdGFuY2VfLWVhY2hTcGFjaW5nK29wdHMuYXJlYVszXTtcclxuXHRcdHJpZ2h0U3BhY2U9bGVmdFNwYWNlKyhvcHRzLnhBeGlzLml0ZW1Db3VudCs0KSplYWNoU3BhY2luZztcclxuICB9XHJcblxyXG4gIHNlcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVhY2hTZXJpZXMsIHNlcmllc0luZGV4KSB7XHJcbiAgICBsZXQgcmFuZ2VzLG1pblJhbmdlLG1heFJhbmdlO1xyXG4gICAgcmFuZ2VzID0gW10uY29uY2F0KG9wdHMuY2hhcnREYXRhLnlBeGlzRGF0YS5yYW5nZXNbZWFjaFNlcmllcy5pbmRleF0pO1xyXG4gICAgbWluUmFuZ2UgPSByYW5nZXMucG9wKCk7XHJcbiAgICBtYXhSYW5nZSA9IHJhbmdlcy5zaGlmdCgpO1xyXG4gICAgbGV0IGRhdGEgPSBlYWNoU2VyaWVzLmRhdGE7XHJcbiAgICBsZXQgcG9pbnRzID0gZ2V0RGF0YVBvaW50cyhkYXRhLCBtaW5SYW5nZSwgbWF4UmFuZ2UsIHhBeGlzUG9pbnRzLCBlYWNoU3BhY2luZywgb3B0cywgY29uZmlnLCBwcm9jZXNzKTtcclxuICAgIGNhbFBvaW50cy5wdXNoKHBvaW50cyk7XHJcblxyXG4gICAgbGV0IHNwbGl0UG9pbnRMaXN0ID0gc3BsaXRQb2ludHMocG9pbnRzKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BsaXRQb2ludExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IHBvaW50cyA9IHNwbGl0UG9pbnRMaXN0W2ldO1xyXG4gICAgICAvLyDnu5jliLbljLrln5/mlbBcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShoZXhUb1JnYihlYWNoU2VyaWVzLmNvbG9yLCBhcmVhT3B0aW9uLm9wYWNpdHkpKTtcclxuXHRcdFx0aWYoYXJlYU9wdGlvbi5ncmFkaWVudCl7XHJcblx0XHRcdFx0bGV0IGdyYWRpZW50ID0gY29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCBvcHRzLmFyZWFbMF0sIDAsIG9wdHMuaGVpZ2h0LW9wdHMuYXJlYVsyXSk7XHJcblx0XHRcdFx0Z3JhZGllbnQuYWRkQ29sb3JTdG9wKCcwJywgaGV4VG9SZ2IoZWFjaFNlcmllcy5jb2xvciwgYXJlYU9wdGlvbi5vcGFjaXR5KSk7XHJcblx0XHRcdFx0Z3JhZGllbnQuYWRkQ29sb3JTdG9wKCcxLjAnLGhleFRvUmdiKFwiI0ZGRkZGRlwiLCAwLjEpKTtcclxuXHRcdFx0XHRjb250ZXh0LnNldEZpbGxTdHlsZShncmFkaWVudCk7XHJcblx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdGNvbnRleHQuc2V0RmlsbFN0eWxlKGhleFRvUmdiKGVhY2hTZXJpZXMuY29sb3IsIGFyZWFPcHRpb24ub3BhY2l0eSkpO1xyXG5cdFx0XHR9XHJcbiAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKGFyZWFPcHRpb24ud2lkdGggKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICBpZiAocG9pbnRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBsZXQgZmlyc3RQb2ludCA9IHBvaW50c1swXTtcclxuICAgICAgICBsZXQgbGFzdFBvaW50ID0gcG9pbnRzW3BvaW50cy5sZW5ndGggLSAxXTtcclxuICAgICAgICBjb250ZXh0Lm1vdmVUbyhmaXJzdFBvaW50LngsIGZpcnN0UG9pbnQueSk7XHJcblx0XHRcdFx0bGV0IHN0YXJ0UG9pbnQ9MDtcclxuICAgICAgICBpZiAoYXJlYU9wdGlvbi50eXBlID09PSAnY3VydmUnKSB7XHJcblx0XHRcdFx0XHRmb3IobGV0IGo9MDtqPHBvaW50cy5sZW5ndGg7aisrKXtcclxuXHRcdFx0XHRcdFx0bGV0IGl0ZW09cG9pbnRzW2pdO1xyXG5cdFx0XHRcdFx0XHRpZihzdGFydFBvaW50PT0wICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSl7XHJcblx0XHRcdFx0XHRcdFx0Y29udGV4dC5tb3ZlVG8oaXRlbS54LCBpdGVtLnkpO1xyXG5cdFx0XHRcdFx0XHRcdHN0YXJ0UG9pbnQ9MTtcclxuXHRcdFx0XHRcdFx0fVxyXG4gICAgICAgICAgICBpZiAoaiA+IDAgJiYgaXRlbS54ID4gbGVmdFNwYWNlICYmIGl0ZW0ueCA8IHJpZ2h0U3BhY2UpIHtcclxuICAgICAgICAgICAgICBsZXQgY3RybFBvaW50ID0gY3JlYXRlQ3VydmVDb250cm9sUG9pbnRzKHBvaW50cywgaiAtIDEpO1xyXG4gICAgICAgICAgICAgIGNvbnRleHQuYmV6aWVyQ3VydmVUbyhjdHJsUG9pbnQuY3RyQS54LCBjdHJsUG9pbnQuY3RyQS55LCBjdHJsUG9pbnQuY3RyQi54LCBjdHJsUG9pbnQuY3RyQi55LGl0ZW0ueCwgaXRlbS55KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0Zm9yKGxldCBqPTA7ajxwb2ludHMubGVuZ3RoO2orKyl7XHJcblx0XHRcdFx0XHRcdGxldCBpdGVtPXBvaW50c1tqXTtcclxuXHRcdFx0XHRcdFx0aWYoc3RhcnRQb2ludD09MCAmJiBpdGVtLnggPiBsZWZ0U3BhY2Upe1xyXG5cdFx0XHRcdFx0XHRcdGNvbnRleHQubW92ZVRvKGl0ZW0ueCwgaXRlbS55KTtcclxuXHRcdFx0XHRcdFx0XHRzdGFydFBvaW50PTE7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCAgaWYgKGogPiAwICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSAmJiBpdGVtLnggPCByaWdodFNwYWNlKSB7XHJcbiAgICAgICAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54LCBpdGVtLnkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29udGV4dC5saW5lVG8obGFzdFBvaW50LngsIGVuZFkpO1xyXG4gICAgICAgIGNvbnRleHQubGluZVRvKGZpcnN0UG9pbnQueCwgZW5kWSk7XHJcbiAgICAgICAgY29udGV4dC5saW5lVG8oZmlyc3RQb2ludC54LCBmaXJzdFBvaW50LnkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGxldCBpdGVtID0gcG9pbnRzWzBdO1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ueCAtIGVhY2hTcGFjaW5nIC8gMiwgaXRlbS55KTtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLnggKyBlYWNoU3BhY2luZyAvIDIsIGl0ZW0ueSk7XHJcbiAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54ICsgZWFjaFNwYWNpbmcgLyAyLCBlbmRZKTtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLnggLSBlYWNoU3BhY2luZyAvIDIsIGVuZFkpO1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ueCAtIGVhY2hTcGFjaW5nIC8gMiwgaXRlbS55KTtcclxuICAgICAgfVxyXG4gICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LmZpbGwoKTtcclxuXHJcbiAgICAgIC8v55S76L+e57q/XHJcbiAgICAgIGlmIChhcmVhT3B0aW9uLmFkZExpbmUpIHtcclxuXHRcdFx0XHRpZiAoZWFjaFNlcmllcy5saW5lVHlwZSA9PSAnZGFzaCcpIHtcclxuXHRcdFx0XHRcdGxldCBkYXNoTGVuZ3RoID0gZWFjaFNlcmllcy5kYXNoTGVuZ3RoP2VhY2hTZXJpZXMuZGFzaExlbmd0aDo4O1xyXG5cdFx0XHRcdFx0ZGFzaExlbmd0aCAqPSBvcHRzLnBpeGVsUmF0aW87XHJcblx0XHRcdFx0ICBjb250ZXh0LnNldExpbmVEYXNoKFtkYXNoTGVuZ3RoLCBkYXNoTGVuZ3RoXSk7XHJcblx0XHRcdFx0fVxyXG4gICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShlYWNoU2VyaWVzLmNvbG9yKTtcclxuICAgICAgICBjb250ZXh0LnNldExpbmVXaWR0aChhcmVhT3B0aW9uLndpZHRoICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgICBpZiAocG9pbnRzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8ocG9pbnRzWzBdLngsIHBvaW50c1swXS55KTtcclxuICAgICAgICAgIGNvbnRleHQuYXJjKHBvaW50c1swXS54LCBwb2ludHNbMF0ueSwgMSwgMCwgMiAqIE1hdGguUEkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb250ZXh0Lm1vdmVUbyhwb2ludHNbMF0ueCwgcG9pbnRzWzBdLnkpO1xyXG5cdFx0XHRcdFx0bGV0IHN0YXJ0UG9pbnQ9MDtcclxuICAgICAgICAgIGlmIChhcmVhT3B0aW9uLnR5cGUgPT09ICdjdXJ2ZScpIHtcclxuICAgICAgICAgICAgZm9yKGxldCBqPTA7ajxwb2ludHMubGVuZ3RoO2orKyl7XHJcbiAgICAgICAgICAgIFx0bGV0IGl0ZW09cG9pbnRzW2pdO1xyXG4gICAgICAgICAgICBcdGlmKHN0YXJ0UG9pbnQ9PTAgJiYgaXRlbS54ID4gbGVmdFNwYWNlKXtcclxuICAgICAgICAgICAgXHRcdGNvbnRleHQubW92ZVRvKGl0ZW0ueCwgaXRlbS55KTtcclxuICAgICAgICAgICAgXHRcdHN0YXJ0UG9pbnQ9MTtcclxuICAgICAgICAgICAgXHR9XHJcbiAgICAgICAgICAgICAgaWYgKGogPiAwICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSAmJiBpdGVtLnggPCByaWdodFNwYWNlKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgY3RybFBvaW50ID0gY3JlYXRlQ3VydmVDb250cm9sUG9pbnRzKHBvaW50cywgaiAtIDEpO1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5iZXppZXJDdXJ2ZVRvKGN0cmxQb2ludC5jdHJBLngsIGN0cmxQb2ludC5jdHJBLnksIGN0cmxQb2ludC5jdHJCLngsIGN0cmxQb2ludC5jdHJCLnksaXRlbS54LGl0ZW0ueSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm9yKGxldCBqPTA7ajxwb2ludHMubGVuZ3RoO2orKyl7XHJcbiAgICAgICAgICAgIFx0bGV0IGl0ZW09cG9pbnRzW2pdO1xyXG4gICAgICAgICAgICBcdGlmKHN0YXJ0UG9pbnQ9PTAgJiYgaXRlbS54ID4gbGVmdFNwYWNlKXtcclxuICAgICAgICAgICAgXHRcdGNvbnRleHQubW92ZVRvKGl0ZW0ueCwgaXRlbS55KTtcclxuICAgICAgICAgICAgXHRcdHN0YXJ0UG9pbnQ9MTtcclxuICAgICAgICAgICAgXHR9XHJcbiAgICAgICAgICAgICAgaWYgKGogPiAwICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSAmJiBpdGVtLnggPCByaWdodFNwYWNlKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLngsIGl0ZW0ueSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8ocG9pbnRzWzBdLngsIHBvaW50c1swXS55KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuXHRcdFx0XHRjb250ZXh0LnNldExpbmVEYXNoKFtdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8v55S754K5XHJcbiAgICBpZiAob3B0cy5kYXRhUG9pbnRTaGFwZSAhPT0gZmFsc2UpIHtcclxuICAgICAgZHJhd1BvaW50U2hhcGUocG9pbnRzLCBlYWNoU2VyaWVzLmNvbG9yLCBlYWNoU2VyaWVzLnBvaW50U2hhcGUsIGNvbnRleHQsIG9wdHMpO1xyXG4gICAgfVxyXG5cclxuICB9KTtcclxuXHJcbiAgaWYgKG9wdHMuZGF0YUxhYmVsICE9PSBmYWxzZSAmJiBwcm9jZXNzID09PSAxKSB7XHJcbiAgICBzZXJpZXMuZm9yRWFjaChmdW5jdGlvbihlYWNoU2VyaWVzLCBzZXJpZXNJbmRleCkge1xyXG4gICAgICBsZXQgcmFuZ2VzLG1pblJhbmdlLG1heFJhbmdlO1xyXG4gICAgICByYW5nZXMgPSBbXS5jb25jYXQob3B0cy5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1tlYWNoU2VyaWVzLmluZGV4XSk7XHJcbiAgICAgIG1pblJhbmdlID0gcmFuZ2VzLnBvcCgpO1xyXG4gICAgICBtYXhSYW5nZSA9IHJhbmdlcy5zaGlmdCgpO1xyXG4gICAgICB2YXIgZGF0YSA9IGVhY2hTZXJpZXMuZGF0YTtcclxuICAgICAgdmFyIHBvaW50cyA9IGdldERhdGFQb2ludHMoZGF0YSwgbWluUmFuZ2UsIG1heFJhbmdlLCB4QXhpc1BvaW50cywgZWFjaFNwYWNpbmcsIG9wdHMsIGNvbmZpZywgcHJvY2Vzcyk7XHJcbiAgICAgIGRyYXdQb2ludFRleHQocG9pbnRzLCBlYWNoU2VyaWVzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb250ZXh0LnJlc3RvcmUoKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHhBeGlzUG9pbnRzOiB4QXhpc1BvaW50cyxcclxuICAgIGNhbFBvaW50czogY2FsUG9pbnRzLFxyXG4gICAgZWFjaFNwYWNpbmc6IGVhY2hTcGFjaW5nXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd0xpbmVEYXRhUG9pbnRzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IDE7XHJcbiAgdmFyIGxpbmVPcHRpb24gPSBhc3NpZ24oe30se1xyXG5cdFx0dHlwZTogJ3N0cmFpZ2h0JyxcclxuXHRcdHdpZHRoOiAyXHJcblx0fSxvcHRzLmV4dHJhLmxpbmUpO1xyXG5cdGxpbmVPcHRpb24ud2lkdGggKj1vcHRzLnBpeGVsUmF0aW87XHJcblx0XHJcbiAgbGV0IHhBeGlzRGF0YSA9IG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YSxcclxuICAgIHhBeGlzUG9pbnRzID0geEF4aXNEYXRhLnhBeGlzUG9pbnRzLFxyXG4gICAgZWFjaFNwYWNpbmcgPSB4QXhpc0RhdGEuZWFjaFNwYWNpbmc7XHJcbiAgdmFyIGNhbFBvaW50cyA9IFtdO1xyXG5cclxuICBjb250ZXh0LnNhdmUoKTtcclxuXHRsZXQgbGVmdFNwYWNlPTA7XHJcblx0bGV0IHJpZ2h0U3BhY2U9b3B0cy53aWR0aCtlYWNoU3BhY2luZztcclxuICBpZiAob3B0cy5fc2Nyb2xsRGlzdGFuY2VfICYmIG9wdHMuX3Njcm9sbERpc3RhbmNlXyAhPT0gMCAmJiBvcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgY29udGV4dC50cmFuc2xhdGUob3B0cy5fc2Nyb2xsRGlzdGFuY2VfLCAwKTtcclxuXHRcdGxlZnRTcGFjZT0tb3B0cy5fc2Nyb2xsRGlzdGFuY2VfLWVhY2hTcGFjaW5nK29wdHMuYXJlYVszXTtcclxuXHRcdHJpZ2h0U3BhY2U9bGVmdFNwYWNlKyhvcHRzLnhBeGlzLml0ZW1Db3VudCs0KSplYWNoU3BhY2luZztcclxuICB9XHJcblxyXG4gIHNlcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVhY2hTZXJpZXMsIHNlcmllc0luZGV4KSB7XHJcbiAgICBsZXQgcmFuZ2VzLG1pblJhbmdlLG1heFJhbmdlO1xyXG4gICAgcmFuZ2VzID0gW10uY29uY2F0KG9wdHMuY2hhcnREYXRhLnlBeGlzRGF0YS5yYW5nZXNbZWFjaFNlcmllcy5pbmRleF0pO1xyXG4gICAgbWluUmFuZ2UgPSByYW5nZXMucG9wKCk7XHJcbiAgICBtYXhSYW5nZSA9IHJhbmdlcy5zaGlmdCgpO1xyXG4gICAgdmFyIGRhdGEgPSBlYWNoU2VyaWVzLmRhdGE7XHJcbiAgICB2YXIgcG9pbnRzID0gZ2V0RGF0YVBvaW50cyhkYXRhLCBtaW5SYW5nZSwgbWF4UmFuZ2UsIHhBeGlzUG9pbnRzLCBlYWNoU3BhY2luZywgb3B0cywgY29uZmlnLCBwcm9jZXNzKTtcclxuICAgIGNhbFBvaW50cy5wdXNoKHBvaW50cyk7XHJcbiAgICB2YXIgc3BsaXRQb2ludExpc3QgPSBzcGxpdFBvaW50cyhwb2ludHMpO1xyXG5cdFx0XHJcblx0XHRpZiAoZWFjaFNlcmllcy5saW5lVHlwZSA9PSAnZGFzaCcpIHtcclxuXHRcdFx0bGV0IGRhc2hMZW5ndGggPSBlYWNoU2VyaWVzLmRhc2hMZW5ndGg/ZWFjaFNlcmllcy5kYXNoTGVuZ3RoOjg7XHJcblx0XHRcdGRhc2hMZW5ndGggKj0gb3B0cy5waXhlbFJhdGlvO1xyXG5cdFx0ICBjb250ZXh0LnNldExpbmVEYXNoKFtkYXNoTGVuZ3RoLCBkYXNoTGVuZ3RoXSk7XHJcblx0XHR9XHJcblx0XHRjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShlYWNoU2VyaWVzLmNvbG9yKTtcclxuXHRcdGNvbnRleHQuc2V0TGluZVdpZHRoKGxpbmVPcHRpb24ud2lkdGgpO1xyXG5cdFx0XHJcbiAgICBzcGxpdFBvaW50TGlzdC5mb3JFYWNoKGZ1bmN0aW9uKHBvaW50cywgaW5kZXgpIHtcclxuXHRcdFx0XHJcbiAgICAgIGlmIChwb2ludHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgY29udGV4dC5tb3ZlVG8ocG9pbnRzWzBdLngsIHBvaW50c1swXS55KTtcclxuICAgICAgICBjb250ZXh0LmFyYyhwb2ludHNbMF0ueCwgcG9pbnRzWzBdLnksIDEsIDAsIDIgKiBNYXRoLlBJKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb250ZXh0Lm1vdmVUbyhwb2ludHNbMF0ueCwgcG9pbnRzWzBdLnkpO1xyXG5cdFx0XHRcdGxldCBzdGFydFBvaW50PTA7XHJcbiAgICAgICAgaWYgKGxpbmVPcHRpb24udHlwZSA9PT0gJ2N1cnZlJykge1xyXG4gICAgICAgICAgZm9yKGxldCBqPTA7ajxwb2ludHMubGVuZ3RoO2orKyl7XHJcbiAgICAgICAgICBcdGxldCBpdGVtPXBvaW50c1tqXTtcclxuICAgICAgICAgIFx0aWYoc3RhcnRQb2ludD09MCAmJiBpdGVtLnggPiBsZWZ0U3BhY2Upe1xyXG4gICAgICAgICAgXHRcdGNvbnRleHQubW92ZVRvKGl0ZW0ueCwgaXRlbS55KTtcclxuICAgICAgICAgIFx0XHRzdGFydFBvaW50PTE7XHJcbiAgICAgICAgICBcdH1cclxuICAgICAgICAgICAgaWYgKGogPiAwICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSAmJiBpdGVtLnggPCByaWdodFNwYWNlKSB7XHJcbiAgICAgICAgICAgICAgdmFyIGN0cmxQb2ludCA9IGNyZWF0ZUN1cnZlQ29udHJvbFBvaW50cyhwb2ludHMsIGogLSAxKTtcclxuICAgICAgICAgICAgICBjb250ZXh0LmJlemllckN1cnZlVG8oY3RybFBvaW50LmN0ckEueCwgY3RybFBvaW50LmN0ckEueSwgY3RybFBvaW50LmN0ckIueCwgY3RybFBvaW50LmN0ckIueSxpdGVtLngsIGl0ZW0ueSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGZvcihsZXQgaj0wO2o8cG9pbnRzLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgXHRsZXQgaXRlbT1wb2ludHNbal07XHJcbiAgICAgICAgICBcdGlmKHN0YXJ0UG9pbnQ9PTAgJiYgaXRlbS54ID4gbGVmdFNwYWNlKXtcclxuICAgICAgICAgIFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtLngsIGl0ZW0ueSk7XHJcbiAgICAgICAgICBcdFx0c3RhcnRQb2ludD0xO1xyXG4gICAgICAgICAgXHR9XHJcbiAgICAgICAgICAgIGlmIChqID4gMCAmJiBpdGVtLnggPiBsZWZ0U3BhY2UgJiYgaXRlbS54IDwgcmlnaHRTcGFjZSkge1xyXG4gICAgICAgICAgICAgIGNvbnRleHQubGluZVRvKGl0ZW0ueCwgaXRlbS55KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGV4dC5tb3ZlVG8ocG9pbnRzWzBdLngsIHBvaW50c1swXS55KTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH0pO1xyXG5cdFx0XHJcblx0XHRjb250ZXh0LnN0cm9rZSgpO1xyXG5cdFx0Y29udGV4dC5zZXRMaW5lRGFzaChbXSk7XHJcblx0XHRcclxuICAgIGlmIChvcHRzLmRhdGFQb2ludFNoYXBlICE9PSBmYWxzZSkge1xyXG4gICAgICBkcmF3UG9pbnRTaGFwZShwb2ludHMsIGVhY2hTZXJpZXMuY29sb3IsIGVhY2hTZXJpZXMucG9pbnRTaGFwZSwgY29udGV4dCwgb3B0cyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIGlmIChvcHRzLmRhdGFMYWJlbCAhPT0gZmFsc2UgJiYgcHJvY2VzcyA9PT0gMSkge1xyXG4gICAgc2VyaWVzLmZvckVhY2goZnVuY3Rpb24oZWFjaFNlcmllcywgc2VyaWVzSW5kZXgpIHtcclxuICAgICAgbGV0IHJhbmdlcyxtaW5SYW5nZSxtYXhSYW5nZTtcclxuICAgICAgcmFuZ2VzID0gW10uY29uY2F0KG9wdHMuY2hhcnREYXRhLnlBeGlzRGF0YS5yYW5nZXNbZWFjaFNlcmllcy5pbmRleF0pO1xyXG4gICAgICBtaW5SYW5nZSA9IHJhbmdlcy5wb3AoKTtcclxuICAgICAgbWF4UmFuZ2UgPSByYW5nZXMuc2hpZnQoKTtcclxuICAgICAgdmFyIGRhdGEgPSBlYWNoU2VyaWVzLmRhdGE7XHJcbiAgICAgIHZhciBwb2ludHMgPSBnZXREYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcsIHByb2Nlc3MpO1xyXG4gICAgICBkcmF3UG9pbnRUZXh0KHBvaW50cywgZWFjaFNlcmllcywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dC5yZXN0b3JlKCk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB4QXhpc1BvaW50czogeEF4aXNQb2ludHMsXHJcbiAgICBjYWxQb2ludHM6IGNhbFBvaW50cyxcclxuICAgIGVhY2hTcGFjaW5nOiBlYWNoU3BhY2luZ1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdNaXhEYXRhUG9pbnRzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KSB7XHJcbiAgbGV0IHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IDE7XHJcbiAgXHJcbiAgbGV0IHhBeGlzRGF0YSA9IG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YSxcclxuICAgIHhBeGlzUG9pbnRzID0geEF4aXNEYXRhLnhBeGlzUG9pbnRzLFxyXG4gICAgZWFjaFNwYWNpbmcgPSB4QXhpc0RhdGEuZWFjaFNwYWNpbmc7XHJcblxyXG4gIGxldCBlbmRZID0gb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl07XHJcbiAgbGV0IGNhbFBvaW50cyA9IFtdO1xyXG5cclxuICB2YXIgY29sdW1uSW5kZXggPSAwO1xyXG4gIHZhciBjb2x1bW5MZW5ndGggPSAwO1xyXG4gIHNlcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVhY2hTZXJpZXMsIHNlcmllc0luZGV4KSB7XHJcbiAgICBpZiAoZWFjaFNlcmllcy50eXBlID09ICdjb2x1bW4nKSB7XHJcbiAgICAgIGNvbHVtbkxlbmd0aCArPSAxO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIGNvbnRleHQuc2F2ZSgpO1xyXG5cdGxldCBsZWZ0TnVtPS0yO1xyXG5cdGxldCByaWdodE51bT14QXhpc1BvaW50cy5sZW5ndGgrMjtcclxuXHRsZXQgbGVmdFNwYWNlPTA7XHJcblx0bGV0IHJpZ2h0U3BhY2U9b3B0cy53aWR0aCtlYWNoU3BhY2luZztcclxuICBpZiAob3B0cy5fc2Nyb2xsRGlzdGFuY2VfICYmIG9wdHMuX3Njcm9sbERpc3RhbmNlXyAhPT0gMCAmJiBvcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgY29udGV4dC50cmFuc2xhdGUob3B0cy5fc2Nyb2xsRGlzdGFuY2VfLCAwKTtcclxuXHRcdGxlZnROdW09TWF0aC5mbG9vcigtb3B0cy5fc2Nyb2xsRGlzdGFuY2VfL2VhY2hTcGFjaW5nKS0yO1xyXG5cdFx0cmlnaHROdW09bGVmdE51bStvcHRzLnhBeGlzLml0ZW1Db3VudCs0O1xyXG5cdFx0bGVmdFNwYWNlPS1vcHRzLl9zY3JvbGxEaXN0YW5jZV8tZWFjaFNwYWNpbmcrb3B0cy5hcmVhWzNdO1xyXG5cdFx0cmlnaHRTcGFjZT1sZWZ0U3BhY2UrKG9wdHMueEF4aXMuaXRlbUNvdW50KzQpKmVhY2hTcGFjaW5nO1xyXG4gIH1cclxuXHJcbiAgc2VyaWVzLmZvckVhY2goZnVuY3Rpb24oZWFjaFNlcmllcywgc2VyaWVzSW5kZXgpIHtcclxuICAgIGxldCByYW5nZXMsbWluUmFuZ2UsbWF4UmFuZ2U7XHJcbiAgICBcclxuXHRcdHJhbmdlcyA9IFtdLmNvbmNhdChvcHRzLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW2VhY2hTZXJpZXMuaW5kZXhdKTtcclxuXHRcdG1pblJhbmdlID0gcmFuZ2VzLnBvcCgpO1xyXG5cdFx0bWF4UmFuZ2UgPSByYW5nZXMuc2hpZnQoKTtcclxuXHJcbiAgICB2YXIgZGF0YSA9IGVhY2hTZXJpZXMuZGF0YTtcclxuICAgIHZhciBwb2ludHMgPSBnZXREYXRhUG9pbnRzKGRhdGEsIG1pblJhbmdlLCBtYXhSYW5nZSwgeEF4aXNQb2ludHMsIGVhY2hTcGFjaW5nLCBvcHRzLCBjb25maWcsIHByb2Nlc3MpO1xyXG4gICAgY2FsUG9pbnRzLnB1c2gocG9pbnRzKTtcclxuXHJcbiAgICAvLyDnu5jliLbmn7HnirbmlbDmja7lm75cclxuICAgIGlmIChlYWNoU2VyaWVzLnR5cGUgPT0gJ2NvbHVtbicpIHtcclxuICAgICAgcG9pbnRzID0gZml4Q29sdW1lRGF0YShwb2ludHMsIGVhY2hTcGFjaW5nLCBjb2x1bW5MZW5ndGgsIGNvbHVtbkluZGV4LCBjb25maWcsIG9wdHMpO1xyXG4gICAgICBmb3IobGV0IGk9MDtpPHBvaW50cy5sZW5ndGg7aSsrKXtcclxuICAgICAgXHRsZXQgaXRlbT1wb2ludHNbaV07XHJcbiAgICAgICAgaWYgKGl0ZW0gIT09IG51bGwgJiYgaT5sZWZ0TnVtICYmIGk8cmlnaHROdW0pIHtcclxuICAgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGl0ZW0uY29sb3IgfHwgZWFjaFNlcmllcy5jb2xvcik7XHJcbiAgICAgICAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxKVxyXG4gICAgICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaXRlbS5jb2xvciB8fCBlYWNoU2VyaWVzLmNvbG9yKTtcclxuICAgICAgICAgIHZhciBzdGFydFggPSBpdGVtLnggLSBpdGVtLndpZHRoIC8gMjtcclxuICAgICAgICAgIHZhciBoZWlnaHQgPSBvcHRzLmhlaWdodCAtIGl0ZW0ueSAtIG9wdHMuYXJlYVsyXTtcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgaXRlbS55KTtcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgaXRlbS55KTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHN0YXJ0WCtpdGVtLndpZHRoLTIsaXRlbS55KTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHN0YXJ0WCtpdGVtLndpZHRoLTIsb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl0pO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYLG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzJdKTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHN0YXJ0WCxpdGVtLnkpO1xyXG4gICAgICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY29sdW1uSW5kZXggKz0gMTtcclxuICAgIH1cclxuXHJcbiAgICAvL+e7mOWItuWMuuWfn+WbvuaVsOaNrlxyXG5cclxuICAgIGlmIChlYWNoU2VyaWVzLnR5cGUgPT0gJ2FyZWEnKSB7XHJcbiAgICAgIGxldCBzcGxpdFBvaW50TGlzdCA9IHNwbGl0UG9pbnRzKHBvaW50cyk7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3BsaXRQb2ludExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgcG9pbnRzID0gc3BsaXRQb2ludExpc3RbaV07XHJcbiAgICAgICAgLy8g57uY5Yi25Yy65Z+f5pWw5o2uXHJcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGVhY2hTZXJpZXMuY29sb3IpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGhleFRvUmdiKGVhY2hTZXJpZXMuY29sb3IsIDAuMikpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDIgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICAgIGlmIChwb2ludHMubGVuZ3RoID4gMSkge1xyXG4gICAgICAgICAgdmFyIGZpcnN0UG9pbnQgPSBwb2ludHNbMF07XHJcbiAgICAgICAgICBsZXQgbGFzdFBvaW50ID0gcG9pbnRzW3BvaW50cy5sZW5ndGggLSAxXTtcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKGZpcnN0UG9pbnQueCwgZmlyc3RQb2ludC55KTtcclxuXHRcdFx0XHRcdGxldCBzdGFydFBvaW50PTA7XHJcbiAgICAgICAgICBpZiAoZWFjaFNlcmllcy5zdHlsZSA9PT0gJ2N1cnZlJykge1xyXG4gICAgICAgICAgICBmb3IobGV0IGo9MDtqPHBvaW50cy5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgXHRsZXQgaXRlbT1wb2ludHNbal07XHJcbiAgICAgICAgICAgIFx0aWYoc3RhcnRQb2ludD09MCAmJiBpdGVtLnggPiBsZWZ0U3BhY2Upe1xyXG4gICAgICAgICAgICBcdFx0Y29udGV4dC5tb3ZlVG8oaXRlbS54LCBpdGVtLnkpO1xyXG4gICAgICAgICAgICBcdFx0c3RhcnRQb2ludD0xO1xyXG4gICAgICAgICAgICBcdH1cclxuICAgICAgICAgICAgICBpZiAoaiA+IDAgJiYgaXRlbS54ID4gbGVmdFNwYWNlICYmIGl0ZW0ueCA8IHJpZ2h0U3BhY2UpIHtcclxuICAgICAgICAgICAgICAgIHZhciBjdHJsUG9pbnQgPSBjcmVhdGVDdXJ2ZUNvbnRyb2xQb2ludHMocG9pbnRzLCBqIC0gMSk7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0LmJlemllckN1cnZlVG8oY3RybFBvaW50LmN0ckEueCwgY3RybFBvaW50LmN0ckEueSwgY3RybFBvaW50LmN0ckIueCwgY3RybFBvaW50LmN0ckIueSwgaXRlbS54LCBpdGVtLnkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaj0wO2o8cG9pbnRzLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICBcdGxldCBpdGVtPXBvaW50c1tqXTtcclxuICAgICAgICAgICAgXHRpZihzdGFydFBvaW50PT0wICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSl7XHJcbiAgICAgICAgICAgIFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtLngsIGl0ZW0ueSk7XHJcbiAgICAgICAgICAgIFx0XHRzdGFydFBvaW50PTE7XHJcbiAgICAgICAgICAgIFx0fVxyXG4gICAgICAgICAgICAgIGlmIChqID4gMCAmJiBpdGVtLnggPiBsZWZ0U3BhY2UgJiYgaXRlbS54IDwgcmlnaHRTcGFjZSkge1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54LCBpdGVtLnkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKGxhc3RQb2ludC54LCBlbmRZKTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKGZpcnN0UG9pbnQueCwgZW5kWSk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhmaXJzdFBvaW50LngsIGZpcnN0UG9pbnQueSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCBpdGVtID0gcG9pbnRzWzBdO1xyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8oaXRlbS54IC0gZWFjaFNwYWNpbmcgLyAyLCBpdGVtLnkpO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54ICsgZWFjaFNwYWNpbmcgLyAyLCBpdGVtLnkpO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54ICsgZWFjaFNwYWNpbmcgLyAyLCBlbmRZKTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKGl0ZW0ueCAtIGVhY2hTcGFjaW5nIC8gMiwgZW5kWSk7XHJcbiAgICAgICAgICBjb250ZXh0Lm1vdmVUbyhpdGVtLnggLSBlYWNoU3BhY2luZyAvIDIsIGl0ZW0ueSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5maWxsKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyDnu5jliLbmipjnur/mlbDmja7lm75cclxuICAgIGlmIChlYWNoU2VyaWVzLnR5cGUgPT0gJ2xpbmUnKSB7XHJcbiAgICAgIHZhciBzcGxpdFBvaW50TGlzdCA9IHNwbGl0UG9pbnRzKHBvaW50cyk7XHJcbiAgICAgIHNwbGl0UG9pbnRMaXN0LmZvckVhY2goZnVuY3Rpb24ocG9pbnRzLCBpbmRleCkge1xyXG5cdFx0XHRcdGlmIChlYWNoU2VyaWVzLmxpbmVUeXBlID09ICdkYXNoJykge1xyXG5cdFx0XHRcdFx0bGV0IGRhc2hMZW5ndGggPSBlYWNoU2VyaWVzLmRhc2hMZW5ndGg/ZWFjaFNlcmllcy5kYXNoTGVuZ3RoOjg7XHJcblx0XHRcdFx0XHRkYXNoTGVuZ3RoICo9IG9wdHMucGl4ZWxSYXRpbztcclxuXHRcdFx0XHQgIGNvbnRleHQuc2V0TGluZURhc2goW2Rhc2hMZW5ndGgsIGRhc2hMZW5ndGhdKTtcclxuXHRcdFx0XHR9XHJcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGVhY2hTZXJpZXMuY29sb3IpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDIgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICAgIGlmIChwb2ludHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgICAgICBjb250ZXh0Lm1vdmVUbyhwb2ludHNbMF0ueCwgcG9pbnRzWzBdLnkpO1xyXG4gICAgICAgICAgY29udGV4dC5hcmMocG9pbnRzWzBdLngsIHBvaW50c1swXS55LCAxLCAwLCAyICogTWF0aC5QSSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKHBvaW50c1swXS54LCBwb2ludHNbMF0ueSk7XHJcblx0XHRcdFx0XHRsZXQgc3RhcnRQb2ludD0wO1xyXG4gICAgICAgICAgaWYgKGVhY2hTZXJpZXMuc3R5bGUgPT0gJ2N1cnZlJykge1xyXG4gICAgICAgICAgICBmb3IobGV0IGo9MDtqPHBvaW50cy5sZW5ndGg7aisrKXtcclxuICAgICAgICAgICAgXHRsZXQgaXRlbT1wb2ludHNbal07XHJcbiAgICAgICAgICAgIFx0aWYoc3RhcnRQb2ludD09MCAmJiBpdGVtLnggPiBsZWZ0U3BhY2Upe1xyXG4gICAgICAgICAgICBcdFx0Y29udGV4dC5tb3ZlVG8oaXRlbS54LCBpdGVtLnkpO1xyXG4gICAgICAgICAgICBcdFx0c3RhcnRQb2ludD0xO1xyXG4gICAgICAgICAgICBcdH1cclxuICAgICAgICAgICAgICBpZiAoaiA+IDAgJiYgaXRlbS54ID4gbGVmdFNwYWNlICYmIGl0ZW0ueCA8IHJpZ2h0U3BhY2UpIHtcclxuICAgICAgICAgICAgICAgIHZhciBjdHJsUG9pbnQgPSBjcmVhdGVDdXJ2ZUNvbnRyb2xQb2ludHMocG9pbnRzLCBqIC0gMSk7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0LmJlemllckN1cnZlVG8oY3RybFBvaW50LmN0ckEueCwgY3RybFBvaW50LmN0ckEueSwgY3RybFBvaW50LmN0ckIueCwgY3RybFBvaW50LmN0ckIueSxpdGVtLngsaXRlbS55KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvcihsZXQgaj0wO2o8cG9pbnRzLmxlbmd0aDtqKyspe1xyXG4gICAgICAgICAgICBcdGxldCBpdGVtPXBvaW50c1tqXTtcclxuICAgICAgICAgICAgXHRpZihzdGFydFBvaW50PT0wICYmIGl0ZW0ueCA+IGxlZnRTcGFjZSl7XHJcbiAgICAgICAgICAgIFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtLngsIGl0ZW0ueSk7XHJcbiAgICAgICAgICAgIFx0XHRzdGFydFBvaW50PTE7XHJcbiAgICAgICAgICAgIFx0fVxyXG4gICAgICAgICAgICAgIGlmIChqID4gMCAmJiBpdGVtLnggPiBsZWZ0U3BhY2UgJiYgaXRlbS54IDwgcmlnaHRTcGFjZSkge1xyXG4gICAgICAgICAgICAgICAgY29udGV4dC5saW5lVG8oaXRlbS54LCBpdGVtLnkpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8ocG9pbnRzWzBdLngsIHBvaW50c1swXS55KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuXHRcdFx0XHRjb250ZXh0LnNldExpbmVEYXNoKFtdKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8g57uY5Yi254K55pWw5o2u5Zu+XHJcbiAgICBpZiAoZWFjaFNlcmllcy50eXBlID09ICdwb2ludCcpIHtcclxuXHRcdFx0ZWFjaFNlcmllcy5hZGRQb2ludCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVhY2hTZXJpZXMuYWRkUG9pbnQgPT0gdHJ1ZSAmJiBlYWNoU2VyaWVzLnR5cGUgIT09ICdjb2x1bW4nICkge1xyXG4gICAgICBkcmF3UG9pbnRTaGFwZShwb2ludHMsIGVhY2hTZXJpZXMuY29sb3IsIGVhY2hTZXJpZXMucG9pbnRTaGFwZSwgY29udGV4dCwgb3B0cyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgaWYgKG9wdHMuZGF0YUxhYmVsICE9PSBmYWxzZSAmJiBwcm9jZXNzID09PSAxKSB7XHJcbiAgICB2YXIgY29sdW1uSW5kZXggPSAwO1xyXG4gICAgc2VyaWVzLmZvckVhY2goZnVuY3Rpb24oZWFjaFNlcmllcywgc2VyaWVzSW5kZXgpIHtcclxuICAgICAgbGV0IHJhbmdlcyxtaW5SYW5nZSxtYXhSYW5nZTtcclxuICAgICAgXHJcblx0XHRcdHJhbmdlcyA9IFtdLmNvbmNhdChvcHRzLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW2VhY2hTZXJpZXMuaW5kZXhdKTtcclxuXHRcdFx0bWluUmFuZ2UgPSByYW5nZXMucG9wKCk7XHJcblx0XHRcdG1heFJhbmdlID0gcmFuZ2VzLnNoaWZ0KCk7XHJcblx0XHRcdFx0XHJcbiAgICAgIHZhciBkYXRhID0gZWFjaFNlcmllcy5kYXRhO1xyXG4gICAgICB2YXIgcG9pbnRzID0gZ2V0RGF0YVBvaW50cyhkYXRhLCBtaW5SYW5nZSwgbWF4UmFuZ2UsIHhBeGlzUG9pbnRzLCBlYWNoU3BhY2luZywgb3B0cywgY29uZmlnLCBwcm9jZXNzKTtcclxuICAgICAgaWYgKGVhY2hTZXJpZXMudHlwZSAhPT0gJ2NvbHVtbicpIHtcclxuICAgICAgICBkcmF3UG9pbnRUZXh0KHBvaW50cywgZWFjaFNlcmllcywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwb2ludHMgPSBmaXhDb2x1bWVEYXRhKHBvaW50cywgZWFjaFNwYWNpbmcsIGNvbHVtbkxlbmd0aCwgY29sdW1uSW5kZXgsIGNvbmZpZywgb3B0cyk7XHJcbiAgICAgICAgZHJhd1BvaW50VGV4dChwb2ludHMsIGVhY2hTZXJpZXMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgY29sdW1uSW5kZXggKz0gMTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dC5yZXN0b3JlKCk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB4QXhpc1BvaW50czogeEF4aXNQb2ludHMsXHJcbiAgICBjYWxQb2ludHM6IGNhbFBvaW50cyxcclxuICAgIGVhY2hTcGFjaW5nOiBlYWNoU3BhY2luZyxcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdUb29sVGlwQnJpZGdlKG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2VzcywgZWFjaFNwYWNpbmcsIHhBeGlzUG9pbnRzKSB7XHJcbiAgdmFyIHRvb2xUaXBPcHRpb24gPSBvcHRzLmV4dHJhLnRvb2x0aXAgfHwge307XHJcbiAgaWYgKHRvb2xUaXBPcHRpb24uaG9yaXplbnRhbExpbmUgJiYgb3B0cy50b29sdGlwICYmIHByb2Nlc3MgPT09IDEgJiYgKG9wdHMudHlwZSA9PSAnbGluZScgfHwgb3B0cy50eXBlID09ICdhcmVhJyB8fCBvcHRzLnR5cGUgPT0gJ2NvbHVtbicgfHwgb3B0cy50eXBlID09ICdjYW5kbGUnIHx8IG9wdHMudHlwZSA9PSAnbWl4JykpIHtcclxuICAgIGRyYXdUb29sVGlwSG9yaXplbnRhbExpbmUob3B0cywgY29uZmlnLCBjb250ZXh0LCBlYWNoU3BhY2luZywgeEF4aXNQb2ludHMpXHJcbiAgfVxyXG4gIGNvbnRleHQuc2F2ZSgpO1xyXG4gIGlmIChvcHRzLl9zY3JvbGxEaXN0YW5jZV8gJiYgb3B0cy5fc2Nyb2xsRGlzdGFuY2VfICE9PSAwICYmIG9wdHMuZW5hYmxlU2Nyb2xsID09PSB0cnVlKSB7XHJcbiAgICBjb250ZXh0LnRyYW5zbGF0ZShvcHRzLl9zY3JvbGxEaXN0YW5jZV8sIDApO1xyXG4gIH1cclxuICBpZiAob3B0cy50b29sdGlwICYmIG9wdHMudG9vbHRpcC50ZXh0TGlzdCAmJiBvcHRzLnRvb2x0aXAudGV4dExpc3QubGVuZ3RoICYmIHByb2Nlc3MgPT09IDEpIHtcclxuICAgIGRyYXdUb29sVGlwKG9wdHMudG9vbHRpcC50ZXh0TGlzdCwgb3B0cy50b29sdGlwLm9mZnNldCwgb3B0cywgY29uZmlnLCBjb250ZXh0LCBlYWNoU3BhY2luZywgeEF4aXNQb2ludHMpO1xyXG4gIH1cclxuICBjb250ZXh0LnJlc3RvcmUoKTtcclxuXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdYQXhpcyhjYXRlZ29yaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuXHJcbiAgbGV0IHhBeGlzRGF0YSA9IG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YSxcclxuICAgIHhBeGlzUG9pbnRzID0geEF4aXNEYXRhLnhBeGlzUG9pbnRzLFxyXG4gICAgc3RhcnRYID0geEF4aXNEYXRhLnN0YXJ0WCxcclxuICAgIGVuZFggPSB4QXhpc0RhdGEuZW5kWCxcclxuICAgIGVhY2hTcGFjaW5nID0geEF4aXNEYXRhLmVhY2hTcGFjaW5nO1xyXG4gIHZhciBib3VuZGFyeUdhcD0nY2VudGVyJztcclxuICBpZiAob3B0cy50eXBlID09ICdsaW5lJ3x8b3B0cy50eXBlID09ICdhcmVhJyl7XHJcbiAgICBib3VuZGFyeUdhcD1vcHRzLnhBeGlzLmJvdW5kYXJ5R2FwO1xyXG4gIH1cclxuICB2YXIgc3RhcnRZID0gb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl07XHJcbiAgdmFyIGVuZFkgPSBvcHRzLmFyZWFbMF07XHJcblxyXG4gIC8v57uY5Yi25rua5Yqo5p2hXHJcbiAgaWYgKG9wdHMuZW5hYmxlU2Nyb2xsICYmIG9wdHMueEF4aXMuc2Nyb2xsU2hvdykge1xyXG4gICAgdmFyIHNjcm9sbFkgPSBvcHRzLmhlaWdodCAtIG9wdHMuYXJlYVsyXSArIGNvbmZpZy54QXhpc0hlaWdodDtcclxuICAgIHZhciBzY3JvbGxTY3JlZW5XaWR0aCA9IGVuZFggLSBzdGFydFg7XHJcbiAgICB2YXIgc2Nyb2xsVG90YWxXaWR0aCA9IGVhY2hTcGFjaW5nICogKHhBeGlzUG9pbnRzLmxlbmd0aCAtIDEpO1xyXG4gICAgdmFyIHNjcm9sbFdpZHRoID0gc2Nyb2xsU2NyZWVuV2lkdGggKiBzY3JvbGxTY3JlZW5XaWR0aCAvIHNjcm9sbFRvdGFsV2lkdGg7XHJcbiAgICB2YXIgc2Nyb2xsTGVmdCA9IDA7XHJcbiAgICBpZiAob3B0cy5fc2Nyb2xsRGlzdGFuY2VfKSB7XHJcbiAgICAgIHNjcm9sbExlZnQgPSAtb3B0cy5fc2Nyb2xsRGlzdGFuY2VfICogKHNjcm9sbFNjcmVlbldpZHRoKSAvIHNjcm9sbFRvdGFsV2lkdGg7XHJcbiAgICB9XHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lQ2FwKCdyb3VuZCcpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lV2lkdGgoNiAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKG9wdHMueEF4aXMuc2Nyb2xsQmFja2dyb3VuZENvbG9yIHx8IFwiI0VGRUJFRlwiKTtcclxuICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgc2Nyb2xsWSk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhlbmRYLCBzY3JvbGxZKTtcclxuICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgIGNvbnRleHQuc2V0TGluZUNhcCgncm91bmQnKTtcclxuICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDYgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShvcHRzLnhBeGlzLnNjcm9sbENvbG9yIHx8IFwiI0E2QTZBNlwiKTtcclxuICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCArIHNjcm9sbExlZnQsIHNjcm9sbFkpO1xyXG4gICAgY29udGV4dC5saW5lVG8oc3RhcnRYICsgc2Nyb2xsTGVmdCArIHNjcm9sbFdpZHRoLCBzY3JvbGxZKTtcclxuICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lQ2FwKCdidXR0Jyk7XHJcbiAgfVxyXG5cclxuICBjb250ZXh0LnNhdmUoKTtcclxuXHJcbiAgaWYgKG9wdHMuX3Njcm9sbERpc3RhbmNlXyAmJiBvcHRzLl9zY3JvbGxEaXN0YW5jZV8gIT09IDApIHtcclxuICAgIGNvbnRleHQudHJhbnNsYXRlKG9wdHMuX3Njcm9sbERpc3RhbmNlXywgMCk7XHJcbiAgfVxyXG5cdFxyXG5cdC8v57uY5Yi2WOi9tOWIu+W6pue6v1xyXG5cdGlmIChvcHRzLnhBeGlzLmNhbGlicmF0aW9uID09PSB0cnVlKSB7XHJcblx0XHRjb250ZXh0LnNldFN0cm9rZVN0eWxlKG9wdHMueEF4aXMuZ3JpZENvbG9yIHx8IFwiI2NjY2NjY1wiKTtcclxuXHRcdGNvbnRleHQuc2V0TGluZUNhcCgnYnV0dCcpO1xyXG5cdFx0Y29udGV4dC5zZXRMaW5lV2lkdGgoMSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcblx0ICB4QXhpc1BvaW50cy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcblx0ICAgIGlmIChpbmRleCA+IDApIHtcclxuXHQgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdCAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0gLSBlYWNoU3BhY2luZyAvIDIsIHN0YXJ0WSk7XHJcblx0ICAgICAgY29udGV4dC5saW5lVG8oaXRlbSAtIGVhY2hTcGFjaW5nIC8gMiwgc3RhcnRZICsgMyAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcblx0ICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuXHQgICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG5cdCAgICB9XHJcblx0ICB9KTtcclxuXHR9XHJcblx0Ly/nu5jliLZY6L20572R5qC8XHJcbiAgaWYgKG9wdHMueEF4aXMuZGlzYWJsZUdyaWQgIT09IHRydWUpIHtcclxuICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUob3B0cy54QXhpcy5ncmlkQ29sb3IgfHwgXCIjY2NjY2NjXCIpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lQ2FwKCdidXR0Jyk7XHJcbiAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgIGlmIChvcHRzLnhBeGlzLmdyaWRUeXBlID09ICdkYXNoJykge1xyXG4gICAgICBjb250ZXh0LnNldExpbmVEYXNoKFtvcHRzLnhBeGlzLmRhc2hMZW5ndGgsIG9wdHMueEF4aXMuZGFzaExlbmd0aF0pO1xyXG4gICAgfVxyXG5cdFx0b3B0cy54QXhpcy5ncmlkRXZhbCA9IG9wdHMueEF4aXMuZ3JpZEV2YWwgfHwgMTtcclxuXHRcdHhBeGlzUG9pbnRzLmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuXHRcdFx0aWYgKGluZGV4ICUgb3B0cy54QXhpcy5ncmlkRXZhbCA9PSAwKSB7XHJcblx0XHRcdFx0Y29udGV4dC5iZWdpblBhdGgoKTtcclxuXHRcdFx0XHRjb250ZXh0Lm1vdmVUbyhpdGVtLCBzdGFydFkpO1xyXG5cdFx0XHRcdGNvbnRleHQubGluZVRvKGl0ZW0sIGVuZFkpO1xyXG5cdFx0XHRcdGNvbnRleHQuc3Ryb2tlKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG4gICAgY29udGV4dC5zZXRMaW5lRGFzaChbXSk7XHJcbiAgfVxyXG4gIFxyXG5cclxuICAvL+e7mOWItljovbTmlofmoYhcclxuICBpZiAob3B0cy54QXhpcy5kaXNhYmxlZCAhPT0gdHJ1ZSkge1xyXG4gICAgLy8g5a+5WOi9tOWIl+ihqOWBmuaKveeogOWkhOeQhlxyXG4gICAgLy/pu5jorqTlhajpg6jmmL7npLpY6L205qCH562+XHJcbiAgICBsZXQgbWF4WEF4aXNMaXN0TGVuZ3RoID0gY2F0ZWdvcmllcy5sZW5ndGg7XHJcbiAgICAvL+WmguaenOiuvue9ruS6hljovbTljZXlsY/mlbDph49cclxuICAgIGlmIChvcHRzLnhBeGlzLmxhYmVsQ291bnQpIHtcclxuICAgICAgLy/lpoLmnpzorr7nva5Y6L205a+G5bqmXHJcbiAgICAgIGlmIChvcHRzLnhBeGlzLml0ZW1Db3VudCkge1xyXG4gICAgICAgIG1heFhBeGlzTGlzdExlbmd0aCA9IE1hdGguY2VpbChjYXRlZ29yaWVzLmxlbmd0aCAvIG9wdHMueEF4aXMuaXRlbUNvdW50ICogb3B0cy54QXhpcy5sYWJlbENvdW50KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBtYXhYQXhpc0xpc3RMZW5ndGggPSBvcHRzLnhBeGlzLmxhYmVsQ291bnQ7XHJcbiAgICAgIH1cclxuICAgICAgbWF4WEF4aXNMaXN0TGVuZ3RoIC09IDE7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJhdGlvID0gTWF0aC5jZWlsKGNhdGVnb3JpZXMubGVuZ3RoIC8gbWF4WEF4aXNMaXN0TGVuZ3RoKTtcclxuXHJcbiAgICBsZXQgbmV3Q2F0ZWdvcmllcyA9IFtdO1xyXG4gICAgbGV0IGNnTGVuZ3RoID0gY2F0ZWdvcmllcy5sZW5ndGg7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNnTGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgJSByYXRpbyAhPT0gMCkge1xyXG4gICAgICAgIG5ld0NhdGVnb3JpZXMucHVzaChcIlwiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdDYXRlZ29yaWVzLnB1c2goY2F0ZWdvcmllc1tpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG5ld0NhdGVnb3JpZXNbY2dMZW5ndGggLSAxXSA9IGNhdGVnb3JpZXNbY2dMZW5ndGggLSAxXTtcclxuXHJcbiAgICB2YXIgeEF4aXNGb250U2l6ZSA9IG9wdHMueEF4aXMuZm9udFNpemUgfHwgY29uZmlnLmZvbnRTaXplO1xyXG4gICAgaWYgKGNvbmZpZy5feEF4aXNUZXh0QW5nbGVfID09PSAwKSB7XHJcbiAgICAgIG5ld0NhdGVnb3JpZXMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkge1xyXG4gICAgICAgIHZhciBvZmZzZXQgPSAtIG1lYXN1cmVUZXh0KFN0cmluZyhpdGVtKSwgeEF4aXNGb250U2l6ZSkgLyAyO1xyXG4gICAgICAgIGlmKGJvdW5kYXJ5R2FwID09ICdjZW50ZXInKXtcclxuICAgICAgICAgIG9mZnNldCs9ZWFjaFNwYWNpbmcgLyAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2YXIgc2Nyb2xsSGVpZ2h0PTA7XHJcbiAgICAgICAgaWYob3B0cy54QXhpcy5zY3JvbGxTaG93KXtcclxuICAgICAgICAgIHNjcm9sbEhlaWdodD02Km9wdHMucGl4ZWxSYXRpbztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICBjb250ZXh0LnNldEZvbnRTaXplKHhBeGlzRm9udFNpemUpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKG9wdHMueEF4aXMuZm9udENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICAgICAgY29udGV4dC5maWxsVGV4dChTdHJpbmcoaXRlbSksIHhBeGlzUG9pbnRzW2luZGV4XSArIG9mZnNldCwgc3RhcnRZICsgeEF4aXNGb250U2l6ZSArIChjb25maWcueEF4aXNIZWlnaHQgLSBzY3JvbGxIZWlnaHQgLSB4QXhpc0ZvbnRTaXplKSAvIDIpO1xyXG4gICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3Q2F0ZWdvcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcbiAgICAgICAgY29udGV4dC5zYXZlKCk7XHJcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICBjb250ZXh0LnNldEZvbnRTaXplKHhBeGlzRm9udFNpemUpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKG9wdHMueEF4aXMuZm9udENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICAgICAgdmFyIHRleHRXaWR0aCA9IG1lYXN1cmVUZXh0KFN0cmluZyhpdGVtKSx4QXhpc0ZvbnRTaXplKTtcclxuICAgICAgICB2YXIgb2Zmc2V0ID0gLSB0ZXh0V2lkdGg7XHJcbiAgICAgICAgaWYoYm91bmRhcnlHYXAgPT0gJ2NlbnRlcicpe1xyXG4gICAgICAgICAgb2Zmc2V0Kz1lYWNoU3BhY2luZyAvIDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhciBfY2FsUm90YXRlVHJhbnNsYXRlID0gY2FsUm90YXRlVHJhbnNsYXRlKHhBeGlzUG9pbnRzW2luZGV4XSArIGVhY2hTcGFjaW5nIC8gMiwgc3RhcnRZICsgeEF4aXNGb250U2l6ZSAvIDIgKyA1LCBvcHRzLmhlaWdodCksXHJcbiAgICAgICAgICB0cmFuc1ggPSBfY2FsUm90YXRlVHJhbnNsYXRlLnRyYW5zWCxcclxuICAgICAgICAgIHRyYW5zWSA9IF9jYWxSb3RhdGVUcmFuc2xhdGUudHJhbnNZO1xyXG5cclxuICAgICAgICBjb250ZXh0LnJvdGF0ZSgtMSAqIGNvbmZpZy5feEF4aXNUZXh0QW5nbGVfKTtcclxuICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZSh0cmFuc1gsIHRyYW5zWSk7XHJcbiAgICAgICAgY29udGV4dC5maWxsVGV4dChTdHJpbmcoaXRlbSksIHhBeGlzUG9pbnRzW2luZGV4XSArIG9mZnNldCwgc3RhcnRZICsgeEF4aXNGb250U2l6ZSArIDUpO1xyXG4gICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgICBjb250ZXh0LnJlc3RvcmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnRleHQucmVzdG9yZSgpO1xyXG5cdFxyXG5cdC8v57uY5Yi2WOi9tOi9tOe6v1xyXG4gIGlmKG9wdHMueEF4aXMuYXhpc0xpbmUpe1xyXG4gICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUob3B0cy54QXhpcy5heGlzTGluZUNvbG9yKTtcclxuICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLG9wdHMuaGVpZ2h0LW9wdHMuYXJlYVsyXSk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhlbmRYLG9wdHMuaGVpZ2h0LW9wdHMuYXJlYVsyXSk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd1lBeGlzR3JpZChjYXRlZ29yaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICBpZiAob3B0cy55QXhpcy5kaXNhYmxlR3JpZCA9PT0gdHJ1ZSkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBsZXQgc3BhY2luZ1ZhbGlkID0gb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMF0gLSBvcHRzLmFyZWFbMl07XHJcbiAgbGV0IGVhY2hTcGFjaW5nID0gc3BhY2luZ1ZhbGlkIC8gb3B0cy55QXhpcy5zcGxpdE51bWJlcjtcclxuICBsZXQgc3RhcnRYID0gb3B0cy5hcmVhWzNdO1xyXG4gIGxldCB4QXhpc1BvaW50cyA9IG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YS54QXhpc1BvaW50cyxcclxuICAgIHhBeGlzZWFjaFNwYWNpbmcgPSBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEuZWFjaFNwYWNpbmc7XHJcbiAgbGV0IFRvdGFsV2lkdGggPSB4QXhpc2VhY2hTcGFjaW5nICogKHhBeGlzUG9pbnRzLmxlbmd0aCAtIDEpO1xyXG4gIGxldCBlbmRYID0gc3RhcnRYICsgVG90YWxXaWR0aDtcclxuXHJcbiAgbGV0IHBvaW50cyA9IFtdO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgb3B0cy55QXhpcy5zcGxpdE51bWJlciArIDE7IGkrKykge1xyXG4gICAgcG9pbnRzLnB1c2gob3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl0gLSBlYWNoU3BhY2luZyAqIGkpO1xyXG4gIH1cclxuXHJcbiAgY29udGV4dC5zYXZlKCk7XHJcbiAgaWYgKG9wdHMuX3Njcm9sbERpc3RhbmNlXyAmJiBvcHRzLl9zY3JvbGxEaXN0YW5jZV8gIT09IDApIHtcclxuICAgIGNvbnRleHQudHJhbnNsYXRlKG9wdHMuX3Njcm9sbERpc3RhbmNlXywgMCk7XHJcbiAgfVxyXG5cclxuICBpZiAob3B0cy55QXhpcy5ncmlkVHlwZSA9PSAnZGFzaCcpIHtcclxuICAgIGNvbnRleHQuc2V0TGluZURhc2goW29wdHMueUF4aXMuZGFzaExlbmd0aCwgb3B0cy55QXhpcy5kYXNoTGVuZ3RoXSk7XHJcbiAgfVxyXG4gIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUob3B0cy55QXhpcy5ncmlkQ29sb3IpO1xyXG4gIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gIHBvaW50cy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLCBpdGVtKTtcclxuICAgIGNvbnRleHQubGluZVRvKGVuZFgsIGl0ZW0pO1xyXG4gICAgY29udGV4dC5zdHJva2UoKTtcclxuICB9KTtcclxuICBjb250ZXh0LnNldExpbmVEYXNoKFtdKTtcclxuXHJcbiAgY29udGV4dC5yZXN0b3JlKCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdZQXhpcyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIGlmIChvcHRzLnlBeGlzLmRpc2FibGVkID09PSB0cnVlKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIHZhciBzcGFjaW5nVmFsaWQgPSBvcHRzLmhlaWdodCAtIG9wdHMuYXJlYVswXSAtIG9wdHMuYXJlYVsyXTtcclxuICB2YXIgZWFjaFNwYWNpbmcgPSBzcGFjaW5nVmFsaWQgLyBvcHRzLnlBeGlzLnNwbGl0TnVtYmVyO1xyXG4gIHZhciBzdGFydFggPSBvcHRzLmFyZWFbM107XHJcbiAgdmFyIGVuZFggPSBvcHRzLndpZHRoIC0gb3B0cy5hcmVhWzFdO1xyXG4gIHZhciBlbmRZID0gb3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMl07XHJcbiAgdmFyIGZpbGxFbmRZID0gZW5kWSArIGNvbmZpZy54QXhpc0hlaWdodDtcclxuICBpZiAob3B0cy54QXhpcy5zY3JvbGxTaG93KSB7XHJcbiAgICBmaWxsRW5kWSAtPSAzICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIH1cclxuXHRpZiAob3B0cy54QXhpcy5yb3RhdGVMYWJlbCl7XHJcblx0XHRmaWxsRW5kWSA9IG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzJdKzM7XHJcblx0fVxyXG4gIC8vIHNldCBZQXhpcyBiYWNrZ3JvdW5kXHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICBjb250ZXh0LnNldEZpbGxTdHlsZShvcHRzLmJhY2tncm91bmQgfHwgJyNmZmZmZmYnKTtcclxuICBpZiAob3B0cy5fc2Nyb2xsRGlzdGFuY2VfIDwgMCkge1xyXG4gICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCBzdGFydFgsIGZpbGxFbmRZKTtcclxuICB9XHJcbiAgaWYob3B0cy5lbmFibGVTY3JvbGwgPT0gdHJ1ZSl7XHJcbiAgICBjb250ZXh0LmZpbGxSZWN0KGVuZFgsIDAsIG9wdHMud2lkdGgsIGZpbGxFbmRZKTtcclxuICB9XHJcbiAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICBjb250ZXh0LnN0cm9rZSgpO1xyXG5cclxuICB2YXIgcG9pbnRzID0gW107XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPD0gb3B0cy55QXhpcy5zcGxpdE51bWJlcjsgaSsrKSB7XHJcbiAgICBwb2ludHMucHVzaChvcHRzLmFyZWFbMF0gKyBlYWNoU3BhY2luZyAqIGkpO1xyXG4gIH1cclxuXHJcbiAgbGV0IHRTdGFydExlZnQ9b3B0cy5hcmVhWzNdO1xyXG4gIGxldCB0U3RhcnRSaWdodD1vcHRzLndpZHRoLW9wdHMuYXJlYVsxXTtcclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRzLnlBeGlzLmRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgIGxldCB5RGF0YSA9IG9wdHMueUF4aXMuZGF0YVtpXTtcclxuICAgIGlmKHlEYXRhLmRpc2FibGVkICE9PSB0cnVlKXtcclxuICAgICAgbGV0IHJhbmdlc0Zvcm1hdCA9IG9wdHMuY2hhcnREYXRhLnlBeGlzRGF0YS5yYW5nZXNGb3JtYXRbaV07XHJcbiAgICAgIGxldCB5QXhpc0ZvbnRTaXplID0geURhdGEuZm9udFNpemUgfHwgY29uZmlnLmZvbnRTaXplO1xyXG4gICAgICBsZXQgeUF4aXNXaWR0aCA9IG9wdHMuY2hhcnREYXRhLnlBeGlzRGF0YS55QXhpc1dpZHRoW2ldO1xyXG4gICAgICAvL+eUu1novbTliLvluqblj4rmlofmoYhcclxuICAgICAgcmFuZ2VzRm9ybWF0LmZvckVhY2goZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHtcclxuICAgICAgICB2YXIgcG9zID0gcG9pbnRzW2luZGV4XSA/IHBvaW50c1tpbmRleF0gOiBlbmRZO1xyXG4gICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5zZXRGb250U2l6ZSh5QXhpc0ZvbnRTaXplKTtcclxuICAgICAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxKm9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZSh5RGF0YS5heGlzTGluZUNvbG9yfHwnI2NjY2NjYycpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKHlEYXRhLmZvbnRDb2xvcnx8ICcjNjY2NjY2Jyk7XHJcbiAgICAgICAgaWYoeUF4aXNXaWR0aC5wb3NpdGlvbj09J2xlZnQnKXtcclxuICAgICAgICAgIGNvbnRleHQuZmlsbFRleHQoU3RyaW5nKGl0ZW0pLCB0U3RhcnRMZWZ0IC0geUF4aXNXaWR0aC53aWR0aCAsIHBvcyArIHlBeGlzRm9udFNpemUgLyAyKTtcclxuICAgICAgICAgIC8v55S75Yi75bqm57q/XHJcbiAgICAgICAgICBpZih5RGF0YS5jYWxpYnJhdGlvbj09dHJ1ZSl7XHJcbiAgICAgICAgICAgIGNvbnRleHQubW92ZVRvKHRTdGFydExlZnQscG9zKTtcclxuICAgICAgICAgICAgY29udGV4dC5saW5lVG8odFN0YXJ0TGVmdCAtIDMqb3B0cy5waXhlbFJhdGlvLHBvcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KFN0cmluZyhpdGVtKSwgdFN0YXJ0UmlnaHQgKyA0Km9wdHMucGl4ZWxSYXRpbywgcG9zICsgeUF4aXNGb250U2l6ZSAvIDIpO1xyXG4gICAgICAgICAgLy/nlLvliLvluqbnur9cclxuICAgICAgICAgIGlmKHlEYXRhLmNhbGlicmF0aW9uPT10cnVlKXtcclxuICAgICAgICAgICAgY29udGV4dC5tb3ZlVG8odFN0YXJ0UmlnaHQscG9zKTtcclxuICAgICAgICAgICAgY29udGV4dC5saW5lVG8odFN0YXJ0UmlnaHQgKyAzKm9wdHMucGl4ZWxSYXRpbyxwb3MpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICAvL+eUu1novbTovbTnur9cclxuICAgICAgaWYgKHlEYXRhLmF4aXNMaW5lIT09ZmFsc2UpIHtcclxuICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoeURhdGEuYXhpc0xpbmVDb2xvcnx8JyNjY2NjY2MnKTtcclxuICAgICAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgICBpZih5QXhpc1dpZHRoLnBvc2l0aW9uPT0nbGVmdCcpe1xyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8odFN0YXJ0TGVmdCxvcHRzLmhlaWdodC1vcHRzLmFyZWFbMl0pO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8odFN0YXJ0TGVmdCxvcHRzLmFyZWFbMF0pO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8odFN0YXJ0UmlnaHQsb3B0cy5oZWlnaHQtb3B0cy5hcmVhWzJdKTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHRTdGFydFJpZ2h0LG9wdHMuYXJlYVswXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIH1cclxuXHRcdFx0XHJcbiAgICAgIC8v55S7Wei9tOagh+mimFxyXG4gICAgICBpZiAob3B0cy55QXhpcy5zaG93VGl0bGUpIHtcclxuXHRcdFx0XHRcclxuICAgICAgICBsZXQgdGl0bGVGb250U2l6ZSA9IHlEYXRhLnRpdGxlRm9udFNpemUgfHwgY29uZmlnLmZvbnRTaXplO1xyXG4gICAgICAgIGxldCB0aXRsZSA9IHlEYXRhLnRpdGxlO1xyXG4gICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5zZXRGb250U2l6ZSh0aXRsZUZvbnRTaXplKTtcclxuICAgICAgICBjb250ZXh0LnNldEZpbGxTdHlsZSh5RGF0YS50aXRsZUZvbnRDb2xvciB8fCAnIzY2NjY2NicpO1xyXG4gICAgICAgIGlmKHlBeGlzV2lkdGgucG9zaXRpb249PSdsZWZ0Jyl7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRpdGxlLCB0U3RhcnRMZWZ0IC0gbWVhc3VyZVRleHQodGl0bGUsdGl0bGVGb250U2l6ZSkvMiwgb3B0cy5hcmVhWzBdLTEwKm9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRpdGxlLHRTdGFydFJpZ2h0IC0gbWVhc3VyZVRleHQodGl0bGUsdGl0bGVGb250U2l6ZSkvMiwgb3B0cy5hcmVhWzBdLTEwKm9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgfVxyXG4gICAgICBpZih5QXhpc1dpZHRoLnBvc2l0aW9uPT0nbGVmdCcpe1xyXG4gICAgICAgIHRTdGFydExlZnQgLT0oeUF4aXNXaWR0aC53aWR0aCArIG9wdHMueUF4aXMucGFkZGluZyk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRTdGFydFJpZ2h0ICs9eUF4aXNXaWR0aC53aWR0aCsgb3B0cy55QXhpcy5wYWRkaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3TGVnZW5kKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCBjaGFydERhdGEpIHtcclxuICBpZiAob3B0cy5sZWdlbmQuc2hvdyA9PT0gZmFsc2UpIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgbGV0IGxlZ2VuZERhdGEgPSBjaGFydERhdGEubGVnZW5kRGF0YTtcclxuICBsZXQgbGVnZW5kTGlzdCA9IGxlZ2VuZERhdGEucG9pbnRzO1xyXG4gIGxldCBsZWdlbmRBcmVhID0gbGVnZW5kRGF0YS5hcmVhO1xyXG4gIGxldCBwYWRkaW5nID0gb3B0cy5sZWdlbmQucGFkZGluZztcclxuICBsZXQgZm9udFNpemUgPSBvcHRzLmxlZ2VuZC5mb250U2l6ZTtcclxuICBsZXQgc2hhcGVXaWR0aCA9IDE1ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIGxldCBzaGFwZVJpZ2h0ID0gNSAqIG9wdHMucGl4ZWxSYXRpbztcclxuICBsZXQgaXRlbUdhcCA9IG9wdHMubGVnZW5kLml0ZW1HYXA7XHJcbiAgbGV0IGxpbmVIZWlnaHQgPSBNYXRoLm1heChvcHRzLmxlZ2VuZC5saW5lSGVpZ2h0ICogb3B0cy5waXhlbFJhdGlvLCBmb250U2l6ZSk7XHJcblxyXG4gIC8v55S76IOM5pmv5Y+K6L655qGGXHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICBjb250ZXh0LnNldExpbmVXaWR0aChvcHRzLmxlZ2VuZC5ib3JkZXJXaWR0aCk7XHJcbiAgY29udGV4dC5zZXRTdHJva2VTdHlsZShvcHRzLmxlZ2VuZC5ib3JkZXJDb2xvcik7XHJcbiAgY29udGV4dC5zZXRGaWxsU3R5bGUob3B0cy5sZWdlbmQuYmFja2dyb3VuZENvbG9yKTtcclxuICBjb250ZXh0Lm1vdmVUbyhsZWdlbmRBcmVhLnN0YXJ0LngsIGxlZ2VuZEFyZWEuc3RhcnQueSk7XHJcbiAgY29udGV4dC5yZWN0KGxlZ2VuZEFyZWEuc3RhcnQueCwgbGVnZW5kQXJlYS5zdGFydC55LCBsZWdlbmRBcmVhLndpZHRoLCBsZWdlbmRBcmVhLmhlaWdodCk7XHJcbiAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICBjb250ZXh0LmZpbGwoKTtcclxuICBjb250ZXh0LnN0cm9rZSgpO1xyXG5cclxuICBsZWdlbmRMaXN0LmZvckVhY2goZnVuY3Rpb24oaXRlbUxpc3QsIGxpc3RJbmRleCkge1xyXG4gICAgbGV0IHdpZHRoID0gMDtcclxuICAgIGxldCBoZWlnaHQgPSAwO1xyXG4gICAgd2lkdGggPSBsZWdlbmREYXRhLndpZHRoQXJyW2xpc3RJbmRleF07XHJcbiAgICBoZWlnaHQgPSBsZWdlbmREYXRhLmhlaWdodEFycltsaXN0SW5kZXhdO1xyXG4gICAgbGV0IHN0YXJ0WCA9IDA7XHJcbiAgICBsZXQgc3RhcnRZID0gMDtcclxuICAgIGlmIChvcHRzLmxlZ2VuZC5wb3NpdGlvbiA9PSAndG9wJyB8fCBvcHRzLmxlZ2VuZC5wb3NpdGlvbiA9PSAnYm90dG9tJykge1xyXG4gICAgICBzdGFydFggPSBsZWdlbmRBcmVhLnN0YXJ0LnggKyAobGVnZW5kQXJlYS53aWR0aCAtIHdpZHRoKSAvIDI7XHJcbiAgICAgIHN0YXJ0WSA9IGxlZ2VuZEFyZWEuc3RhcnQueSArIHBhZGRpbmcgKyBsaXN0SW5kZXggKiBsaW5lSGVpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGxpc3RJbmRleCA9PSAwKSB7XHJcbiAgICAgICAgd2lkdGggPSAwO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHdpZHRoID0gbGVnZW5kRGF0YS53aWR0aEFycltsaXN0SW5kZXggLSAxXTtcclxuICAgICAgfVxyXG4gICAgICBzdGFydFggPSBsZWdlbmRBcmVhLnN0YXJ0LnggKyBwYWRkaW5nICsgd2lkdGg7XHJcbiAgICAgIHN0YXJ0WSA9IGxlZ2VuZEFyZWEuc3RhcnQueSArIHBhZGRpbmcgKyAobGVnZW5kQXJlYS5oZWlnaHQgLSBoZWlnaHQpIC8gMjtcclxuICAgIH1cclxuXHJcbiAgICBjb250ZXh0LnNldEZvbnRTaXplKGNvbmZpZy5mb250U2l6ZSk7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1MaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBpdGVtID0gaXRlbUxpc3RbaV07XHJcbiAgICAgIGl0ZW0uYXJlYSA9IFswLCAwLCAwLCAwXTtcclxuICAgICAgaXRlbS5hcmVhWzBdID0gc3RhcnRYO1xyXG4gICAgICBpdGVtLmFyZWFbMV0gPSBzdGFydFk7XHJcbiAgICAgIGl0ZW0uYXJlYVszXSA9IHN0YXJ0WSArIGxpbmVIZWlnaHQ7XHJcbiAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGl0ZW0uc2hvdyA/IGl0ZW0uY29sb3IgOiBvcHRzLmxlZ2VuZC5oaWRkZW5Db2xvcik7XHJcbiAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0uc2hvdyA/IGl0ZW0uY29sb3IgOiBvcHRzLmxlZ2VuZC5oaWRkZW5Db2xvcik7XHJcbiAgICAgIHN3aXRjaCAoaXRlbS5sZWdlbmRTaGFwZSkge1xyXG4gICAgICAgIGNhc2UgJ2xpbmUnOlxyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0IC0gMiAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KHN0YXJ0WCwgc3RhcnRZICsgMC41ICogbGluZUhlaWdodCAtIDIgKiBvcHRzLnBpeGVsUmF0aW8sIDE1ICogb3B0cy5waXhlbFJhdGlvLCA0ICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3RyaWFuZ2xlJzpcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCArIDcuNSAqIG9wdHMucGl4ZWxSYXRpbywgc3RhcnRZICsgMC41ICogbGluZUhlaWdodCAtIDUgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYICsgMi41ICogb3B0cy5waXhlbFJhdGlvLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0ICsgNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzdGFydFggKyAxMi41ICogb3B0cy5waXhlbFJhdGlvLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0ICsgNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzdGFydFggKyA3LjUgKiBvcHRzLnBpeGVsUmF0aW8sIHN0YXJ0WSArIDAuNSAqIGxpbmVIZWlnaHQgLSA1ICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2RpYW1vbmQnOlxyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYICsgNy41ICogb3B0cy5waXhlbFJhdGlvLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0IC0gNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzdGFydFggKyAyLjUgKiBvcHRzLnBpeGVsUmF0aW8sIHN0YXJ0WSArIDAuNSAqIGxpbmVIZWlnaHQpO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oc3RhcnRYICsgNy41ICogb3B0cy5waXhlbFJhdGlvLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0ICsgNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzdGFydFggKyAxMi41ICogb3B0cy5waXhlbFJhdGlvLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0KTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHN0YXJ0WCArIDcuNSAqIG9wdHMucGl4ZWxSYXRpbywgc3RhcnRZICsgMC41ICogbGluZUhlaWdodCAtIDUgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnY2lyY2xlJzpcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCArIDcuNSAqIG9wdHMucGl4ZWxSYXRpbywgc3RhcnRZICsgMC41ICogbGluZUhlaWdodCk7XHJcbiAgICAgICAgICBjb250ZXh0LmFyYyhzdGFydFggKyA3LjUgKiBvcHRzLnBpeGVsUmF0aW8sIHN0YXJ0WSArIDAuNSAqIGxpbmVIZWlnaHQsIDUgKiBvcHRzLnBpeGVsUmF0aW8sIDAsIDIgKiBNYXRoLlBJKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3JlY3QnOlxyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0IC0gNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KHN0YXJ0WCwgc3RhcnRZICsgMC41ICogbGluZUhlaWdodCAtIDUgKiBvcHRzLnBpeGVsUmF0aW8sIDE1ICogb3B0cy5waXhlbFJhdGlvLCAxMCAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLCBzdGFydFkgKyAwLjUgKiBsaW5lSGVpZ2h0IC0gNSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KHN0YXJ0WCwgc3RhcnRZICsgMC41ICogbGluZUhlaWdodCAtIDUgKiBvcHRzLnBpeGVsUmF0aW8sIDE1ICogb3B0cy5waXhlbFJhdGlvLCAxMCAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICAgIH1cclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgY29udGV4dC5maWxsKCk7XHJcbiAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcblxyXG4gICAgICBzdGFydFggKz0gc2hhcGVXaWR0aCArIHNoYXBlUmlnaHQ7XHJcbiAgICAgIGxldCBmb250VHJhbnMgPSAwLjUgKiBsaW5lSGVpZ2h0ICsgMC41ICogZm9udFNpemUgLSAyO1xyXG4gICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LnNldEZvbnRTaXplKGZvbnRTaXplKTtcclxuICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaXRlbS5zaG93ID8gb3B0cy5sZWdlbmQuZm9udENvbG9yIDogb3B0cy5sZWdlbmQuaGlkZGVuQ29sb3IpO1xyXG4gICAgICBjb250ZXh0LmZpbGxUZXh0KGl0ZW0ubmFtZSwgc3RhcnRYLCBzdGFydFkgKyBmb250VHJhbnMpO1xyXG4gICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgICBpZiAob3B0cy5sZWdlbmQucG9zaXRpb24gPT0gJ3RvcCcgfHwgb3B0cy5sZWdlbmQucG9zaXRpb24gPT0gJ2JvdHRvbScpIHtcclxuICAgICAgICBzdGFydFggKz0gbWVhc3VyZVRleHQoaXRlbS5uYW1lLCBmb250U2l6ZSkgKyBpdGVtR2FwO1xyXG4gICAgICAgIGl0ZW0uYXJlYVsyXSA9IHN0YXJ0WDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLmFyZWFbMl0gPSBzdGFydFggKyBtZWFzdXJlVGV4dChpdGVtLm5hbWUsIGZvbnRTaXplKSArIGl0ZW1HYXA7O1xyXG4gICAgICAgIHN0YXJ0WCAtPSBzaGFwZVdpZHRoICsgc2hhcGVSaWdodDtcclxuICAgICAgICBzdGFydFkgKz0gbGluZUhlaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3UGllRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIHZhciBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiAxO1xyXG4gIHZhciBwaWVPcHRpb24gPSBhc3NpZ24oe30sIHtcclxuICAgIGFjdGl2ZU9wYWNpdHk6IDAuNSxcclxuICAgIGFjdGl2ZVJhZGl1czogMTAgKiBvcHRzLnBpeGVsUmF0aW8sXHJcbiAgICBvZmZzZXRBbmdsZTogMCxcclxuICAgIGxhYmVsV2lkdGg6IDE1ICogb3B0cy5waXhlbFJhdGlvLFxyXG4gICAgcmluZ1dpZHRoOiAwLFxyXG4gICAgYm9yZGVyOmZhbHNlLFxyXG4gICAgYm9yZGVyV2lkdGg6MixcclxuICAgIGJvcmRlckNvbG9yOicjRkZGRkZGJ1xyXG4gIH0sIG9wdHMuZXh0cmEucGllKTtcclxuICB2YXIgY2VudGVyUG9zaXRpb24gPSB7XHJcbiAgICB4OiBvcHRzLmFyZWFbM10gKyAob3B0cy53aWR0aCAtIG9wdHMuYXJlYVsxXSAtIG9wdHMuYXJlYVszXSkgLyAyLFxyXG4gICAgeTogb3B0cy5hcmVhWzBdICsgKG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzBdIC0gb3B0cy5hcmVhWzJdKSAvIDJcclxuICB9O1xyXG4gIGlmIChjb25maWcucGllQ2hhcnRMaW5lUGFkZGluZyA9PSAwKSB7XHJcbiAgICBjb25maWcucGllQ2hhcnRMaW5lUGFkZGluZyA9IHBpZU9wdGlvbi5hY3RpdmVSYWRpdXM7XHJcbiAgfVxyXG5cclxuICB2YXIgcmFkaXVzID0gTWF0aC5taW4oKG9wdHMud2lkdGggLSBvcHRzLmFyZWFbMV0gLSBvcHRzLmFyZWFbM10pIC8gMiAtIGNvbmZpZy5waWVDaGFydExpbmVQYWRkaW5nIC0gY29uZmlnLnBpZUNoYXJ0VGV4dFBhZGRpbmcgLSBjb25maWcuX3BpZVRleHRNYXhMZW5ndGhfLCAob3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMF0gLSBvcHRzLmFyZWFbMl0pIC8gMiAtIGNvbmZpZy5waWVDaGFydExpbmVQYWRkaW5nIC0gY29uZmlnLnBpZUNoYXJ0VGV4dFBhZGRpbmcpO1xyXG5cclxuICBzZXJpZXMgPSBnZXRQaWVEYXRhUG9pbnRzKHNlcmllcywgcmFkaXVzLCBwcm9jZXNzKTtcclxuXHJcbiAgdmFyIGFjdGl2ZVJhZGl1cyA9IHBpZU9wdGlvbi5hY3RpdmVSYWRpdXM7XHJcblxyXG4gIHNlcmllcyA9IHNlcmllcy5tYXAoZnVuY3Rpb24oZWFjaFNlcmllcykge1xyXG4gICAgZWFjaFNlcmllcy5fc3RhcnRfICs9IChwaWVPcHRpb24ub2Zmc2V0QW5nbGUpICogTWF0aC5QSSAvIDE4MDtcclxuICAgIHJldHVybiBlYWNoU2VyaWVzO1xyXG4gIH0pO1xyXG4gIHNlcmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVhY2hTZXJpZXMsIHNlcmllc0luZGV4KSB7XHJcbiAgICBpZiAob3B0cy50b29sdGlwKSB7XHJcbiAgICAgIGlmIChvcHRzLnRvb2x0aXAuaW5kZXggPT0gc2VyaWVzSW5kZXgpIHtcclxuICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGhleFRvUmdiKGVhY2hTZXJpZXMuY29sb3IsIG9wdHMuZXh0cmEucGllLmFjdGl2ZU9wYWNpdHkgfHwgMC41KSk7XHJcbiAgICAgICAgY29udGV4dC5tb3ZlVG8oY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcbiAgICAgICAgY29udGV4dC5hcmMoY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSwgZWFjaFNlcmllcy5fcmFkaXVzXyArIGFjdGl2ZVJhZGl1cywgZWFjaFNlcmllcy5fc3RhcnRfLFxyXG4gICAgICAgICAgZWFjaFNlcmllcy5fc3RhcnRfICsgMiAqXHJcbiAgICAgICAgICBlYWNoU2VyaWVzLl9wcm9wb3J0aW9uXyAqIE1hdGguUEkpO1xyXG4gICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgY29udGV4dC5maWxsKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldExpbmVXaWR0aChwaWVPcHRpb24uYm9yZGVyV2lkdGggKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgY29udGV4dC5saW5lSm9pbiA9IFwicm91bmRcIjtcclxuICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUocGllT3B0aW9uLmJvcmRlckNvbG9yKTtcclxuICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGVhY2hTZXJpZXMuY29sb3IpO1xyXG4gICAgY29udGV4dC5tb3ZlVG8oY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcbiAgICBjb250ZXh0LmFyYyhjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55LCBlYWNoU2VyaWVzLl9yYWRpdXNfLCBlYWNoU2VyaWVzLl9zdGFydF8sIGVhY2hTZXJpZXMuX3N0YXJ0XyArIDIgKiBlYWNoU2VyaWVzLl9wcm9wb3J0aW9uXyAqIE1hdGguUEkpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgaWYgKHBpZU9wdGlvbi5ib3JkZXIgPT0gdHJ1ZSkge1xyXG4gICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBpZiAob3B0cy50eXBlID09PSAncmluZycpIHtcclxuICAgIHZhciBpbm5lclBpZVdpZHRoID0gcmFkaXVzICogMC42O1xyXG4gICAgaWYgKHR5cGVvZiBvcHRzLmV4dHJhLnBpZS5yaW5nV2lkdGggPT09ICdudW1iZXInICYmIG9wdHMuZXh0cmEucGllLnJpbmdXaWR0aCA+IDApIHtcclxuICAgICAgaW5uZXJQaWVXaWR0aCA9IE1hdGgubWF4KDAsIHJhZGl1cyAtIG9wdHMuZXh0cmEucGllLnJpbmdXaWR0aCk7XHJcbiAgICB9XHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRGaWxsU3R5bGUob3B0cy5iYWNrZ3JvdW5kIHx8ICcjZmZmZmZmJyk7XHJcbiAgICBjb250ZXh0Lm1vdmVUbyhjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55KTtcclxuICAgIGNvbnRleHQuYXJjKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnksIGlubmVyUGllV2lkdGgsIDAsIDIgKiBNYXRoLlBJKTtcclxuICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICBjb250ZXh0LmZpbGwoKTtcclxuICB9XHJcblxyXG4gIGlmIChvcHRzLmRhdGFMYWJlbCAhPT0gZmFsc2UgJiYgcHJvY2VzcyA9PT0gMSkge1xyXG4gICAgdmFyIHZhbGlkID0gZmFsc2U7XHJcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gc2VyaWVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGlmIChzZXJpZXNbaV0uZGF0YSA+IDApIHtcclxuICAgICAgICB2YWxpZCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsaWQpIHtcclxuICAgICAgZHJhd1BpZVRleHQoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIHJhZGl1cywgY2VudGVyUG9zaXRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKHByb2Nlc3MgPT09IDEgJiYgb3B0cy50eXBlID09PSAncmluZycpIHtcclxuICAgIGRyYXdSaW5nVGl0bGUob3B0cywgY29uZmlnLCBjb250ZXh0LCBjZW50ZXJQb3NpdGlvbik7XHJcbiAgfVxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2VudGVyOiBjZW50ZXJQb3NpdGlvbixcclxuICAgIHJhZGl1czogcmFkaXVzLFxyXG4gICAgc2VyaWVzOiBzZXJpZXNcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3Um9zZURhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICB2YXIgcHJvY2VzcyA9IGFyZ3VtZW50cy5sZW5ndGggPiA0ICYmIGFyZ3VtZW50c1s0XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzRdIDogMTtcclxuICB2YXIgcm9zZU9wdGlvbiA9IGFzc2lnbih7fSwge1xyXG4gICAgdHlwZTogJ2FyZWEnLFxyXG4gICAgYWN0aXZlT3BhY2l0eTogMC41LFxyXG4gICAgYWN0aXZlUmFkaXVzOiAxMCAqIG9wdHMucGl4ZWxSYXRpbyxcclxuICAgIG9mZnNldEFuZ2xlOiAwLFxyXG4gICAgbGFiZWxXaWR0aDogMTUgKiBvcHRzLnBpeGVsUmF0aW8sXHJcbiAgICBib3JkZXI6ZmFsc2UsXHJcbiAgICBib3JkZXJXaWR0aDoyLFxyXG4gICAgYm9yZGVyQ29sb3I6JyNGRkZGRkYnXHJcbiAgfSwgb3B0cy5leHRyYS5yb3NlKTtcclxuICBpZiAoY29uZmlnLnBpZUNoYXJ0TGluZVBhZGRpbmcgPT0gMCkge1xyXG4gICAgY29uZmlnLnBpZUNoYXJ0TGluZVBhZGRpbmcgPSByb3NlT3B0aW9uLmFjdGl2ZVJhZGl1cztcclxuICB9XHJcbiAgdmFyIGNlbnRlclBvc2l0aW9uID0ge1xyXG4gICAgeDogb3B0cy5hcmVhWzNdICsgKG9wdHMud2lkdGggLSBvcHRzLmFyZWFbMV0gLSBvcHRzLmFyZWFbM10pIC8gMixcclxuICAgIHk6IG9wdHMuYXJlYVswXSArIChvcHRzLmhlaWdodCAtIG9wdHMuYXJlYVswXSAtIG9wdHMuYXJlYVsyXSkgLyAyXHJcbiAgfTtcclxuICAgdmFyIHJhZGl1cyA9IE1hdGgubWluKChvcHRzLndpZHRoIC0gb3B0cy5hcmVhWzFdIC0gb3B0cy5hcmVhWzNdKSAvIDIgLSBjb25maWcucGllQ2hhcnRMaW5lUGFkZGluZyAtIGNvbmZpZy5waWVDaGFydFRleHRQYWRkaW5nIC0gY29uZmlnLl9waWVUZXh0TWF4TGVuZ3RoXywgKG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzBdIC0gb3B0cy5hcmVhWzJdKSAvIDIgLSBjb25maWcucGllQ2hhcnRMaW5lUGFkZGluZyAtIGNvbmZpZy5waWVDaGFydFRleHRQYWRkaW5nKTtcclxuICB2YXIgbWluUmFkaXVzID0gcm9zZU9wdGlvbi5taW5SYWRpdXMgfHwgcmFkaXVzICogMC41O1xyXG5cclxuICBzZXJpZXMgPSBnZXRSb3NlRGF0YVBvaW50cyhzZXJpZXMsIHJvc2VPcHRpb24udHlwZSwgbWluUmFkaXVzLCByYWRpdXMsIHByb2Nlc3MpO1xyXG5cclxuICB2YXIgYWN0aXZlUmFkaXVzID0gcm9zZU9wdGlvbi5hY3RpdmVSYWRpdXM7XHJcblxyXG4gIHNlcmllcyA9IHNlcmllcy5tYXAoZnVuY3Rpb24oZWFjaFNlcmllcykge1xyXG4gICAgZWFjaFNlcmllcy5fc3RhcnRfICs9IChyb3NlT3B0aW9uLm9mZnNldEFuZ2xlIHx8IDApICogTWF0aC5QSSAvIDE4MDtcclxuICAgIHJldHVybiBlYWNoU2VyaWVzO1xyXG4gIH0pO1xyXG5cclxuICBzZXJpZXMuZm9yRWFjaChmdW5jdGlvbihlYWNoU2VyaWVzLCBzZXJpZXNJbmRleCkge1xyXG4gICAgaWYgKG9wdHMudG9vbHRpcCkge1xyXG4gICAgICBpZiAob3B0cy50b29sdGlwLmluZGV4ID09IHNlcmllc0luZGV4KSB7XHJcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShoZXhUb1JnYihlYWNoU2VyaWVzLmNvbG9yLCByb3NlT3B0aW9uLmFjdGl2ZU9wYWNpdHkgfHwgMC41KSk7XHJcbiAgICAgICAgY29udGV4dC5tb3ZlVG8oY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcbiAgICAgICAgY29udGV4dC5hcmMoY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSwgYWN0aXZlUmFkaXVzICsgZWFjaFNlcmllcy5fcmFkaXVzXywgZWFjaFNlcmllcy5fc3RhcnRfLFxyXG4gICAgICAgICAgZWFjaFNlcmllcy5fc3RhcnRfICsgMiAqIGVhY2hTZXJpZXMuX3Jvc2VfcHJvcG9ydGlvbl8gKiBNYXRoLlBJKTtcclxuICAgICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICAgIGNvbnRleHQuZmlsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lV2lkdGgocm9zZU9wdGlvbi5ib3JkZXJXaWR0aCAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcbiAgICBjb250ZXh0LmxpbmVKb2luID0gXCJyb3VuZFwiO1xyXG4gICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShyb3NlT3B0aW9uLmJvcmRlckNvbG9yKTtcclxuICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGVhY2hTZXJpZXMuY29sb3IpO1xyXG4gICAgY29udGV4dC5tb3ZlVG8oY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcbiAgICBjb250ZXh0LmFyYyhjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55LCBlYWNoU2VyaWVzLl9yYWRpdXNfLCBlYWNoU2VyaWVzLl9zdGFydF8sIGVhY2hTZXJpZXMuX3N0YXJ0XyArIDIgKlxyXG4gICAgICBlYWNoU2VyaWVzLl9yb3NlX3Byb3BvcnRpb25fICogTWF0aC5QSSk7XHJcbiAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgY29udGV4dC5maWxsKCk7XHJcbiAgICBpZiAocm9zZU9wdGlvbi5ib3JkZXIgPT0gdHJ1ZSkge1xyXG4gICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBpZiAob3B0cy5kYXRhTGFiZWwgIT09IGZhbHNlICYmIHByb2Nlc3MgPT09IDEpIHtcclxuICAgIHZhciB2YWxpZCA9IGZhbHNlO1xyXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHNlcmllcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICBpZiAoc2VyaWVzW2ldLmRhdGEgPiAwKSB7XHJcbiAgICAgICAgdmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbGlkKSB7XHJcbiAgICAgIGRyYXdQaWVUZXh0KHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCByYWRpdXMsIGNlbnRlclBvc2l0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBjZW50ZXI6IGNlbnRlclBvc2l0aW9uLFxyXG4gICAgcmFkaXVzOiByYWRpdXMsXHJcbiAgICBzZXJpZXM6IHNlcmllc1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdBcmNiYXJEYXRhUG9pbnRzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KSB7XHJcbiAgdmFyIHByb2Nlc3MgPSBhcmd1bWVudHMubGVuZ3RoID4gNCAmJiBhcmd1bWVudHNbNF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1s0XSA6IDE7XHJcbiAgdmFyIGFyY2Jhck9wdGlvbiA9IGFzc2lnbih7fSwge1xyXG4gICAgc3RhcnRBbmdsZTogMC43NSxcclxuICAgIGVuZEFuZ2xlOiAwLjI1LFxyXG4gICAgdHlwZTogJ2RlZmF1bHQnLFxyXG4gICAgd2lkdGg6IDEyICogb3B0cy5waXhlbFJhdGlvLFxyXG5cdFx0Z2FwOjIgKiBvcHRzLnBpeGVsUmF0aW9cclxuICB9LCBvcHRzLmV4dHJhLmFyY2Jhcik7XHJcblxyXG4gIHNlcmllcyA9IGdldEFyY2JhckRhdGFQb2ludHMoc2VyaWVzLCBhcmNiYXJPcHRpb24sIHByb2Nlc3MpO1xyXG5cdFxyXG4gIHZhciBjZW50ZXJQb3NpdGlvbjtcclxuXHRpZihhcmNiYXJPcHRpb24uY2VudGVyKXtcclxuXHRcdGNlbnRlclBvc2l0aW9uPWFyY2Jhck9wdGlvbi5jZW50ZXI7XHJcblx0fWVsc2V7XHJcblx0XHRjZW50ZXJQb3NpdGlvbj0ge1xyXG5cdFx0ICB4OiBvcHRzLndpZHRoIC8gMixcclxuXHRcdCAgeTogb3B0cy5oZWlnaHQgLyAyXHJcblx0XHR9O1xyXG5cdH1cclxuXHRcclxuICB2YXIgcmFkaXVzO1xyXG5cdGlmKGFyY2Jhck9wdGlvbi5yYWRpdXMpe1xyXG5cdFx0cmFkaXVzPWFyY2Jhck9wdGlvbi5yYWRpdXM7XHJcblx0fWVsc2V7XHJcblx0XHRyYWRpdXMgPSBNYXRoLm1pbihjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55KTtcclxuXHRcdHJhZGl1cyAtPSA1ICogb3B0cy5waXhlbFJhdGlvO1xyXG5cdFx0cmFkaXVzIC09IGFyY2Jhck9wdGlvbi53aWR0aCAvIDI7XHJcblx0fVxyXG5cdFxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2VyaWVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICBsZXQgZWFjaFNlcmllcyA9IHNlcmllc1tpXTtcclxuXHRcdC8v6IOM5pmv6aKc6ImyXHJcblx0XHRjb250ZXh0LnNldExpbmVXaWR0aChhcmNiYXJPcHRpb24ud2lkdGgpO1xyXG5cdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShhcmNiYXJPcHRpb24uYmFja2dyb3VuZENvbG9yIHx8ICcjRTlFOUU5Jyk7XHJcblx0XHRjb250ZXh0LnNldExpbmVDYXAoJ3JvdW5kJyk7XHJcblx0XHRjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0aWYgKGFyY2Jhck9wdGlvbi50eXBlID09ICdkZWZhdWx0Jykge1xyXG5cdFx0ICBjb250ZXh0LmFyYyhjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55LCByYWRpdXMtKGFyY2Jhck9wdGlvbi53aWR0aCthcmNiYXJPcHRpb24uZ2FwKSppLCBhcmNiYXJPcHRpb24uc3RhcnRBbmdsZSAqIE1hdGguUEksIGFyY2Jhck9wdGlvbi5lbmRBbmdsZSAqIE1hdGguUEksIGZhbHNlKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHQgIGNvbnRleHQuYXJjKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnksIHJhZGl1cy0oYXJjYmFyT3B0aW9uLndpZHRoK2FyY2Jhck9wdGlvbi5nYXApKmksIDAsIDIgKiBNYXRoLlBJLCBmYWxzZSk7XHJcblx0XHR9XHJcblx0XHRjb250ZXh0LnN0cm9rZSgpO1xyXG5cdFx0Ly/ov5vluqbmnaFcclxuICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKGFyY2Jhck9wdGlvbi53aWR0aCk7XHJcbiAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGVhY2hTZXJpZXMuY29sb3IpO1xyXG4gICAgY29udGV4dC5zZXRMaW5lQ2FwKCdyb3VuZCcpO1xyXG4gICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgIGNvbnRleHQuYXJjKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnksIHJhZGl1cy0oYXJjYmFyT3B0aW9uLndpZHRoK2FyY2Jhck9wdGlvbi5nYXApKmksIGFyY2Jhck9wdGlvbi5zdGFydEFuZ2xlICogTWF0aC5QSSwgZWFjaFNlcmllcy5fcHJvcG9ydGlvbl8gKiBNYXRoLlBJLCBmYWxzZSk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gIH1cclxuXHJcbiAgZHJhd1JpbmdUaXRsZShvcHRzLCBjb25maWcsIGNvbnRleHQsIGNlbnRlclBvc2l0aW9uKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGNlbnRlcjogY2VudGVyUG9zaXRpb24sXHJcbiAgICByYWRpdXM6IHJhZGl1cyxcclxuICAgIHNlcmllczogc2VyaWVzXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd0dhdWdlRGF0YVBvaW50cyhjYXRlZ29yaWVzLCBzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIHZhciBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDUgJiYgYXJndW1lbnRzWzVdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNV0gOiAxO1xyXG4gIHZhciBnYXVnZU9wdGlvbiA9IGFzc2lnbih7fSwge1xyXG5cdFx0dHlwZTonZGVmYXVsdCcsXHJcbiAgICBzdGFydEFuZ2xlOiAwLjc1LFxyXG4gICAgZW5kQW5nbGU6IDAuMjUsXHJcbiAgICB3aWR0aDogMTUsXHJcbiAgICBzcGxpdExpbmU6IHtcclxuICAgICAgZml4UmFkaXVzOiAwLFxyXG4gICAgICBzcGxpdE51bWJlcjogMTAsXHJcbiAgICAgIHdpZHRoOiAxNSxcclxuICAgICAgY29sb3I6ICcjRkZGRkZGJyxcclxuICAgICAgY2hpbGROdW1iZXI6IDUsXHJcbiAgICAgIGNoaWxkV2lkdGg6IDVcclxuICAgIH0sXHJcbiAgICBwb2ludGVyOiB7XHJcbiAgICAgIHdpZHRoOiAxNSxcclxuICAgICAgY29sb3I6ICdhdXRvJ1xyXG4gICAgfVxyXG4gIH0sIG9wdHMuZXh0cmEuZ2F1Z2UpO1xyXG5cclxuICBpZiAoZ2F1Z2VPcHRpb24ub2xkQW5nbGUgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICBnYXVnZU9wdGlvbi5vbGRBbmdsZSA9IGdhdWdlT3B0aW9uLnN0YXJ0QW5nbGU7XHJcbiAgfVxyXG4gIGlmIChnYXVnZU9wdGlvbi5vbGREYXRhID09IHVuZGVmaW5lZCkge1xyXG4gICAgZ2F1Z2VPcHRpb24ub2xkRGF0YSA9IDA7XHJcbiAgfVxyXG4gIGNhdGVnb3JpZXMgPSBnZXRHYXVnZUF4aXNQb2ludHMoY2F0ZWdvcmllcywgZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZSwgZ2F1Z2VPcHRpb24uZW5kQW5nbGUpO1xyXG5cclxuICB2YXIgY2VudGVyUG9zaXRpb24gPSB7XHJcbiAgICB4OiBvcHRzLndpZHRoIC8gMixcclxuICAgIHk6IG9wdHMuaGVpZ2h0IC8gMlxyXG4gIH07XHJcbiAgdmFyIHJhZGl1cyA9IE1hdGgubWluKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnkpO1xyXG4gIHJhZGl1cyAtPSA1ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIHJhZGl1cyAtPSBnYXVnZU9wdGlvbi53aWR0aCAvIDI7XHJcbiAgdmFyIGlubmVyUmFkaXVzID0gcmFkaXVzIC0gZ2F1Z2VPcHRpb24ud2lkdGg7XHJcblx0dmFyIHRvdGFsQW5nbGU9MDtcclxuXHRcclxuXHQvL+WIpOaWreS7quihqOebmOeahOagt+W8j++8mmRlZmF1bHTnmb7luqbmoLflvI/vvIxwcm9ncmVzc+aWsOagt+W8j1xyXG5cdGlmKGdhdWdlT3B0aW9uLnR5cGUgPT0gJ3Byb2dyZXNzJyl7XHJcblx0XHRcclxuXHRcdC8vIyMg56ys5LiA5q2l55S75Lit5b+D5ZyG5b2i6IOM5pmv5ZKM6L+b5bqm5p2h6IOM5pmvXHJcblx0XHQvL+S4reW/g+WchuW9ouiDjOaZr1xyXG5cdFx0dmFyIHBpZVJhZGl1cyA9IHJhZGl1cyAtIGdhdWdlT3B0aW9uLndpZHRoKjM7XHJcblx0XHRjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0bGV0IGdyYWRpZW50ID0gY29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudChjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55LXBpZVJhZGl1cywgY2VudGVyUG9zaXRpb24ueCAsIGNlbnRlclBvc2l0aW9uLnkrcGllUmFkaXVzKTtcclxuXHRcdC8v6YWN572u5riQ5Y+Y5aGr5YWF77yI6LW354K577ya5Lit5b+D54K55ZCR5LiK5YeP5Y2K5b6E77yb57uT5p2f54K55Lit5b+D54K55ZCR5LiL5Yqg5Y2K5b6E77yJXHJcblx0XHRncmFkaWVudC5hZGRDb2xvclN0b3AoJzAnLCBoZXhUb1JnYihzZXJpZXNbMF0uY29sb3IsIDAuMykpO1xyXG5cdFx0Z3JhZGllbnQuYWRkQ29sb3JTdG9wKCcxLjAnLGhleFRvUmdiKFwiI0ZGRkZGRlwiLCAwLjEpKTtcclxuXHRcdGNvbnRleHQuc2V0RmlsbFN0eWxlKGdyYWRpZW50KTtcclxuXHRcdGNvbnRleHQuYXJjKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnksIHBpZVJhZGl1cywgMCwgMipNYXRoLlBJLCBmYWxzZSk7XHJcblx0XHRjb250ZXh0LmZpbGwoKTtcclxuXHRcdC8v55S76L+b5bqm5p2h6IOM5pmvXHJcblx0XHRjb250ZXh0LnNldExpbmVXaWR0aChnYXVnZU9wdGlvbi53aWR0aCk7XHJcblx0XHRjb250ZXh0LnNldFN0cm9rZVN0eWxlKGhleFRvUmdiKHNlcmllc1swXS5jb2xvciwgMC4zKSk7XHJcblx0XHRjb250ZXh0LnNldExpbmVDYXAoJ3JvdW5kJyk7XHJcblx0XHRjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0Y29udGV4dC5hcmMoY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSwgaW5uZXJSYWRpdXMgLCBnYXVnZU9wdGlvbi5zdGFydEFuZ2xlICogTWF0aC5QSSwgZ2F1Z2VPcHRpb24uZW5kQW5nbGUgKk1hdGguUEksIGZhbHNlKTtcclxuXHRcdGNvbnRleHQuc3Ryb2tlKCk7XHJcblx0XHRcclxuXHRcdC8vIyMg56ys5LqM5q2l55S75Yi75bqm57q/XHJcblx0XHR0b3RhbEFuZ2xlID0gZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZSAtIGdhdWdlT3B0aW9uLmVuZEFuZ2xlICsgMTtcclxuXHRcdGxldCBzcGxpdEFuZ2xlID0gdG90YWxBbmdsZSAvIGdhdWdlT3B0aW9uLnNwbGl0TGluZS5zcGxpdE51bWJlcjtcclxuXHRcdGxldCBjaGlsZEFuZ2xlID0gdG90YWxBbmdsZSAvIGdhdWdlT3B0aW9uLnNwbGl0TGluZS5zcGxpdE51bWJlciAvIGdhdWdlT3B0aW9uLnNwbGl0TGluZS5jaGlsZE51bWJlcjtcclxuXHRcdGxldCBzdGFydFggPSAtcmFkaXVzIC0gZ2F1Z2VPcHRpb24ud2lkdGggKiAwLjUgLSBnYXVnZU9wdGlvbi5zcGxpdExpbmUuZml4UmFkaXVzO1xyXG5cdFx0bGV0IGVuZFggPSAtcmFkaXVzIC0gZ2F1Z2VPcHRpb24ud2lkdGggLSBnYXVnZU9wdGlvbi5zcGxpdExpbmUuZml4UmFkaXVzICsgZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLndpZHRoO1xyXG5cdFx0Y29udGV4dC5zYXZlKCk7XHJcblx0XHRjb250ZXh0LnRyYW5zbGF0ZShjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55KTtcclxuXHRcdGNvbnRleHQucm90YXRlKChnYXVnZU9wdGlvbi5zdGFydEFuZ2xlIC0gMSkgKiBNYXRoLlBJKTtcclxuXHRcdGxldCBsZW4gPSBnYXVnZU9wdGlvbi5zcGxpdExpbmUuc3BsaXROdW1iZXIgKiBnYXVnZU9wdGlvbi5zcGxpdExpbmUuY2hpbGROdW1iZXIgKyAxO1xyXG5cdFx0bGV0IHByb2MgPSBzZXJpZXNbMF0uZGF0YSAqIHByb2Nlc3M7XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcblx0XHQgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcblx0XHRcdC8v5Yi75bqm57q/6ZqP6L+b5bqm5Y+Y6ImyXHJcblx0XHRcdGlmKHByb2M+KGkvbGVuKSl7XHJcblx0XHRcdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShoZXhUb1JnYihzZXJpZXNbMF0uY29sb3IsIDEpKTtcclxuXHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShoZXhUb1JnYihzZXJpZXNbMF0uY29sb3IsIDAuMykpO1xyXG5cdFx0XHR9XHJcblx0XHQgIGNvbnRleHQuc2V0TGluZVdpZHRoKDMgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG5cdFx0ICBjb250ZXh0Lm1vdmVUbyhzdGFydFgsIDApO1xyXG5cdFx0ICBjb250ZXh0LmxpbmVUbyhlbmRYLCAwKTtcclxuXHRcdCAgY29udGV4dC5zdHJva2UoKTtcclxuXHRcdCAgY29udGV4dC5yb3RhdGUoY2hpbGRBbmdsZSAqIE1hdGguUEkpO1xyXG5cdFx0fVxyXG5cdFx0Y29udGV4dC5yZXN0b3JlKCk7XHJcblx0XHRcclxuXHRcdC8vIyMg56ys5LiJ5q2l55S76L+b5bqm5p2hXHJcblx0XHRzZXJpZXMgPSBnZXRBcmNiYXJEYXRhUG9pbnRzKHNlcmllcywgZ2F1Z2VPcHRpb24sIHByb2Nlc3MpO1xyXG5cdFx0Y29udGV4dC5zZXRMaW5lV2lkdGgoZ2F1Z2VPcHRpb24ud2lkdGgpO1xyXG5cdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShzZXJpZXNbMF0uY29sb3IpO1xyXG5cdFx0Y29udGV4dC5zZXRMaW5lQ2FwKCdyb3VuZCcpO1xyXG5cdFx0Y29udGV4dC5iZWdpblBhdGgoKTtcclxuXHRcdGNvbnRleHQuYXJjKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnksIGlubmVyUmFkaXVzICwgZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZSAqIE1hdGguUEksIHNlcmllc1swXS5fcHJvcG9ydGlvbl8gKk1hdGguUEksIGZhbHNlKTtcclxuXHRcdGNvbnRleHQuc3Ryb2tlKCk7XHJcblx0XHRcclxuXHRcdC8vIyMg56ys5Zub5q2l55S75oyH6ZKIXHJcblx0XHRsZXQgcG9pbnRlclJhZGl1cyA9IHJhZGl1cyAtIGdhdWdlT3B0aW9uLndpZHRoKjIuNTtcclxuXHRcdGNvbnRleHQuc2F2ZSgpO1xyXG5cdFx0Y29udGV4dC50cmFuc2xhdGUoY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcblx0XHRjb250ZXh0LnJvdGF0ZSgoc2VyaWVzWzBdLl9wcm9wb3J0aW9uXyAtIDEpICogTWF0aC5QSSk7XHJcblx0XHRjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0Y29udGV4dC5zZXRMaW5lV2lkdGgoZ2F1Z2VPcHRpb24ud2lkdGgvMyk7XHJcblx0XHRsZXQgZ3JhZGllbnQzID0gY29udGV4dC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAtcG9pbnRlclJhZGl1cyowLjYsIDAgLCBwb2ludGVyUmFkaXVzKjAuNik7XHJcblx0XHRncmFkaWVudDMuYWRkQ29sb3JTdG9wKCcwJywgaGV4VG9SZ2IoJyNGRkZGRkYnLCAwKSk7XHJcblx0XHRncmFkaWVudDMuYWRkQ29sb3JTdG9wKCcwLjUnLCBoZXhUb1JnYihzZXJpZXNbMF0uY29sb3IsIDEpKTtcclxuXHRcdGdyYWRpZW50My5hZGRDb2xvclN0b3AoJzEuMCcsIGhleFRvUmdiKCcjRkZGRkZGJywgMCkpO1xyXG5cdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShncmFkaWVudDMpO1xyXG5cdFx0Y29udGV4dC5hcmMoMCwgMCwgcG9pbnRlclJhZGl1cyAsIDAuODUqIE1hdGguUEksIDEuMTUgKiBNYXRoLlBJLCBmYWxzZSk7XHJcblx0XHRjb250ZXh0LnN0cm9rZSgpO1xyXG5cdFx0Y29udGV4dC5iZWdpblBhdGgoKTtcclxuXHRcdGNvbnRleHQuc2V0TGluZVdpZHRoKDEpO1xyXG5cdFx0Y29udGV4dC5zZXRTdHJva2VTdHlsZShzZXJpZXNbMF0uY29sb3IpO1xyXG5cdFx0Y29udGV4dC5zZXRGaWxsU3R5bGUoc2VyaWVzWzBdLmNvbG9yKTtcclxuXHRcdGNvbnRleHQubW92ZVRvKC1wb2ludGVyUmFkaXVzLWdhdWdlT3B0aW9uLndpZHRoLzMvMiwtNCk7XHJcblx0XHRjb250ZXh0LmxpbmVUbygtcG9pbnRlclJhZGl1cy1nYXVnZU9wdGlvbi53aWR0aC8zLzItNCwwKTtcclxuXHRcdGNvbnRleHQubGluZVRvKC1wb2ludGVyUmFkaXVzLWdhdWdlT3B0aW9uLndpZHRoLzMvMiw0KTtcclxuXHRcdGNvbnRleHQubGluZVRvKC1wb2ludGVyUmFkaXVzLWdhdWdlT3B0aW9uLndpZHRoLzMvMiwtNCk7XHJcblx0XHRjb250ZXh0LnN0cm9rZSgpO1xyXG5cdFx0Y29udGV4dC5maWxsKCk7XHJcblx0XHRjb250ZXh0LnJlc3RvcmUoKTtcclxuXHRcdFxyXG5cdC8vZGVmYXVsdOeZvuW6puagt+W8j1xyXG5cdH1lbHNle1xyXG5cdFx0Ly/nlLvog4zmma9cclxuXHRcdGNvbnRleHQuc2V0TGluZVdpZHRoKGdhdWdlT3B0aW9uLndpZHRoKTtcclxuXHRcdGNvbnRleHQuc2V0TGluZUNhcCgnYnV0dCcpO1xyXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjYXRlZ29yaWVzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHQgIGxldCBlYWNoQ2F0ZWdvcmllcyA9IGNhdGVnb3JpZXNbaV07XHJcblx0XHQgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcblx0XHQgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoZWFjaENhdGVnb3JpZXMuY29sb3IpO1xyXG5cdFx0ICBjb250ZXh0LmFyYyhjZW50ZXJQb3NpdGlvbi54LCBjZW50ZXJQb3NpdGlvbi55LCByYWRpdXMsIGVhY2hDYXRlZ29yaWVzLl9zdGFydEFuZ2xlXyAqIE1hdGguUEksIGVhY2hDYXRlZ29yaWVzLl9lbmRBbmdsZV8gKk1hdGguUEksIGZhbHNlKTtcclxuXHRcdCAgY29udGV4dC5zdHJva2UoKTtcclxuXHRcdH1cclxuXHRcdGNvbnRleHQuc2F2ZSgpO1xyXG5cdFx0XHJcblx0XHQvL+eUu+WIu+W6pue6v1xyXG5cdFx0dG90YWxBbmdsZSA9IGdhdWdlT3B0aW9uLnN0YXJ0QW5nbGUgLSBnYXVnZU9wdGlvbi5lbmRBbmdsZSArIDE7XHJcblx0XHRsZXQgc3BsaXRBbmdsZSA9IHRvdGFsQW5nbGUgLyBnYXVnZU9wdGlvbi5zcGxpdExpbmUuc3BsaXROdW1iZXI7XHJcblx0XHRsZXQgY2hpbGRBbmdsZSA9IHRvdGFsQW5nbGUgLyBnYXVnZU9wdGlvbi5zcGxpdExpbmUuc3BsaXROdW1iZXIgLyBnYXVnZU9wdGlvbi5zcGxpdExpbmUuY2hpbGROdW1iZXI7XHJcblx0XHRsZXQgc3RhcnRYID0gLXJhZGl1cyAtIGdhdWdlT3B0aW9uLndpZHRoICogMC41IC0gZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLmZpeFJhZGl1cztcclxuXHRcdGxldCBlbmRYID0gLXJhZGl1cyAtIGdhdWdlT3B0aW9uLndpZHRoICogMC41IC0gZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLmZpeFJhZGl1cyArIGdhdWdlT3B0aW9uLnNwbGl0TGluZS53aWR0aDtcclxuXHRcdGxldCBjaGlsZGVuZFggPSAtcmFkaXVzIC0gZ2F1Z2VPcHRpb24ud2lkdGggKiAwLjUgLSBnYXVnZU9wdGlvbi5zcGxpdExpbmUuZml4UmFkaXVzICsgZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLmNoaWxkV2lkdGg7XHJcblx0XHRcclxuXHRcdGNvbnRleHQudHJhbnNsYXRlKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnkpO1xyXG5cdFx0Y29udGV4dC5yb3RhdGUoKGdhdWdlT3B0aW9uLnN0YXJ0QW5nbGUgLSAxKSAqIE1hdGguUEkpO1xyXG5cdFx0XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGdhdWdlT3B0aW9uLnNwbGl0TGluZS5zcGxpdE51bWJlciArIDE7IGkrKykge1xyXG5cdFx0ICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0ICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGdhdWdlT3B0aW9uLnNwbGl0TGluZS5jb2xvcik7XHJcblx0XHQgIGNvbnRleHQuc2V0TGluZVdpZHRoKDIgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG5cdFx0ICBjb250ZXh0Lm1vdmVUbyhzdGFydFgsIDApO1xyXG5cdFx0ICBjb250ZXh0LmxpbmVUbyhlbmRYLCAwKTtcclxuXHRcdCAgY29udGV4dC5zdHJva2UoKTtcclxuXHRcdCAgY29udGV4dC5yb3RhdGUoc3BsaXRBbmdsZSAqIE1hdGguUEkpO1xyXG5cdFx0fVxyXG5cdFx0Y29udGV4dC5yZXN0b3JlKCk7XHJcblx0XHRcclxuXHRcdGNvbnRleHQuc2F2ZSgpO1xyXG5cdFx0Y29udGV4dC50cmFuc2xhdGUoY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcblx0XHRjb250ZXh0LnJvdGF0ZSgoZ2F1Z2VPcHRpb24uc3RhcnRBbmdsZSAtIDEpICogTWF0aC5QSSk7XHJcblx0XHRcclxuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLnNwbGl0TnVtYmVyICogZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLmNoaWxkTnVtYmVyICsgMTsgaSsrKSB7XHJcblx0XHQgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcblx0XHQgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUoZ2F1Z2VPcHRpb24uc3BsaXRMaW5lLmNvbG9yKTtcclxuXHRcdCAgY29udGV4dC5zZXRMaW5lV2lkdGgoMSAqIG9wdHMucGl4ZWxSYXRpbyk7XHJcblx0XHQgIGNvbnRleHQubW92ZVRvKHN0YXJ0WCwgMCk7XHJcblx0XHQgIGNvbnRleHQubGluZVRvKGNoaWxkZW5kWCwgMCk7XHJcblx0XHQgIGNvbnRleHQuc3Ryb2tlKCk7XHJcblx0XHQgIGNvbnRleHQucm90YXRlKGNoaWxkQW5nbGUgKiBNYXRoLlBJKTtcclxuXHRcdH1cclxuXHRcdGNvbnRleHQucmVzdG9yZSgpO1xyXG5cdFx0XHJcblx0XHQvL+eUu+aMh+mSiFxyXG5cdFx0c2VyaWVzID0gZ2V0R2F1Z2VEYXRhUG9pbnRzKHNlcmllcywgY2F0ZWdvcmllcywgZ2F1Z2VPcHRpb24sIHByb2Nlc3MpO1xyXG5cdFx0XHJcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHNlcmllcy5sZW5ndGg7IGkrKykge1xyXG5cdFx0ICBsZXQgZWFjaFNlcmllcyA9IHNlcmllc1tpXTtcclxuXHRcdCAgY29udGV4dC5zYXZlKCk7XHJcblx0XHQgIGNvbnRleHQudHJhbnNsYXRlKGNlbnRlclBvc2l0aW9uLngsIGNlbnRlclBvc2l0aW9uLnkpO1xyXG5cdFx0ICBjb250ZXh0LnJvdGF0ZSgoZWFjaFNlcmllcy5fcHJvcG9ydGlvbl8gLSAxKSAqIE1hdGguUEkpO1xyXG5cdFx0ICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0ICBjb250ZXh0LnNldEZpbGxTdHlsZShlYWNoU2VyaWVzLmNvbG9yKTtcclxuXHRcdCAgY29udGV4dC5tb3ZlVG8oZ2F1Z2VPcHRpb24ucG9pbnRlci53aWR0aCwgMCk7XHJcblx0XHQgIGNvbnRleHQubGluZVRvKDAsIC1nYXVnZU9wdGlvbi5wb2ludGVyLndpZHRoIC8gMik7XHJcblx0XHQgIGNvbnRleHQubGluZVRvKC1pbm5lclJhZGl1cywgMCk7XHJcblx0XHQgIGNvbnRleHQubGluZVRvKDAsIGdhdWdlT3B0aW9uLnBvaW50ZXIud2lkdGggLyAyKTtcclxuXHRcdCAgY29udGV4dC5saW5lVG8oZ2F1Z2VPcHRpb24ucG9pbnRlci53aWR0aCwgMCk7XHJcblx0XHQgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcblx0XHQgIGNvbnRleHQuZmlsbCgpO1xyXG5cdFx0ICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG5cdFx0ICBjb250ZXh0LnNldEZpbGxTdHlsZSgnI0ZGRkZGRicpO1xyXG5cdFx0ICBjb250ZXh0LmFyYygwLCAwLCBnYXVnZU9wdGlvbi5wb2ludGVyLndpZHRoIC8gNiwgMCwgMiAqIE1hdGguUEksIGZhbHNlKTtcclxuXHRcdCAgY29udGV4dC5maWxsKCk7XHJcblx0XHQgIGNvbnRleHQucmVzdG9yZSgpO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRpZiAob3B0cy5kYXRhTGFiZWwgIT09IGZhbHNlKSB7XHJcblx0XHQgIGRyYXdHYXVnZUxhYmVsKGdhdWdlT3B0aW9uLCByYWRpdXMsIGNlbnRlclBvc2l0aW9uLCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQvL+eUu+S7quihqOebmOagh+mimO+8jOWJr+agh+mimFxyXG4gIGRyYXdSaW5nVGl0bGUob3B0cywgY29uZmlnLCBjb250ZXh0LCBjZW50ZXJQb3NpdGlvbik7XHJcblxyXG4gIGlmIChwcm9jZXNzID09PSAxICYmIG9wdHMudHlwZSA9PT0gJ2dhdWdlJykge1xyXG4gICAgb3B0cy5leHRyYS5nYXVnZS5vbGRBbmdsZSA9IHNlcmllc1swXS5fcHJvcG9ydGlvbl87XHJcbiAgICBvcHRzLmV4dHJhLmdhdWdlLm9sZERhdGEgPSBzZXJpZXNbMF0uZGF0YTtcclxuICB9XHJcbiAgcmV0dXJuIHtcclxuICAgIGNlbnRlcjogY2VudGVyUG9zaXRpb24sXHJcbiAgICByYWRpdXM6IHJhZGl1cyxcclxuICAgIGlubmVyUmFkaXVzOiBpbm5lclJhZGl1cyxcclxuICAgIGNhdGVnb3JpZXM6IGNhdGVnb3JpZXMsXHJcbiAgICB0b3RhbEFuZ2xlOiB0b3RhbEFuZ2xlXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZHJhd1JhZGFyRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIHZhciBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiAxO1xyXG4gIHZhciByYWRhck9wdGlvbiA9IGFzc2lnbih7fSx7XHJcbiAgICBncmlkQ29sb3I6ICcjY2NjY2NjJyxcclxuICAgIGxhYmVsQ29sb3I6ICcjNjY2NjY2JyxcclxuICAgIG9wYWNpdHk6IDAuMixcclxuXHRcdGdyaWRDb3VudDozXHJcbiAgfSxvcHRzLmV4dHJhLnJhZGFyKTtcclxuICBcclxuICB2YXIgY29vcmRpbmF0ZUFuZ2xlID0gZ2V0UmFkYXJDb29yZGluYXRlU2VyaWVzKG9wdHMuY2F0ZWdvcmllcy5sZW5ndGgpO1xyXG4gIFxyXG4gIHZhciBjZW50ZXJQb3NpdGlvbiA9IHtcclxuICAgIHg6IG9wdHMuYXJlYVszXSArIChvcHRzLndpZHRoIC0gb3B0cy5hcmVhWzFdIC0gb3B0cy5hcmVhWzNdKSAvIDIsXHJcbiAgICB5OiBvcHRzLmFyZWFbMF0gKyAob3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMF0gLSBvcHRzLmFyZWFbMl0pIC8gMlxyXG4gIH07XHJcblxyXG4gIHZhciByYWRpdXMgPSBNYXRoLm1pbihjZW50ZXJQb3NpdGlvbi54IC0gKGdldE1heFRleHRMaXN0TGVuZ3RoKG9wdHMuY2F0ZWdvcmllcykgKyBjb25maWcucmFkYXJMYWJlbFRleHRNYXJnaW4pLFxyXG4gICAgY2VudGVyUG9zaXRpb24ueSAtIGNvbmZpZy5yYWRhckxhYmVsVGV4dE1hcmdpbik7XHJcbiAgLy9UT0RP6YC76L6R5LiN5a+5XHJcbiAgcmFkaXVzIC09IG9wdHMucGFkZGluZ1sxXTtcclxuXHJcbiAgLy8gZHJhdyBncmlkXHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKHJhZGFyT3B0aW9uLmdyaWRDb2xvcik7XHJcbiAgY29vcmRpbmF0ZUFuZ2xlLmZvckVhY2goZnVuY3Rpb24oYW5nbGUpIHtcclxuICAgIHZhciBwb3MgPSBjb252ZXJ0Q29vcmRpbmF0ZU9yaWdpbihyYWRpdXMgKiBNYXRoLmNvcyhhbmdsZSksIHJhZGl1cyAqIE1hdGguc2luKGFuZ2xlKSwgY2VudGVyUG9zaXRpb24pO1xyXG4gICAgY29udGV4dC5tb3ZlVG8oY2VudGVyUG9zaXRpb24ueCwgY2VudGVyUG9zaXRpb24ueSk7XHJcbiAgICBjb250ZXh0LmxpbmVUbyhwb3MueCwgcG9zLnkpO1xyXG4gIH0pO1xyXG4gIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAvLyBkcmF3IHNwbGl0IGxpbmUgZ3JpZFxyXG5cclxuICB2YXIgX2xvb3AgPSBmdW5jdGlvbiBfbG9vcChpKSB7XHJcbiAgICB2YXIgc3RhcnRQb3MgPSB7fTtcclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldExpbmVXaWR0aCgxICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUocmFkYXJPcHRpb24uZ3JpZENvbG9yKTtcclxuICAgIGNvb3JkaW5hdGVBbmdsZS5mb3JFYWNoKGZ1bmN0aW9uKGFuZ2xlLCBpbmRleCkge1xyXG4gICAgICB2YXIgcG9zID0gY29udmVydENvb3JkaW5hdGVPcmlnaW4ocmFkaXVzIC8gcmFkYXJPcHRpb24uZ3JpZENvdW50ICogaSAqIE1hdGguY29zKGFuZ2xlKSwgcmFkaXVzIC8gcmFkYXJPcHRpb24uZ3JpZENvdW50ICogaSAqIE1hdGguc2luKGFuZ2xlKSwgY2VudGVyUG9zaXRpb24pO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDApIHtcclxuICAgICAgICBzdGFydFBvcyA9IHBvcztcclxuICAgICAgICBjb250ZXh0Lm1vdmVUbyhwb3MueCwgcG9zLnkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnRleHQubGluZVRvKHBvcy54LCBwb3MueSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29udGV4dC5saW5lVG8oc3RhcnRQb3MueCwgc3RhcnRQb3MueSk7XHJcbiAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICB9O1xyXG5cclxuICBmb3IgKHZhciBpID0gMTsgaSA8PSByYWRhck9wdGlvbi5ncmlkQ291bnQ7IGkrKykge1xyXG4gICAgX2xvb3AoaSk7XHJcbiAgfVxyXG5cclxuICB2YXIgcmFkYXJEYXRhUG9pbnRzID0gZ2V0UmFkYXJEYXRhUG9pbnRzKGNvb3JkaW5hdGVBbmdsZSwgY2VudGVyUG9zaXRpb24sIHJhZGl1cywgc2VyaWVzLCBvcHRzLCBwcm9jZXNzKTtcclxuXHJcbiAgcmFkYXJEYXRhUG9pbnRzLmZvckVhY2goZnVuY3Rpb24oZWFjaFNlcmllcywgc2VyaWVzSW5kZXgpIHtcclxuICAgIC8vIOe7mOWItuWMuuWfn+aVsOaNrlxyXG4gICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGhleFRvUmdiKGVhY2hTZXJpZXMuY29sb3IsIHJhZGFyT3B0aW9uLm9wYWNpdHkpKTtcclxuICAgIGVhY2hTZXJpZXMuZGF0YS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0sIGluZGV4KSB7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xyXG4gICAgICAgIGNvbnRleHQubW92ZVRvKGl0ZW0ucG9zaXRpb24ueCwgaXRlbS5wb3NpdGlvbi55KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb250ZXh0LmxpbmVUbyhpdGVtLnBvc2l0aW9uLngsIGl0ZW0ucG9zaXRpb24ueSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIGNvbnRleHQuZmlsbCgpO1xyXG5cclxuICAgIGlmIChvcHRzLmRhdGFQb2ludFNoYXBlICE9PSBmYWxzZSkge1xyXG4gICAgICB2YXIgcG9pbnRzID0gZWFjaFNlcmllcy5kYXRhLm1hcChmdW5jdGlvbihpdGVtKSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0ucG9zaXRpb247XHJcbiAgICAgIH0pO1xyXG4gICAgICBkcmF3UG9pbnRTaGFwZShwb2ludHMsIGVhY2hTZXJpZXMuY29sb3IsIGVhY2hTZXJpZXMucG9pbnRTaGFwZSwgY29udGV4dCwgb3B0cyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgLy8gZHJhdyBsYWJlbCB0ZXh0XHJcbiAgZHJhd1JhZGFyTGFiZWwoY29vcmRpbmF0ZUFuZ2xlLCByYWRpdXMsIGNlbnRlclBvc2l0aW9uLCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgY2VudGVyOiBjZW50ZXJQb3NpdGlvbixcclxuICAgIHJhZGl1czogcmFkaXVzLFxyXG4gICAgYW5nbGVMaXN0OiBjb29yZGluYXRlQW5nbGVcclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBub3JtYWxJbnQobWluLCBtYXgsIGl0ZXIpIHtcclxuICAgIGl0ZXIgPSBpdGVyPT0wPzE6aXRlcjtcclxuICAgIHZhciBhcnIgPSBbXTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaXRlcjsgaSsrKSB7XHJcbiAgICAgICAgYXJyW2ldID0gTWF0aC5yYW5kb20oKTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gIE1hdGguZmxvb3IoYXJyLnJlZHVjZShmdW5jdGlvbihpLGope3JldHVybiBpK2p9KS9pdGVyKihtYXgtbWluKSkrbWluOyAgXHJcbn07XHJcblxyXG5mdW5jdGlvbiBjb2xsaXNpb25OZXcoYXJlYSxwb2ludHMsd2lkdGgsaGVpZ2h0KXtcclxuICAgIHZhciBpc0luPWZhbHNlO1xyXG4gICAgZm9yKGxldCBpPTA7aTxwb2ludHMubGVuZ3RoO2krKyl7XHJcbiAgICAgIGlmKHBvaW50c1tpXS5hcmVhKXtcclxuICAgICAgICBpZihhcmVhWzNdPHBvaW50c1tpXS5hcmVhWzFdfHxhcmVhWzBdPnBvaW50c1tpXS5hcmVhWzJdfHxhcmVhWzFdPnBvaW50c1tpXS5hcmVhWzNdfHxhcmVhWzJdPHBvaW50c1tpXS5hcmVhWzBdKXtcclxuICAgICAgICAgIGlmKGFyZWFbMF08MCB8fCBhcmVhWzFdPDAgfHwgYXJlYVsyXT53aWR0aCB8fCBhcmVhWzNdPmhlaWdodCl7XHJcbiAgICAgICAgICAgIGlzSW49dHJ1ZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgaXNJbj1mYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIGlzSW49dHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzSW47XHJcbn07XHJcblxyXG5mdW5jdGlvbiBnZXRCb3VuZGluZ0JveChkYXRhKSB7XHJcbiAgdmFyIGJvdW5kcyA9IHt9LCBjb29yZHM7XHJcbiAgYm91bmRzLnhNaW4gPSAxODA7XHJcbiAgYm91bmRzLnhNYXggPSAwO1xyXG4gIGJvdW5kcy55TWluID0gOTA7XHJcbiAgYm91bmRzLnlNYXggPSAwXHJcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHZhciBjb29yZGEgPSBkYXRhW2ldLmdlb21ldHJ5LmNvb3JkaW5hdGVzXHJcbiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgY29vcmRhLmxlbmd0aDsgaysrKSB7XHJcbiAgICAgICAgICBjb29yZHMgPSBjb29yZGFba107XHJcbiAgICAgICAgICBpZiAoY29vcmRzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgY29vcmRzID0gY29vcmRzWzBdXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGNvb3Jkcy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICAgIHZhciBsb25naXR1ZGUgPSBjb29yZHNbal1bMF07XHJcbiAgICAgICAgICAgICAgdmFyIGxhdGl0dWRlID0gY29vcmRzW2pdWzFdO1xyXG4gICAgICAgICAgICAgIHZhciBwb2ludCA9IHtcclxuICAgICAgICAgICAgICAgICAgeDogbG9uZ2l0dWRlLCBcclxuICAgICAgICAgICAgICAgICAgeTogbGF0aXR1ZGUgXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGJvdW5kcy54TWluID0gYm91bmRzLnhNaW4gPCBwb2ludC54ID8gYm91bmRzLnhNaW4gOiBwb2ludC54O1xyXG4gICAgICAgICAgICAgIGJvdW5kcy54TWF4ID0gYm91bmRzLnhNYXggPiBwb2ludC54ID8gYm91bmRzLnhNYXggOiBwb2ludC54O1xyXG4gICAgICAgICAgICAgIGJvdW5kcy55TWluID0gYm91bmRzLnlNaW4gPCBwb2ludC55ID8gYm91bmRzLnlNaW4gOiBwb2ludC55O1xyXG4gICAgICAgICAgICAgIGJvdW5kcy55TWF4ID0gYm91bmRzLnlNYXggPiBwb2ludC55ID8gYm91bmRzLnlNYXggOiBwb2ludC55O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBib3VuZHM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvb3JkaW5hdGVUb1BvaW50KGxhdGl0dWRlLCBsb25naXR1ZGUsYm91bmRzLHNjYWxlLHhvZmZzZXQseW9mZnNldCkge1xyXG4gIHJldHVybiB7XHJcbiAgICAgIHg6IChsb25naXR1ZGUgLSBib3VuZHMueE1pbikgKiBzY2FsZSt4b2Zmc2V0LFxyXG4gICAgICB5OiAoYm91bmRzLnlNYXggLSBsYXRpdHVkZSkgKiBzY2FsZSt5b2Zmc2V0XHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gcG9pbnRUb0Nvb3JkaW5hdGUocG9pbnRZLCBwb2ludFgsYm91bmRzLHNjYWxlLHhvZmZzZXQseW9mZnNldCkge1xyXG4gIHJldHVybiB7XHJcbiAgICAgIHg6IChwb2ludFgteG9mZnNldCkvc2NhbGUrYm91bmRzLnhNaW4sXHJcbiAgICAgIHk6IGJvdW5kcy55TWF4IC0gKHBvaW50WS15b2Zmc2V0KS9zY2FsZVxyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzUmF5SW50ZXJzZWN0c1NlZ21lbnQocG9pLHNfcG9pLGVfcG9pKXtcclxuICAgICAgaWYgKHNfcG9pWzFdPT1lX3BvaVsxXSl7cmV0dXJuIGZhbHNlO30gXHJcbiAgICAgIGlmIChzX3BvaVsxXT5wb2lbMV0gJiYgZV9wb2lbMV0+cG9pWzFdKXtyZXR1cm4gZmFsc2U7fVxyXG4gICAgICBpZiAoc19wb2lbMV08cG9pWzFdICYmIGVfcG9pWzFdPHBvaVsxXSl7cmV0dXJuIGZhbHNlO31cclxuICAgICAgaWYgKHNfcG9pWzFdPT1wb2lbMV0gJiYgZV9wb2lbMV0+cG9pWzFdKXtyZXR1cm4gZmFsc2U7fVxyXG4gICAgICBpZiAoZV9wb2lbMV09PXBvaVsxXSAmJiBzX3BvaVsxXT5wb2lbMV0pe3JldHVybiBmYWxzZTt9XHJcbiAgICAgIGlmIChzX3BvaVswXTxwb2lbMF0gJiYgZV9wb2lbMV08cG9pWzFdKXtyZXR1cm4gZmFsc2U7fVxyXG4gICAgICBsZXQgeHNlZz1lX3BvaVswXS0oZV9wb2lbMF0tc19wb2lbMF0pKihlX3BvaVsxXS1wb2lbMV0pLyhlX3BvaVsxXS1zX3BvaVsxXSk7IFxyXG4gICAgICBpZiAoeHNlZzxwb2lbMF0pe1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxufSBcclxuXHJcbmZ1bmN0aW9uIGlzUG9pV2l0aGluUG9seShwb2kscG9seSl7XHJcbiAgbGV0IHNpbnNjPTA7XHJcbiAgZm9yIChsZXQgaT0wO2k8cG9seS5sZW5ndGg7aSsrKXtcclxuICAgIGxldCBlcG9seT1wb2x5W2ldWzBdO1xyXG4gICAgaWYgKHBvbHkubGVuZ3RoID09IDEpIHtcclxuICAgICAgZXBvbHkgPSBwb2x5W2ldWzBdXHJcbiAgICB9XHJcbiAgICBmb3IobGV0IGo9MDtqPGVwb2x5Lmxlbmd0aC0xO2orKyl7XHJcbiAgICAgIGxldCBzX3BvaT1lcG9seVtqXTtcclxuICAgICAgbGV0IGVfcG9pPWVwb2x5W2orMV07XHJcbiAgICAgIGlmIChpc1JheUludGVyc2VjdHNTZWdtZW50KHBvaSxzX3BvaSxlX3BvaSkpe1xyXG4gICAgICAgIHNpbnNjKz0xO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGlmKHNpbnNjJTI9PTEpe1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfWVsc2V7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuZnVuY3Rpb24gZHJhd01hcERhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICB2YXIgbWFwT3B0aW9uPWFzc2lnbih7fSx7XHJcbiAgICBib3JkZXI6dHJ1ZSxcclxuICAgIGJvcmRlcldpZHRoOjEsXHJcbiAgICBib3JkZXJDb2xvcjonIzY2NjY2NicsXHJcbiAgICBmaWxsT3BhY2l0eTowLjYsXHJcbiAgICBhY3RpdmVCb3JkZXJDb2xvcjonI2YwNDg2NCcsXHJcbiAgICBhY3RpdmVGaWxsQ29sb3I6JyNmYWNjMTQnLFxyXG4gICAgYWN0aXZlRmlsbE9wYWNpdHk6MVxyXG4gIH0sb3B0cy5leHRyYS5tYXApO1xyXG4gIHZhciBjb29yZHMsIHBvaW50O1xyXG4gIHZhciBkYXRhID0gc2VyaWVzO1xyXG4gIHZhciBib3VuZHM9IGdldEJvdW5kaW5nQm94KGRhdGEpO1xyXG4gIHZhciB4U2NhbGUgPSBvcHRzLndpZHRoIC8gTWF0aC5hYnMoYm91bmRzLnhNYXggLSBib3VuZHMueE1pbik7XHJcbiAgdmFyIHlTY2FsZSA9IG9wdHMuaGVpZ2h0IC8gTWF0aC5hYnMoYm91bmRzLnlNYXggLSBib3VuZHMueU1pbik7XHJcbiAgdmFyIHNjYWxlID0geFNjYWxlIDwgeVNjYWxlID8geFNjYWxlIDogeVNjYWxlO1xyXG4gIHZhciB4b2Zmc2V0PW9wdHMud2lkdGgvMi1NYXRoLmFicyhib3VuZHMueE1heCAtIGJvdW5kcy54TWluKS8yKnNjYWxlO1xyXG4gIHZhciB5b2Zmc2V0PW9wdHMuaGVpZ2h0LzItTWF0aC5hYnMoYm91bmRzLnlNYXggLSBib3VuZHMueU1pbikvMipzY2FsZTtcclxuICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIG9wdHMud2lkdGgsIG9wdHMuaGVpZ2h0KTtcclxuICBjb250ZXh0LnNldEZpbGxTdHlsZShvcHRzLmJhY2tncm91bmR8fCcjRkZGRkZGJyk7XHJcbiAgY29udGV4dC5yZWN0KDAsMCxvcHRzLndpZHRoLG9wdHMuaGVpZ2h0KTtcclxuICBjb250ZXh0LmZpbGwoKTtcclxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICBjb250ZXh0LnNldExpbmVXaWR0aChtYXBPcHRpb24uYm9yZGVyV2lkdGggKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShtYXBPcHRpb24uYm9yZGVyQ29sb3IpO1xyXG4gICAgY29udGV4dC5zZXRGaWxsU3R5bGUoaGV4VG9SZ2Ioc2VyaWVzW2ldLmNvbG9yLCBtYXBPcHRpb24uZmlsbE9wYWNpdHkpKTtcclxuICAgIGlmIChvcHRzLnRvb2x0aXApIHtcclxuICAgICAgaWYgKG9wdHMudG9vbHRpcC5pbmRleCA9PSBpICkge1xyXG4gICAgICAgIGNvbnRleHQuc2V0U3Ryb2tlU3R5bGUobWFwT3B0aW9uLmFjdGl2ZUJvcmRlckNvbG9yKTtcclxuICAgICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShoZXhUb1JnYihtYXBPcHRpb24uYWN0aXZlRmlsbENvbG9yLCBtYXBPcHRpb24uYWN0aXZlRmlsbE9wYWNpdHkpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdmFyIGNvb3JkYSA9IGRhdGFbaV0uZ2VvbWV0cnkuY29vcmRpbmF0ZXNcclxuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgY29vcmRhLmxlbmd0aDsgaysrKSB7XHJcbiAgICAgIGNvb3JkcyA9IGNvb3JkYVtrXTtcclxuICAgICAgaWYgKGNvb3Jkcy5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGNvb3JkcyA9IGNvb3Jkc1swXVxyXG4gICAgICB9XHJcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgY29vcmRzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgcG9pbnQgPSBjb29yZGluYXRlVG9Qb2ludChjb29yZHNbal1bMV0sIGNvb3Jkc1tqXVswXSxib3VuZHMsc2NhbGUseG9mZnNldCx5b2Zmc2V0KVxyXG4gICAgICAgIGlmIChqID09PSAwKSB7XHJcbiAgICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgICAgY29udGV4dC5tb3ZlVG8ocG9pbnQueCwgcG9pbnQueSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHBvaW50LngsIHBvaW50LnkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgaWYobWFwT3B0aW9uLmJvcmRlciA9PSB0cnVlKXtcclxuICAgICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZihvcHRzLmRhdGFMYWJlbCA9PSB0cnVlKXtcclxuICAgICAgdmFyIGNlbnRlclBvaW50ID0gZGF0YVtpXS5wcm9wZXJ0aWVzLmNlbnRyb2lkO1xyXG4gICAgICBpZihjZW50ZXJQb2ludCl7XHJcbiAgICAgICAgcG9pbnQgPSBjb29yZGluYXRlVG9Qb2ludChjZW50ZXJQb2ludFsxXSwgY2VudGVyUG9pbnRbMF0sYm91bmRzLHNjYWxlLHhvZmZzZXQseW9mZnNldCk7XHJcbiAgICAgICAgbGV0IGZvbnRTaXplPWRhdGFbaV0udGV4dFNpemV8fGNvbmZpZy5mb250U2l6ZTtcclxuICAgICAgICBsZXQgdGV4dD1kYXRhW2ldLnByb3BlcnRpZXMubmFtZTtcclxuICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xyXG4gICAgICAgIGNvbnRleHQuc2V0Rm9udFNpemUoZm9udFNpemUpXHJcbiAgICAgICAgY29udGV4dC5zZXRGaWxsU3R5bGUoZGF0YVtpXS50ZXh0Q29sb3J8fCcjNjY2NjY2JylcclxuICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRleHQsIHBvaW50LngtbWVhc3VyZVRleHQodGV4dCxmb250U2l6ZSkvMiwgcG9pbnQueStmb250U2l6ZS8yKTtcclxuICAgICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb3B0cy5jaGFydERhdGEubWFwRGF0YT17XHJcbiAgICBib3VuZHM6Ym91bmRzLFxyXG4gICAgc2NhbGU6c2NhbGUsXHJcbiAgICB4b2Zmc2V0OnhvZmZzZXQsXHJcbiAgICB5b2Zmc2V0OnlvZmZzZXRcclxuICB9XHJcbiAgZHJhd1Rvb2xUaXBCcmlkZ2Uob3B0cywgY29uZmlnLCBjb250ZXh0LDEpO1xyXG4gIGNvbnRleHQuZHJhdygpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRXb3JkQ2xvdWRQb2ludChvcHRzLHR5cGUpe1xyXG4gIGxldCBwb2ludHMgPSBvcHRzLnNlcmllcy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIHBhcnNlSW50KGIudGV4dFNpemUpLXBhcnNlSW50KGEudGV4dFNpemUpO30pO1xyXG4gIHN3aXRjaCAodHlwZSkge1xyXG4gICAgY2FzZSAnbm9ybWFsJzpcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwb2ludHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBsZXQgdGV4dCA9IHBvaW50c1tpXS5uYW1lO1xyXG4gICAgICAgIGxldCB0SGVpZ2h0ID0gcG9pbnRzW2ldLnRleHRTaXplO1xyXG4gICAgICAgIGxldCB0V2lkdGggPSBtZWFzdXJlVGV4dCh0ZXh0LHRIZWlnaHQpO1xyXG4gICAgICAgIGxldCB4LHk7XHJcbiAgICAgICAgbGV0IGFyZWE7XHJcbiAgICAgICAgbGV0IGJyZWFrbnVtPTA7XHJcbiAgICAgICAgd2hpbGUodHJ1ZSkge1xyXG4gICAgICAgICAgICBicmVha251bSsrO1xyXG4gICAgICAgICAgICB4ID0gbm9ybWFsSW50KC1vcHRzLndpZHRoLzIsIG9wdHMud2lkdGgvMiw1KSAtIHRXaWR0aC8yO1xyXG4gICAgICAgICAgICB5ID0gbm9ybWFsSW50KC1vcHRzLmhlaWdodC8yLCBvcHRzLmhlaWdodC8yLDUpICsgdEhlaWdodC8yO1xyXG4gICAgICAgICAgICBhcmVhPVt4LTUrb3B0cy53aWR0aC8yLHktNS10SGVpZ2h0K29wdHMuaGVpZ2h0LzIseCt0V2lkdGgrNStvcHRzLndpZHRoLzIseSs1K29wdHMuaGVpZ2h0LzJdO1xyXG4gICAgICAgICAgICBsZXQgaXNDb2xsaXNpb24gPSBjb2xsaXNpb25OZXcoYXJlYSxwb2ludHMsb3B0cy53aWR0aCxvcHRzLmhlaWdodCk7XHJcbiAgICAgICAgICAgIGlmICghaXNDb2xsaXNpb24pIGJyZWFrO1xyXG4gICAgICAgICAgICBpZiAoYnJlYWtudW09PTEwMDApe1xyXG4gICAgICAgICAgICAgIGFyZWE9Wy0xMDAsLTEwMCwtMTAwLC0xMDBdO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgICBwb2ludHNbaV0uYXJlYT1hcmVhO1xyXG4gICAgICB9XHJcbiAgICBicmVhaztcclxuICAgIGNhc2UgJ3ZlcnRpY2FsJzpcclxuICAgICAgZnVuY3Rpb24gU3Bpbigpe1xyXG4gICAgICAgIC8v6I635Y+W5Z2H5YyA6ZqP5py65YC877yM5piv5ZCm5peL6L2s77yM5peL6L2s55qE5qaC546H5Li677yIMS0wLjXvvIlcclxuICAgICAgICBpZiAoTWF0aC5yYW5kb20oKT4wLjcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfWVsc2Uge3JldHVybiBmYWxzZX07XHJcbiAgICAgIH07XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7IFxyXG4gICAgICAgIGxldCB0ZXh0ID0gcG9pbnRzW2ldLm5hbWU7XHJcbiAgICAgICAgbGV0IHRIZWlnaHQgPSBwb2ludHNbaV0udGV4dFNpemU7XHJcbiAgICAgICAgbGV0IHRXaWR0aCA9IG1lYXN1cmVUZXh0KHRleHQsdEhlaWdodCk7XHJcbiAgICAgICAgbGV0IGlzU3BpbiA9IFNwaW4oKTsgXHJcbiAgICAgICAgbGV0IHgseSxhcmVhLGFyZWF2O1xyXG4gICAgICAgIGxldCBicmVha251bT0wO1xyXG4gICAgICAgIHdoaWxlKHRydWUpIHtcclxuICAgICAgICAgIGJyZWFrbnVtKys7XHJcbiAgICAgICAgICBsZXQgaXNDb2xsaXNpb247XHJcbiAgICAgICAgICBpZiAoaXNTcGluKSB7XHJcbiAgICAgICAgICAgICAgeCA9IG5vcm1hbEludCgtb3B0cy53aWR0aC8yLCBvcHRzLndpZHRoLzIsNSkgLSB0V2lkdGgvMjtcclxuICAgICAgICAgICAgICB5ID0gbm9ybWFsSW50KC1vcHRzLmhlaWdodC8yLCBvcHRzLmhlaWdodC8yLDUpK3RIZWlnaHQvMjtcclxuICAgICAgICAgICAgICBhcmVhPVt5LTUtdFdpZHRoK29wdHMud2lkdGgvMiwoLXgtNStvcHRzLmhlaWdodC8yKSx5KzUrb3B0cy53aWR0aC8yLCgteCt0SGVpZ2h0KzUrb3B0cy5oZWlnaHQvMildO1xyXG4gICAgICAgICAgICAgIGFyZWF2PVtvcHRzLndpZHRoLShvcHRzLndpZHRoLzItb3B0cy5oZWlnaHQvMiktKC14K3RIZWlnaHQrNStvcHRzLmhlaWdodC8yKS01LChvcHRzLmhlaWdodC8yLW9wdHMud2lkdGgvMikrKHktNS10V2lkdGgrb3B0cy53aWR0aC8yKS01LG9wdHMud2lkdGgtKG9wdHMud2lkdGgvMi1vcHRzLmhlaWdodC8yKS0oLXgrdEhlaWdodCs1K29wdHMuaGVpZ2h0LzIpK3RIZWlnaHQsKG9wdHMuaGVpZ2h0LzItb3B0cy53aWR0aC8yKSsoeS01LXRXaWR0aCtvcHRzLndpZHRoLzIpK3RXaWR0aCs1XTtcclxuICAgICAgICAgICAgICBpc0NvbGxpc2lvbiA9IGNvbGxpc2lvbk5ldyhhcmVhdixwb2ludHMsb3B0cy5oZWlnaHQsb3B0cy53aWR0aCk7XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgeCA9IG5vcm1hbEludCgtb3B0cy53aWR0aC8yLCBvcHRzLndpZHRoLzIsNSkgLSB0V2lkdGgvMjtcclxuICAgICAgICAgICAgeSA9IG5vcm1hbEludCgtb3B0cy5oZWlnaHQvMiwgb3B0cy5oZWlnaHQvMiw1KSt0SGVpZ2h0LzI7XHJcbiAgICAgICAgICAgIGFyZWE9W3gtNStvcHRzLndpZHRoLzIseS01LXRIZWlnaHQrb3B0cy5oZWlnaHQvMix4K3RXaWR0aCs1K29wdHMud2lkdGgvMix5KzUrb3B0cy5oZWlnaHQvMl07XHJcbiAgICAgICAgICAgIGlzQ29sbGlzaW9uID0gY29sbGlzaW9uTmV3KGFyZWEscG9pbnRzLG9wdHMud2lkdGgsb3B0cy5oZWlnaHQpO1xyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIGlmICghaXNDb2xsaXNpb24pIGJyZWFrO1xyXG4gICAgICAgICAgaWYgKGJyZWFrbnVtPT0xMDAwKXtcclxuICAgICAgICAgICAgYXJlYT1bLTEwMDAsLTEwMDAsLTEwMDAsLTEwMDBdO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChpc1NwaW4pIHtcclxuICAgICAgICAgIHBvaW50c1tpXS5hcmVhPWFyZWF2O1xyXG4gICAgICAgICAgcG9pbnRzW2ldLmFyZWF2PWFyZWE7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBwb2ludHNbaV0uYXJlYT1hcmVhO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwb2ludHNbaV0ucm90YXRlPWlzU3BpbjtcclxuICAgICAgfTtcclxuICAgIGJyZWFrO1xyXG4gIH1cclxuICByZXR1cm4gcG9pbnRzO1xyXG59XHJcblxyXG5cclxuZnVuY3Rpb24gZHJhd1dvcmRDbG91ZERhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICBsZXQgcHJvY2VzcyA9IGFyZ3VtZW50cy5sZW5ndGggPiA0ICYmIGFyZ3VtZW50c1s0XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzRdIDogMTtcclxuICBsZXQgd29yZE9wdGlvbiA9IGFzc2lnbih7fSx7XHJcbiAgICB0eXBlOiAnbm9ybWFsJyxcclxuICAgIGF1dG9Db2xvcnM6IHRydWVcclxuICB9LG9wdHMuZXh0cmEud29yZCk7XHJcbiAgXHJcbiAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICBjb250ZXh0LnNldEZpbGxTdHlsZShvcHRzLmJhY2tncm91bmR8fCcjRkZGRkZGJyk7XHJcbiAgY29udGV4dC5yZWN0KDAsMCxvcHRzLndpZHRoLG9wdHMuaGVpZ2h0KTtcclxuICBjb250ZXh0LmZpbGwoKTtcclxuICBjb250ZXh0LnNhdmUoKTtcclxuICBsZXQgcG9pbnRzID0gb3B0cy5jaGFydERhdGEud29yZENsb3VkRGF0YTtcclxuICBjb250ZXh0LnRyYW5zbGF0ZShvcHRzLndpZHRoLzIsb3B0cy5oZWlnaHQvMik7XHJcbiAgXHJcbiAgZm9yKGxldCBpPTA7aTxwb2ludHMubGVuZ3RoO2krKyl7XHJcbiAgICAgIGNvbnRleHQuc2F2ZSgpO1xyXG4gICAgICBpZihwb2ludHNbaV0ucm90YXRlKXtcclxuICAgICAgICBjb250ZXh0LnJvdGF0ZSg5MCAqIE1hdGguUEkgLyAxODApO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCB0ZXh0ID0gcG9pbnRzW2ldLm5hbWU7XHJcbiAgICAgIGxldCB0SGVpZ2h0ID0gcG9pbnRzW2ldLnRleHRTaXplO1xyXG4gICAgICBsZXQgdFdpZHRoID0gbWVhc3VyZVRleHQodGV4dCx0SGVpZ2h0KTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShwb2ludHNbaV0uY29sb3IpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShwb2ludHNbaV0uY29sb3IpO1xyXG4gICAgICBjb250ZXh0LnNldEZvbnRTaXplKHRIZWlnaHQpO1xyXG4gICAgICBpZihwb2ludHNbaV0ucm90YXRlKXtcclxuICAgICAgICBpZihwb2ludHNbaV0uYXJlYXZbMF0+MCl7XHJcbiAgICAgICAgICBpZiAob3B0cy50b29sdGlwKSB7XHJcbiAgICAgICAgICAgIGlmIChvcHRzLnRvb2x0aXAuaW5kZXggPT0gaSkge1xyXG4gICAgICAgICAgICAgIGNvbnRleHQuc3Ryb2tlVGV4dCh0ZXh0LChwb2ludHNbaV0uYXJlYXZbMF0rNS1vcHRzLndpZHRoLzIpKnByb2Nlc3MtdFdpZHRoKigxLXByb2Nlc3MpLzIsKHBvaW50c1tpXS5hcmVhdlsxXSs1K3RIZWlnaHQtb3B0cy5oZWlnaHQvMikqcHJvY2Vzcyk7XHJcbiAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRleHQsKHBvaW50c1tpXS5hcmVhdlswXSs1LW9wdHMud2lkdGgvMikqcHJvY2Vzcy10V2lkdGgqKDEtcHJvY2VzcykvMiwocG9pbnRzW2ldLmFyZWF2WzFdKzUrdEhlaWdodC1vcHRzLmhlaWdodC8yKSpwcm9jZXNzKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgY29udGV4dC5maWxsVGV4dCh0ZXh0LChwb2ludHNbaV0uYXJlYXZbMF0rNS1vcHRzLndpZHRoLzIpKnByb2Nlc3MtdFdpZHRoKigxLXByb2Nlc3MpLzIsKHBvaW50c1tpXS5hcmVhdlsxXSs1K3RIZWlnaHQtb3B0cy5oZWlnaHQvMikqcHJvY2Vzcyk7XHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgaWYocG9pbnRzW2ldLmFyZWFbMF0+MCl7XHJcbiAgICAgICAgICBpZiAob3B0cy50b29sdGlwKSB7XHJcbiAgICAgICAgICAgIGlmIChvcHRzLnRvb2x0aXAuaW5kZXggPT0gaSkge1xyXG4gICAgICAgICAgICAgIGNvbnRleHQuc3Ryb2tlVGV4dCh0ZXh0LChwb2ludHNbaV0uYXJlYVswXSs1LW9wdHMud2lkdGgvMikqcHJvY2Vzcy10V2lkdGgqKDEtcHJvY2VzcykvMiwocG9pbnRzW2ldLmFyZWFbMV0rNSt0SGVpZ2h0LW9wdHMuaGVpZ2h0LzIpKnByb2Nlc3MpO1xyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRleHQsKHBvaW50c1tpXS5hcmVhWzBdKzUtb3B0cy53aWR0aC8yKSpwcm9jZXNzLXRXaWR0aCooMS1wcm9jZXNzKS8yLChwb2ludHNbaV0uYXJlYVsxXSs1K3RIZWlnaHQtb3B0cy5oZWlnaHQvMikqcHJvY2Vzcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBjb250ZXh0LmZpbGxUZXh0KHRleHQsKHBvaW50c1tpXS5hcmVhWzBdKzUtb3B0cy53aWR0aC8yKSpwcm9jZXNzLXRXaWR0aCooMS1wcm9jZXNzKS8yLChwb2ludHNbaV0uYXJlYVsxXSs1K3RIZWlnaHQtb3B0cy5oZWlnaHQvMikqcHJvY2Vzcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgY29udGV4dC5yZXN0b3JlKCk7XHJcbiAgfVxyXG4gIGNvbnRleHQucmVzdG9yZSgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkcmF3RnVubmVsRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCkge1xyXG4gIGxldCBwcm9jZXNzID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiAxO1xyXG4gIGxldCBmdW5uZWxPcHRpb24gPSBhc3NpZ24oe30se1xyXG4gICAgYWN0aXZlV2lkdGg6MTAsXHJcbiAgICBhY3RpdmVPcGFjaXR5OjAuMyxcclxuICAgIGJvcmRlcjpmYWxzZSxcclxuICAgIGJvcmRlcldpZHRoOjIsXHJcbiAgICBib3JkZXJDb2xvcjonI0ZGRkZGRicsXHJcbiAgICBmaWxsT3BhY2l0eToxLFxyXG4gICAgbGFiZWxBbGlnbjoncmlnaHQnXHJcbiAgfSxvcHRzLmV4dHJhLmZ1bm5lbCk7XHJcbiAgbGV0IGVhY2hTcGFjaW5nID0gKG9wdHMuaGVpZ2h0IC0gb3B0cy5hcmVhWzBdIC0gb3B0cy5hcmVhWzJdKS9zZXJpZXMubGVuZ3RoO1xyXG4gIGxldCBjZW50ZXJQb3NpdGlvbiA9IHtcclxuICAgIHg6IG9wdHMuYXJlYVszXSArIChvcHRzLndpZHRoIC0gb3B0cy5hcmVhWzFdIC0gb3B0cy5hcmVhWzNdKSAvIDIsXHJcbiAgICB5OiBvcHRzLmhlaWdodC1vcHRzLmFyZWFbMl1cclxuICB9O1xyXG4gIGxldCBhY3RpdmVXaWR0aCA9IGZ1bm5lbE9wdGlvbi5hY3RpdmVXaWR0aDtcclxuICBsZXQgcmFkaXVzID0gTWF0aC5taW4oKG9wdHMud2lkdGggLSBvcHRzLmFyZWFbMV0gLSBvcHRzLmFyZWFbM10pIC8gMiAtIGFjdGl2ZVdpZHRoLCAob3B0cy5oZWlnaHQgLSBvcHRzLmFyZWFbMF0gLSBvcHRzLmFyZWFbMl0pIC8gMiAtIGFjdGl2ZVdpZHRoKTtcclxuICBzZXJpZXMgPSBnZXRGdW5uZWxEYXRhUG9pbnRzKHNlcmllcywgcmFkaXVzLCBwcm9jZXNzKTtcclxuICBjb250ZXh0LnNhdmUoKTtcclxuICBjb250ZXh0LnRyYW5zbGF0ZShjZW50ZXJQb3NpdGlvbi54LGNlbnRlclBvc2l0aW9uLnkpO1xyXG4gIGZvcihsZXQgaT0wO2k8c2VyaWVzLmxlbmd0aDtpKyspe1xyXG4gICAgaWYoaT09MCl7XHJcbiAgICAgIGlmIChvcHRzLnRvb2x0aXApIHtcclxuICAgICAgICBpZiAob3B0cy50b29sdGlwLmluZGV4ID09IGkpIHtcclxuICAgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShoZXhUb1JnYihzZXJpZXNbaV0uY29sb3IsIGZ1bm5lbE9wdGlvbi5hY3RpdmVPcGFjaXR5KSk7XHJcbiAgICAgICAgICBjb250ZXh0Lm1vdmVUbygtYWN0aXZlV2lkdGgsIDApO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oLXNlcmllc1tpXS5yYWRpdXMtYWN0aXZlV2lkdGgsIC1lYWNoU3BhY2luZyk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzZXJpZXNbaV0ucmFkaXVzK2FjdGl2ZVdpZHRoLCAtZWFjaFNwYWNpbmcpO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oYWN0aXZlV2lkdGgsIDApO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oLWFjdGl2ZVdpZHRoLCAwKTtcclxuICAgICAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc2VyaWVzW2ldLmZ1bm5lbEFyZWE9W2NlbnRlclBvc2l0aW9uLngtc2VyaWVzW2ldLnJhZGl1cyxjZW50ZXJQb3NpdGlvbi55LWVhY2hTcGFjaW5nLGNlbnRlclBvc2l0aW9uLngrc2VyaWVzW2ldLnJhZGl1cyxjZW50ZXJQb3NpdGlvbi55XTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRMaW5lV2lkdGgoZnVubmVsT3B0aW9uLmJvcmRlcldpZHRoICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShmdW5uZWxPcHRpb24uYm9yZGVyQ29sb3IpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShoZXhUb1JnYihzZXJpZXNbaV0uY29sb3IsIGZ1bm5lbE9wdGlvbi5maWxsT3BhY2l0eSkpO1xyXG4gICAgICBjb250ZXh0Lm1vdmVUbygwLCAwKTtcclxuICAgICAgY29udGV4dC5saW5lVG8oLXNlcmllc1tpXS5yYWRpdXMsIC1lYWNoU3BhY2luZyk7XHJcbiAgICAgIGNvbnRleHQubGluZVRvKHNlcmllc1tpXS5yYWRpdXMsIC1lYWNoU3BhY2luZyk7XHJcbiAgICAgIGNvbnRleHQubGluZVRvKDAsIDApO1xyXG4gICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgaWYoZnVubmVsT3B0aW9uLmJvcmRlciA9PSB0cnVlKXtcclxuICAgICAgICBjb250ZXh0LnN0cm9rZSgpO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgaWYgKG9wdHMudG9vbHRpcCkge1xyXG4gICAgICAgIGlmIChvcHRzLnRvb2x0aXAuaW5kZXggPT0gaSkge1xyXG4gICAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGhleFRvUmdiKHNlcmllc1tpXS5jb2xvciwgZnVubmVsT3B0aW9uLmFjdGl2ZU9wYWNpdHkpKTtcclxuICAgICAgICAgIGNvbnRleHQubW92ZVRvKDAsIDApO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oLXNlcmllc1tpLTFdLnJhZGl1cy1hY3RpdmVXaWR0aCwgMCk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbygtc2VyaWVzW2ldLnJhZGl1cy1hY3RpdmVXaWR0aCwgLWVhY2hTcGFjaW5nKTtcclxuICAgICAgICAgIGNvbnRleHQubGluZVRvKHNlcmllc1tpXS5yYWRpdXMrYWN0aXZlV2lkdGgsIC1lYWNoU3BhY2luZyk7XHJcbiAgICAgICAgICBjb250ZXh0LmxpbmVUbyhzZXJpZXNbaS0xXS5yYWRpdXMrYWN0aXZlV2lkdGgsIDApO1xyXG4gICAgICAgICAgY29udGV4dC5saW5lVG8oMCwgMCk7XHJcbiAgICAgICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICAgICAgY29udGV4dC5maWxsKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHNlcmllc1tpXS5mdW5uZWxBcmVhPVtjZW50ZXJQb3NpdGlvbi54LXNlcmllc1tpXS5yYWRpdXMsY2VudGVyUG9zaXRpb24ueS1lYWNoU3BhY2luZyooaSsxKSxjZW50ZXJQb3NpdGlvbi54K3Nlcmllc1tpXS5yYWRpdXMsY2VudGVyUG9zaXRpb24ueS1lYWNoU3BhY2luZyppXTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRMaW5lV2lkdGgoZnVubmVsT3B0aW9uLmJvcmRlcldpZHRoICogb3B0cy5waXhlbFJhdGlvKTtcclxuICAgICAgY29udGV4dC5zZXRTdHJva2VTdHlsZShmdW5uZWxPcHRpb24uYm9yZGVyQ29sb3IpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShoZXhUb1JnYihzZXJpZXNbaV0uY29sb3IsIGZ1bm5lbE9wdGlvbi5maWxsT3BhY2l0eSkpO1xyXG4gICAgICBjb250ZXh0Lm1vdmVUbygwLCAwKTtcclxuICAgICAgY29udGV4dC5saW5lVG8oLXNlcmllc1tpLTFdLnJhZGl1cywgMCk7XHJcbiAgICAgIGNvbnRleHQubGluZVRvKC1zZXJpZXNbaV0ucmFkaXVzLCAtZWFjaFNwYWNpbmcpO1xyXG4gICAgICBjb250ZXh0LmxpbmVUbyhzZXJpZXNbaV0ucmFkaXVzLCAtZWFjaFNwYWNpbmcpO1xyXG4gICAgICBjb250ZXh0LmxpbmVUbyhzZXJpZXNbaS0xXS5yYWRpdXMsIDApO1xyXG4gICAgICBjb250ZXh0LmxpbmVUbygwLCAwKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgY29udGV4dC5maWxsKCk7XHJcbiAgICAgIGlmKGZ1bm5lbE9wdGlvbi5ib3JkZXIgPT0gdHJ1ZSl7XHJcbiAgICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29udGV4dC50cmFuc2xhdGUoMCwtZWFjaFNwYWNpbmcpXHJcbiAgfVxyXG4gIGNvbnRleHQucmVzdG9yZSgpO1xyXG4gIFxyXG4gIGlmIChvcHRzLmRhdGFMYWJlbCAhPT0gZmFsc2UgJiYgcHJvY2VzcyA9PT0gMSkge1xyXG4gICAgZHJhd0Z1bm5lbFRleHQoc2VyaWVzLCBvcHRzLCBjb250ZXh0LCBlYWNoU3BhY2luZywgZnVubmVsT3B0aW9uLmxhYmVsQWxpZ24sIGFjdGl2ZVdpZHRoLCBjZW50ZXJQb3NpdGlvbik7XHJcbiAgfVxyXG4gIFxyXG4gIHJldHVybiB7XHJcbiAgICBjZW50ZXI6IGNlbnRlclBvc2l0aW9uLFxyXG4gICAgcmFkaXVzOiByYWRpdXMsXHJcbiAgICBzZXJpZXM6IHNlcmllc1xyXG4gIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRyYXdGdW5uZWxUZXh0KHNlcmllcywgb3B0cywgY29udGV4dCwgZWFjaFNwYWNpbmcsIGxhYmVsQWxpZ24sYWN0aXZlV2lkdGgsIGNlbnRlclBvc2l0aW9uKXtcclxuICBmb3IobGV0IGk9MDtpPHNlcmllcy5sZW5ndGg7aSsrKXtcclxuICAgIGxldCBpdGVtID0gc2VyaWVzW2ldO1xyXG4gICAgbGV0IHN0YXJ0WCxlbmRYLHN0YXJ0WSxmb250U2l6ZTtcclxuICAgIGxldCB0ZXh0ID0gaXRlbS5mb3JtYXQgPyBpdGVtLmZvcm1hdCgraXRlbS5fcHJvcG9ydGlvbl8udG9GaXhlZCgyKSkgOiB1dGlsLnRvRml4ZWQoaXRlbS5fcHJvcG9ydGlvbl8gKiAxMDApICsnJSc7XHJcbiAgICBpZihsYWJlbEFsaWduID09ICdyaWdodCcpe1xyXG4gICAgICBpZihpPT0wKXtcclxuICAgICAgICBzdGFydFg9KGl0ZW0uZnVubmVsQXJlYVsyXStjZW50ZXJQb3NpdGlvbi54KS8yO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBzdGFydFg9KGl0ZW0uZnVubmVsQXJlYVsyXStzZXJpZXNbaS0xXS5mdW5uZWxBcmVhWzJdKS8yO1xyXG4gICAgICB9XHJcbiAgICAgIGVuZFg9c3RhcnRYK2FjdGl2ZVdpZHRoKjI7XHJcbiAgICAgIHN0YXJ0WT1pdGVtLmZ1bm5lbEFyZWFbMV0rZWFjaFNwYWNpbmcvMjtcclxuICAgICAgZm9udFNpemUgPSBpdGVtLnRleHRTaXplIHx8IG9wdHMuZm9udFNpemU7XHJcbiAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGl0ZW0uY29sb3IpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShpdGVtLmNvbG9yKTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLHN0YXJ0WSApO1xyXG4gICAgICBjb250ZXh0LmxpbmVUbyhlbmRYLHN0YXJ0WSk7XHJcbiAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgIGNvbnRleHQubW92ZVRvKGVuZFgsIHN0YXJ0WSk7XHJcbiAgICAgIGNvbnRleHQuYXJjKGVuZFgsIHN0YXJ0WSwgMiwgMCwgMiAqIE1hdGguUEkpO1xyXG4gICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRGb250U2l6ZShmb250U2l6ZSk7XHJcbiAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0udGV4dENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICAgIGNvbnRleHQuZmlsbFRleHQodGV4dCwgZW5kWCs1LCBzdGFydFkgKyBmb250U2l6ZS8yIC0yKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICBpZihpPT0wKXtcclxuICAgICAgICBzdGFydFg9KGl0ZW0uZnVubmVsQXJlYVswXStjZW50ZXJQb3NpdGlvbi54KS8yO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBzdGFydFg9KGl0ZW0uZnVubmVsQXJlYVswXStzZXJpZXNbaS0xXS5mdW5uZWxBcmVhWzBdKS8yO1xyXG4gICAgICB9XHJcbiAgICAgIGVuZFg9c3RhcnRYLWFjdGl2ZVdpZHRoKjI7XHJcbiAgICAgIHN0YXJ0WT1pdGVtLmZ1bm5lbEFyZWFbMV0rZWFjaFNwYWNpbmcvMjtcclxuICAgICAgZm9udFNpemUgPSBpdGVtLnRleHRTaXplIHx8IG9wdHMuZm9udFNpemU7XHJcbiAgICAgIGNvbnRleHQuc2V0TGluZVdpZHRoKDEgKiBvcHRzLnBpeGVsUmF0aW8pO1xyXG4gICAgICBjb250ZXh0LnNldFN0cm9rZVN0eWxlKGl0ZW0uY29sb3IpO1xyXG4gICAgICBjb250ZXh0LnNldEZpbGxTdHlsZShpdGVtLmNvbG9yKTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5tb3ZlVG8oc3RhcnRYLHN0YXJ0WSApO1xyXG4gICAgICBjb250ZXh0LmxpbmVUbyhlbmRYLHN0YXJ0WSk7XHJcbiAgICAgIGNvbnRleHQuc3Ryb2tlKCk7XHJcbiAgICAgIGNvbnRleHQuY2xvc2VQYXRoKCk7XHJcbiAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7XHJcbiAgICAgIGNvbnRleHQubW92ZVRvKGVuZFgsIHN0YXJ0WSk7XHJcbiAgICAgIGNvbnRleHQuYXJjKGVuZFgsIHN0YXJ0WSwgMiwgMCwgMiAqIE1hdGguUEkpO1xyXG4gICAgICBjb250ZXh0LmNsb3NlUGF0aCgpO1xyXG4gICAgICBjb250ZXh0LmZpbGwoKTtcclxuICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcclxuICAgICAgY29udGV4dC5zZXRGb250U2l6ZShmb250U2l6ZSk7XHJcbiAgICAgIGNvbnRleHQuc2V0RmlsbFN0eWxlKGl0ZW0udGV4dENvbG9yIHx8ICcjNjY2NjY2Jyk7XHJcbiAgICAgIGNvbnRleHQuZmlsbFRleHQodGV4dCwgZW5kWC01LW1lYXN1cmVUZXh0KHRleHQpLCBzdGFydFkgKyBmb250U2l6ZS8yIC0yKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgICAgY29udGV4dC5zdHJva2UoKTtcclxuICAgICAgY29udGV4dC5jbG9zZVBhdGgoKTtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuXHJcbmZ1bmN0aW9uIGRyYXdDYW52YXMob3B0cywgY29udGV4dCkge1xyXG4gIGNvbnRleHQuZHJhdygpO1xyXG59XHJcblxyXG52YXIgVGltaW5nID0ge1xyXG4gIGVhc2VJbjogZnVuY3Rpb24gZWFzZUluKHBvcykge1xyXG4gICAgcmV0dXJuIE1hdGgucG93KHBvcywgMyk7XHJcbiAgfSxcclxuICBlYXNlT3V0OiBmdW5jdGlvbiBlYXNlT3V0KHBvcykge1xyXG4gICAgcmV0dXJuIE1hdGgucG93KHBvcyAtIDEsIDMpICsgMTtcclxuICB9LFxyXG4gIGVhc2VJbk91dDogZnVuY3Rpb24gZWFzZUluT3V0KHBvcykge1xyXG4gICAgaWYgKChwb3MgLz0gMC41KSA8IDEpIHtcclxuICAgICAgcmV0dXJuIDAuNSAqIE1hdGgucG93KHBvcywgMyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gMC41ICogKE1hdGgucG93KHBvcyAtIDIsIDMpICsgMik7XHJcbiAgICB9XHJcbiAgfSxcclxuICBsaW5lYXI6IGZ1bmN0aW9uIGxpbmVhcihwb3MpIHtcclxuICAgIHJldHVybiBwb3M7XHJcbiAgfVxyXG59O1xyXG5cclxuZnVuY3Rpb24gQW5pbWF0aW9uKG9wdHMpIHtcclxuICB0aGlzLmlzU3RvcCA9IGZhbHNlO1xyXG4gIG9wdHMuZHVyYXRpb24gPSB0eXBlb2Ygb3B0cy5kdXJhdGlvbiA9PT0gJ3VuZGVmaW5lZCcgPyAxMDAwIDogb3B0cy5kdXJhdGlvbjtcclxuICBvcHRzLnRpbWluZyA9IG9wdHMudGltaW5nIHx8ICdsaW5lYXInO1xyXG4gIHZhciBkZWxheSA9IDE3O1xyXG5cclxuICBmdW5jdGlvbiBjcmVhdGVBbmltYXRpb25GcmFtZSgpIHtcclxuICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHN0ZXAsIGRlbGF5KSB7XHJcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuICAgICAgICAgIHZhciB0aW1lU3RhbXAgPSArbmV3IERhdGUoKTtcclxuICAgICAgICAgIHN0ZXAodGltZVN0YW1wKTtcclxuICAgICAgICB9LCBkZWxheSk7XHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHJldHVybiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZnVuY3Rpb24oc3RlcCkge1xyXG4gICAgICAgIHN0ZXAobnVsbCk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfTtcclxuICB2YXIgYW5pbWF0aW9uRnJhbWUgPSBjcmVhdGVBbmltYXRpb25GcmFtZSgpO1xyXG4gIHZhciBzdGFydFRpbWVTdGFtcCA9IG51bGw7XHJcbiAgdmFyIF9zdGVwID0gZnVuY3Rpb24gc3RlcCh0aW1lc3RhbXApIHtcclxuICAgIGlmICh0aW1lc3RhbXAgPT09IG51bGwgfHwgdGhpcy5pc1N0b3AgPT09IHRydWUpIHtcclxuICAgICAgb3B0cy5vblByb2Nlc3MgJiYgb3B0cy5vblByb2Nlc3MoMSk7XHJcbiAgICAgIG9wdHMub25BbmltYXRpb25GaW5pc2ggJiYgb3B0cy5vbkFuaW1hdGlvbkZpbmlzaCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoc3RhcnRUaW1lU3RhbXAgPT09IG51bGwpIHtcclxuICAgICAgc3RhcnRUaW1lU3RhbXAgPSB0aW1lc3RhbXA7XHJcbiAgICB9XHJcbiAgICBpZiAodGltZXN0YW1wIC0gc3RhcnRUaW1lU3RhbXAgPCBvcHRzLmR1cmF0aW9uKSB7XHJcbiAgICAgIHZhciBwcm9jZXNzID0gKHRpbWVzdGFtcCAtIHN0YXJ0VGltZVN0YW1wKSAvIG9wdHMuZHVyYXRpb247XHJcbiAgICAgIHZhciB0aW1pbmdGdW5jdGlvbiA9IFRpbWluZ1tvcHRzLnRpbWluZ107XHJcbiAgICAgIHByb2Nlc3MgPSB0aW1pbmdGdW5jdGlvbihwcm9jZXNzKTtcclxuXHJcbiAgICAgIG9wdHMub25Qcm9jZXNzICYmIG9wdHMub25Qcm9jZXNzKHByb2Nlc3MpO1xyXG4gICAgICBhbmltYXRpb25GcmFtZShfc3RlcCwgZGVsYXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3B0cy5vblByb2Nlc3MgJiYgb3B0cy5vblByb2Nlc3MoMSk7XHJcbiAgICAgIG9wdHMub25BbmltYXRpb25GaW5pc2ggJiYgb3B0cy5vbkFuaW1hdGlvbkZpbmlzaCgpO1xyXG4gICAgfVxyXG4gIH07XHJcbiAgX3N0ZXAgPSBfc3RlcC5iaW5kKHRoaXMpO1xyXG4gIGFuaW1hdGlvbkZyYW1lKF9zdGVwLCBkZWxheSk7XHJcbn1cclxuXHJcbi8vIHN0b3AgYW5pbWF0aW9uIGltbWVkaWF0ZWx5XHJcbi8vIGFuZCB0aWdnZXIgb25BbmltYXRpb25GaW5pc2hcclxuQW5pbWF0aW9uLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7XHJcbiAgdGhpcy5pc1N0b3AgPSB0cnVlO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gZHJhd0NoYXJ0cyh0eXBlLCBvcHRzLCBjb25maWcsIGNvbnRleHQpIHtcclxuICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gIHZhciBzZXJpZXMgPSBvcHRzLnNlcmllcztcclxuICB2YXIgY2F0ZWdvcmllcyA9IG9wdHMuY2F0ZWdvcmllcztcclxuICBzZXJpZXMgPSBmaWxsU2VyaWVzKHNlcmllcywgb3B0cywgY29uZmlnKTtcclxuICB2YXIgZHVyYXRpb24gPSBvcHRzLmFuaW1hdGlvbiA/IG9wdHMuZHVyYXRpb24gOiAwO1xyXG4gIF90aGlzLmFuaW1hdGlvbkluc3RhbmNlICYmIF90aGlzLmFuaW1hdGlvbkluc3RhbmNlLnN0b3AoKTtcclxuICB2YXIgc2VyaWVzTUEgPSBudWxsO1xyXG4gIGlmICh0eXBlID09ICdjYW5kbGUnKSB7XHJcbiAgICBsZXQgYXZlcmFnZSA9IGFzc2lnbih7fSwgb3B0cy5leHRyYS5jYW5kbGUuYXZlcmFnZSk7XHJcbiAgICBpZiAoYXZlcmFnZS5zaG93KSB7XHJcbiAgICAgIHNlcmllc01BID0gY2FsQ2FuZGxlTUEoYXZlcmFnZS5kYXksIGF2ZXJhZ2UubmFtZSwgYXZlcmFnZS5jb2xvciwgc2VyaWVzWzBdLmRhdGEpO1xyXG4gICAgICBzZXJpZXNNQSA9IGZpbGxTZXJpZXMoc2VyaWVzTUEsIG9wdHMsIGNvbmZpZyk7XHJcbiAgICAgIG9wdHMuc2VyaWVzTUEgPSBzZXJpZXNNQTtcclxuICAgIH0gZWxzZSBpZiAob3B0cy5zZXJpZXNNQSkge1xyXG4gICAgICBzZXJpZXNNQSA9IG9wdHMuc2VyaWVzTUEgPSBmaWxsU2VyaWVzKG9wdHMuc2VyaWVzTUEsIG9wdHMsIGNvbmZpZyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZXJpZXNNQSA9IHNlcmllcztcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgc2VyaWVzTUEgPSBzZXJpZXM7XHJcbiAgfVxyXG5cclxuICAvKiDov4fmu6TmjolzaG93PWZhbHNl55qEc2VyaWVzICovXHJcbiAgb3B0cy5fc2VyaWVzXyA9IHNlcmllcyA9IGZpbHRlclNlcmllcyhzZXJpZXMpO1xyXG5cclxuICAvL+mHjeaWsOiuoeeul+WbvuihqOWMuuWfn1xyXG5cclxuICBvcHRzLmFyZWEgPSBuZXcgQXJyYXkoNCk7XHJcbiAgLy/lpI3kvY3nu5jlm77ljLrln59cclxuICBmb3IgKGxldCBqID0gMDsgaiA8IDQ7IGorKykge1xyXG4gICAgb3B0cy5hcmVhW2pdID0gb3B0cy5wYWRkaW5nW2pdO1xyXG4gIH1cclxuXHJcbiAgLy/pgJrov4forqHnrpfkuInlpKfljLrln5/vvJrlm77kvovjgIFY6L2044CBWei9tOeahOWkp+Wwj++8jOehruWumue7mOWbvuWMuuWfn1xyXG4gIHZhciBfY2FsTGVnZW5kRGF0YSA9IGNhbExlZ2VuZERhdGEoc2VyaWVzTUEsIG9wdHMsIGNvbmZpZywgb3B0cy5jaGFydERhdGEpLFxyXG4gICAgbGVnZW5kSGVpZ2h0ID0gX2NhbExlZ2VuZERhdGEuYXJlYS53aG9sZUhlaWdodCxcclxuICAgIGxlZ2VuZFdpZHRoID0gX2NhbExlZ2VuZERhdGEuYXJlYS53aG9sZVdpZHRoO1xyXG4gICAgXHJcbiAgc3dpdGNoIChvcHRzLmxlZ2VuZC5wb3NpdGlvbikge1xyXG4gICAgY2FzZSAndG9wJzpcclxuICAgICAgb3B0cy5hcmVhWzBdICs9IGxlZ2VuZEhlaWdodDtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICBvcHRzLmFyZWFbMl0gKz0gbGVnZW5kSGVpZ2h0O1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICBvcHRzLmFyZWFbM10gKz0gbGVnZW5kV2lkdGg7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICBvcHRzLmFyZWFbMV0gKz0gbGVnZW5kV2lkdGg7XHJcbiAgICAgIGJyZWFrO1xyXG4gIH1cclxuXHJcbiAgbGV0IF9jYWxZQXhpc0RhdGEgPSB7fSx5QXhpc1dpZHRoID0gMDtcclxuICBpZiAob3B0cy50eXBlID09PSAnbGluZScgfHwgb3B0cy50eXBlID09PSAnY29sdW1uJyB8fCBvcHRzLnR5cGUgPT09ICdhcmVhJyB8fCBvcHRzLnR5cGUgPT09ICdtaXgnIHx8IG9wdHMudHlwZSA9PT0gJ2NhbmRsZScpIHtcclxuICAgIF9jYWxZQXhpc0RhdGEgPSBjYWxZQXhpc0RhdGEoc2VyaWVzLCBvcHRzLCBjb25maWcpO1xyXG4gICAgeUF4aXNXaWR0aCA9IF9jYWxZQXhpc0RhdGEueUF4aXNXaWR0aDtcclxuICAgIC8v5aaC5p6c5pi+56S6Wei9tOagh+mimFxyXG4gICAgaWYob3B0cy55QXhpcy5zaG93VGl0bGUpe1xyXG4gICAgICBsZXQgbWF4VGl0bGVIZWlnaHQ9MDtcclxuICAgICAgZm9yKGxldCBpPTA7aTxvcHRzLnlBeGlzLmRhdGEubGVuZ3RoO2krKyl7XHJcbiAgICAgICAgbWF4VGl0bGVIZWlnaHQgPSBNYXRoLm1heChtYXhUaXRsZUhlaWdodCxvcHRzLnlBeGlzLmRhdGFbaV0udGl0bGVGb250U2l6ZT9vcHRzLnlBeGlzLmRhdGFbaV0udGl0bGVGb250U2l6ZTpjb25maWcuZm9udFNpemUpXHJcbiAgICAgIH1cclxuICAgICAgb3B0cy5hcmVhWzBdICs9IChtYXhUaXRsZUhlaWdodCs2KSpvcHRzLnBpeGVsUmF0aW87XHJcbiAgICB9XHJcbiAgICBsZXQgcmlnaHRJbmRleD0wLGxlZnRJbmRleD0wO1xyXG4gICAgLy/orqHnrpfkuLvnu5jlm77ljLrln5/lt6blj7PkvY3nva5cclxuICAgIGZvcihsZXQgaT0wO2k8eUF4aXNXaWR0aC5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYoeUF4aXNXaWR0aFtpXS5wb3NpdGlvbj09J2xlZnQnKXtcclxuICAgICAgICBpZihsZWZ0SW5kZXg+MCl7XHJcbiAgICAgICAgICBvcHRzLmFyZWFbM10gKz0geUF4aXNXaWR0aFtpXS53aWR0aCArIG9wdHMueUF4aXMucGFkZGluZztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIG9wdHMuYXJlYVszXSArPSB5QXhpc1dpZHRoW2ldLndpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZWZ0SW5kZXggKz0xO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICBpZihyaWdodEluZGV4PjApe1xyXG4gICAgICAgICAgb3B0cy5hcmVhWzFdICs9IHlBeGlzV2lkdGhbaV0ud2lkdGggKyBvcHRzLnlBeGlzLnBhZGRpbmc7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBvcHRzLmFyZWFbMV0gKz0geUF4aXNXaWR0aFtpXS53aWR0aDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmlnaHRJbmRleCArPTE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9ZWxzZXtcclxuICAgIGNvbmZpZy55QXhpc1dpZHRoID0geUF4aXNXaWR0aDtcclxuICB9XHJcbiAgb3B0cy5jaGFydERhdGEueUF4aXNEYXRhID0gX2NhbFlBeGlzRGF0YTtcclxuXHJcbiAgaWYgKG9wdHMuY2F0ZWdvcmllcyAmJiBvcHRzLmNhdGVnb3JpZXMubGVuZ3RoKSB7XHJcbiAgICBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEgPSBnZXRYQXhpc1BvaW50cyhvcHRzLmNhdGVnb3JpZXMsIG9wdHMsIGNvbmZpZyk7XHJcbiAgICBsZXQgX2NhbENhdGVnb3JpZXNEYXRhID0gY2FsQ2F0ZWdvcmllc0RhdGEob3B0cy5jYXRlZ29yaWVzLCBvcHRzLCBjb25maWcsIG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YS5lYWNoU3BhY2luZyksXHJcbiAgICAgIHhBeGlzSGVpZ2h0ID0gX2NhbENhdGVnb3JpZXNEYXRhLnhBeGlzSGVpZ2h0LFxyXG4gICAgICBhbmdsZSA9IF9jYWxDYXRlZ29yaWVzRGF0YS5hbmdsZTtcclxuICAgIGNvbmZpZy54QXhpc0hlaWdodCA9IHhBeGlzSGVpZ2h0O1xyXG4gICAgY29uZmlnLl94QXhpc1RleHRBbmdsZV8gPSBhbmdsZTtcclxuICAgIG9wdHMuYXJlYVsyXSArPSB4QXhpc0hlaWdodDtcclxuICAgIG9wdHMuY2hhcnREYXRhLmNhdGVnb3JpZXNEYXRhID0gX2NhbENhdGVnb3JpZXNEYXRhO1xyXG4gIH1lbHNle1xyXG5cdFx0aWYgKG9wdHMudHlwZSA9PT0gJ2xpbmUnIHx8IG9wdHMudHlwZSA9PT0gJ2FyZWEnIHx8IG9wdHMudHlwZSA9PT0gJ3BvaW50cycpIHtcclxuXHRcdFx0b3B0cy5jaGFydERhdGEueEF4aXNEYXRhID0gY2FsWEF4aXNEYXRhKHNlcmllcywgb3B0cywgY29uZmlnKTtcclxuXHRcdFx0Y2F0ZWdvcmllcz1vcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEucmFuZ2VzRm9ybWF0O1xyXG5cdFx0XHRsZXQgX2NhbENhdGVnb3JpZXNEYXRhID0gY2FsQ2F0ZWdvcmllc0RhdGEoY2F0ZWdvcmllcywgb3B0cywgY29uZmlnLCBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEuZWFjaFNwYWNpbmcpLFxyXG5cdFx0XHQgIHhBeGlzSGVpZ2h0ID0gX2NhbENhdGVnb3JpZXNEYXRhLnhBeGlzSGVpZ2h0LFxyXG5cdFx0XHQgIGFuZ2xlID0gX2NhbENhdGVnb3JpZXNEYXRhLmFuZ2xlO1xyXG5cdFx0XHRjb25maWcueEF4aXNIZWlnaHQgPSB4QXhpc0hlaWdodDtcclxuXHRcdFx0Y29uZmlnLl94QXhpc1RleHRBbmdsZV8gPSBhbmdsZTtcclxuXHRcdFx0b3B0cy5hcmVhWzJdICs9IHhBeGlzSGVpZ2h0O1xyXG5cdFx0XHRvcHRzLmNoYXJ0RGF0YS5jYXRlZ29yaWVzRGF0YSA9IF9jYWxDYXRlZ29yaWVzRGF0YTtcclxuXHRcdH1lbHNle1xyXG5cdFx0XHRvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGE9e1xyXG5cdFx0XHRcdHhBeGlzUG9pbnRzOiBbXVxyXG5cdFx0XHR9O1xyXG5cdFx0fVxyXG5cdH1cclxuICAvL+iuoeeul+WPs+Wvuem9kOWBj+enu+i3neemu1xyXG4gIGlmIChvcHRzLmVuYWJsZVNjcm9sbCAmJiBvcHRzLnhBeGlzLnNjcm9sbEFsaWduID09ICdyaWdodCcgJiYgb3B0cy5fc2Nyb2xsRGlzdGFuY2VfID09PSB1bmRlZmluZWQpIHtcclxuICAgIGxldCBvZmZzZXRMZWZ0ID0gMCxcclxuICAgICAgeEF4aXNQb2ludHMgPSBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEueEF4aXNQb2ludHMsXHJcbiAgICAgIHN0YXJ0WCA9IG9wdHMuY2hhcnREYXRhLnhBeGlzRGF0YS5zdGFydFgsXHJcbiAgICAgIGVuZFggPSBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEuZW5kWCxcclxuICAgICAgZWFjaFNwYWNpbmcgPSBvcHRzLmNoYXJ0RGF0YS54QXhpc0RhdGEuZWFjaFNwYWNpbmc7XHJcbiAgICBsZXQgdG90YWxXaWR0aCA9IGVhY2hTcGFjaW5nICogKHhBeGlzUG9pbnRzLmxlbmd0aCAtIDEpO1xyXG4gICAgbGV0IHNjcmVlbldpZHRoID0gZW5kWCAtIHN0YXJ0WDtcclxuICAgIG9mZnNldExlZnQgPSBzY3JlZW5XaWR0aCAtIHRvdGFsV2lkdGg7XHJcbiAgICBfdGhpcy5zY3JvbGxPcHRpb24gPSB7XHJcbiAgICAgIGN1cnJlbnRPZmZzZXQ6IG9mZnNldExlZnQsXHJcbiAgICAgIHN0YXJ0VG91Y2hYOiBvZmZzZXRMZWZ0LFxyXG4gICAgICBkaXN0YW5jZTogMCxcclxuICAgICAgbGFzdE1vdmVUaW1lOiAwXHJcbiAgICB9O1xyXG4gICAgb3B0cy5fc2Nyb2xsRGlzdGFuY2VfID0gb2Zmc2V0TGVmdDtcclxuICB9XHJcblxyXG4gIGlmICh0eXBlID09PSAncGllJyB8fCB0eXBlID09PSAncmluZycgfHwgdHlwZSA9PT0gJ3Jvc2UnKSB7XHJcbiAgICBjb25maWcuX3BpZVRleHRNYXhMZW5ndGhfID0gb3B0cy5kYXRhTGFiZWwgPT09IGZhbHNlID8gMCA6IGdldFBpZVRleHRNYXhMZW5ndGgoc2VyaWVzTUEpO1xyXG4gIH1cclxuXHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlICd3b3JkJzpcclxuICAgICAgbGV0IHdvcmRPcHRpb24gPSBhc3NpZ24oe30se1xyXG4gICAgICAgIHR5cGU6ICdub3JtYWwnLFxyXG4gICAgICAgIGF1dG9Db2xvcnM6IHRydWVcclxuICAgICAgfSxvcHRzLmV4dHJhLndvcmQpO1xyXG4gICAgICBpZihvcHRzLnVwZGF0ZURhdGE9PXRydWUgfHwgb3B0cy51cGRhdGVEYXRhPT11bmRlZmluZWQpe1xyXG4gICAgICAgIG9wdHMuY2hhcnREYXRhLndvcmRDbG91ZERhdGE9Z2V0V29yZENsb3VkUG9pbnQob3B0cyx3b3JkT3B0aW9uLnR5cGUpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uSW5zdGFuY2UgPSBuZXcgQW5pbWF0aW9uKHtcclxuICAgICAgICB0aW1pbmc6ICdlYXNlSW5PdXQnLFxyXG4gICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgICBvblByb2Nlc3M6IGZ1bmN0aW9uKHByb2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIG9wdHMud2lkdGgsIG9wdHMuaGVpZ2h0KTtcclxuICAgICAgICAgIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgICAgICAgICBjb250ZXh0Um90YXRlKGNvbnRleHQsIG9wdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZHJhd1dvcmRDbG91ZERhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQscHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgYnJlYWs7XHJcbiAgICBjYXNlICdtYXAnOlxyXG4gICAgICBjb250ZXh0LmNsZWFyUmVjdCgwLCAwLCBvcHRzLndpZHRoLCBvcHRzLmhlaWdodCk7XHJcbiAgICAgIGRyYXdNYXBEYXRhUG9pbnRzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgIGJyZWFrO1xyXG4gICAgY2FzZSAnZnVubmVsJzpcclxuICAgICAgdGhpcy5hbmltYXRpb25JbnN0YW5jZSA9IG5ldyBBbmltYXRpb24oe1xyXG4gICAgICAgIHRpbWluZzogJ2Vhc2VJbk91dCcsXHJcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxyXG4gICAgICAgIG9uUHJvY2VzczogZnVuY3Rpb24ocHJvY2Vzcykge1xyXG4gICAgICAgICAgY29udGV4dC5jbGVhclJlY3QoMCwgMCwgb3B0cy53aWR0aCwgb3B0cy5oZWlnaHQpO1xyXG4gICAgICAgICAgaWYgKG9wdHMucm90YXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnRleHRSb3RhdGUoY29udGV4dCwgb3B0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS5mdW5uZWxEYXRhID0gZHJhd0Z1bm5lbERhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MpO1xyXG4gICAgICAgICAgZHJhd0xlZ2VuZChvcHRzLnNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCBvcHRzLmNoYXJ0RGF0YSk7XHJcbiAgICAgICAgICBkcmF3VG9vbFRpcEJyaWRnZShvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MpO1xyXG4gICAgICAgICAgZHJhd0NhbnZhcyhvcHRzLCBjb250ZXh0KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uQW5pbWF0aW9uRmluaXNoOiBmdW5jdGlvbiBvbkFuaW1hdGlvbkZpbmlzaCgpIHtcclxuICAgICAgICAgIF90aGlzLmV2ZW50LnRyaWdnZXIoJ3JlbmRlckNvbXBsZXRlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIGJyZWFrO1xyXG4gICAgY2FzZSAnbGluZSc6XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uSW5zdGFuY2UgPSBuZXcgQW5pbWF0aW9uKHtcclxuICAgICAgICB0aW1pbmc6ICdlYXNlSW4nLFxyXG4gICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgICBvblByb2Nlc3M6IGZ1bmN0aW9uIG9uUHJvY2Vzcyhwcm9jZXNzKSB7XHJcbiAgICAgICAgICBjb250ZXh0LmNsZWFyUmVjdCgwLCAwLCBvcHRzLndpZHRoLCBvcHRzLmhlaWdodCk7XHJcbiAgICAgICAgICBpZiAob3B0cy5yb3RhdGUpIHtcclxuICAgICAgICAgICAgY29udGV4dFJvdGF0ZShjb250ZXh0LCBvcHRzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRyYXdZQXhpc0dyaWQoY2F0ZWdvcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIGRyYXdYQXhpcyhjYXRlZ29yaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgdmFyIF9kcmF3TGluZURhdGFQb2ludHMgPSBkcmF3TGluZURhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MpLFxyXG4gICAgICAgICAgICB4QXhpc1BvaW50cyA9IF9kcmF3TGluZURhdGFQb2ludHMueEF4aXNQb2ludHMsXHJcbiAgICAgICAgICAgIGNhbFBvaW50cyA9IF9kcmF3TGluZURhdGFQb2ludHMuY2FsUG9pbnRzLFxyXG4gICAgICAgICAgICBlYWNoU3BhY2luZyA9IF9kcmF3TGluZURhdGFQb2ludHMuZWFjaFNwYWNpbmc7XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS54QXhpc1BvaW50cyA9IHhBeGlzUG9pbnRzO1xyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEuY2FsUG9pbnRzID0gY2FsUG9pbnRzO1xyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEuZWFjaFNwYWNpbmcgPSBlYWNoU3BhY2luZztcclxuICAgICAgICAgIGRyYXdZQXhpcyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgICBpZiAob3B0cy5lbmFibGVNYXJrTGluZSAhPT0gZmFsc2UgJiYgcHJvY2VzcyA9PT0gMSkge1xyXG4gICAgICAgICAgICBkcmF3TWFya0xpbmUob3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRyYXdMZWdlbmQob3B0cy5zZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgb3B0cy5jaGFydERhdGEpO1xyXG4gICAgICAgICAgZHJhd1Rvb2xUaXBCcmlkZ2Uob3B0cywgY29uZmlnLCBjb250ZXh0LCBwcm9jZXNzLCBlYWNoU3BhY2luZywgeEF4aXNQb2ludHMpO1xyXG4gICAgICAgICAgZHJhd0NhbnZhcyhvcHRzLCBjb250ZXh0KTtcclxuXHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbkFuaW1hdGlvbkZpbmlzaDogZnVuY3Rpb24gb25BbmltYXRpb25GaW5pc2goKSB7XHJcbiAgICAgICAgICBfdGhpcy5ldmVudC50cmlnZ2VyKCdyZW5kZXJDb21wbGV0ZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAnbWl4JzpcclxuICAgICAgdGhpcy5hbmltYXRpb25JbnN0YW5jZSA9IG5ldyBBbmltYXRpb24oe1xyXG4gICAgICAgIHRpbWluZzogJ2Vhc2VJbicsXHJcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxyXG4gICAgICAgIG9uUHJvY2VzczogZnVuY3Rpb24gb25Qcm9jZXNzKHByb2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIG9wdHMud2lkdGgsIG9wdHMuaGVpZ2h0KTtcclxuICAgICAgICAgIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgICAgICAgICBjb250ZXh0Um90YXRlKGNvbnRleHQsIG9wdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZHJhd1lBeGlzR3JpZChjYXRlZ29yaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgZHJhd1hBeGlzKGNhdGVnb3JpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgICB2YXIgX2RyYXdNaXhEYXRhUG9pbnRzID0gZHJhd01peERhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MpLFxyXG4gICAgICAgICAgICB4QXhpc1BvaW50cyA9IF9kcmF3TWl4RGF0YVBvaW50cy54QXhpc1BvaW50cyxcclxuICAgICAgICAgICAgY2FsUG9pbnRzID0gX2RyYXdNaXhEYXRhUG9pbnRzLmNhbFBvaW50cyxcclxuICAgICAgICAgICAgZWFjaFNwYWNpbmcgPSBfZHJhd01peERhdGFQb2ludHMuZWFjaFNwYWNpbmc7XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS54QXhpc1BvaW50cyA9IHhBeGlzUG9pbnRzO1xyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEuY2FsUG9pbnRzID0gY2FsUG9pbnRzO1xyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEuZWFjaFNwYWNpbmcgPSBlYWNoU3BhY2luZztcclxuICAgICAgICAgIGRyYXdZQXhpcyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgICBpZiAob3B0cy5lbmFibGVNYXJrTGluZSAhPT0gZmFsc2UgJiYgcHJvY2VzcyA9PT0gMSkge1xyXG4gICAgICAgICAgICBkcmF3TWFya0xpbmUob3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRyYXdMZWdlbmQob3B0cy5zZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgb3B0cy5jaGFydERhdGEpO1xyXG4gICAgICAgICAgZHJhd1Rvb2xUaXBCcmlkZ2Uob3B0cywgY29uZmlnLCBjb250ZXh0LCBwcm9jZXNzLCBlYWNoU3BhY2luZywgeEF4aXNQb2ludHMpO1xyXG4gICAgICAgICAgZHJhd0NhbnZhcyhvcHRzLCBjb250ZXh0KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uQW5pbWF0aW9uRmluaXNoOiBmdW5jdGlvbiBvbkFuaW1hdGlvbkZpbmlzaCgpIHtcclxuICAgICAgICAgIF90aGlzLmV2ZW50LnRyaWdnZXIoJ3JlbmRlckNvbXBsZXRlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdjb2x1bW4nOlxyXG4gICAgICB0aGlzLmFuaW1hdGlvbkluc3RhbmNlID0gbmV3IEFuaW1hdGlvbih7XHJcbiAgICAgICAgdGltaW5nOiAnZWFzZUluJyxcclxuICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgICAgb25Qcm9jZXNzOiBmdW5jdGlvbiBvblByb2Nlc3MocHJvY2Vzcykge1xyXG4gICAgICAgICAgY29udGV4dC5jbGVhclJlY3QoMCwgMCwgb3B0cy53aWR0aCwgb3B0cy5oZWlnaHQpO1xyXG4gICAgICAgICAgaWYgKG9wdHMucm90YXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnRleHRSb3RhdGUoY29udGV4dCwgb3B0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkcmF3WUF4aXNHcmlkKGNhdGVnb3JpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgICBkcmF3WEF4aXMoY2F0ZWdvcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIHZhciBfZHJhd0NvbHVtbkRhdGFQb2ludHMgPSBkcmF3Q29sdW1uRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2VzcyksXHJcbiAgICAgICAgICAgIHhBeGlzUG9pbnRzID0gX2RyYXdDb2x1bW5EYXRhUG9pbnRzLnhBeGlzUG9pbnRzLFxyXG4gICAgICAgICAgICBjYWxQb2ludHMgPSBfZHJhd0NvbHVtbkRhdGFQb2ludHMuY2FsUG9pbnRzLFxyXG4gICAgICAgICAgICBlYWNoU3BhY2luZyA9IF9kcmF3Q29sdW1uRGF0YVBvaW50cy5lYWNoU3BhY2luZztcclxuICAgICAgICAgIG9wdHMuY2hhcnREYXRhLnhBeGlzUG9pbnRzID0geEF4aXNQb2ludHM7XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS5jYWxQb2ludHMgPSBjYWxQb2ludHM7XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS5lYWNoU3BhY2luZyA9IGVhY2hTcGFjaW5nO1xyXG4gICAgICAgICAgZHJhd1lBeGlzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIGlmIChvcHRzLmVuYWJsZU1hcmtMaW5lICE9PSBmYWxzZSAmJiBwcm9jZXNzID09PSAxKSB7XHJcbiAgICAgICAgICAgIGRyYXdNYXJrTGluZShvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZHJhd0xlZ2VuZChvcHRzLnNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCBvcHRzLmNoYXJ0RGF0YSk7XHJcbiAgICAgICAgICBkcmF3VG9vbFRpcEJyaWRnZShvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MsIGVhY2hTcGFjaW5nLCB4QXhpc1BvaW50cyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2FyZWEnOlxyXG4gICAgICB0aGlzLmFuaW1hdGlvbkluc3RhbmNlID0gbmV3IEFuaW1hdGlvbih7XHJcbiAgICAgICAgdGltaW5nOiAnZWFzZUluJyxcclxuICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgICAgb25Qcm9jZXNzOiBmdW5jdGlvbiBvblByb2Nlc3MocHJvY2Vzcykge1xyXG4gICAgICAgICAgY29udGV4dC5jbGVhclJlY3QoMCwgMCwgb3B0cy53aWR0aCwgb3B0cy5oZWlnaHQpO1xyXG4gICAgICAgICAgaWYgKG9wdHMucm90YXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnRleHRSb3RhdGUoY29udGV4dCwgb3B0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkcmF3WUF4aXNHcmlkKGNhdGVnb3JpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgICBkcmF3WEF4aXMoY2F0ZWdvcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIHZhciBfZHJhd0FyZWFEYXRhUG9pbnRzID0gZHJhd0FyZWFEYXRhUG9pbnRzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCBwcm9jZXNzKSxcclxuICAgICAgICAgICAgeEF4aXNQb2ludHMgPSBfZHJhd0FyZWFEYXRhUG9pbnRzLnhBeGlzUG9pbnRzLFxyXG4gICAgICAgICAgICBjYWxQb2ludHMgPSBfZHJhd0FyZWFEYXRhUG9pbnRzLmNhbFBvaW50cyxcclxuICAgICAgICAgICAgZWFjaFNwYWNpbmcgPSBfZHJhd0FyZWFEYXRhUG9pbnRzLmVhY2hTcGFjaW5nO1xyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEueEF4aXNQb2ludHMgPSB4QXhpc1BvaW50cztcclxuICAgICAgICAgIG9wdHMuY2hhcnREYXRhLmNhbFBvaW50cyA9IGNhbFBvaW50cztcclxuICAgICAgICAgIG9wdHMuY2hhcnREYXRhLmVhY2hTcGFjaW5nID0gZWFjaFNwYWNpbmc7XHJcbiAgICAgICAgICBkcmF3WUF4aXMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgaWYgKG9wdHMuZW5hYmxlTWFya0xpbmUgIT09IGZhbHNlICYmIHByb2Nlc3MgPT09IDEpIHtcclxuICAgICAgICAgICAgZHJhd01hcmtMaW5lKG9wdHMsIGNvbmZpZywgY29udGV4dCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkcmF3TGVnZW5kKG9wdHMuc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIG9wdHMuY2hhcnREYXRhKTtcclxuICAgICAgICAgIGRyYXdUb29sVGlwQnJpZGdlKG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2VzcywgZWFjaFNwYWNpbmcsIHhBeGlzUG9pbnRzKTtcclxuICAgICAgICAgIGRyYXdDYW52YXMob3B0cywgY29udGV4dCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbkFuaW1hdGlvbkZpbmlzaDogZnVuY3Rpb24gb25BbmltYXRpb25GaW5pc2goKSB7XHJcbiAgICAgICAgICBfdGhpcy5ldmVudC50cmlnZ2VyKCdyZW5kZXJDb21wbGV0ZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAncmluZyc6XHJcbiAgICBjYXNlICdwaWUnOlxyXG4gICAgICB0aGlzLmFuaW1hdGlvbkluc3RhbmNlID0gbmV3IEFuaW1hdGlvbih7XHJcbiAgICAgICAgdGltaW5nOiAnZWFzZUluT3V0JyxcclxuICAgICAgICBkdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgICAgb25Qcm9jZXNzOiBmdW5jdGlvbiBvblByb2Nlc3MocHJvY2Vzcykge1xyXG4gICAgICAgICAgY29udGV4dC5jbGVhclJlY3QoMCwgMCwgb3B0cy53aWR0aCwgb3B0cy5oZWlnaHQpO1xyXG4gICAgICAgICAgaWYgKG9wdHMucm90YXRlKSB7XHJcbiAgICAgICAgICAgIGNvbnRleHRSb3RhdGUoY29udGV4dCwgb3B0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS5waWVEYXRhID0gZHJhd1BpZURhdGFQb2ludHMoc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MpO1xyXG4gICAgICAgICAgZHJhd0xlZ2VuZChvcHRzLnNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCBvcHRzLmNoYXJ0RGF0YSk7XHJcbiAgICAgICAgICBkcmF3VG9vbFRpcEJyaWRnZShvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MpO1xyXG4gICAgICAgICAgZHJhd0NhbnZhcyhvcHRzLCBjb250ZXh0KTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uQW5pbWF0aW9uRmluaXNoOiBmdW5jdGlvbiBvbkFuaW1hdGlvbkZpbmlzaCgpIHtcclxuICAgICAgICAgIF90aGlzLmV2ZW50LnRyaWdnZXIoJ3JlbmRlckNvbXBsZXRlJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgYnJlYWs7XHJcbiAgICBjYXNlICdyb3NlJzpcclxuICAgICAgdGhpcy5hbmltYXRpb25JbnN0YW5jZSA9IG5ldyBBbmltYXRpb24oe1xyXG4gICAgICAgIHRpbWluZzogJ2Vhc2VJbk91dCcsXHJcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxyXG4gICAgICAgIG9uUHJvY2VzczogZnVuY3Rpb24gb25Qcm9jZXNzKHByb2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIG9wdHMud2lkdGgsIG9wdHMuaGVpZ2h0KTtcclxuICAgICAgICAgIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgICAgICAgICBjb250ZXh0Um90YXRlKGNvbnRleHQsIG9wdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEucGllRGF0YSA9IGRyYXdSb3NlRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3TGVnZW5kKG9wdHMuc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIG9wdHMuY2hhcnREYXRhKTtcclxuICAgICAgICAgIGRyYXdUb29sVGlwQnJpZGdlKG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ3JhZGFyJzpcclxuICAgICAgdGhpcy5hbmltYXRpb25JbnN0YW5jZSA9IG5ldyBBbmltYXRpb24oe1xyXG4gICAgICAgIHRpbWluZzogJ2Vhc2VJbk91dCcsXHJcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxyXG4gICAgICAgIG9uUHJvY2VzczogZnVuY3Rpb24gb25Qcm9jZXNzKHByb2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIG9wdHMud2lkdGgsIG9wdHMuaGVpZ2h0KTtcclxuICAgICAgICAgIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgICAgICAgICBjb250ZXh0Um90YXRlKGNvbnRleHQsIG9wdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEucmFkYXJEYXRhID0gZHJhd1JhZGFyRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3TGVnZW5kKG9wdHMuc2VyaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQsIG9wdHMuY2hhcnREYXRhKTtcclxuICAgICAgICAgIGRyYXdUb29sVGlwQnJpZGdlKG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2FyY2Jhcic6XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uSW5zdGFuY2UgPSBuZXcgQW5pbWF0aW9uKHtcclxuICAgICAgICB0aW1pbmc6ICdlYXNlSW5PdXQnLFxyXG4gICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgICBvblByb2Nlc3M6IGZ1bmN0aW9uIG9uUHJvY2Vzcyhwcm9jZXNzKSB7XHJcbiAgICAgICAgICBjb250ZXh0LmNsZWFyUmVjdCgwLCAwLCBvcHRzLndpZHRoLCBvcHRzLmhlaWdodCk7XHJcbiAgICAgICAgICBpZiAob3B0cy5yb3RhdGUpIHtcclxuICAgICAgICAgICAgY29udGV4dFJvdGF0ZShjb250ZXh0LCBvcHRzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIG9wdHMuY2hhcnREYXRhLmFyY2JhckRhdGEgPSBkcmF3QXJjYmFyRGF0YVBvaW50cyhzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2dhdWdlJzpcclxuICAgICAgdGhpcy5hbmltYXRpb25JbnN0YW5jZSA9IG5ldyBBbmltYXRpb24oe1xyXG4gICAgICAgIHRpbWluZzogJ2Vhc2VJbk91dCcsXHJcbiAgICAgICAgZHVyYXRpb246IGR1cmF0aW9uLFxyXG4gICAgICAgIG9uUHJvY2VzczogZnVuY3Rpb24gb25Qcm9jZXNzKHByb2Nlc3MpIHtcclxuICAgICAgICAgIGNvbnRleHQuY2xlYXJSZWN0KDAsIDAsIG9wdHMud2lkdGgsIG9wdHMuaGVpZ2h0KTtcclxuICAgICAgICAgIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgICAgICAgICBjb250ZXh0Um90YXRlKGNvbnRleHQsIG9wdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgb3B0cy5jaGFydERhdGEuZ2F1Z2VEYXRhID0gZHJhd0dhdWdlRGF0YVBvaW50cyhjYXRlZ29yaWVzLCBzZXJpZXMsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2Vzcyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2NhbmRsZSc6XHJcbiAgICAgIHRoaXMuYW5pbWF0aW9uSW5zdGFuY2UgPSBuZXcgQW5pbWF0aW9uKHtcclxuICAgICAgICB0aW1pbmc6ICdlYXNlSW4nLFxyXG4gICAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgICBvblByb2Nlc3M6IGZ1bmN0aW9uIG9uUHJvY2Vzcyhwcm9jZXNzKSB7XHJcbiAgICAgICAgICBjb250ZXh0LmNsZWFyUmVjdCgwLCAwLCBvcHRzLndpZHRoLCBvcHRzLmhlaWdodCk7XHJcbiAgICAgICAgICBpZiAob3B0cy5yb3RhdGUpIHtcclxuICAgICAgICAgICAgY29udGV4dFJvdGF0ZShjb250ZXh0LCBvcHRzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGRyYXdZQXhpc0dyaWQoY2F0ZWdvcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIGRyYXdYQXhpcyhjYXRlZ29yaWVzLCBvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgdmFyIF9kcmF3Q2FuZGxlRGF0YVBvaW50cyA9IGRyYXdDYW5kbGVEYXRhUG9pbnRzKHNlcmllcywgc2VyaWVzTUEsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgcHJvY2VzcyksXHJcbiAgICAgICAgICAgIHhBeGlzUG9pbnRzID0gX2RyYXdDYW5kbGVEYXRhUG9pbnRzLnhBeGlzUG9pbnRzLFxyXG4gICAgICAgICAgICBjYWxQb2ludHMgPSBfZHJhd0NhbmRsZURhdGFQb2ludHMuY2FsUG9pbnRzLFxyXG4gICAgICAgICAgICBlYWNoU3BhY2luZyA9IF9kcmF3Q2FuZGxlRGF0YVBvaW50cy5lYWNoU3BhY2luZztcclxuICAgICAgICAgIG9wdHMuY2hhcnREYXRhLnhBeGlzUG9pbnRzID0geEF4aXNQb2ludHM7XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS5jYWxQb2ludHMgPSBjYWxQb2ludHM7XHJcbiAgICAgICAgICBvcHRzLmNoYXJ0RGF0YS5lYWNoU3BhY2luZyA9IGVhY2hTcGFjaW5nO1xyXG4gICAgICAgICAgZHJhd1lBeGlzKHNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0KTtcclxuICAgICAgICAgIGlmIChvcHRzLmVuYWJsZU1hcmtMaW5lICE9PSBmYWxzZSAmJiBwcm9jZXNzID09PSAxKSB7XHJcbiAgICAgICAgICAgIGRyYXdNYXJrTGluZShvcHRzLCBjb25maWcsIGNvbnRleHQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHNlcmllc01BKSB7XHJcbiAgICAgICAgICAgIGRyYXdMZWdlbmQoc2VyaWVzTUEsIG9wdHMsIGNvbmZpZywgY29udGV4dCwgb3B0cy5jaGFydERhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZHJhd0xlZ2VuZChvcHRzLnNlcmllcywgb3B0cywgY29uZmlnLCBjb250ZXh0LCBvcHRzLmNoYXJ0RGF0YSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBkcmF3VG9vbFRpcEJyaWRnZShvcHRzLCBjb25maWcsIGNvbnRleHQsIHByb2Nlc3MsIGVhY2hTcGFjaW5nLCB4QXhpc1BvaW50cyk7XHJcbiAgICAgICAgICBkcmF3Q2FudmFzKG9wdHMsIGNvbnRleHQpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25BbmltYXRpb25GaW5pc2g6IGZ1bmN0aW9uIG9uQW5pbWF0aW9uRmluaXNoKCkge1xyXG4gICAgICAgICAgX3RoaXMuZXZlbnQudHJpZ2dlcigncmVuZGVyQ29tcGxldGUnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBicmVhaztcclxuICB9XHJcbn1cclxuXHJcbi8vIHNpbXBsZSBldmVudCBpbXBsZW1lbnRcclxuXHJcbmZ1bmN0aW9uIEV2ZW50KCkge1xyXG4gIHRoaXMuZXZlbnRzID0ge307XHJcbn1cclxuXHJcbkV2ZW50LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyID0gZnVuY3Rpb24odHlwZSwgbGlzdGVuZXIpIHtcclxuICB0aGlzLmV2ZW50c1t0eXBlXSA9IHRoaXMuZXZlbnRzW3R5cGVdIHx8IFtdO1xyXG4gIHRoaXMuZXZlbnRzW3R5cGVdLnB1c2gobGlzdGVuZXIpO1xyXG59O1xyXG5cclxuRXZlbnQucHJvdG90eXBlLnRyaWdnZXIgPSBmdW5jdGlvbigpIHtcclxuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xyXG4gICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcclxuICB9XHJcblxyXG4gIHZhciB0eXBlID0gYXJnc1swXTtcclxuICB2YXIgcGFyYW1zID0gYXJncy5zbGljZSgxKTtcclxuICBpZiAoISF0aGlzLmV2ZW50c1t0eXBlXSkge1xyXG4gICAgdGhpcy5ldmVudHNbdHlwZV0uZm9yRWFjaChmdW5jdGlvbihsaXN0ZW5lcikge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGxpc3RlbmVyLmFwcGx5KG51bGwsIHBhcmFtcyk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn07XHJcblxyXG52YXIgQ2hhcnRzID0gZnVuY3Rpb24gQ2hhcnRzKG9wdHMpIHtcclxuICBvcHRzLnBpeGVsUmF0aW8gPSBvcHRzLnBpeGVsUmF0aW8gPyBvcHRzLnBpeGVsUmF0aW8gOiAxO1xyXG4gIG9wdHMuZm9udFNpemUgPSBvcHRzLmZvbnRTaXplID8gb3B0cy5mb250U2l6ZSAqIG9wdHMucGl4ZWxSYXRpbyA6IDEzICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIG9wdHMudGl0bGUgPSBhc3NpZ24oe30sIG9wdHMudGl0bGUpO1xyXG4gIG9wdHMuc3VidGl0bGUgPSBhc3NpZ24oe30sIG9wdHMuc3VidGl0bGUpO1xyXG4gIG9wdHMuZHVyYXRpb24gPSBvcHRzLmR1cmF0aW9uID8gb3B0cy5kdXJhdGlvbiA6IDEwMDA7XHJcbiAgb3B0cy55QXhpcyA9IGFzc2lnbih7fSwge1xyXG4gICAgZGF0YTpbXSxcclxuICAgIHNob3dUaXRsZTpmYWxzZSxcclxuICAgIGRpc2FibGVkOmZhbHNlLFxyXG4gICAgZGlzYWJsZUdyaWQ6ZmFsc2UsXHJcbiAgICBzcGxpdE51bWJlcjo1LFxyXG4gICAgZ3JpZFR5cGU6ICdzb2xpZCcsXHJcbiAgICBkYXNoTGVuZ3RoOiA0ICogb3B0cy5waXhlbFJhdGlvLFxyXG4gICAgZ3JpZENvbG9yOicjY2NjY2NjJyxcclxuICAgIHBhZGRpbmc6MTAsXHJcbiAgICBmb250Q29sb3I6JyM2NjY2NjYnXHJcbiAgfSwgb3B0cy55QXhpcyk7XHJcbiAgb3B0cy55QXhpcy5kYXNoTGVuZ3RoICo9IG9wdHMucGl4ZWxSYXRpbztcclxuICBvcHRzLnlBeGlzLnBhZGRpbmcgKj0gb3B0cy5waXhlbFJhdGlvO1xyXG4gIG9wdHMueEF4aXMgPSBhc3NpZ24oe30sIHtcclxuICAgIHJvdGF0ZUxhYmVsOiBmYWxzZSxcclxuICAgIHR5cGU6ICdjYWxpYnJhdGlvbicsXHJcbiAgICBncmlkVHlwZTogJ3NvbGlkJyxcclxuICAgIGRhc2hMZW5ndGg6IDQsXHJcbiAgICBzY3JvbGxBbGlnbjogJ2xlZnQnLFxyXG4gICAgYm91bmRhcnlHYXA6J2NlbnRlcicsXHJcbiAgICBheGlzTGluZTp0cnVlLFxyXG4gICAgYXhpc0xpbmVDb2xvcjonI2NjY2NjYydcclxuICB9LCBvcHRzLnhBeGlzKTtcclxuICBvcHRzLnhBeGlzLmRhc2hMZW5ndGggKj0gb3B0cy5waXhlbFJhdGlvO1xyXG4gIG9wdHMubGVnZW5kID0gYXNzaWduKHt9LCB7XHJcbiAgICBzaG93OiB0cnVlLFxyXG4gICAgcG9zaXRpb246ICdib3R0b20nLFxyXG4gICAgZmxvYXQ6ICdjZW50ZXInLFxyXG4gICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLDAsMCwwKScsXHJcbiAgICBib3JkZXJDb2xvcjogJ3JnYmEoMCwwLDAsMCknLFxyXG4gICAgYm9yZGVyV2lkdGg6IDAsXHJcbiAgICBwYWRkaW5nOiA1LFxyXG4gICAgbWFyZ2luOiA1LFxyXG4gICAgaXRlbUdhcDogMTAsXHJcbiAgICBmb250U2l6ZTogb3B0cy5mb250U2l6ZSxcclxuICAgIGxpbmVIZWlnaHQ6IG9wdHMuZm9udFNpemUsXHJcbiAgICBmb250Q29sb3I6ICcjMzMzMzMzJyxcclxuICAgIGZvcm1hdDoge30sXHJcbiAgICBoaWRkZW5Db2xvcjogJyNDRUNFQ0UnXHJcbiAgfSwgb3B0cy5sZWdlbmQpO1xyXG4gIG9wdHMubGVnZW5kLmJvcmRlcldpZHRoID0gb3B0cy5sZWdlbmQuYm9yZGVyV2lkdGggKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgb3B0cy5sZWdlbmQuaXRlbUdhcCA9IG9wdHMubGVnZW5kLml0ZW1HYXAgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgb3B0cy5sZWdlbmQucGFkZGluZyA9IG9wdHMubGVnZW5kLnBhZGRpbmcgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgb3B0cy5sZWdlbmQubWFyZ2luID0gb3B0cy5sZWdlbmQubWFyZ2luICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIG9wdHMuZXh0cmEgPSBhc3NpZ24oe30sIG9wdHMuZXh0cmEpO1xyXG4gIG9wdHMucm90YXRlID0gb3B0cy5yb3RhdGUgPyB0cnVlIDogZmFsc2U7XHJcbiAgb3B0cy5hbmltYXRpb24gPSBvcHRzLmFuaW1hdGlvbiA/IHRydWUgOiBmYWxzZTtcclxuXHRvcHRzLnJvdGF0ZSA9IG9wdHMucm90YXRlID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuICBsZXQgY29uZmlnJCQxID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb25maWcpKTtcclxuICBjb25maWckJDEuY29sb3JzID0gb3B0cy5jb2xvcnMgPyBvcHRzLmNvbG9ycyA6IGNvbmZpZyQkMS5jb2xvcnM7XHJcbiAgY29uZmlnJCQxLnlBeGlzVGl0bGVXaWR0aCA9IG9wdHMueUF4aXMuZGlzYWJsZWQgIT09IHRydWUgJiYgb3B0cy55QXhpcy50aXRsZSA/IGNvbmZpZyQkMS55QXhpc1RpdGxlV2lkdGggOiAwO1xyXG4gIGlmIChvcHRzLnR5cGUgPT0gJ3BpZScgfHwgb3B0cy50eXBlID09ICdyaW5nJykge1xyXG4gICAgY29uZmlnJCQxLnBpZUNoYXJ0TGluZVBhZGRpbmcgPSBvcHRzLmRhdGFMYWJlbCA9PT0gZmFsc2UgPyAwIDogb3B0cy5leHRyYS5waWUubGFiZWxXaWR0aCAqIG9wdHMucGl4ZWxSYXRpbyB8fCBjb25maWckJDEucGllQ2hhcnRMaW5lUGFkZGluZyAqIG9wdHMucGl4ZWxSYXRpbztcclxuICB9XHJcbiAgaWYgKG9wdHMudHlwZSA9PSAncm9zZScpIHtcclxuICAgIGNvbmZpZyQkMS5waWVDaGFydExpbmVQYWRkaW5nID0gb3B0cy5kYXRhTGFiZWwgPT09IGZhbHNlID8gMCA6IG9wdHMuZXh0cmEucm9zZS5sYWJlbFdpZHRoICogb3B0cy5waXhlbFJhdGlvIHx8IGNvbmZpZyQkMS5waWVDaGFydExpbmVQYWRkaW5nICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIH1cclxuICBjb25maWckJDEucGllQ2hhcnRUZXh0UGFkZGluZyA9IG9wdHMuZGF0YUxhYmVsID09PSBmYWxzZSA/IDAgOiBjb25maWckJDEucGllQ2hhcnRUZXh0UGFkZGluZyAqIG9wdHMucGl4ZWxSYXRpbztcclxuICBjb25maWckJDEueUF4aXNTcGxpdCA9IG9wdHMueUF4aXMuc3BsaXROdW1iZXIgPyBvcHRzLnlBeGlzLnNwbGl0TnVtYmVyIDogY29uZmlnLnlBeGlzU3BsaXQ7XHJcblxyXG4gIC8v5bGP5bmV5peL6L2sXHJcbiAgY29uZmlnJCQxLnJvdGF0ZSA9IG9wdHMucm90YXRlO1xyXG4gIGlmIChvcHRzLnJvdGF0ZSkge1xyXG4gICAgbGV0IHRlbXBXaWR0aCA9IG9wdHMud2lkdGg7XHJcbiAgICBsZXQgdGVtcEhlaWdodCA9IG9wdHMuaGVpZ2h0O1xyXG4gICAgb3B0cy53aWR0aCA9IHRlbXBIZWlnaHQ7XHJcbiAgICBvcHRzLmhlaWdodCA9IHRlbXBXaWR0aDtcclxuICB9XHJcblxyXG4gIC8v6YCC6YWN6auY5YiG5bGPXHJcbiAgb3B0cy5wYWRkaW5nID0gb3B0cy5wYWRkaW5nID8gb3B0cy5wYWRkaW5nIDogY29uZmlnJCQxLnBhZGRpbmc7XHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA0OyBpKyspIHtcclxuICAgIG9wdHMucGFkZGluZ1tpXSAqPSBvcHRzLnBpeGVsUmF0aW87XHJcbiAgfVxyXG4gIGNvbmZpZyQkMS55QXhpc1dpZHRoID0gY29uZmlnLnlBeGlzV2lkdGggKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgY29uZmlnJCQxLnhBeGlzSGVpZ2h0ID0gY29uZmlnLnhBeGlzSGVpZ2h0ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIGlmIChvcHRzLmVuYWJsZVNjcm9sbCAmJiBvcHRzLnhBeGlzLnNjcm9sbFNob3cpIHtcclxuICAgIGNvbmZpZyQkMS54QXhpc0hlaWdodCArPSA2ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIH1cclxuICBjb25maWckJDEueEF4aXNMaW5lSGVpZ2h0ID0gY29uZmlnLnhBeGlzTGluZUhlaWdodCAqIG9wdHMucGl4ZWxSYXRpbztcclxuICBjb25maWckJDEuZm9udFNpemUgPSBvcHRzLmZvbnRTaXplO1xyXG4gIGNvbmZpZyQkMS50aXRsZUZvbnRTaXplID0gY29uZmlnLnRpdGxlRm9udFNpemUgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgY29uZmlnJCQxLnN1YnRpdGxlRm9udFNpemUgPSBjb25maWcuc3VidGl0bGVGb250U2l6ZSAqIG9wdHMucGl4ZWxSYXRpbztcclxuICBjb25maWckJDEudG9vbFRpcFBhZGRpbmcgPSBjb25maWcudG9vbFRpcFBhZGRpbmcgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgY29uZmlnJCQxLnRvb2xUaXBMaW5lSGVpZ2h0ID0gY29uZmlnLnRvb2xUaXBMaW5lSGVpZ2h0ICogb3B0cy5waXhlbFJhdGlvO1xyXG4gIGNvbmZpZyQkMS5jb2x1bWVQYWRkaW5nID0gY29uZmlnLmNvbHVtZVBhZGRpbmcgKiBvcHRzLnBpeGVsUmF0aW87XHJcbiAgb3B0cy4kdGhpcyA9IG9wdHMuJHRoaXMgPyBvcHRzLiR0aGlzIDogdGhpcztcclxuICBcclxuICB0aGlzLmNvbnRleHQgPSB1bmkuY3JlYXRlQ2FudmFzQ29udGV4dChvcHRzLmNhbnZhc0lkLCBvcHRzLiR0aGlzKTtcclxuICAvKiDlhbzlrrnljp/nlJ9INVxyXG4gIHRoaXMuY29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG9wdHMuY2FudmFzSWQpLmdldENvbnRleHQoXCIyZFwiKTtcclxuICB0aGlzLmNvbnRleHQuc2V0U3Ryb2tlU3R5bGUgPSBmdW5jdGlvbihlKXsgcmV0dXJuIHRoaXMuc3Ryb2tlU3R5bGU9ZTsgfVxyXG4gIHRoaXMuY29udGV4dC5zZXRMaW5lV2lkdGggPSBmdW5jdGlvbihlKXsgcmV0dXJuIHRoaXMubGluZVdpZHRoPWU7IH1cclxuICB0aGlzLmNvbnRleHQuc2V0TGluZUNhcCA9IGZ1bmN0aW9uKGUpeyByZXR1cm4gdGhpcy5saW5lQ2FwPWU7IH1cclxuICB0aGlzLmNvbnRleHQuc2V0Rm9udFNpemUgPSBmdW5jdGlvbihlKXsgcmV0dXJuIHRoaXMuZm9udD1lK1wicHggc2Fucy1zZXJpZlwiOyB9XHJcbiAgdGhpcy5jb250ZXh0LnNldEZpbGxTdHlsZSA9IGZ1bmN0aW9uKGUpeyByZXR1cm4gdGhpcy5maWxsU3R5bGU9ZTsgfVxyXG4gIHRoaXMuY29udGV4dC5kcmF3ID0gZnVuY3Rpb24oKXsgfVxyXG4gICovXHJcblxyXG4gIG9wdHMuY2hhcnREYXRhID0ge307XHJcbiAgdGhpcy5ldmVudCA9IG5ldyBFdmVudCgpO1xyXG4gIHRoaXMuc2Nyb2xsT3B0aW9uID0ge1xyXG4gICAgY3VycmVudE9mZnNldDogMCxcclxuICAgIHN0YXJ0VG91Y2hYOiAwLFxyXG4gICAgZGlzdGFuY2U6IDAsXHJcbiAgICBsYXN0TW92ZVRpbWU6IDBcclxuICB9O1xyXG5cclxuICB0aGlzLm9wdHMgPSBvcHRzO1xyXG4gIHRoaXMuY29uZmlnID0gY29uZmlnJCQxO1xyXG5cclxuICBkcmF3Q2hhcnRzLmNhbGwodGhpcywgb3B0cy50eXBlLCBvcHRzLCBjb25maWckJDEsIHRoaXMuY29udGV4dCk7XHJcbn07XHJcblxyXG5DaGFydHMucHJvdG90eXBlLnVwZGF0ZURhdGEgPSBmdW5jdGlvbigpIHtcclxuICBsZXQgZGF0YSA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XHJcbiAgdGhpcy5vcHRzID0gYXNzaWduKHt9LCB0aGlzLm9wdHMsIGRhdGEpO1xyXG4gIHRoaXMub3B0cy51cGRhdGVEYXRhID0gdHJ1ZTtcclxuICBsZXQgc2Nyb2xsUG9zaXRpb24gPSBkYXRhLnNjcm9sbFBvc2l0aW9uIHx8ICdjdXJyZW50JztcclxuICBzd2l0Y2ggKHNjcm9sbFBvc2l0aW9uKSB7XHJcbiAgICBjYXNlICdjdXJyZW50JzpcclxuICAgICAgdGhpcy5vcHRzLl9zY3JvbGxEaXN0YW5jZV8gPSB0aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0O1xyXG4gICAgICBicmVhaztcclxuICAgIGNhc2UgJ2xlZnQnOlxyXG4gICAgICB0aGlzLm9wdHMuX3Njcm9sbERpc3RhbmNlXyA9IDA7XHJcbiAgICAgIHRoaXMuc2Nyb2xsT3B0aW9uID0ge1xyXG4gICAgICAgIGN1cnJlbnRPZmZzZXQ6IDAsXHJcbiAgICAgICAgc3RhcnRUb3VjaFg6IDAsXHJcbiAgICAgICAgZGlzdGFuY2U6IDAsXHJcbiAgICAgICAgbGFzdE1vdmVUaW1lOiAwXHJcbiAgICAgIH07XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICBsZXQgX2NhbFlBeGlzRGF0YSA9IGNhbFlBeGlzRGF0YSh0aGlzLm9wdHMuc2VyaWVzLCB0aGlzLm9wdHMsIHRoaXMuY29uZmlnKSxcclxuICAgICAgICB5QXhpc1dpZHRoID0gX2NhbFlBeGlzRGF0YS55QXhpc1dpZHRoO1xyXG4gICAgICB0aGlzLmNvbmZpZy55QXhpc1dpZHRoID0geUF4aXNXaWR0aDtcclxuICAgICAgbGV0IG9mZnNldExlZnQgPSAwO1xyXG4gICAgICBsZXQgX2dldFhBeGlzUG9pbnRzMCA9IGdldFhBeGlzUG9pbnRzKHRoaXMub3B0cy5jYXRlZ29yaWVzLCB0aGlzLm9wdHMsIHRoaXMuY29uZmlnKSxcclxuICAgICAgICB4QXhpc1BvaW50cyA9IF9nZXRYQXhpc1BvaW50czAueEF4aXNQb2ludHMsXHJcbiAgICAgICAgc3RhcnRYID0gX2dldFhBeGlzUG9pbnRzMC5zdGFydFgsXHJcbiAgICAgICAgZW5kWCA9IF9nZXRYQXhpc1BvaW50czAuZW5kWCxcclxuICAgICAgICBlYWNoU3BhY2luZyA9IF9nZXRYQXhpc1BvaW50czAuZWFjaFNwYWNpbmc7XHJcbiAgICAgIGxldCB0b3RhbFdpZHRoID0gZWFjaFNwYWNpbmcgKiAoeEF4aXNQb2ludHMubGVuZ3RoIC0gMSk7XHJcbiAgICAgIGxldCBzY3JlZW5XaWR0aCA9IGVuZFggLSBzdGFydFg7XHJcbiAgICAgIG9mZnNldExlZnQgPSBzY3JlZW5XaWR0aCAtIHRvdGFsV2lkdGg7XHJcbiAgICAgIHRoaXMuc2Nyb2xsT3B0aW9uID0ge1xyXG4gICAgICAgIGN1cnJlbnRPZmZzZXQ6IG9mZnNldExlZnQsXHJcbiAgICAgICAgc3RhcnRUb3VjaFg6IG9mZnNldExlZnQsXHJcbiAgICAgICAgZGlzdGFuY2U6IDAsXHJcbiAgICAgICAgbGFzdE1vdmVUaW1lOiAwXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMub3B0cy5fc2Nyb2xsRGlzdGFuY2VfID0gb2Zmc2V0TGVmdDtcclxuICAgICAgYnJlYWs7XHJcbiAgfVxyXG4gIGRyYXdDaGFydHMuY2FsbCh0aGlzLCB0aGlzLm9wdHMudHlwZSwgdGhpcy5vcHRzLCB0aGlzLmNvbmZpZywgdGhpcy5jb250ZXh0KTtcclxufTtcclxuXHJcbkNoYXJ0cy5wcm90b3R5cGUuem9vbSA9IGZ1bmN0aW9uKCkge1xyXG4gIHZhciB2YWwgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHRoaXMub3B0cy54QXhpcy5pdGVtQ291bnQ7XHJcbiAgaWYgKHRoaXMub3B0cy5lbmFibGVTY3JvbGwgIT09IHRydWUpIHtcclxuICAgIGNvbnNvbGUubG9nKCfor7flkK/nlKjmu5rliqjmnaHlkI7kvb/nlKjvvIEnKVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICAvL+W9k+WJjeWxj+W5leS4remXtOeCuVxyXG4gIGxldCBjZW50ZXJQb2ludCA9IE1hdGgucm91bmQoTWF0aC5hYnModGhpcy5zY3JvbGxPcHRpb24uY3VycmVudE9mZnNldCkgLyB0aGlzLm9wdHMuY2hhcnREYXRhLmVhY2hTcGFjaW5nKSArIE1hdGgucm91bmQoXHJcbiAgICB0aGlzLm9wdHMueEF4aXMuaXRlbUNvdW50IC8gMik7XHJcbiAgdGhpcy5vcHRzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gIHRoaXMub3B0cy54QXhpcy5pdGVtQ291bnQgPSB2YWwuaXRlbUNvdW50O1xyXG4gIC8v6YeN5paw6K6h566XeOi9tOWBj+enu+i3neemu1xyXG4gIGxldCBfY2FsWUF4aXNEYXRhID0gY2FsWUF4aXNEYXRhKHRoaXMub3B0cy5zZXJpZXMsIHRoaXMub3B0cywgdGhpcy5jb25maWcpLFxyXG4gICAgeUF4aXNXaWR0aCA9IF9jYWxZQXhpc0RhdGEueUF4aXNXaWR0aDtcclxuICB0aGlzLmNvbmZpZy55QXhpc1dpZHRoID0geUF4aXNXaWR0aDtcclxuICBsZXQgb2Zmc2V0TGVmdCA9IDA7XHJcbiAgbGV0IF9nZXRYQXhpc1BvaW50czAgPSBnZXRYQXhpc1BvaW50cyh0aGlzLm9wdHMuY2F0ZWdvcmllcywgdGhpcy5vcHRzLCB0aGlzLmNvbmZpZyksXHJcbiAgICB4QXhpc1BvaW50cyA9IF9nZXRYQXhpc1BvaW50czAueEF4aXNQb2ludHMsXHJcbiAgICBzdGFydFggPSBfZ2V0WEF4aXNQb2ludHMwLnN0YXJ0WCxcclxuICAgIGVuZFggPSBfZ2V0WEF4aXNQb2ludHMwLmVuZFgsXHJcbiAgICBlYWNoU3BhY2luZyA9IF9nZXRYQXhpc1BvaW50czAuZWFjaFNwYWNpbmc7XHJcbiAgbGV0IGNlbnRlckxlZnQgPSBlYWNoU3BhY2luZyAqIGNlbnRlclBvaW50O1xyXG4gIGxldCBzY3JlZW5XaWR0aCA9IGVuZFggLSBzdGFydFg7XHJcbiAgbGV0IE1heExlZnQgPSBzY3JlZW5XaWR0aCAtIGVhY2hTcGFjaW5nICogKHhBeGlzUG9pbnRzLmxlbmd0aCAtIDEpO1xyXG4gIG9mZnNldExlZnQgPSBzY3JlZW5XaWR0aCAvIDIgLSBjZW50ZXJMZWZ0O1xyXG4gIGlmIChvZmZzZXRMZWZ0ID4gMCkge1xyXG4gICAgb2Zmc2V0TGVmdCA9IDA7XHJcbiAgfVxyXG4gIGlmIChvZmZzZXRMZWZ0IDwgTWF4TGVmdCkge1xyXG4gICAgb2Zmc2V0TGVmdCA9IE1heExlZnQ7XHJcbiAgfVxyXG4gIHRoaXMuc2Nyb2xsT3B0aW9uID0ge1xyXG4gICAgY3VycmVudE9mZnNldDogb2Zmc2V0TGVmdCxcclxuICAgIHN0YXJ0VG91Y2hYOiBvZmZzZXRMZWZ0LFxyXG4gICAgZGlzdGFuY2U6IDAsXHJcbiAgICBsYXN0TW92ZVRpbWU6IDBcclxuICB9O1xyXG4gIHRoaXMub3B0cy5fc2Nyb2xsRGlzdGFuY2VfID0gb2Zmc2V0TGVmdDtcclxuICBkcmF3Q2hhcnRzLmNhbGwodGhpcywgdGhpcy5vcHRzLnR5cGUsIHRoaXMub3B0cywgdGhpcy5jb25maWcsIHRoaXMuY29udGV4dCk7XHJcbn07XHJcblxyXG5DaGFydHMucHJvdG90eXBlLnN0b3BBbmltYXRpb24gPSBmdW5jdGlvbigpIHtcclxuICB0aGlzLmFuaW1hdGlvbkluc3RhbmNlICYmIHRoaXMuYW5pbWF0aW9uSW5zdGFuY2Uuc3RvcCgpO1xyXG59O1xyXG5cclxuQ2hhcnRzLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyID0gZnVuY3Rpb24odHlwZSwgbGlzdGVuZXIpIHtcclxuICB0aGlzLmV2ZW50LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpO1xyXG59O1xyXG5cclxuQ2hhcnRzLnByb3RvdHlwZS5nZXRDdXJyZW50RGF0YUluZGV4ID0gZnVuY3Rpb24oZSkge1xyXG4gIHZhciB0b3VjaGVzID0gbnVsbDtcclxuICBpZiAoZS5jaGFuZ2VkVG91Y2hlcykge1xyXG4gICAgdG91Y2hlcyA9IGUuY2hhbmdlZFRvdWNoZXNbMF07XHJcbiAgfSBlbHNlIHtcclxuICAgIHRvdWNoZXMgPSBlLm1wLmNoYW5nZWRUb3VjaGVzWzBdO1xyXG4gIH1cclxuICBpZiAodG91Y2hlcykge1xyXG4gICAgbGV0IF90b3VjaGVzJCA9IGdldFRvdWNoZXModG91Y2hlcywgdGhpcy5vcHRzLCBlKTtcclxuICAgIGlmICh0aGlzLm9wdHMudHlwZSA9PT0gJ3BpZScgfHwgdGhpcy5vcHRzLnR5cGUgPT09ICdyaW5nJyB8fCB0aGlzLm9wdHMudHlwZSA9PT0gJ3Jvc2UnKSB7XHJcbiAgICAgIHJldHVybiBmaW5kUGllQ2hhcnRDdXJyZW50SW5kZXgoe1xyXG4gICAgICAgIHg6IF90b3VjaGVzJC54LFxyXG4gICAgICAgIHk6IF90b3VjaGVzJC55XHJcbiAgICAgIH0sIHRoaXMub3B0cy5jaGFydERhdGEucGllRGF0YSk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0cy50eXBlID09PSAncmFkYXInKSB7XHJcbiAgICAgIHJldHVybiBmaW5kUmFkYXJDaGFydEN1cnJlbnRJbmRleCh7XHJcbiAgICAgICAgeDogX3RvdWNoZXMkLngsXHJcbiAgICAgICAgeTogX3RvdWNoZXMkLnlcclxuICAgICAgfSwgdGhpcy5vcHRzLmNoYXJ0RGF0YS5yYWRhckRhdGEsIHRoaXMub3B0cy5jYXRlZ29yaWVzLmxlbmd0aCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub3B0cy50eXBlID09PSAnZnVubmVsJykge1xyXG4gICAgICByZXR1cm4gZmluZEZ1bm5lbENoYXJ0Q3VycmVudEluZGV4KHtcclxuICAgICAgICB4OiBfdG91Y2hlcyQueCxcclxuICAgICAgICB5OiBfdG91Y2hlcyQueVxyXG4gICAgICB9LCB0aGlzLm9wdHMuY2hhcnREYXRhLmZ1bm5lbERhdGEpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLm9wdHMudHlwZSA9PT0gJ21hcCcpIHtcclxuICAgICAgcmV0dXJuIGZpbmRNYXBDaGFydEN1cnJlbnRJbmRleCh7XHJcbiAgICAgICAgeDogX3RvdWNoZXMkLngsXHJcbiAgICAgICAgeTogX3RvdWNoZXMkLnlcclxuICAgICAgfSwgdGhpcy5vcHRzKTtcclxuICAgIH1lbHNlIGlmICh0aGlzLm9wdHMudHlwZSA9PT0gJ3dvcmQnKSB7XHJcbiAgICAgIHJldHVybiBmaW5kV29yZENoYXJ0Q3VycmVudEluZGV4KHtcclxuICAgICAgICB4OiBfdG91Y2hlcyQueCxcclxuICAgICAgICB5OiBfdG91Y2hlcyQueVxyXG4gICAgICB9LCB0aGlzLm9wdHMuY2hhcnREYXRhLndvcmRDbG91ZERhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZpbmRDdXJyZW50SW5kZXgoe1xyXG4gICAgICAgIHg6IF90b3VjaGVzJC54LFxyXG4gICAgICAgIHk6IF90b3VjaGVzJC55XHJcbiAgICAgIH0sIHRoaXMub3B0cy5jaGFydERhdGEuY2FsUG9pbnRzLCB0aGlzLm9wdHMsIHRoaXMuY29uZmlnLCBNYXRoLmFicyh0aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0KSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiAtMTtcclxufTtcclxuXHJcbkNoYXJ0cy5wcm90b3R5cGUuZ2V0TGVnZW5kRGF0YUluZGV4ID0gZnVuY3Rpb24oZSkge1xyXG4gIHZhciB0b3VjaGVzID0gbnVsbDtcclxuICBpZiAoZS5jaGFuZ2VkVG91Y2hlcykge1xyXG4gICAgdG91Y2hlcyA9IGUuY2hhbmdlZFRvdWNoZXNbMF07XHJcbiAgfSBlbHNlIHtcclxuICAgIHRvdWNoZXMgPSBlLm1wLmNoYW5nZWRUb3VjaGVzWzBdO1xyXG4gIH1cclxuICBpZiAodG91Y2hlcykge1xyXG4gICAgbGV0IF90b3VjaGVzJCA9IGdldFRvdWNoZXModG91Y2hlcywgdGhpcy5vcHRzLCBlKTtcclxuICAgIHJldHVybiBmaW5kTGVnZW5kSW5kZXgoe1xyXG4gICAgICB4OiBfdG91Y2hlcyQueCxcclxuICAgICAgeTogX3RvdWNoZXMkLnlcclxuICAgIH0sIHRoaXMub3B0cy5jaGFydERhdGEubGVnZW5kRGF0YSk7XHJcbiAgfVxyXG4gIHJldHVybiAtMTtcclxufTtcclxuXHJcbkNoYXJ0cy5wcm90b3R5cGUudG91Y2hMZWdlbmQgPSBmdW5jdGlvbihlKSB7XHJcbiAgdmFyIG9wdGlvbiA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XHJcbiAgdmFyIHRvdWNoZXMgPSBudWxsO1xyXG4gIGlmIChlLmNoYW5nZWRUb3VjaGVzKSB7XHJcbiAgICB0b3VjaGVzID0gZS5jaGFuZ2VkVG91Y2hlc1swXTtcclxuICB9IGVsc2Uge1xyXG4gICAgdG91Y2hlcyA9IGUubXAuY2hhbmdlZFRvdWNoZXNbMF07XHJcbiAgfVxyXG4gIGlmICh0b3VjaGVzKSB7XHJcbiAgICB2YXIgX3RvdWNoZXMkID0gZ2V0VG91Y2hlcyh0b3VjaGVzLCB0aGlzLm9wdHMsIGUpO1xyXG4gICAgdmFyIGluZGV4ID0gdGhpcy5nZXRMZWdlbmREYXRhSW5kZXgoZSk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLm9wdHMuc2VyaWVzW2luZGV4XS5zaG93ID0gIXRoaXMub3B0cy5zZXJpZXNbaW5kZXhdLnNob3c7XHJcbiAgICAgIHRoaXMub3B0cy5hbmltYXRpb24gPSBvcHRpb24uYW5pbWF0aW9uID8gdHJ1ZSA6IGZhbHNlO1xyXG5cdFx0XHR0aGlzLm9wdHMuX3Njcm9sbERpc3RhbmNlXz0gdGhpcy5zY3JvbGxPcHRpb24uY3VycmVudE9mZnNldDtcclxuICAgICAgZHJhd0NoYXJ0cy5jYWxsKHRoaXMsIHRoaXMub3B0cy50eXBlLCB0aGlzLm9wdHMsIHRoaXMuY29uZmlnLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn07XHJcblxyXG5DaGFydHMucHJvdG90eXBlLnNob3dUb29sVGlwID0gZnVuY3Rpb24oZSkge1xyXG4gIHZhciBvcHRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xyXG4gIHZhciB0b3VjaGVzID0gbnVsbDtcclxuICBpZiAoZS5jaGFuZ2VkVG91Y2hlcykge1xyXG4gICAgdG91Y2hlcyA9IGUuY2hhbmdlZFRvdWNoZXNbMF07XHJcbiAgfSBlbHNlIHtcclxuICAgIHRvdWNoZXMgPSBlLm1wLmNoYW5nZWRUb3VjaGVzWzBdO1xyXG4gIH1cclxuICBpZiAoIXRvdWNoZXMpIHtcclxuICAgIGNvbnNvbGUubG9nKFwidG91Y2hFcnJvclwiKTtcclxuICB9XHJcbiAgdmFyIF90b3VjaGVzJCA9IGdldFRvdWNoZXModG91Y2hlcywgdGhpcy5vcHRzLCBlKTtcclxuICB2YXIgY3VycmVudE9mZnNldCA9IHRoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQ7XHJcbiAgdmFyIG9wdHMgPSBhc3NpZ24oe30sIHRoaXMub3B0cywge1xyXG4gICAgX3Njcm9sbERpc3RhbmNlXzogY3VycmVudE9mZnNldCxcclxuICAgIGFuaW1hdGlvbjogZmFsc2VcclxuICB9KTtcclxuICBpZiAodGhpcy5vcHRzLnR5cGUgPT09ICdsaW5lJyB8fCB0aGlzLm9wdHMudHlwZSA9PT0gJ2FyZWEnIHx8IHRoaXMub3B0cy50eXBlID09PSAnY29sdW1uJykge1xyXG4gICAgdmFyIGluZGV4ID0gb3B0aW9uLmluZGV4PT11bmRlZmluZWQ/IHRoaXMuZ2V0Q3VycmVudERhdGFJbmRleChlKTpvcHRpb24uaW5kZXggO1xyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdmFyIHNlcmllc0RhdGEgPSBnZXRTZXJpZXNEYXRhSXRlbSh0aGlzLm9wdHMuc2VyaWVzLCBpbmRleCk7XHJcbiAgICAgIGlmIChzZXJpZXNEYXRhLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgIHZhciBfZ2V0VG9vbFRpcERhdGEgPSBnZXRUb29sVGlwRGF0YShzZXJpZXNEYXRhLCB0aGlzLm9wdHMuY2hhcnREYXRhLmNhbFBvaW50cywgaW5kZXgsIHRoaXMub3B0cy5jYXRlZ29yaWVzLG9wdGlvbiksXHJcbiAgICAgICAgICB0ZXh0TGlzdCA9IF9nZXRUb29sVGlwRGF0YS50ZXh0TGlzdCxcclxuICAgICAgICAgIG9mZnNldCA9IF9nZXRUb29sVGlwRGF0YS5vZmZzZXQ7XHJcbiAgICAgICAgb2Zmc2V0LnkgPSBfdG91Y2hlcyQueTtcclxuICAgICAgICBvcHRzLnRvb2x0aXAgPSB7XHJcbiAgICAgICAgICB0ZXh0TGlzdDogb3B0aW9uLnRleHRMaXN0P29wdGlvbi50ZXh0TGlzdDp0ZXh0TGlzdCxcclxuICAgICAgICAgIG9mZnNldDogb2Zmc2V0LFxyXG4gICAgICAgICAgb3B0aW9uOiBvcHRpb24sXHJcbiAgICAgICAgICBpbmRleDogaW5kZXhcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBkcmF3Q2hhcnRzLmNhbGwodGhpcywgb3B0cy50eXBlLCBvcHRzLCB0aGlzLmNvbmZpZywgdGhpcy5jb250ZXh0KTtcclxuICB9XHJcbiAgaWYgKHRoaXMub3B0cy50eXBlID09PSAnbWl4Jykge1xyXG4gICAgdmFyIGluZGV4ID0gb3B0aW9uLmluZGV4PT11bmRlZmluZWQ/IHRoaXMuZ2V0Q3VycmVudERhdGFJbmRleChlKTpvcHRpb24uaW5kZXggO1xyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdmFyIGN1cnJlbnRPZmZzZXQgPSB0aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0O1xyXG4gICAgICB2YXIgb3B0cyA9IGFzc2lnbih7fSwgdGhpcy5vcHRzLCB7XHJcbiAgICAgICAgX3Njcm9sbERpc3RhbmNlXzogY3VycmVudE9mZnNldCxcclxuICAgICAgICBhbmltYXRpb246IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgICB2YXIgc2VyaWVzRGF0YSA9IGdldFNlcmllc0RhdGFJdGVtKHRoaXMub3B0cy5zZXJpZXMsIGluZGV4KTtcclxuICAgICAgaWYgKHNlcmllc0RhdGEubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgICAgdmFyIF9nZXRNaXhUb29sVGlwRGF0YSA9IGdldE1peFRvb2xUaXBEYXRhKHNlcmllc0RhdGEsIHRoaXMub3B0cy5jaGFydERhdGEuY2FsUG9pbnRzLCBpbmRleCwgdGhpcy5vcHRzLmNhdGVnb3JpZXMsb3B0aW9uKSxcclxuICAgICAgICAgIHRleHRMaXN0ID0gX2dldE1peFRvb2xUaXBEYXRhLnRleHRMaXN0LFxyXG4gICAgICAgICAgb2Zmc2V0ID0gX2dldE1peFRvb2xUaXBEYXRhLm9mZnNldDtcclxuICAgICAgICBvZmZzZXQueSA9IF90b3VjaGVzJC55O1xyXG4gICAgICAgIG9wdHMudG9vbHRpcCA9IHtcclxuICAgICAgICAgIHRleHRMaXN0OiBvcHRpb24udGV4dExpc3Q/b3B0aW9uLnRleHRMaXN0OnRleHRMaXN0LFxyXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQsXHJcbiAgICAgICAgICBvcHRpb246IG9wdGlvbixcclxuICAgICAgICAgIGluZGV4OiBpbmRleFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGRyYXdDaGFydHMuY2FsbCh0aGlzLCBvcHRzLnR5cGUsIG9wdHMsIHRoaXMuY29uZmlnLCB0aGlzLmNvbnRleHQpO1xyXG4gIH1cclxuICBpZiAodGhpcy5vcHRzLnR5cGUgPT09ICdjYW5kbGUnKSB7XHJcbiAgICB2YXIgaW5kZXggPSBvcHRpb24uaW5kZXg9PXVuZGVmaW5lZD8gdGhpcy5nZXRDdXJyZW50RGF0YUluZGV4KGUpOm9wdGlvbi5pbmRleCA7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB2YXIgY3VycmVudE9mZnNldCA9IHRoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQ7XHJcbiAgICAgIHZhciBvcHRzID0gYXNzaWduKHt9LCB0aGlzLm9wdHMsIHtcclxuICAgICAgICBfc2Nyb2xsRGlzdGFuY2VfOiBjdXJyZW50T2Zmc2V0LFxyXG4gICAgICAgIGFuaW1hdGlvbjogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICAgIHZhciBzZXJpZXNEYXRhID0gZ2V0U2VyaWVzRGF0YUl0ZW0odGhpcy5vcHRzLnNlcmllcywgaW5kZXgpO1xyXG4gICAgICBpZiAoc2VyaWVzRGF0YS5sZW5ndGggIT09IDApIHtcclxuICAgICAgICB2YXIgX2dldFRvb2xUaXBEYXRhID0gZ2V0Q2FuZGxlVG9vbFRpcERhdGEodGhpcy5vcHRzLnNlcmllc1swXS5kYXRhLCBzZXJpZXNEYXRhLCB0aGlzLm9wdHMuY2hhcnREYXRhLmNhbFBvaW50cyxcclxuICAgICAgICAgICAgaW5kZXgsIHRoaXMub3B0cy5jYXRlZ29yaWVzLCB0aGlzLm9wdHMuZXh0cmEuY2FuZGxlLCBvcHRpb24pLFxyXG4gICAgICAgICAgdGV4dExpc3QgPSBfZ2V0VG9vbFRpcERhdGEudGV4dExpc3QsXHJcbiAgICAgICAgICBvZmZzZXQgPSBfZ2V0VG9vbFRpcERhdGEub2Zmc2V0O1xyXG4gICAgICAgIG9mZnNldC55ID0gX3RvdWNoZXMkLnk7XHJcbiAgICAgICAgb3B0cy50b29sdGlwID0ge1xyXG4gICAgICAgICAgdGV4dExpc3Q6IG9wdGlvbi50ZXh0TGlzdD9vcHRpb24udGV4dExpc3Q6dGV4dExpc3QsXHJcbiAgICAgICAgICBvZmZzZXQ6IG9mZnNldCxcclxuICAgICAgICAgIG9wdGlvbjogb3B0aW9uLFxyXG4gICAgICAgICAgaW5kZXg6IGluZGV4XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZHJhd0NoYXJ0cy5jYWxsKHRoaXMsIG9wdHMudHlwZSwgb3B0cywgdGhpcy5jb25maWcsIHRoaXMuY29udGV4dCk7XHJcbiAgfVxyXG4gIGlmICh0aGlzLm9wdHMudHlwZSA9PT0gJ3BpZScgfHwgdGhpcy5vcHRzLnR5cGUgPT09ICdyaW5nJyB8fCB0aGlzLm9wdHMudHlwZSA9PT0gJ3Jvc2UnfHx0aGlzLm9wdHMudHlwZSA9PT0gJ2Z1bm5lbCcgKSB7XHJcbiAgICB2YXIgaW5kZXggPSBvcHRpb24uaW5kZXg9PXVuZGVmaW5lZD8gdGhpcy5nZXRDdXJyZW50RGF0YUluZGV4KGUpOm9wdGlvbi5pbmRleCA7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB2YXIgY3VycmVudE9mZnNldCA9IHRoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQ7XHJcbiAgICAgIHZhciBvcHRzID0gYXNzaWduKHt9LCB0aGlzLm9wdHMsIHtcclxuICAgICAgICBfc2Nyb2xsRGlzdGFuY2VfOiBjdXJyZW50T2Zmc2V0LFxyXG4gICAgICAgIGFuaW1hdGlvbjogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICAgIHZhciBzZXJpZXNEYXRhID0gdGhpcy5vcHRzLl9zZXJpZXNfW2luZGV4XTtcclxuICAgICAgdmFyIHRleHRMaXN0ID0gW3tcclxuICAgICAgICB0ZXh0OiBvcHRpb24uZm9ybWF0ID8gb3B0aW9uLmZvcm1hdChzZXJpZXNEYXRhKSA6IHNlcmllc0RhdGEubmFtZSArICc6ICcgKyBzZXJpZXNEYXRhLmRhdGEsXHJcbiAgICAgICAgY29sb3I6IHNlcmllc0RhdGEuY29sb3JcclxuICAgICAgfV07XHJcbiAgICAgIHZhciBvZmZzZXQgPSB7XHJcbiAgICAgICAgeDogX3RvdWNoZXMkLngsXHJcbiAgICAgICAgeTogX3RvdWNoZXMkLnlcclxuICAgICAgfTtcclxuICAgICAgb3B0cy50b29sdGlwID0ge1xyXG4gICAgICAgIHRleHRMaXN0OiBvcHRpb24udGV4dExpc3Q/b3B0aW9uLnRleHRMaXN0OnRleHRMaXN0LFxyXG4gICAgICAgIG9mZnNldDogb2Zmc2V0LFxyXG4gICAgICAgIG9wdGlvbjogb3B0aW9uLFxyXG4gICAgICAgIGluZGV4OiBpbmRleFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgZHJhd0NoYXJ0cy5jYWxsKHRoaXMsIG9wdHMudHlwZSwgb3B0cywgdGhpcy5jb25maWcsIHRoaXMuY29udGV4dCk7XHJcbiAgfVxyXG4gIGlmICh0aGlzLm9wdHMudHlwZSA9PT0gJ21hcCd8fHRoaXMub3B0cy50eXBlID09PSAnd29yZCcpIHtcclxuICAgIHZhciBpbmRleCA9IG9wdGlvbi5pbmRleD09dW5kZWZpbmVkPyB0aGlzLmdldEN1cnJlbnREYXRhSW5kZXgoZSk6b3B0aW9uLmluZGV4IDtcclxuICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgIHZhciBjdXJyZW50T2Zmc2V0ID0gdGhpcy5zY3JvbGxPcHRpb24uY3VycmVudE9mZnNldDtcclxuICAgICAgdmFyIG9wdHMgPSBhc3NpZ24oe30sIHRoaXMub3B0cywge1xyXG4gICAgICAgIF9zY3JvbGxEaXN0YW5jZV86IGN1cnJlbnRPZmZzZXQsXHJcbiAgICAgICAgYW5pbWF0aW9uOiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgICAgdmFyIHNlcmllc0RhdGEgPSB0aGlzLm9wdHMuX3Nlcmllc19baW5kZXhdO1xyXG4gICAgICB2YXIgdGV4dExpc3QgPSBbe1xyXG4gICAgICAgIHRleHQ6IG9wdGlvbi5mb3JtYXQgPyBvcHRpb24uZm9ybWF0KHNlcmllc0RhdGEpIDogc2VyaWVzRGF0YS5wcm9wZXJ0aWVzLm5hbWUgLFxyXG4gICAgICAgIGNvbG9yOiBzZXJpZXNEYXRhLmNvbG9yXHJcbiAgICAgIH1dO1xyXG4gICAgICB2YXIgb2Zmc2V0ID0ge1xyXG4gICAgICAgIHg6IF90b3VjaGVzJC54LFxyXG4gICAgICAgIHk6IF90b3VjaGVzJC55XHJcbiAgICAgIH07XHJcbiAgICAgIG9wdHMudG9vbHRpcCA9IHtcclxuICAgICAgICB0ZXh0TGlzdDogb3B0aW9uLnRleHRMaXN0P29wdGlvbi50ZXh0TGlzdDp0ZXh0TGlzdCxcclxuICAgICAgICBvZmZzZXQ6IG9mZnNldCxcclxuICAgICAgICBvcHRpb246IG9wdGlvbixcclxuICAgICAgICBpbmRleDogaW5kZXhcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIG9wdHMudXBkYXRlRGF0YSA9IGZhbHNlO1xyXG4gICAgZHJhd0NoYXJ0cy5jYWxsKHRoaXMsIG9wdHMudHlwZSwgb3B0cywgdGhpcy5jb25maWcsIHRoaXMuY29udGV4dCk7XHJcbiAgfVxyXG4gIGlmICh0aGlzLm9wdHMudHlwZSA9PT0gJ3JhZGFyJykge1xyXG4gICAgdmFyIGluZGV4ID0gb3B0aW9uLmluZGV4PT11bmRlZmluZWQ/IHRoaXMuZ2V0Q3VycmVudERhdGFJbmRleChlKTpvcHRpb24uaW5kZXggO1xyXG4gICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgdmFyIGN1cnJlbnRPZmZzZXQgPSB0aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0O1xyXG4gICAgICB2YXIgb3B0cyA9IGFzc2lnbih7fSwgdGhpcy5vcHRzLCB7XHJcbiAgICAgICAgX3Njcm9sbERpc3RhbmNlXzogY3VycmVudE9mZnNldCxcclxuICAgICAgICBhbmltYXRpb246IGZhbHNlXHJcbiAgICAgIH0pO1xyXG4gICAgICB2YXIgc2VyaWVzRGF0YSA9IGdldFNlcmllc0RhdGFJdGVtKHRoaXMub3B0cy5zZXJpZXMsIGluZGV4KTtcclxuICAgICAgaWYgKHNlcmllc0RhdGEubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgICAgdmFyIHRleHRMaXN0ID0gc2VyaWVzRGF0YS5tYXAoZnVuY3Rpb24oaXRlbSkge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgdGV4dDogb3B0aW9uLmZvcm1hdCA/IG9wdGlvbi5mb3JtYXQoaXRlbSkgOiBpdGVtLm5hbWUgKyAnOiAnICsgaXRlbS5kYXRhLFxyXG4gICAgICAgICAgICBjb2xvcjogaXRlbS5jb2xvclxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB2YXIgb2Zmc2V0ID0ge1xyXG4gICAgICAgICAgeDogX3RvdWNoZXMkLngsXHJcbiAgICAgICAgICB5OiBfdG91Y2hlcyQueVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgb3B0cy50b29sdGlwID0ge1xyXG4gICAgICAgICAgdGV4dExpc3Q6IG9wdGlvbi50ZXh0TGlzdD9vcHRpb24udGV4dExpc3Q6dGV4dExpc3QsXHJcbiAgICAgICAgICBvZmZzZXQ6IG9mZnNldCxcclxuICAgICAgICAgIG9wdGlvbjogb3B0aW9uLFxyXG4gICAgICAgICAgaW5kZXg6IGluZGV4XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZHJhd0NoYXJ0cy5jYWxsKHRoaXMsIG9wdHMudHlwZSwgb3B0cywgdGhpcy5jb25maWcsIHRoaXMuY29udGV4dCk7XHJcbiAgfVxyXG59O1xyXG5cclxuQ2hhcnRzLnByb3RvdHlwZS50cmFuc2xhdGUgPSBmdW5jdGlvbihkaXN0YW5jZSkge1xyXG4gIHRoaXMuc2Nyb2xsT3B0aW9uID0ge1xyXG4gICAgY3VycmVudE9mZnNldDogZGlzdGFuY2UsXHJcbiAgICBzdGFydFRvdWNoWDogZGlzdGFuY2UsXHJcbiAgICBkaXN0YW5jZTogMCxcclxuICAgIGxhc3RNb3ZlVGltZTogMFxyXG4gIH07XHJcbiAgbGV0IG9wdHMgPSBhc3NpZ24oe30sIHRoaXMub3B0cywge1xyXG4gICAgX3Njcm9sbERpc3RhbmNlXzogZGlzdGFuY2UsXHJcbiAgICBhbmltYXRpb246IGZhbHNlXHJcbiAgfSk7XHJcbiAgZHJhd0NoYXJ0cy5jYWxsKHRoaXMsIHRoaXMub3B0cy50eXBlLCBvcHRzLCB0aGlzLmNvbmZpZywgdGhpcy5jb250ZXh0KTtcclxufTtcclxuXHJcbkNoYXJ0cy5wcm90b3R5cGUuc2Nyb2xsU3RhcnQgPSBmdW5jdGlvbihlKSB7XHJcbiAgdmFyIHRvdWNoZXMgPSBudWxsO1xyXG4gIGlmIChlLmNoYW5nZWRUb3VjaGVzKSB7XHJcbiAgICB0b3VjaGVzID0gZS5jaGFuZ2VkVG91Y2hlc1swXTtcclxuICB9IGVsc2Uge1xyXG4gICAgdG91Y2hlcyA9IGUubXAuY2hhbmdlZFRvdWNoZXNbMF07XHJcbiAgfVxyXG4gIHZhciBfdG91Y2hlcyQgPSBnZXRUb3VjaGVzKHRvdWNoZXMsIHRoaXMub3B0cywgZSk7XHJcbiAgaWYgKHRvdWNoZXMgJiYgdGhpcy5vcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zY3JvbGxPcHRpb24uc3RhcnRUb3VjaFggPSBfdG91Y2hlcyQueDtcclxuICB9XHJcbn07XHJcblxyXG5DaGFydHMucHJvdG90eXBlLnNjcm9sbCA9IGZ1bmN0aW9uKGUpIHtcclxuICBpZiAodGhpcy5zY3JvbGxPcHRpb24ubGFzdE1vdmVUaW1lID09PSAwKSB7XHJcbiAgICB0aGlzLnNjcm9sbE9wdGlvbi5sYXN0TW92ZVRpbWUgPSBEYXRlLm5vdygpO1xyXG4gIH1cclxuICBsZXQgTGltaXQgPSB0aGlzLm9wdHMuZXh0cmEudG91Y2hNb3ZlTGltaXQgfHwgMjA7XHJcbiAgbGV0IGN1cnJNb3ZlVGltZSA9IERhdGUubm93KCk7XHJcbiAgbGV0IGR1cmF0aW9uID0gY3Vyck1vdmVUaW1lIC0gdGhpcy5zY3JvbGxPcHRpb24ubGFzdE1vdmVUaW1lO1xyXG4gIGlmIChkdXJhdGlvbiA8IE1hdGguZmxvb3IoMTAwMCAvIExpbWl0KSkgcmV0dXJuO1xyXG4gIHRoaXMuc2Nyb2xsT3B0aW9uLmxhc3RNb3ZlVGltZSA9IGN1cnJNb3ZlVGltZTtcclxuICB2YXIgdG91Y2hlcyA9IG51bGw7XHJcbiAgaWYgKGUuY2hhbmdlZFRvdWNoZXMpIHtcclxuICAgIHRvdWNoZXMgPSBlLmNoYW5nZWRUb3VjaGVzWzBdO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0b3VjaGVzID0gZS5tcC5jaGFuZ2VkVG91Y2hlc1swXTtcclxuICB9XHJcbiAgaWYgKHRvdWNoZXMgJiYgdGhpcy5vcHRzLmVuYWJsZVNjcm9sbCA9PT0gdHJ1ZSkge1xyXG4gICAgdmFyIF90b3VjaGVzJCA9IGdldFRvdWNoZXModG91Y2hlcywgdGhpcy5vcHRzLCBlKTtcclxuICAgIHZhciBfZGlzdGFuY2U7XHJcbiAgICBfZGlzdGFuY2UgPSBfdG91Y2hlcyQueCAtIHRoaXMuc2Nyb2xsT3B0aW9uLnN0YXJ0VG91Y2hYO1xyXG4gICAgdmFyIGN1cnJlbnRPZmZzZXQgPSB0aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0O1xyXG4gICAgdmFyIHZhbGlkRGlzdGFuY2UgPSBjYWxWYWxpZERpc3RhbmNlKHRoaXMsY3VycmVudE9mZnNldCArIF9kaXN0YW5jZSwgdGhpcy5vcHRzLmNoYXJ0RGF0YSwgdGhpcy5jb25maWcsIHRoaXMub3B0cyk7XHJcbiAgICB0aGlzLnNjcm9sbE9wdGlvbi5kaXN0YW5jZSA9IF9kaXN0YW5jZSA9IHZhbGlkRGlzdGFuY2UgLSBjdXJyZW50T2Zmc2V0O1xyXG4gICAgdmFyIG9wdHMgPSBhc3NpZ24oe30sIHRoaXMub3B0cywge1xyXG4gICAgICBfc2Nyb2xsRGlzdGFuY2VfOiBjdXJyZW50T2Zmc2V0ICsgX2Rpc3RhbmNlLFxyXG4gICAgICBhbmltYXRpb246IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGRyYXdDaGFydHMuY2FsbCh0aGlzLCBvcHRzLnR5cGUsIG9wdHMsIHRoaXMuY29uZmlnLCB0aGlzLmNvbnRleHQpO1xyXG4gICAgcmV0dXJuIGN1cnJlbnRPZmZzZXQgKyBfZGlzdGFuY2U7XHJcbiAgfVxyXG59O1xyXG5cclxuQ2hhcnRzLnByb3RvdHlwZS5zY3JvbGxFbmQgPSBmdW5jdGlvbihlKSB7XHJcbiAgaWYgKHRoaXMub3B0cy5lbmFibGVTY3JvbGwgPT09IHRydWUpIHtcclxuICAgIHZhciBfc2Nyb2xsT3B0aW9uID0gdGhpcy5zY3JvbGxPcHRpb24sXHJcbiAgICAgIGN1cnJlbnRPZmZzZXQgPSBfc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQsXHJcbiAgICAgIGRpc3RhbmNlID0gX3Njcm9sbE9wdGlvbi5kaXN0YW5jZTtcclxuICAgIHRoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQgPSBjdXJyZW50T2Zmc2V0ICsgZGlzdGFuY2U7XHJcbiAgICB0aGlzLnNjcm9sbE9wdGlvbi5kaXN0YW5jZSA9IDA7XHJcbiAgfVxyXG59O1xyXG5pZiAodHlwZW9mIG1vZHVsZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlLmV4cG9ydHMgPT09IFwib2JqZWN0XCIpIHtcclxuICBtb2R1bGUuZXhwb3J0cyA9IENoYXJ0cztcclxuICAvL2V4cG9ydCBkZWZhdWx0IENoYXJ0czsvL+W7uuiuruS9v+eUqG5vZGVqc+eahG1vZHVsZeWvvOWHuuaWueW8j++8jOWmguaKpemUmeivt+S9v+eUqGV4cG9ydOaWueW8j+WvvOWHulxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///19\n");
  1500. /***/ }),
  1501. /* 20 */
  1502. <<<<<<< HEAD
  1503. /*!**************************************************************!*\
  1504. !*** C:/Users/001/Desktop/运维端/component/allArea/allArea.vue ***!
  1505. \**************************************************************/
  1506. =======
  1507. /*!***************************************************************************!*\
  1508. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allArea.vue ***!
  1509. \***************************************************************************/
  1510. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1511. /*! no static exports found */
  1512. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1513. "use strict";
  1514. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./allArea.vue?vue&type=template&id=1242965d& */ 21);\n/* harmony import */ var _allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./allArea.vue?vue&type=script&lang=js& */ 23);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"component/allArea/allArea.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBb0g7QUFDcEg7QUFDMkQ7QUFDTDs7O0FBR3REO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDZFQUFNO0FBQ1IsRUFBRSxrRkFBTTtBQUNSLEVBQUUsMkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2FsbEFyZWEudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTEyNDI5NjVkJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vYWxsQXJlYS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2FsbEFyZWEudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImNvbXBvbmVudC9hbGxBcmVhL2FsbEFyZWEudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///20\n");
  1515. /***/ }),
  1516. /* 21 */
  1517. <<<<<<< HEAD
  1518. /*!*********************************************************************************************!*\
  1519. !*** C:/Users/001/Desktop/运维端/component/allArea/allArea.vue?vue&type=template&id=1242965d& ***!
  1520. \*********************************************************************************************/
  1521. =======
  1522. /*!**********************************************************************************************************!*\
  1523. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allArea.vue?vue&type=template&id=1242965d& ***!
  1524. \**********************************************************************************************************/
  1525. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1526. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1527. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1528. "use strict";
  1529. __webpack_require__.r(__webpack_exports__);
  1530. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./allArea.vue?vue&type=template&id=1242965d& */ 22);
  1531. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  1532. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  1533. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  1534. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_template_id_1242965d___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  1535. /***/ }),
  1536. /* 22 */
  1537. <<<<<<< HEAD
  1538. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1539. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/component/allArea/allArea.vue?vue&type=template&id=1242965d& ***!
  1540. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1541. =======
  1542. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1543. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allArea.vue?vue&type=template&id=1242965d& ***!
  1544. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1545. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1546. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1547. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1548. "use strict";
  1549. __webpack_require__.r(__webpack_exports__);
  1550. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  1551. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  1552. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  1553. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  1554. var components
  1555. var render = function() {
  1556. var _vm = this
  1557. var _h = _vm.$createElement
  1558. var _c = _vm._self._c || _h
  1559. return _c(
  1560. "view",
  1561. { staticClass: _vm._$s(0, "sc", "allArea"), attrs: { _i: 0 } },
  1562. [
  1563. _c(
  1564. "view",
  1565. {
  1566. staticClass: _vm._$s(1, "sc", "backIcon"),
  1567. attrs: { _i: 1 },
  1568. on: { click: _vm.back }
  1569. },
  1570. [_c("image", { attrs: { _i: 2 } })]
  1571. ),
  1572. _c("view", { staticClass: _vm._$s(3, "sc", "area"), attrs: { _i: 3 } }, [
  1573. _c(
  1574. "text",
  1575. {
  1576. staticClass: _vm._$s(4, "sc", "arear-text"),
  1577. attrs: { _i: 4 },
  1578. on: { click: _vm.Area }
  1579. },
  1580. [_vm._v(_vm._$s(4, "t0-0", _vm._s(_vm.list[_vm.curVal].text)))]
  1581. )
  1582. ]),
  1583. _c(
  1584. "view",
  1585. {
  1586. directives: [
  1587. {
  1588. name: "show",
  1589. rawName: "v-show",
  1590. value: _vm._$s(5, "v-show", _vm.isShow),
  1591. expression: "_$s(5,'v-show',isShow)"
  1592. }
  1593. ],
  1594. staticClass: _vm._$s(5, "sc", "arear-list"),
  1595. attrs: {
  1596. animation: _vm._$s(5, "a-animation", _vm.animationData),
  1597. _i: 5
  1598. }
  1599. },
  1600. _vm._l(_vm._$s(6, "f", { forItems: _vm.list }), function(
  1601. items,
  1602. index1,
  1603. $20,
  1604. $30
  1605. ) {
  1606. return _c(
  1607. "view",
  1608. {
  1609. key: _vm._$s(6, "f", { forIndex: $20, key: index1 }),
  1610. staticClass: _vm._$s("6-" + $30, "sc", "arear-child-list"),
  1611. attrs: { _i: "6-" + $30 },
  1612. on: {
  1613. click: function($event) {
  1614. return _vm.pop(index1)
  1615. }
  1616. }
  1617. },
  1618. [_vm._v(_vm._$s("6-" + $30, "t0-0", _vm._s(items.text)))]
  1619. )
  1620. }),
  1621. 0
  1622. )
  1623. ]
  1624. )
  1625. }
  1626. var recyclableRender = false
  1627. var staticRenderFns = []
  1628. render._withStripped = true
  1629. /***/ }),
  1630. /* 23 */
  1631. <<<<<<< HEAD
  1632. /*!***************************************************************************************!*\
  1633. !*** C:/Users/001/Desktop/运维端/component/allArea/allArea.vue?vue&type=script&lang=js& ***!
  1634. \***************************************************************************************/
  1635. =======
  1636. /*!****************************************************************************************************!*\
  1637. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allArea.vue?vue&type=script&lang=js& ***!
  1638. \****************************************************************************************************/
  1639. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1640. /*! no static exports found */
  1641. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1642. "use strict";
  1643. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./allArea.vue?vue&type=script&lang=js& */ 24);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allArea_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtpQixDQUFnQixxa0JBQUcsRUFBQyIsImZpbGUiOiIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2FsbEFyZWEudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9hbGxBcmVhLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///23\n");
  1644. /***/ }),
  1645. /* 24 */
  1646. <<<<<<< HEAD
  1647. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1648. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/component/allArea/allArea.vue?vue&type=script&lang=js& ***!
  1649. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1650. =======
  1651. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1652. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allArea.vue?vue&type=script&lang=js& ***!
  1653. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1654. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1655. /*! no static exports found */
  1656. /***/ (function(module, exports, __webpack_require__) {
  1657. "use strict";
  1658. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n screenHeight: \"\",\n isShow: false,\n list: uni.getStorageSync('allArea'),\n animationData: {},\n count: \"\", //点击事件次数\n curVal: uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0, //骑行区与第一个下标\n curId: \"\" //骑行区域id\n };\n\n },\n onShow: function onShow() {\n __f__(\"log\", '这是子组件', \" at component/allArea/allArea.vue:34\");\n },\n methods: {\n Area: function Area(e) {\n // // this.curVal = uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0\n // console.log(uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0, '这是下标')\n // this.isShow = !this.isShow\n // console.log(this.isShow, \"这是骑行区与\")\n // console.log(this.list)\n var list1 = uni.getStorageSync('allArea');\n var arr = [];\n for (var i = 0, len = list1.length; i < len; i++) {\n arr = arr.concat(list1[i].text);\n __f__(\"log\", arr, \" at component/allArea/allArea.vue:47\");\n }\n __f__(\"log\", uni.getStorageSync('allArea'), \"99999\", \" at component/allArea/allArea.vue:49\");\n var area = uni.getStorageSync('allArea');\n uni.showActionSheet({\n\n itemList: arr,\n success: function success(res) {\n var list = uni.getStorageSync('allArea');\n var index = res.tapIndex;\n\n this.curVal = index;\n this.curId = list[index].areaID;\n\n uni.setStorageSync('curVal', index);\n uni.setStorageSync('curId', list[index].areaID);\n __f__(\"log\", this.curId, \"index\", \" at component/allArea/allArea.vue:63\");\n this.$emit('getChild', this.list[index]);\n\n // console.log(list[index].areaID,\"66666\");\n\n\n\n\n // this.curVal = e\n // this.curId = this.list[e].areaID\n // uni.setStorageSync('curVal', e)\n // uni.setStorageSync('curId', this.list[e].areaID)\n // this.$emit('getChild',this.list[e])\n // console.log(e, \"骑行区\")\n // console.log(this.curVal, \"这是骑行区if\")\n },\n fail: function fail(res) {} });\n\n },\n\n pop: function pop(e) {\n this.isShow = !this.isShow;\n this.curVal = e;\n this.curId = this.list[e].areaID;\n uni.setStorageSync('curVal', e);\n uni.setStorageSync('curId', this.list[e].areaID);\n this.$emit('getChild', this.list[e]);\n __f__(\"log\", e, \"骑行区\", \" at component/allArea/allArea.vue:90\");\n __f__(\"log\", this.curVal, \"这是骑行区if\", \" at component/allArea/allArea.vue:91\");\n\n },\n // show: function() {\n // \tsetTimeout(function() {\n // \t\tthis.list = uni.getStorageSync('allArea')\n // \t\tthis.curVal = uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0\n // \t}, 2000)\n // },\n //返回上一页\n back: function back() {\n uni.navigateBack({\n delta: 1 });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50L2FsbEFyZWEvYWxsQXJlYS52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLHNCQURBO0FBRUEsbUJBRkE7QUFHQSx5Q0FIQTtBQUlBLHVCQUpBO0FBS0EsZUFMQSxFQUtBO0FBQ0EsNkVBTkEsRUFNQTtBQUNBLGVBUEEsQ0FPQTtBQVBBOztBQVVBLEdBWkE7QUFhQSxRQWJBLG9CQWFBO0FBQ0E7QUFDQSxHQWZBO0FBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFCQUZBO0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQTNCQTtBQTRCQSxtQ0E1QkE7O0FBOEJBLEtBN0NBOztBQStDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsS0F6REE7QUEwREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBREE7O0FBR0EsS0FyRUEsRUFoQkEsRSIsImZpbGUiOiIyNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImFsbEFyZWFcIj5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cImJhY2tJY29uXCIgQGNsaWNrPVwiYmFja1wiPlxyXG5cdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9sZWZ0QXJyb3cucG5nXCI+PC9pbWFnZT5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYXJlYVwiPlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cImFyZWFyLXRleHRcIiBAY2xpY2s9XCJBcmVhXCI+e3tsaXN0W2N1clZhbF0udGV4dH19PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgOmFuaW1hdGlvbj1cImFuaW1hdGlvbkRhdGFcIiBjbGFzcz1cImFyZWFyLWxpc3RcIiB2LXNob3c9XCJpc1Nob3dcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJhcmVhci1jaGlsZC1saXN0XCIgdi1mb3I9XCIoaXRlbXMsaW5kZXgxKSBpbiBsaXN0XCIgOmtleT0naW5kZXgxJyBAY2xpY2s9XCJwb3AoaW5kZXgxKVwiPlxyXG5cdFx0XHRcdHt7aXRlbXMudGV4dH19XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uc3RhdGljZmlsZS5vcmcvanF1ZXJ5LzEuMTAuMi9qcXVlcnkubWluLmpzXCI+XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0PlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c2NyZWVuSGVpZ2h0OiBcIlwiLFxyXG5cdFx0XHRcdGlzU2hvdzogZmFsc2UsXHJcblx0XHRcdFx0bGlzdDogdW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyksXHJcblx0XHRcdFx0YW5pbWF0aW9uRGF0YToge30sXHJcblx0XHRcdFx0Y291bnQ6IFwiXCIsIC8v54K55Ye75LqL5Lu25qyh5pWwXHJcblx0XHRcdFx0Y3VyVmFsOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDAsIC8v6aqR6KGM5Yy65LiO56ys5LiA5Liq5LiL5qCHXHJcblx0XHRcdFx0Y3VySWQ6IFwiXCIsIC8v6aqR6KGM5Yy65Z+faWRcclxuXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvblNob3coKXtcclxuXHRcdFx0Y29uc29sZS5sb2coJ+i/meaYr+WtkOe7hOS7ticpXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRBcmVhOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Ly8gLy8gdGhpcy5jdXJWYWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDBcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDAsICfov5nmmK/kuIvmoIcnKVxyXG5cdFx0XHRcdC8vIHRoaXMuaXNTaG93ID0gIXRoaXMuaXNTaG93XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5pc1Nob3csIFwi6L+Z5piv6aqR6KGM5Yy65LiOXCIpXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5saXN0KVxyXG5cdFx0XHRcdHZhciBsaXN0MSA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpXHJcblx0XHRcdFx0dmFyIGFyciA9IFtdXHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDAsIGxlbiA9IGxpc3QxLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcblx0XHRcdFx0XHRhcnIgPSBhcnIuY29uY2F0KGxpc3QxW2ldLnRleHQpXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcnIpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKSxcIjk5OTk5XCIpXHJcblx0XHRcdFx0dmFyIGFyZWE9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpXHJcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XHJcblx0XHRcdFx0ICAgXHJcblx0XHRcdFx0XHRpdGVtTGlzdDogYXJyLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdHZhciBsaXN0PXVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpXHJcblx0XHRcdFx0XHRcdGxldCBpbmRleD1yZXMudGFwSW5kZXhcclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0dGhpcy5jdXJWYWwgPSBpbmRleFxyXG5cdFx0XHRcdFx0XHR0aGlzLmN1cklkPWxpc3RbaW5kZXhdLmFyZWFJRFxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdjdXJWYWwnLCBpbmRleClcclxuXHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdjdXJJZCcsIGxpc3RbaW5kZXhdLmFyZWFJRClcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5jdXJJZCxcImluZGV4XCIpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLiRlbWl0KCdnZXRDaGlsZCcsdGhpcy5saXN0W2luZGV4XSlcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGxpc3RbaW5kZXhdLmFyZWFJRCxcIjY2NjY2XCIpO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLmN1clZhbCA9IGVcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5jdXJJZCA9IHRoaXMubGlzdFtlXS5hcmVhSURcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNldFN0b3JhZ2VTeW5jKCdjdXJWYWwnLCBlKVxyXG5cdFx0XHRcdFx0XHQvLyB1bmkuc2V0U3RvcmFnZVN5bmMoJ2N1cklkJywgdGhpcy5saXN0W2VdLmFyZWFJRClcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy4kZW1pdCgnZ2V0Q2hpbGQnLHRoaXMubGlzdFtlXSlcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZSwgXCLpqpHooYzljLpcIilcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5jdXJWYWwsIFwi6L+Z5piv6aqR6KGM5Yy6aWZcIilcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbihyZXMpIHt9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0cG9wOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dGhpcy5pc1Nob3cgPSAhdGhpcy5pc1Nob3dcclxuXHRcdFx0XHR0aGlzLmN1clZhbCA9IGVcclxuXHRcdFx0XHR0aGlzLmN1cklkID0gdGhpcy5saXN0W2VdLmFyZWFJRFxyXG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnY3VyVmFsJywgZSlcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2N1cklkJywgdGhpcy5saXN0W2VdLmFyZWFJRClcclxuXHRcdFx0XHR0aGlzLiRlbWl0KCdnZXRDaGlsZCcsIHRoaXMubGlzdFtlXSlcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCBcIumqkeihjOWMulwiKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuY3VyVmFsLCBcIui/meaYr+mqkeihjOWMumlmXCIpXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyBzaG93OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0Ly8gXHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHQvLyBcdFx0dGhpcy5saXN0ID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJylcclxuXHRcdFx0Ly8gXHRcdHRoaXMuY3VyVmFsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA/IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgOiAwXHJcblx0XHRcdC8vIFx0fSwgMjAwMClcclxuXHRcdFx0Ly8gfSxcclxuXHRcdFx0Ly/ov5Tlm57kuIrkuIDpobVcclxuXHRcdFx0YmFjazogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjayh7XHJcblx0XHRcdFx0XHRkZWx0YTogMVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQuYWxsQXJlYSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3RhdHVzLWJhci1oZWlnaHQpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuXHRcdC8qIHBhZGRpbmc6IDI4cnB4IDA7ICovXHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjhycHg7XHJcblx0XHR6LWluZGV4OiAxMDAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItYm90dG9tOiAydXB4IHNvbGlkICNDNUM1QzU7XHJcblx0fSBcclxuXHRcclxuXHJcblx0Lmljb25mb250IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHR3aWR0aDogNTBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAxNHJweCAwO1xyXG5cclxuXHR9XHJcblxyXG5cdC5zdGF0dXNfYmFyIHtcclxuXHRcdGhlaWdodDogdmFyKC0tc3RhdHVzLWJhci1oZWlnaHQpO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuYXJlYSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxuXHJcblx0Lmljb25mb250IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHR3aWR0aDogNTBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAxNHJweCAwO1xyXG5cclxuXHR9XHJcblxyXG5cdC5iYWNrSWNvbiB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cdH1cclxuXHJcblx0LmJhY2tJY29uIGltYWdlIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0d2lkdGg6IDUwcnB4O1xyXG5cdH1cclxuXHJcblx0LmFyZWEge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5hcmVhci1saXN0IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogMTMwcnB4O1xyXG5cdFx0d2lkdGg6IDkwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblx0XHRwYWRkaW5nOiAwIDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LmFyZWFyLWNoaWxkLWxpc3Qge1xyXG5cdFx0cGFkZGluZzogMjBycHggMDtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRib3JkZXItYm90dG9tOiBzb2xpZCAxcnB4ICNlNmU2ZTY7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///24\n");
  1659. /***/ }),
  1660. /* 25 */
  1661. <<<<<<< HEAD
  1662. /*!*************************************************************!*\
  1663. !*** C:/Users/001/Desktop/运维端/pages/mine/uchart/checker.js ***!
  1664. \*************************************************************/
  1665. =======
  1666. /*!**************************************************************************!*\
  1667. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/uchart/checker.js ***!
  1668. \**************************************************************************/
  1669. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1670. /*! no static exports found */
  1671. /***/ (function(module, exports, __webpack_require__) {
  1672. eval("/* WEBPACK VAR INJECTION */(function(__f__) {module.exports = {\n error: '',\n isJSON: function isJSON(str) {\n if (typeof str == 'string') {\n try {\n var obj = JSON.parse(str);\n if (typeof obj == 'object' && obj) {\n return true;\n } else {\n return false;\n }\n } catch (e) {\n __f__(\"log\", 'error:' + str + '!!!' + e, \" at pages/mine/uchart/checker.js:13\");\n return false;\n }\n }\n },\n isNumber: function isNumber(checkVal) {\n var reg = /^-?[1-9][0-9]?.?[0-9]*$/;\n return reg.test(checkVal);\n } };\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS91Y2hhcnQvY2hlY2tlci5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiZXJyb3IiLCJpc0pTT04iLCJzdHIiLCJvYmoiLCJKU09OIiwicGFyc2UiLCJlIiwiaXNOdW1iZXIiLCJjaGVja1ZhbCIsInJlZyIsInRlc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxtREFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2hCQyxPQUFLLEVBQUMsRUFEVTtBQUVoQkMsUUFBTSxFQUFHLGdCQUFVQyxHQUFWLEVBQWM7QUFDdEIsUUFBSSxPQUFPQSxHQUFQLElBQWMsUUFBbEIsRUFBNEI7QUFDM0IsVUFBSTtBQUNILFlBQUlDLEdBQUcsR0FBQ0MsSUFBSSxDQUFDQyxLQUFMLENBQVdILEdBQVgsQ0FBUjtBQUNBLFlBQUcsT0FBT0MsR0FBUCxJQUFjLFFBQWQsSUFBMEJBLEdBQTdCLEVBQWtDO0FBQ2pDLGlCQUFPLElBQVA7QUFDQSxTQUZELE1BRUs7QUFDSixpQkFBTyxLQUFQO0FBQ0E7QUFDRCxPQVBELENBT0UsT0FBTUcsQ0FBTixFQUFTO0FBQ1YscUJBQVksV0FBU0osR0FBVCxHQUFhLEtBQWIsR0FBbUJJLENBQS9CO0FBQ0EsZUFBTyxLQUFQO0FBQ0E7QUFDRDtBQUNELEdBaEJlO0FBaUJoQkMsVUFBUSxFQUFHLGtCQUFVQyxRQUFWLEVBQW1CO0FBQzdCLFFBQUlDLEdBQUcsR0FBRyx5QkFBVjtBQUNBLFdBQU9BLEdBQUcsQ0FBQ0MsSUFBSixDQUFTRixRQUFULENBQVA7QUFDQSxHQXBCZSxFQUFqQixDIiwiZmlsZSI6IjI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB7XHJcblx0ZXJyb3I6JycsXHJcblx0aXNKU09OIDogZnVuY3Rpb24gKHN0cil7XHJcblx0XHRpZiAodHlwZW9mIHN0ciA9PSAnc3RyaW5nJykge1xyXG5cdFx0XHR0cnkge1xyXG5cdFx0XHRcdHZhciBvYmo9SlNPTi5wYXJzZShzdHIpO1xyXG5cdFx0XHRcdGlmKHR5cGVvZiBvYmogPT0gJ29iamVjdCcgJiYgb2JqICl7XHJcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0gY2F0Y2goZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdlcnJvcu+8micrc3RyKychISEnK2UpO1xyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0sXHJcblx0aXNOdW1iZXIgOiBmdW5jdGlvbiAoY2hlY2tWYWwpe1xyXG5cdFx0dmFyIHJlZyA9IC9eLT9bMS05XVswLTldPy4/WzAtOV0qJC87XHJcblx0XHRyZXR1cm4gcmVnLnRlc3QoY2hlY2tWYWwpO1xyXG5cdH1cclxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///25\n");
  1673. /***/ }),
  1674. /* 26 */
  1675. <<<<<<< HEAD
  1676. /*!********************************************************************!*\
  1677. !*** C:/Users/001/Desktop/运维端/pages/mine/control1.vue?mpType=page ***!
  1678. \********************************************************************/
  1679. =======
  1680. /*!*********************************************************************************!*\
  1681. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control1.vue?mpType=page ***!
  1682. \*********************************************************************************/
  1683. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1684. /*! no static exports found */
  1685. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1686. "use strict";
  1687. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./control1.vue?vue&type=template&id=49af2052&mpType=page */ 27);\n/* harmony import */ var _control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./control1.vue?vue&type=script&lang=js&mpType=page */ 29);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/control1.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2NvbnRyb2wxLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00OWFmMjA1MiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY29udHJvbDEudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbnRyb2wxLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL21pbmUvY29udHJvbDEudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///26\n");
  1688. /***/ }),
  1689. /* 27 */
  1690. <<<<<<< HEAD
  1691. /*!**************************************************************************************************!*\
  1692. !*** C:/Users/001/Desktop/运维端/pages/mine/control1.vue?vue&type=template&id=49af2052&mpType=page ***!
  1693. \**************************************************************************************************/
  1694. =======
  1695. /*!***************************************************************************************************************!*\
  1696. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control1.vue?vue&type=template&id=49af2052&mpType=page ***!
  1697. \***************************************************************************************************************/
  1698. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1699. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1700. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1701. "use strict";
  1702. __webpack_require__.r(__webpack_exports__);
  1703. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./control1.vue?vue&type=template&id=49af2052&mpType=page */ 28);
  1704. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  1705. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  1706. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  1707. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_template_id_49af2052_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  1708. /***/ }),
  1709. /* 28 */
  1710. <<<<<<< HEAD
  1711. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1712. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/control1.vue?vue&type=template&id=49af2052&mpType=page ***!
  1713. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1714. =======
  1715. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1716. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control1.vue?vue&type=template&id=49af2052&mpType=page ***!
  1717. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1718. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1719. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1720. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1721. "use strict";
  1722. __webpack_require__.r(__webpack_exports__);
  1723. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  1724. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  1725. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  1726. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  1727. var components
  1728. var render = function() {
  1729. var _vm = this
  1730. var _h = _vm.$createElement
  1731. var _c = _vm._self._c || _h
  1732. return _c(
  1733. "view",
  1734. { staticClass: _vm._$s(0, "sc", "box"), attrs: { _i: 0 } },
  1735. [
  1736. _c("view", { staticClass: _vm._$s(1, "sc", "tab"), attrs: { _i: 1 } }, [
  1737. _c(
  1738. "view",
  1739. {
  1740. class: _vm._$s(2, "c", _vm.index == 0 ? "active" : ""),
  1741. attrs: { _i: 2 },
  1742. on: { click: _vm.tap }
  1743. },
  1744. [_c("text")]
  1745. ),
  1746. _c(
  1747. "view",
  1748. {
  1749. class: _vm._$s(4, "c", _vm.index == 1 ? "active" : ""),
  1750. attrs: { _i: 4 },
  1751. on: { click: _vm.tap }
  1752. },
  1753. [_c("text")]
  1754. )
  1755. ]),
  1756. _vm._$s(6, "i", _vm.index == 0)
  1757. ? [
  1758. _c(
  1759. "view",
  1760. { staticClass: _vm._$s(7, "sc", "ma"), attrs: { _i: 7 } },
  1761. [
  1762. _c(
  1763. "view",
  1764. { staticClass: _vm._$s(8, "sc", "view"), attrs: { _i: 8 } },
  1765. [
  1766. _c("input", {
  1767. attrs: {
  1768. value: _vm._$s(9, "a-value", _vm.erweima),
  1769. _i: 9
  1770. },
  1771. on: { input: _vm.input1 }
  1772. }),
  1773. _c(
  1774. "view",
  1775. {
  1776. staticClass: _vm._$s(10, "sc", "btn"),
  1777. attrs: { _i: 10 },
  1778. on: { click: _vm.erwei }
  1779. },
  1780. [_c("text")]
  1781. )
  1782. ]
  1783. ),
  1784. _c(
  1785. "view",
  1786. { staticClass: _vm._$s(12, "sc", "view"), attrs: { _i: 12 } },
  1787. [
  1788. _c("input", {
  1789. attrs: {
  1790. value: _vm._$s(13, "a-value", _vm.value),
  1791. _i: 13
  1792. },
  1793. on: { input: _vm.input2 }
  1794. }),
  1795. _c(
  1796. "view",
  1797. {
  1798. staticClass: _vm._$s(14, "sc", "btn"),
  1799. attrs: { _i: 14 },
  1800. on: { click: _vm.tiaoxing }
  1801. },
  1802. [_c("text")]
  1803. )
  1804. ]
  1805. )
  1806. ]
  1807. ),
  1808. _c(
  1809. "view",
  1810. {
  1811. staticClass: _vm._$s(16, "sc", "btm"),
  1812. attrs: { _i: 16 },
  1813. on: { click: _vm.qued }
  1814. },
  1815. [_c("text")]
  1816. )
  1817. ]
  1818. : _vm._e(),
  1819. _vm._$s(18, "i", _vm.index == 1)
  1820. ? [
  1821. _c(
  1822. "view",
  1823. { staticClass: _vm._$s(19, "sc", "ma"), attrs: { _i: 19 } },
  1824. [
  1825. _c(
  1826. "view",
  1827. { staticClass: _vm._$s(20, "sc", "view"), attrs: { _i: 20 } },
  1828. [
  1829. _c("input", {
  1830. attrs: {
  1831. value: _vm._$s(21, "a-value", _vm.value),
  1832. _i: 21
  1833. },
  1834. on: { input: _vm.input2 }
  1835. }),
  1836. _c(
  1837. "view",
  1838. {
  1839. staticClass: _vm._$s(22, "sc", "btn"),
  1840. attrs: { _i: 22 },
  1841. on: { click: _vm.tiaoxing }
  1842. },
  1843. [_c("text")]
  1844. )
  1845. ]
  1846. )
  1847. ]
  1848. ),
  1849. _c(
  1850. "view",
  1851. {
  1852. staticClass: _vm._$s(24, "sc", "btm"),
  1853. attrs: { _i: 24 },
  1854. on: { click: _vm.relieve }
  1855. },
  1856. [_c("text")]
  1857. )
  1858. ]
  1859. : _vm._e()
  1860. ],
  1861. 2
  1862. )
  1863. }
  1864. var recyclableRender = false
  1865. var staticRenderFns = []
  1866. render._withStripped = true
  1867. /***/ }),
  1868. /* 29 */
  1869. <<<<<<< HEAD
  1870. /*!********************************************************************************************!*\
  1871. !*** C:/Users/001/Desktop/运维端/pages/mine/control1.vue?vue&type=script&lang=js&mpType=page ***!
  1872. \********************************************************************************************/
  1873. =======
  1874. /*!*********************************************************************************************************!*\
  1875. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control1.vue?vue&type=script&lang=js&mpType=page ***!
  1876. \*********************************************************************************************************/
  1877. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1878. /*! no static exports found */
  1879. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1880. "use strict";
  1881. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./control1.vue?vue&type=script&lang=js&mpType=page */ 30);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control1_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIyOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2NvbnRyb2wxLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jb250cm9sMS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///29\n");
  1882. /***/ }),
  1883. /* 30 */
  1884. <<<<<<< HEAD
  1885. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1886. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/control1.vue?vue&type=script&lang=js&mpType=page ***!
  1887. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1888. =======
  1889. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1890. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control1.vue?vue&type=script&lang=js&mpType=page ***!
  1891. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1892. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1893. /*! no static exports found */
  1894. /***/ (function(module, exports, __webpack_require__) {
  1895. "use strict";
  1896. <<<<<<< HEAD
  1897. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar barcode = null;var _default =\n{\n data: function data() {\n return {\n\n erweima: '',\n value: '',\n index: 0 };\n\n },\n methods: {\n input1: function input1(e) {\n this.erweima = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control1.vue:64\");\n },\n input2: function input2(e) {\n this.value = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control1.vue:68\");\n },\n\n //立即绑定\n qued: function qued() {\n\n if (this.erweima == '' || this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善设备码或车辆编号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '绑定中...' });\n\n var data = {\n bike_no: that.data.erweima,\n box_no: that.data.value };\n\n app.request('control/addBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '绑定成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //解除绑定\n relieve: function relieve() {\n //解除绑定\n\n\n if (this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善中控设备号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '解绑中...' });\n\n var data = {\n box_no: that.data.value };\n\n app.request('control/unbindingBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '解除成功',\n icon: 'none' });\n\n\n }\n });\n }\n },\n //条形码\n tiaoxing: function tiaoxing() {\n //点击扫描条形码\n var that = this;\n // this.value=99999\n uni.scanCode({\n\n success: function success(res) {\n __f__(\"log\", res, \"99999\", \" at pages/mine/control1.vue:137\");\n __f__(\"log\", typeof res.result, \" at pages/mine/control1.vue:138\");\n var arr = res.result.split('\\n');\n\n var zk = arr[0];\n __f__(\"log\", zk, \"77777\", \" at pages/mine/control1.vue:142\");\n var zk1 = zk.split(':');\n var IMEI = zk1[1];\n __f__(\"log\", IMEI, \"666666\", \" at pages/mine/control1.vue:145\");\n\n __f__(\"log\", that.value, \" at pages/mine/control1.vue:147\");\n\n if (typeof IMEI == 'string') {\n __f__(\"log\", IMEI, \" at pages/mine/control1.vue:150\");\n if (IMEI.length == 9 || IMEI.length == 15) {\n that.value = zk1[1];\n\n\n } else {\n uni.showToast({\n title: '扫错了~',\n icon: 'none' });\n\n }\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \"88888\", \" at pages/mine/control1.vue:164\");\n uni.showToast({\n title: '扫码失败',\n icon: 'none' });\n\n } });\n\n },\n\n erwei: function erwei() {\n\n\n //点击扫描二维码\n var that = this;\n uni.scanCode({\n\n success: function success(res) {\n __f__(\"log\", res, \"uuuuuuu\", \" at pages/mine/control1.vue:181\");\n var code = decodeURIComponent(res.result);\n\n var code1 = code.lastIndexOf(\"=\");\n\n var source = code.substring(code1 + 1, code.length);\n __f__(\"log\", source, \"99999\", \" at pages/mine/control1.vue:187\");\n that.erweima = source;\n\n },\n fail: function fail() {\n uni.showToast({\n title: '扫码失败',\n icon: 'none' });\n\n } });\n\n },\n tap: function tap(e) {//绑定解绑标签切换\n this.index = e.currentTarget.dataset.index, __f__(\"log\",\n e, '这是绑定id', \" at pages/mine/control1.vue:201\");\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jb250cm9sMS52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrREEsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTs7QUFFQSxpQkFGQTtBQUdBLGVBSEE7QUFJQSxjQUpBOztBQU1BLEdBUkE7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBSkE7QUFLQTtBQUNBO0FBQ0E7QUFDQSxLQVJBOztBQVVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHFCQURBO0FBRUEsZ0NBRkE7QUFHQSwyQkFIQTs7QUFLQSxPQU5BLE1BTUE7QUFDQTtBQUNBLHlCQURBOztBQUdBO0FBQ0Esb0NBREE7QUFFQSxpQ0FGQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQURBO0FBRUEsMEJBRkE7O0FBSUE7QUFDQSxTQVJBO0FBU0E7QUFDQSxLQXJDQTtBQXNDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQSxxQkFEQTtBQUVBLDZCQUZBO0FBR0EsMkJBSEE7O0FBS0EsT0FOQSxNQU1BO0FBQ0E7QUFDQSx5QkFEQTs7QUFHQTtBQUNBLGlDQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSwwQkFGQTs7O0FBS0E7QUFDQSxTQVRBO0FBVUE7QUFDQSxLQW5FQTtBQW9FQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsYUFKQSxNQUlBO0FBQ0E7QUFDQSw2QkFEQTtBQUVBLDRCQUZBOztBQUlBO0FBQ0E7QUFDQSxTQTVCQTtBQTZCQTtBQUNBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBLHdCQUZBOztBQUlBLFNBbkNBOztBQXFDQSxLQTlHQTs7QUFnSEE7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBLFNBWkE7QUFhQTtBQUNBO0FBQ0EseUJBREE7QUFFQSx3QkFGQTs7QUFJQSxTQWxCQTs7QUFvQkEsS0F6SUE7QUEwSUE7QUFDQTtBQUNBLE9BREEsRUFDQSxRQURBO0FBRUEsS0E3SUEsRUFUQSxFIiwiZmlsZSI6IjMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiYm94XCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cInRhYlwiPlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJ0YXBcIiA6ZGF0YS1pbmRleD1cIjBcIiA6Y2xhc3M9XCJpbmRleD09MD8nYWN0aXZlJzonJ1wiPlxyXG5cdFx0XHRcdDx0ZXh0Pueri+WNs+e7keWumjwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJ0YXBcIiA6ZGF0YS1pbmRleD1cIjFcIiA6Y2xhc3M9XCJpbmRleD09MT8nYWN0aXZlJzonJ1wiPlxyXG5cdFx0XHRcdDx0ZXh0Puino+mZpOe7keWumjwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PGJsb2NrIHYtaWY9XCJpbmRleD09MFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz0nbWEnPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidmlld1wiPlxyXG5cdFx0XHRcdFx0PGlucHV0IHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6L2m6L6G57yW56CBXCIgcGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjojQjZCNkI2O1wiIEBpbnB1dD0naW5wdXQxJyA6dmFsdWU9J2Vyd2VpbWEnPjwvaW5wdXQ+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0blwiIEBjbGljaz1cImVyd2VpXCI+PHRleHQ+5omr5o+PPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2aWV3XCI+XHJcblx0XHRcdFx0XHQ8aW5wdXQgQGlucHV0PSdpbnB1dDInIDp2YWx1ZT0ndmFsdWUnIHBsYWNlaG9sZGVyPVwi5Lit5o6n6K6+5aSH5Y+3XCIgcGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjojQjZCNkI2O1wiPjwvaW5wdXQ+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0blwiIEBjbGljaz1cInRpYW94aW5nXCI+PHRleHQ+5omr5o+PPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9J2J0bScgQGNsaWNrPVwicXVlZFwiPlxyXG5cdFx0XHRcdDx0ZXh0Pueri+WNs+e7keWumjwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC9ibG9jaz5cclxuXHRcdDwhLS0g6Kej6Zmk57uR5a6aIC0tPlxyXG5cdFx0PGJsb2NrIHYtaWY9XCJpbmRleD09MVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz0nbWEnPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidmlld1wiPlxyXG5cdFx0XHRcdFx0PGlucHV0IDp2YWx1ZT0ndmFsdWUnIEBpbnB1dD0naW5wdXQyJyBwbGFjZWhvbGRlcj1cIuS4reaOp+iuvuWkh+WPt1wiIHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6I0I2QjZCNjtcIj48L2lucHV0PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidG5cIiBAY2xpY2s9XCJ0aWFveGluZ1wiPjx0ZXh0PuaJq+aPjzwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPSdidG0nIEBjbGljaz0ncmVsaWV2ZSc+XHJcblx0XHRcdFx0PHRleHQ+6Kej6Zmk57uR5a6aIDwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC9ibG9jaz5cclxuXHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJzY2FuQ29kZVwiIGJpbmR0YXA9XCJzY2FuQ29kZVwiPlxyXG5cdCAgICA8dGV4dD7miavkuIDmias8L3RleHQ+XHJcblx0ICA8L3ZpZXc+IC0tPlxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cImxvZ29cIj5cclxuXHQgICAgPGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvbG9nby5wbmdcIiBzdHlsZT1cIndpZHRoOjcwcnB4O2hlaWdodDo3MHJweDtib3JkZXItcmFkaXVzOjUwJTtcIj48L2ltYWdlPlxyXG5cdCAgICA8dGV4dCBzdHlsZT1cInBhZGRpbmctdG9wOjE2cnB4O1wiPumXqueOsOWHuuihjOaWueS+v+Wkp+WtpueUn+WHuuihjDwvdGV4dD5cclxuXHQgIDwvdmlldz4gLS0+XHJcblx0IFxyXG5cdDwvdmlldz5cclxuXHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBiYXJjb2RlID0gbnVsbDtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cclxuXHRcdFx0XHRlcndlaW1hOiAnJyxcclxuXHRcdFx0XHR2YWx1ZTogJycsXHJcblx0XHRcdFx0aW5kZXg6IDBcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0aW5wdXQxOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dGhpcy5lcndlaW1hID0gZS5kZXRhaWwudmFsdWVcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLmRldGFpbC52YWx1ZSwgJ+i/meaYr2lucHV05Lit55qE5pWw5o2uJylcclxuXHRcdFx0fSxcclxuXHRcdFx0aW5wdXQyOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dGhpcy52YWx1ZSA9IGUuZGV0YWlsLnZhbHVlXHJcblx0XHRcdFx0Y29uc29sZS5sb2coZS5kZXRhaWwudmFsdWUsICfov5nmmK9pbnB1dOS4reeahOaVsOaNricpXHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvL+eri+WNs+e7keWumlxyXG5cdFx0XHRxdWVkOiBmdW5jdGlvbigpIHtcclxuXHJcblx0XHRcdFx0aWYgKHRoaXMuZXJ3ZWltYSA9PSAnJyB8fCB0aGlzLnZhbHVlID09ICcnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAn6K+35a6M5ZaE6K6+5aSH56CB5oiW6L2m6L6G57yW5Y+3JyxcclxuXHRcdFx0XHRcdFx0c2hvd0NhbmNlbDogZmFsc2VcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn57uR5a6a5LitLi4uJyxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRsZXQgZGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0YmlrZV9ubzogdGhhdC5kYXRhLmVyd2VpbWEsXHJcblx0XHRcdFx0XHRcdGJveF9ubzogdGhhdC5kYXRhLnZhbHVlXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnY29udHJvbC9hZGRCaWtlJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+e7keWumuaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/op6PpmaTnu5HlrppcclxuXHRcdFx0cmVsaWV2ZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly/op6PpmaTnu5HlrppcclxuXHJcblxyXG5cdFx0XHRcdGlmICh0aGlzLnZhbHVlID09ICcnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAn6K+35a6M5ZaE5Lit5o6n6K6+5aSH5Y+3JyxcclxuXHRcdFx0XHRcdFx0c2hvd0NhbmNlbDogZmFsc2VcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn6Kej57uR5LitLi4uJyxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRsZXQgZGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0Ym94X25vOiB0aGF0LmRhdGEudmFsdWVcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdjb250cm9sL3VuYmluZGluZ0Jpa2UnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn6Kej6Zmk5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mnaHlvaLnoIFcclxuXHRcdFx0dGlhb3hpbmc6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdC8v54K55Ye75omr5o+P5p2h5b2i56CBXHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzXHJcblx0XHRcdFx0Ly8gdGhpcy52YWx1ZT05OTk5OVxyXG5cdFx0XHRcdHVuaS5zY2FuQ29kZSh7XHJcblxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgXCI5OTk5OVwiKVxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0eXBlb2YocmVzLnJlc3VsdCkpXHJcblx0XHRcdFx0XHRcdHZhciBhcnIgPSByZXMucmVzdWx0LnNwbGl0KCdcXG4nKVxyXG5cclxuXHRcdFx0XHRcdFx0dmFyIHprID0gYXJyWzBdXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHprLCBcIjc3Nzc3XCIpXHJcblx0XHRcdFx0XHRcdHZhciB6azEgPSB6ay5zcGxpdCgnOicpXHJcblx0XHRcdFx0XHRcdHZhciBJTUVJID0gemsxWzFdXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKElNRUksIFwiNjY2NjY2XCIpXHJcblxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LnZhbHVlKVxyXG5cclxuXHRcdFx0XHRcdFx0aWYgKHR5cGVvZihJTUVJKSA9PSAnc3RyaW5nJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKElNRUkpXHJcblx0XHRcdFx0XHRcdFx0aWYgKElNRUkubGVuZ3RoID09IDkgfHwgSU1FSS5sZW5ndGggPT0gMTUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQudmFsdWUgPSB6azFbMV1cclxuXHJcblxyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmiavplJnkuoZ+JyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKGVycikge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIsIFwiODg4ODhcIilcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmiavnoIHlpLHotKUnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHJcblx0XHRcdGVyd2VpOiBmdW5jdGlvbigpIHtcclxuXHRcdFxyXG5cdFx0XHRcclxuXHRcdFx0XHQvL+eCueWHu+aJq+aPj+S6jOe7tOeggVxyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdHVuaS5zY2FuQ29kZSh7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsIFwidXV1dXV1dVwiKVxyXG5cdFx0XHRcdFx0XHR2YXIgY29kZSA9IGRlY29kZVVSSUNvbXBvbmVudChyZXMucmVzdWx0KTtcclxuXHJcblx0XHRcdFx0XHRcdHZhciBjb2RlMSA9IGNvZGUubGFzdEluZGV4T2YoXCI9XCIpO1xyXG5cclxuXHRcdFx0XHRcdFx0dmFyIHNvdXJjZSA9IGNvZGUuc3Vic3RyaW5nKGNvZGUxICsgMSwgY29kZS5sZW5ndGgpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhzb3VyY2UsIFwiOTk5OTlcIilcclxuXHRcdFx0XHRcdFx0dGhhdC5lcndlaW1hID0gc291cmNlXHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aJq+eggeWksei0pScsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0dGFwOiBmdW5jdGlvbihlKSB7IC8v57uR5a6a6Kej57uR5qCH562+5YiH5o2iXHJcblx0XHRcdFx0dGhpcy5pbmRleCA9IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LmluZGV4LFxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZSwgJ+i/meaYr+e7keWummlkJylcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0LmJveCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC50YWIge1xyXG5cdFx0d2lkdGg6IDg1JTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRoZWlnaHQ6IDc1cnB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQudGFiIHZpZXcge1xyXG5cdFx0d2lkdGg6IDQ5LjklO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQ6ICNjY2M7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdH1cclxuXHJcblx0LmJveCAudGFiIC5hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZDogIzE4RDVCOTtcclxuXHRcdGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuYm94IC5tYSB7XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdHBhZGRpbmctdG9wOiA4MHJweDtcclxuXHR9XHJcblxyXG5cdC5ib3ggLm1hIC52aWV3IHtcclxuXHRcdHdpZHRoOiA2OTBycHg7XHJcblx0XHRoZWlnaHQ6IDkwcnB4O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggNHJweCAwcHggcmdiYSgyMjIsIDIyMiwgMjIyLCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHRcdG1hcmdpbi10b3A6IDM1cnB4O1xyXG5cdH1cclxuXHJcblx0LmJveCAubWEgLnZpZXcgLmJ0biB7XHJcblx0XHR3aWR0aDogOTBycHg7XHJcblx0XHRoZWlnaHQ6IDQ3cnB4O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyMjksIDIyOSwgMjI5LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdGZvbnQtZmFtaWx5OiBQaW5nRmFuZyBTQztcclxuXHRcdGNvbG9yOiByZ2JhKDEzNiwgMTM2LCAxMzYsIDEpO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5ib3ggLm1hIGlucHV0IHtcclxuXHRcdHdpZHRoOiA3MCU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkIGdyYXk7XHJcblx0XHRoZWlnaHQ6IDYwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDYwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHR9XHJcblxyXG5cdC5idG0ge1xyXG5cdFx0d2lkdGg6IDQyMHJweDtcclxuXHRcdGhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI0LCAyMTMsIDE4NSwgMSk7XHJcblx0XHRib3gtc2hhZG93OiAwcHggOHJweCAxM3JweCAwcHggcmdiYSgxMDAsIDIzOSwgMjE4LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRtYXJnaW4tdG9wOiAyMDBycHg7XHJcblx0fVxyXG5cclxuXHQubG9nbyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRib3R0b206IDMwcnB4O1xyXG5cdFx0Y29sb3I6ICM5OTk7XHJcblx0fVxyXG5cclxuXHQuc2NhbkNvZGUge1xyXG5cdFx0d2lkdGg6IDQyMHJweDtcclxuXHRcdGhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCByZ2JhKDI1NSwgMTM5LCAxMDIsIDEpIDAlLCByZ2JhKDI1NCwgODcsIDM0LCAxKSAxMDAlKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRtYXJnaW4tdG9wOiAxNTBycHg7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///30\n");
  1898. /***/ }),
  1899. /* 31 */
  1900. /*!****************************************************************!*\
  1901. !*** C:/Users/001/Desktop/运维端/pages/mine/test.vue?mpType=page ***!
  1902. \****************************************************************/
  1903. =======
  1904. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar barcode = null;var _default =\n{\n data: function data() {\n return {\n\n erweima: '',\n value: '',\n index: 0 };\n\n },\n methods: {\n input1: function input1(e) {\n this.erweima = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control1.vue:64\");\n },\n input2: function input2(e) {\n this.value = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control1.vue:68\");\n },\n\n //立即绑定\n qued: function qued() {\n\n if (this.erweima == '' || this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善设备码或车辆编号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '绑定中...' });\n\n var data = {\n bike_no: that.data.erweima,\n box_no: that.data.value };\n\n app.request('control/addBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '绑定成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //解除绑定\n relieve: function relieve() {\n //解除绑定\n\n\n if (this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善中控设备号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '解绑中...' });\n\n var data = {\n box_no: that.data.value };\n\n app.request('control/unbindingBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '解除成功',\n icon: 'none' });\n\n\n }\n });\n }\n },\n //条形码\n tiaoxing: function tiaoxing() {\n //点击扫描条形码\n var that = this;\n // this.value=99999\n uni.scanCode({\n\n success: function success(res) {\n __f__(\"log\", res, \"99999\", \" at pages/mine/control1.vue:137\");\n __f__(\"log\", typeof res.result, \" at pages/mine/control1.vue:138\");\n var arr = res.result.split('\\n');\n\n var zk = arr[0];\n __f__(\"log\", zk, \"77777\", \" at pages/mine/control1.vue:142\");\n var zk1 = zk.split(':');\n var IMEI = zk1[1];\n __f__(\"log\", IMEI, \"666666\", \" at pages/mine/control1.vue:145\");\n\n __f__(\"log\", that.value, \" at pages/mine/control1.vue:147\");\n\n if (typeof IMEI == 'string') {\n __f__(\"log\", IMEI, \" at pages/mine/control1.vue:150\");\n if (IMEI.length == 9 || IMEI.length == 15) {\n that.value = zk1[1];\n\n\n } else {\n uni.showToast({\n title: '扫错了~',\n icon: 'none' });\n\n }\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \"88888\", \" at pages/mine/control1.vue:164\");\n uni.showToast({\n title: '扫码失败',\n icon: 'none' });\n\n } });\n\n },\n\n erwei: function erwei() {\n\n\n //点击扫描二维码\n var that = this;\n uni.scanCode({\n\n success: function success(res) {\n __f__(\"log\", res, \"uuuuuuu\", \" at pages/mine/control1.vue:181\");\n var code = decodeURIComponent(res.result);\n\n var code1 = code.lastIndexOf(\"=\");\n\n var source = code.substring(code1 + 1, code.length);\n __f__(\"log\", source, \"99999\", \" at pages/mine/control1.vue:187\");\n that.erweima = source;\n\n },\n fail: function fail() {\n uni.showToast({\n title: '扫码失败',\n icon: 'none' });\n\n } });\n\n },\n tap: function tap(e) {//绑定解绑标签切换\n this.index = e.currentTarget.dataset.index, __f__(\"log\",\n e, '这是绑定id', \" at pages/mine/control1.vue:201\");\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jb250cm9sMS52dWUiXSwibmFtZXMiOlsiYmFyY29kZSIsImRhdGEiLCJlcndlaW1hIiwidmFsdWUiLCJpbmRleCIsIm1ldGhvZHMiLCJpbnB1dDEiLCJlIiwiZGV0YWlsIiwiaW5wdXQyIiwicXVlZCIsInVuaSIsInNob3dNb2RhbCIsInRpdGxlIiwiY29udGVudCIsInNob3dDYW5jZWwiLCJzaG93TG9hZGluZyIsImJpa2Vfbm8iLCJ0aGF0IiwiYm94X25vIiwiYXBwIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJoaWRlTG9hZGluZyIsInN0YXR1c0NvZGUiLCJzaG93VG9hc3QiLCJpY29uIiwicmVsaWV2ZSIsInRpYW94aW5nIiwic2NhbkNvZGUiLCJzdWNjZXNzIiwicmVzdWx0IiwiYXJyIiwic3BsaXQiLCJ6ayIsInprMSIsIklNRUkiLCJsZW5ndGgiLCJmYWlsIiwiZXJyIiwiZXJ3ZWkiLCJjb2RlIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiY29kZTEiLCJsYXN0SW5kZXhPZiIsInNvdXJjZSIsInN1YnN0cmluZyIsInRhcCIsImN1cnJlbnRUYXJnZXQiLCJkYXRhc2V0Il0sIm1hcHBpbmdzIjoicUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsT0FBTyxHQUFHLElBQWQsQztBQUNlO0FBQ2RDLE1BRGMsa0JBQ1A7QUFDTixXQUFPOztBQUVOQyxhQUFPLEVBQUUsRUFGSDtBQUdOQyxXQUFLLEVBQUUs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QUFaLEVBQWlCLFNBQWpCO0FBQ0EsY0FBSW1CLElBQUksR0FBR0Msa0JBQWtCLENBQUNwQixHQUFHLENBQUNTLE1BQUwsQ0FBN0I7O0FBRUEsY0FBSVksS0FBSyxHQUFHRixJQUFJLENBQUNHLFdBQUwsQ0FBaUIsR0FBakIsQ0FBWjs7QUFFQSxjQUFJQyxNQUFNLEdBQUdKLElBQUksQ0FBQ0ssU0FBTCxDQUFlSCxLQUFLLEdBQUcsQ0FBdkIsRUFBMEJGLElBQUksQ0FBQ0osTUFBL0IsQ0FBYjtBQUNBLHVCQUFZUSxNQUFaLEVBQW9CLE9BQXBCO0FBQ0E1QixjQUFJLENBQUNoQixPQUFMLEdBQWU0QyxNQUFmOztBQUVBLFNBWlc7QUFhWlAsWUFBSSxFQUFFLGdCQUFXO0FBQ2hCNUIsYUFBRyxDQUFDZSxTQUFKLENBQWM7QUFDYmIsaUJBQUssRUFBRSxNQURNO0FBRWJjLGdCQUFJLEVBQUUsTUFGTyxFQUFkOztBQUlBLFNBbEJXLEVBQWI7O0FBb0JBLEtBeklPO0FBMElScUIsT0FBRyxFQUFFLGFBQVN6QyxDQUFULEVBQVksQ0FBRTtBQUNsQixXQUFLSCxLQUFMLEdBQWFHLENBQUMsQ0FBQzBDLGFBQUYsQ0FBZ0JDLE9BQWhCLENBQXdCOUMsS0FBckM7QUFDYUcsT0FEYixFQUNnQixRQURoQjtBQUVBLEtBN0lPLEVBVEssRSIsImZpbGUiOiIzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBiYXJjb2RlID0gbnVsbDtcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXG5cdFx0XHRlcndlaW1hOiAnJyxcblx0XHRcdHZhbHVlOiAnJyxcblx0XHRcdGluZGV4OiAwXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0aW5wdXQxOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLmVyd2VpbWEgPSBlLmRldGFpbC52YWx1ZVxuXHRcdFx0Y29uc29sZS5sb2coZS5kZXRhaWwudmFsdWUsICfov5nmmK9pbnB1dOS4reeahOaVsOaNricpXG5cdFx0fSxcblx0XHRpbnB1dDI6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdHRoaXMudmFsdWUgPSBlLmRldGFpbC52YWx1ZVxuXHRcdFx0Y29uc29sZS5sb2coZS5kZXRhaWwudmFsdWUsICfov5nmmK9pbnB1dOS4reeahOaVsOaNricpXG5cdFx0fSxcblxuXHRcdC8v56uL5Y2z57uR5a6aXG5cdFx0cXVlZDogZnVuY3Rpb24oKSB7XG5cblx0XHRcdGlmICh0aGlzLmVyd2VpbWEgPT0gJycgfHwgdGhpcy52YWx1ZSA9PSAnJykge1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcblx0XHRcdFx0XHR0aXRsZTogJ+aPkOekuicsXG5cdFx0XHRcdFx0Y29udGVudDogJ+ivt+WujOWWhOiuvuWkh+eggeaIlui9pui+hue8luWPtycsXG5cdFx0XHRcdFx0c2hvd0NhbmNlbDogZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdFx0dGl0bGU6ICfnu5HlrprkuK0uLi4nLFxuXHRcdFx0XHR9KVxuXHRcdFx0XHRsZXQgZGF0YSA9IHtcblx0XHRcdFx0XHRiaWtlX25vOiB0aGF0LmRhdGEuZXJ3ZWltYSxcblx0XHRcdFx0XHRib3hfbm86IHRoYXQuZGF0YS52YWx1ZVxuXHRcdFx0XHR9XG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdjb250cm9sL2FkZEJpa2UnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfnu5HlrprmiJDlip8nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly/op6PpmaTnu5Hlrppcblx0XHRyZWxpZXZlOiBmdW5jdGlvbigpIHtcblx0XHRcdC8v6Kej6Zmk57uR5a6aXG5cblxuXHRcdFx0aWYgKHRoaXMudmFsdWUgPT0gJycpIHtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxuXHRcdFx0XHRcdGNvbnRlbnQ6ICfor7flrozlloTkuK3mjqforr7lpIflj7cnLFxuXHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHRcdHRpdGxlOiAn6Kej57uR5LitLi4uJyxcblx0XHRcdFx0fSlcblx0XHRcdFx0bGV0IGRhdGEgPSB7XG5cdFx0XHRcdFx0Ym94X25vOiB0aGF0LmRhdGEudmFsdWVcblx0XHRcdFx0fVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnY29udHJvbC91bmJpbmRpbmdCaWtlJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn6Kej6Zmk5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly/mnaHlvaLnoIFcblx0XHR0aWFveGluZzogZnVuY3Rpb24oKSB7XG5cdFx0XHQvL+eCueWHu+aJq+aPj+adoeW9oueggVxuXHRcdFx0dmFyIHRoYXQgPSB0aGlzXG5cdFx0XHQvLyB0aGlzLnZhbHVlPTk5OTk5XG5cdFx0XHR1bmkuc2NhbkNvZGUoe1xuXG5cdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgXCI5OTk5OVwiKVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHR5cGVvZihyZXMucmVzdWx0KSlcblx0XHRcdFx0XHR2YXIgYXJyID0gcmVzLnJlc3VsdC5zcGxpdCgnXFxuJylcblxuXHRcdFx0XHRcdHZhciB6ayA9IGFyclswXVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHprLCBcIjc3Nzc3XCIpXG5cdFx0XHRcdFx0dmFyIHprMSA9IHprLnNwbGl0KCc6Jylcblx0XHRcdFx0XHR2YXIgSU1FSSA9IHprMVsxXVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKElNRUksIFwiNjY2NjY2XCIpXG5cblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LnZhbHVlKVxuXG5cdFx0XHRcdFx0aWYgKHR5cGVvZihJTUVJKSA9PSAnc3RyaW5nJykge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coSU1FSSlcblx0XHRcdFx0XHRcdGlmIChJTUVJLmxlbmd0aCA9PSA5IHx8IElNRUkubGVuZ3RoID09IDE1KSB7XG5cdFx0XHRcdFx0XHRcdHRoYXQudmFsdWUgPSB6azFbMV1cblxuXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aJq+mUmeS6hn4nLFxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyLCBcIjg4ODg4XCIpXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aJq+eggeWksei0pScsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cblx0XHRlcndlaTogZnVuY3Rpb24oKSB7XG5cdFxuXHRcdFxuXHRcdFx0Ly/ngrnlh7vmiavmj4/kuoznu7TnoIFcblx0XHRcdHZhciB0aGF0ID0gdGhpc1xuXHRcdFx0dW5pLnNjYW5Db2RlKHtcblx0XHRcdFx0XG5cdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgXCJ1dXV1dXV1XCIpXG5cdFx0XHRcdFx0dmFyIGNvZGUgPSBkZWNvZGVVUklDb21wb25lbnQocmVzLnJlc3VsdCk7XG5cblx0XHRcdFx0XHR2YXIgY29kZTEgPSBjb2RlLmxhc3RJbmRleE9mKFwiPVwiKTtcblxuXHRcdFx0XHRcdHZhciBzb3VyY2UgPSBjb2RlLnN1YnN0cmluZyhjb2RlMSArIDEsIGNvZGUubGVuZ3RoKTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhzb3VyY2UsIFwiOTk5OTlcIilcblx0XHRcdFx0XHR0aGF0LmVyd2VpbWEgPSBzb3VyY2Vcblx0XHRcdFx0XHRcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aJq+eggeWksei0pScsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0dGFwOiBmdW5jdGlvbihlKSB7IC8v57uR5a6a6Kej57uR5qCH562+5YiH5o2iXG5cdFx0XHR0aGlzLmluZGV4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXgsXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUsICfov5nmmK/nu5HlrpppZCcpXG5cdFx0fVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///30\n");
  1905. /***/ }),
  1906. /* 31 */
  1907. /*!*****************************************************************************!*\
  1908. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/test.vue?mpType=page ***!
  1909. \*****************************************************************************/
  1910. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1911. /*! no static exports found */
  1912. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1913. "use strict";
  1914. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./test.vue?vue&type=template&id=63696775&scoped=true&mpType=page */ 32);\n/* harmony import */ var _test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./test.vue?vue&type=script&lang=js&mpType=page */ 34);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"63696775\",\n null,\n false,\n _test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/test.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBd0k7QUFDeEk7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSxzR0FBTTtBQUNSLEVBQUUsK0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMEdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL3Rlc3QudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTYzNjk2Nzc1JnNjb3BlZD10cnVlJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi90ZXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi90ZXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNjM2OTY3NzVcIixcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvbWluZS90ZXN0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///31\n");
  1915. /***/ }),
  1916. /* 32 */
  1917. <<<<<<< HEAD
  1918. /*!**********************************************************************************************************!*\
  1919. !*** C:/Users/001/Desktop/运维端/pages/mine/test.vue?vue&type=template&id=63696775&scoped=true&mpType=page ***!
  1920. \**********************************************************************************************************/
  1921. =======
  1922. /*!***********************************************************************************************************************!*\
  1923. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/test.vue?vue&type=template&id=63696775&scoped=true&mpType=page ***!
  1924. \***********************************************************************************************************************/
  1925. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1926. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1927. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1928. "use strict";
  1929. __webpack_require__.r(__webpack_exports__);
  1930. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./test.vue?vue&type=template&id=63696775&scoped=true&mpType=page */ 33);
  1931. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  1932. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  1933. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  1934. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_template_id_63696775_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  1935. /***/ }),
  1936. /* 33 */
  1937. <<<<<<< HEAD
  1938. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1939. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/test.vue?vue&type=template&id=63696775&scoped=true&mpType=page ***!
  1940. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1941. =======
  1942. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1943. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/test.vue?vue&type=template&id=63696775&scoped=true&mpType=page ***!
  1944. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1945. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1946. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  1947. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1948. "use strict";
  1949. __webpack_require__.r(__webpack_exports__);
  1950. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  1951. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  1952. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  1953. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  1954. var components
  1955. var render = function() {
  1956. var _vm = this
  1957. var _h = _vm.$createElement
  1958. var _c = _vm._self._c || _h
  1959. return _c("view")
  1960. }
  1961. var recyclableRender = false
  1962. var staticRenderFns = []
  1963. render._withStripped = true
  1964. /***/ }),
  1965. /* 34 */
  1966. <<<<<<< HEAD
  1967. /*!****************************************************************************************!*\
  1968. !*** C:/Users/001/Desktop/运维端/pages/mine/test.vue?vue&type=script&lang=js&mpType=page ***!
  1969. \****************************************************************************************/
  1970. =======
  1971. /*!*****************************************************************************************************!*\
  1972. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/test.vue?vue&type=script&lang=js&mpType=page ***!
  1973. \*****************************************************************************************************/
  1974. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1975. /*! no static exports found */
  1976. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1977. "use strict";
  1978. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./test.vue?vue&type=script&lang=js&mpType=page */ 35);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_test_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBpQixDQUFnQiw2a0JBQUcsRUFBQyIsImZpbGUiOiIzNC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3Rlc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3Rlc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///34\n");
  1979. /***/ }),
  1980. /* 35 */
  1981. <<<<<<< HEAD
  1982. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1983. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/test.vue?vue&type=script&lang=js&mpType=page ***!
  1984. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1985. =======
  1986. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  1987. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/test.vue?vue&type=script&lang=js&mpType=page ***!
  1988. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  1989. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  1990. /*! no static exports found */
  1991. /***/ (function(module, exports, __webpack_require__) {
  1992. "use strict";
  1993. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar myDate = new Date();\nvar hour = myDate.getHours(); //当前时间\nvar _default = {\n data: function data() {\n return {\n barcode: null,\n flash: false,\n tip: '将二维码放入框中,即可自动扫描',\n id: \"\" //上个页面传过来的id值1,为车辆二维码2,为中控二维码\n };\n },\n onShow: function onShow() {\n // 页面展示时,重新启动扫描检测\n if (this.barcode) {\n this.barcode.start();\n __f__(\"log\", hour, \" at pages/mine/test.vue:32\");\n }\n\n },\n onLoad: function onLoad(params) {\n __f__(\"log\", params, \"000000\", \" at pages/mine/test.vue:37\");\n this.id = params.id;\n\n plus.navigator.setFullscreen(true); //全屏\n var currentWebview = this.$scope.$getAppWebview();\n this.createBarcode(currentWebview);\n this.createTipInfoView(currentWebview);\n this.createFlashBarView(currentWebview);\n\n },\n mounted: function mounted() {\n\n },\n methods: {\n /**\n * 创建二维码\n * @param {Object} currentWebview\n */\n createBarcode: function createBarcode(currentWebview) {\n if (!this.barcode) {\n this.barcode = plus.barcode.create('barcode', [plus.barcode.QR], {\n top: \"0px\",\n left: '0px',\n height: \"100%\",\n width: '100%',\n position: 'absolute',\n background: '#FFCC00',\n frameColor: '#FFCC33',\n scanbarColor: '#FFCC33' });\n\n this.barcode.onmarked = this.onmarked;\n this.barcode.setFlash(this.flash);\n //此处未演示扫码成功回调的地址设置,实际请参考HTML5Plus API自行处理 \n //注意扫码区域需为正方形,否则影响扫码识别率 \n currentWebview.append(this.barcode);\n }\n this.barcode.start();\n var that = this;\n if (hour >= 17 || hour <= 8) {\n // that.flash=!that.flash\n setTimeout(function () {\n __f__(\"log\", 123455665, \" at pages/mine/test.vue:78\");\n that.barcode.setFlash(!this.flash);\n }, 500);\n\n }\n\n },\n\n /**\n * 创建提示信息\n * @param {Object} currentWebview\n */\n createTipInfoView: function createTipInfoView(currentWebview) {\n var content = new plus.nativeObj.View('content', {\n top: '0px',\n left: '0px',\n height: '100%',\n width: '100%' },\n\n [{\n tag: 'font',\n id: 'scanTips',\n text: this.tip,\n textStyles: {\n size: '14px',\n color: '#ffffff',\n whiteSpace: 'normal' },\n\n position: {\n top: '90px',\n left: '10%',\n width: '80%',\n height: 'wrap_content' } }]);\n\n\n currentWebview.append(content);\n\n },\n // 创建 开关灯按钮\n createFlashBarView: function createFlashBarView(currentWebview) {var _this = this;\n\n var openImg = this.crtFlashImg('static/img/diandeng1.png');\n var closeImg = this.crtFlashImg('static/img/diandeng.png');\n var scanBarVew = new plus.nativeObj.View('scanBarVew', {\n top: '65%',\n left: '40%',\n height: '10%',\n width: '20%' },\n\n closeImg);\n scanBarVew.interceptTouchEvent(true);\n\n currentWebview.append(scanBarVew);\n\n scanBarVew.addEventListener(\"click\", function (e) {//点亮手电筒\n _this.flash = !_this.flash;\n if (_this.flash) {\n scanBarVew.draw(openImg);\n\n } else {\n scanBarVew.draw(closeImg);\n }\n if (_this.barcode) {\n _this.barcode.setFlash(_this.flash);\n }\n }, false);\n },\n crtFlashImg: function crtFlashImg(imgsrc) {\n return [{\n tag: 'img',\n id: 'scanBar',\n src: imgsrc,\n position: {\n width: '28%',\n left: '36%',\n height: '30%' } },\n\n {\n tag: 'font',\n id: 'font',\n text: '轻触照亮',\n textStyles: {\n size: '10px',\n color: '#ffffff' },\n\n position: {\n width: '80%',\n left: '10%' } }];\n\n\n },\n // 扫码成功回调\n onmarked: function onmarked(type, result) {\n var text = '未知: ';\n switch (type) {\n case plus.barcode.QR:\n text = 'QR: ';\n break;\n case plus.barcode.EAN13:\n text = 'EAN13: ';\n break;\n case plus.barcode.EAN8:\n text = 'EAN8: ';\n break;}\n\n\n if (this.id == 1) {\n __f__(\"log\", '条码类型:' + type, \" at pages/mine/test.vue:185\");\n __f__(\"log\", '条码内容:' + result, \" at pages/mine/test.vue:186\");\n this.barcode.close();\n plus.navigator.setFullscreen(false);\n var code = decodeURIComponent(result);\n\n var code1 = code.lastIndexOf(\"=\");\n\n var source = code.substring(code1 + 1, code.length);\n this.isShow = false;\n __f__(\"log\", source, \"99999\", \" at pages/mine/test.vue:195\");\n this.erweima = source;\n var data = {\n id: this.id,\n shuju: source };\n\n } else {\n if (this.id == 2) {\n var arr = result.split('\\n');\n\n var zk = arr[0];\n __f__(\"log\", zk, \"77777\", \" at pages/mine/test.vue:206\");\n var zk1 = zk.split(':');\n var IMEI = zk1[1];\n\n __f__(\"log\", IMEI, \"666666\", \" at pages/mine/test.vue:210\");\n\n // console.log(that.value)\n // that.value = zk1[1]\n var data = {\n id: this.id,\n shuju: IMEI };\n\n\n\n }\n __f__(\"log\", \"出错了\", \" at pages/mine/test.vue:221\");\n }\n\n\n\n\n var list = JSON.stringify(data);\n __f__(\"log\", list, \" at pages/mine/test.vue:228\");\n var pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。\n\n var prevPage = pages[pages.length - 2];\n\n //prevPage 是获取上一个页面的js里面的pages的所有信息。 -2 是上一个页面,-3是上上个页面以此类推。\n prevPage.$vm.data = list;\n\n uni.navigateBack({\n delta: 1 });\n\n // 业务代码\n // 核对扫描结果\n // 判断是否是正确的格式\n // 不正确则跳转到 错误页面\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS90ZXN0LnZ1ZSJdLCJuYW1lcyI6WyJteURhdGUiLCJEYXRlIiwiaG91ciIsImdldEhvdXJzIiwiZGF0YSIsImJhcmNvZGUiLCJmbGFzaCIsInRpcCIsImlkIiwib25TaG93Iiwic3RhcnQiLCJvbkxvYWQiLCJwYXJhbXMiLCJwbHVzIiwibmF2aWdhdG9yIiwic2V0RnVsbHNjcmVlbiIsImN1cnJlbnRXZWJ2aWV3IiwiJHNjb3BlIiwiJGdldEFwcFdlYnZpZXciLCJjcmVhdGVCYXJjb2RlIiwiY3JlYXRlVGlwSW5mb1ZpZXciLCJjcmVhdGVGbGFzaEJhclZpZXciLCJtb3VudGVkIiwibWV0aG9kcyIsImNyZWF0ZSIsIlFSIiwidG9wIiwibGVmdCIsImhlaWdodCIsIndpZHRoIiwicG9zaXRpb24iLCJiYWNrZ3JvdW5kIiwiZnJhbWVDb2xvciIsInNjYW5iYXJDb2xvciIsIm9ubWFya2VkIiwic2V0Rmxhc2giLCJhcHBlbmQiLCJ0aGF0Iiwic2V0VGltZW91dCIsImNvbnRlbnQiLCJuYXRpdmVPYmoiLCJWaWV3IiwidGFnIiwidGV4dCIsInRleHRTdHlsZXMiLCJzaXplIiwiY29sb3IiLCJ3aGl0ZVNwYWNlIiwib3BlbkltZyIsImNydEZsYXNoSW1nIiwiY2xvc2VJbWciLCJzY2FuQmFyVmV3IiwiaW50ZXJjZXB0VG91Y2hFdmVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJlIiwiZHJhdyIsImltZ3NyYyIsInNyYyIsInR5cGUiLCJyZXN1bHQiLCJFQU4xMyIsIkVBTjgiLCJjbG9zZSIsImNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJjb2RlMSIsImxhc3RJbmRleE9mIiwic291cmNlIiwic3Vic3RyaW5nIiwibGVuZ3RoIiwiaXNTaG93IiwiZXJ3ZWltYSIsInNodWp1IiwiYXJyIiwic3BsaXQiLCJ6ayIsInprMSIsIklNRUkiLCJsaXN0IiwiSlNPTiIsInN0cmluZ2lmeSIsInBhZ2VzIiwiZ2V0Q3VycmVudFBhZ2Vz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QUFkOztBQUVBLHVCQUFZQyxJQUFaLEVBQWtCLFFBQWxCOztBQUVBO0FBQ0E7QUFDQSxjQUFJekUsSUFBSSxHQUFHO0FBQ1ZJLGNBQUUsRUFBRSxLQUFLQSxFQURDO0FBRVZnRSxpQkFBSyxFQUFFSyxJQUZHLEVBQVg7Ozs7QUFNQTtBQUNELHFCQUFZLEtBQVo7QUFDQTs7Ozs7QUFLRCxVQUFJQyxJQUFJLEdBQUdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlNUUsSUFBZixDQUFYO0FBQ0EsbUJBQVkwRSxJQUFaO0FBQ0EsVUFBSUcsS0FBSyxHQUFHQyxlQUFlLEVBQTNCLENBM0RzQixDQTJEUzs7QUFFL0IsVUFBSUMsUUFBUSxHQUFHRixLQUFLLENBQUNBLEtBQUssQ0FBQ1osTUFBTixHQUFlLENBQWhCLENBQXBCOztBQUVBO0FBQ0FjLGNBQVEsQ0FBQ0MsR0FBVCxDQUFhaEYsSUFBYixHQUFvQjBFLElBQXBCOztBQUVBTyxTQUFHLENBQUNDLFlBQUosQ0FBaUI7QUFDaEJDLGFBQUssRUFBRSxDQURTLEVBQWpCOztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBbE1PLEVBL0JLLEUiLCJmaWxlIjoiMzUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBteURhdGUgPSBuZXcgRGF0ZSgpO1xudmFyIGhvdXIgPSBteURhdGUuZ2V0SG91cnMoKTsgLy/lvZPliY3ml7bpl7RcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0YmFyY29kZTogbnVsbCxcblx0XHRcdGZsYXNoOiBmYWxzZSxcblx0XHRcdHRpcDogJ+WwhuS6jOe7tOeggeaUvuWFpeahhuS4re+8jOWNs+WPr+iHquWKqOaJq+aPjycsXG5cdFx0XHRpZDogXCJcIiwgLy/kuIrkuKrpobXpnaLkvKDov4fmnaXnmoRpZOWAvDHvvIzkuLrovabovobkuoznu7TnoIEy77yM5Li65Lit5o6n5LqM57u056CBXG5cdFx0fVxuXHR9LFxuXHRvblNob3coKSB7XG5cdFx0Ly8g6aG16Z2i5bGV56S65pe277yM6YeN5paw5ZCv5Yqo5omr5o+P5qOA5rWLXG5cdFx0aWYgKHRoaXMuYmFyY29kZSkge1xuXHRcdFx0dGhpcy5iYXJjb2RlLnN0YXJ0KClcblx0XHRcdGNvbnNvbGUubG9nKGhvdXIpXG5cdFx0fVxuXHRcblx0fSxcblx0b25Mb2FkKHBhcmFtcykge1xuXHRcdGNvbnNvbGUubG9nKHBhcmFtcywgXCIwMDAwMDBcIilcblx0XHR0aGlzLmlkID0gcGFyYW1zLmlkXG5cblx0XHRwbHVzLm5hdmlnYXRvci5zZXRGdWxsc2NyZWVuKHRydWUpOyAvL+WFqOWxj1xuXHRcdGxldCBjdXJyZW50V2VidmlldyA9IHRoaXMuJHNjb3BlLiRnZXRBcHBXZWJ2aWV3KCk7XG5cdFx0dGhpcy5jcmVhdGVCYXJjb2RlKGN1cnJlbnRXZWJ2aWV3KVxuXHRcdHRoaXMuY3JlYXRlVGlwSW5mb1ZpZXcoY3VycmVudFdlYnZpZXcpXG5cdFx0dGhpcy5jcmVhdGVGbGFzaEJhclZpZXcoY3VycmVudFdlYnZpZXcpXG5cblx0fSxcblx0bW91bnRlZCgpIHtcblxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0LyoqXG5cdFx0ICog5Yib5bu65LqM57u056CBXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IGN1cnJlbnRXZWJ2aWV3XG5cdFx0ICovXG5cdFx0Y3JlYXRlQmFyY29kZShjdXJyZW50V2Vidmlldykge1xuXHRcdFx0aWYgKCF0aGlzLmJhcmNvZGUpIHtcblx0XHRcdFx0dGhpcy5iYXJjb2RlID0gcGx1cy5iYXJjb2RlLmNyZWF0ZSgnYmFyY29kZScsIFtwbHVzLmJhcmNvZGUuUVJdLCB7XG5cdFx0XHRcdFx0dG9wOiBgMHB4YCxcblx0XHRcdFx0XHRsZWZ0OiAnMHB4Jyxcblx0XHRcdFx0XHRoZWlnaHQ6IGAxMDAlYCxcblx0XHRcdFx0XHR3aWR0aDogJzEwMCUnLFxuXHRcdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICcjRkZDQzAwJyxcblx0XHRcdFx0XHRmcmFtZUNvbG9yOiAnI0ZGQ0MzMycsXG5cdFx0XHRcdFx0c2NhbmJhckNvbG9yOiAnI0ZGQ0MzMycsXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLmJhcmNvZGUub25tYXJrZWQgPSB0aGlzLm9ubWFya2VkO1xuXHRcdFx0XHR0aGlzLmJhcmNvZGUuc2V0Rmxhc2godGhpcy5mbGFzaCk7XG5cdFx0XHRcdC8v5q2k5aSE5pyq5ryU56S65omr56CB5oiQ5Yqf5Zue6LCD55qE5Zyw5Z2A6K6+572u77yM5a6e6ZmF6K+35Y+C6ICDSFRNTDVQbHVzIEFQSeiHquihjOWkhOeQhiAgXG5cdFx0XHRcdC8v5rOo5oSP5omr56CB5Yy65Z+f6ZyA5Li65q2j5pa55b2i77yM5ZCm5YiZ5b2x5ZON5omr56CB6K+G5Yir546HICBcblx0XHRcdFx0Y3VycmVudFdlYnZpZXcuYXBwZW5kKHRoaXMuYmFyY29kZSk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLmJhcmNvZGUuc3RhcnQoKVxuXHRcdCAgICAgdmFyIHRoYXQ9dGhpc1xuXHRcdFx0aWYgKGhvdXIgPj0gMTcgfHwgaG91ciA8PSA4ICkge1xuXHRcdFx0XHQvLyB0aGF0LmZsYXNoPSF0aGF0LmZsYXNoXG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygxMjM0NTU2NjUpXG5cdFx0XHRcdFx0dGhhdC5iYXJjb2RlLnNldEZsYXNoKCF0aGlzLmZsYXNoKTtcblx0XHRcdFx0fSw1MDApXG5cdFx0XHRcdFxuXHRcdFx0fVxuXG5cdFx0fSxcblxuXHRcdC8qKlxuXHRcdCAqIOWIm+W7uuaPkOekuuS/oeaBr1xuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBjdXJyZW50V2Vidmlld1xuXHRcdCAqL1xuXHRcdGNyZWF0ZVRpcEluZm9WaWV3KGN1cnJlbnRXZWJ2aWV3KSB7XG5cdFx0XHRjb25zdCBjb250ZW50ID0gbmV3IHBsdXMubmF0aXZlT2JqLlZpZXcoJ2NvbnRlbnQnLCB7XG5cdFx0XHRcdFx0dG9wOiAnMHB4Jyxcblx0XHRcdFx0XHRsZWZ0OiAnMHB4Jyxcblx0XHRcdFx0XHRoZWlnaHQ6ICcxMDAlJyxcblx0XHRcdFx0XHR3aWR0aDogJzEwMCUnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdFt7XG5cdFx0XHRcdFx0dGFnOiAnZm9udCcsXG5cdFx0XHRcdFx0aWQ6ICdzY2FuVGlwcycsXG5cdFx0XHRcdFx0dGV4dDogdGhpcy50aXAsXG5cdFx0XHRcdFx0dGV4dFN0eWxlczoge1xuXHRcdFx0XHRcdFx0c2l6ZTogJzE0cHgnLFxuXHRcdFx0XHRcdFx0Y29sb3I6ICcjZmZmZmZmJyxcblx0XHRcdFx0XHRcdHdoaXRlU3BhY2U6ICdub3JtYWwnXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRwb3NpdGlvbjoge1xuXHRcdFx0XHRcdFx0dG9wOiAnOTBweCcsXG5cdFx0XHRcdFx0XHRsZWZ0OiAnMTAlJyxcblx0XHRcdFx0XHRcdHdpZHRoOiAnODAlJyxcblx0XHRcdFx0XHRcdGhlaWdodDogJ3dyYXBfY29udGVudCdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1dKTtcblx0XHRcdGN1cnJlbnRXZWJ2aWV3LmFwcGVuZChjb250ZW50KTtcblxuXHRcdH0sXG5cdFx0Ly8g5Yib5bu6IOW8gOWFs+eBr+aMiemSrlxuXHRcdGNyZWF0ZUZsYXNoQmFyVmlldyhjdXJyZW50V2Vidmlldykge1xuXG5cdFx0XHRjb25zdCBvcGVuSW1nID0gdGhpcy5jcnRGbGFzaEltZygnc3RhdGljL2ltZy9kaWFuZGVuZzEucG5nJylcblx0XHRcdGNvbnN0IGNsb3NlSW1nID0gdGhpcy5jcnRGbGFzaEltZygnc3RhdGljL2ltZy9kaWFuZGVuZy5wbmcnKVxuXHRcdFx0Y29uc3Qgc2NhbkJhclZldyA9IG5ldyBwbHVzLm5hdGl2ZU9iai5WaWV3KCdzY2FuQmFyVmV3Jywge1xuXHRcdFx0XHRcdHRvcDogJzY1JScsXG5cdFx0XHRcdFx0bGVmdDogJzQwJScsXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMTAlJyxcblx0XHRcdFx0XHR3aWR0aDogJzIwJScsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGNsb3NlSW1nKTtcblx0XHRcdHNjYW5CYXJWZXcuaW50ZXJjZXB0VG91Y2hFdmVudCh0cnVlKTtcblxuXHRcdFx0Y3VycmVudFdlYnZpZXcuYXBwZW5kKHNjYW5CYXJWZXcpO1xuXG5cdFx0XHRzY2FuQmFyVmV3LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCAoZSkgPT4geyAvL+eCueS6ruaJi+eUteetklxuXHRcdFx0XHR0aGlzLmZsYXNoID0gIXRoaXMuZmxhc2g7XG5cdFx0XHRcdGlmICh0aGlzLmZsYXNoKSB7XG5cdFx0XHRcdFx0c2NhbkJhclZldy5kcmF3KG9wZW5JbWcpO1xuXHRcdFx0XHRcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzY2FuQmFyVmV3LmRyYXcoY2xvc2VJbWcpXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMuYmFyY29kZSkge1xuXHRcdFx0XHRcdHRoaXMuYmFyY29kZS5zZXRGbGFzaCh0aGlzLmZsYXNoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSwgZmFsc2UpXG5cdFx0fSxcblx0XHRjcnRGbGFzaEltZyhpbWdzcmMpIHtcblx0XHRcdHJldHVybiBbe1xuXHRcdFx0XHR0YWc6ICdpbWcnLFxuXHRcdFx0XHRpZDogJ3NjYW5CYXInLFxuXHRcdFx0XHRzcmM6IGltZ3NyYyxcblx0XHRcdFx0cG9zaXRpb246IHtcblx0XHRcdFx0XHR3aWR0aDogJzI4JScsXG5cdFx0XHRcdFx0bGVmdDogJzM2JScsXG5cdFx0XHRcdFx0aGVpZ2h0OiAnMzAlJ1xuXHRcdFx0XHR9XG5cdFx0XHR9LCB7XG5cdFx0XHRcdHRhZzogJ2ZvbnQnLFxuXHRcdFx0XHRpZDogJ2ZvbnQnLFxuXHRcdFx0XHR0ZXh0OiAn6L276Kem54Wn5LquJyxcblx0XHRcdFx0dGV4dFN0eWxlczoge1xuXHRcdFx0XHRcdHNpemU6ICcxMHB4Jyxcblx0XHRcdFx0XHRjb2xvcjogJyNmZmZmZmYnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHBvc2l0aW9uOiB7XG5cdFx0XHRcdFx0d2lkdGg6ICc4MCUnLFxuXHRcdFx0XHRcdGxlZnQ6ICcxMCUnXG5cdFx0XHRcdH1cblx0XHRcdH1dXG5cdFx0fSxcblx0XHQvLyDmiavnoIHmiJDlip/lm57osINcblx0XHRvbm1hcmtlZCh0eXBlLCByZXN1bHQpIHtcblx0XHRcdHZhciB0ZXh0ID0gJ+acquefpTogJztcblx0XHRcdHN3aXRjaCAodHlwZSkge1xuXHRcdFx0XHRjYXNlIHBsdXMuYmFyY29kZS5RUjpcblx0XHRcdFx0XHR0ZXh0ID0gJ1FSOiAnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIHBsdXMuYmFyY29kZS5FQU4xMzpcblx0XHRcdFx0XHR0ZXh0ID0gJ0VBTjEzOiAnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIHBsdXMuYmFyY29kZS5FQU44OlxuXHRcdFx0XHRcdHRleHQgPSAnRUFOODogJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblxuXHRcdFx0aWYgKHRoaXMuaWQgPT0gMSkge1xuXHRcdFx0XHRjb25zb2xlLmxvZygn5p2h56CB57G75Z6L77yaJyArIHR5cGUpO1xuXHRcdFx0XHRjb25zb2xlLmxvZygn5p2h56CB5YaF5a6577yaJyArIHJlc3VsdCk7XG5cdFx0XHRcdHRoaXMuYmFyY29kZS5jbG9zZSgpXG5cdFx0XHRcdHBsdXMubmF2aWdhdG9yLnNldEZ1bGxzY3JlZW4oZmFsc2UpO1xuXHRcdFx0XHR2YXIgY29kZSA9IGRlY29kZVVSSUNvbXBvbmVudChyZXN1bHQpO1xuXG5cdFx0XHRcdHZhciBjb2RlMSA9IGNvZGUubGFzdEluZGV4T2YoXCI9XCIpO1xuXG5cdFx0XHRcdHZhciBzb3VyY2UgPSBjb2RlLnN1YnN0cmluZyhjb2RlMSArIDEsIGNvZGUubGVuZ3RoKTtcblx0XHRcdFx0dGhpcy5pc1Nob3cgPSBmYWxzZVxuXHRcdFx0XHRjb25zb2xlLmxvZyhzb3VyY2UsIFwiOTk5OTlcIilcblx0XHRcdFx0dGhpcy5lcndlaW1hID0gc291cmNlXG5cdFx0XHRcdHZhciBkYXRhID0ge1xuXHRcdFx0XHRcdGlkOiB0aGlzLmlkLFxuXHRcdFx0XHRcdHNodWp1OiBzb3VyY2Vcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aWYgKHRoaXMuaWQgPT0gMikge1xuXHRcdFx0XHRcdHZhciBhcnIgPSByZXN1bHQuc3BsaXQoJ1xcbicpXG5cblx0XHRcdFx0XHR2YXIgemsgPSBhcnJbMF1cblx0XHRcdFx0XHRjb25zb2xlLmxvZyh6aywgXCI3Nzc3N1wiKVxuXHRcdFx0XHRcdHZhciB6azEgPSB6ay5zcGxpdCgnOicpXG5cdFx0XHRcdFx0dmFyIElNRUkgPSB6azFbMV1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhJTUVJLCBcIjY2NjY2NlwiKVxuXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhhdC52YWx1ZSlcblx0XHRcdFx0XHQvLyB0aGF0LnZhbHVlID0gemsxWzFdXG5cdFx0XHRcdFx0dmFyIGRhdGEgPSB7XG5cdFx0XHRcdFx0XHRpZDogdGhpcy5pZCxcblx0XHRcdFx0XHRcdHNodWp1OiBJTUVJXG5cdFx0XHRcdFx0fVxuXG5cblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIuWHuumUmeS6hlwiKVxuXHRcdFx0fVxuXG5cblxuXG5cdFx0XHRsZXQgbGlzdCA9IEpTT04uc3RyaW5naWZ5KGRhdGEpXG5cdFx0XHRjb25zb2xlLmxvZyhsaXN0KVxuXHRcdFx0bGV0IHBhZ2VzID0gZ2V0Q3VycmVudFBhZ2VzKCk7IC8v6I635Y+W5b2T5YmN6aG16Z2ianPph4zpnaLnmoRwYWdlc+mHjOeahOaJgOacieS/oeaBr+OAglxuXG5cdFx0XHRsZXQgcHJldlBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAyXTtcblxuXHRcdFx0Ly9wcmV2UGFnZSDmmK/ojrflj5bkuIrkuIDkuKrpobXpnaLnmoRqc+mHjOmdoueahHBhZ2Vz55qE5omA5pyJ5L+h5oGv44CCIC0yIOaYr+S4iuS4gOS4qumhtemdou+8jC0z5piv5LiK5LiK5Liq6aG16Z2i5Lul5q2k57G75o6o44CCXG5cdFx0XHRwcmV2UGFnZS4kdm0uZGF0YSA9IGxpc3RcblxuXHRcdFx0dW5pLm5hdmlnYXRlQmFjayh7XG5cdFx0XHRcdGRlbHRhOiAxXG5cdFx0XHR9KVxuXHRcdFx0Ly8g5Lia5Yqh5Luj56CBXG5cdFx0XHQvLyDmoLjlr7nmiavmj4/nu5Pmnpxcblx0XHRcdC8vIOWIpOaWreaYr+WQpuaYr+ato+ehrueahOagvOW8j1xuXHRcdFx0Ly8g5LiN5q2j56Gu5YiZ6Lez6L2s5YiwIOmUmeivr+mhtemdolxuXG5cdFx0fVxuXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///35\n");
  1994. /***/ }),
  1995. /* 36 */
  1996. <<<<<<< HEAD
  1997. /*!******************************************************************!*\
  1998. !*** C:/Users/001/Desktop/运维端/pages/index/index.vue?mpType=page ***!
  1999. \******************************************************************/
  2000. =======
  2001. /*!*******************************************************************************!*\
  2002. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/index.vue?mpType=page ***!
  2003. \*******************************************************************************/
  2004. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  2005. /*! no static exports found */
  2006. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2007. "use strict";
  2008. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./index.vue?vue&type=template&id=2be84a3c&mpType=page */ 37);\n/* harmony import */ var _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index.vue?vue&type=script&lang=js&mpType=page */ 39);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0yYmU4NGEzYyZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vaW5kZXgudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXHJ1bnRpbWVcXFxcY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL2luZGV4L2luZGV4LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///36\n");
  2009. /***/ }),
  2010. /* 37 */
  2011. <<<<<<< HEAD
  2012. /*!************************************************************************************************!*\
  2013. !*** C:/Users/001/Desktop/运维端/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
  2014. \************************************************************************************************/
  2015. =======
  2016. /*!*************************************************************************************************************!*\
  2017. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
  2018. \*************************************************************************************************************/
  2019. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  2020. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  2021. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2022. "use strict";
  2023. __webpack_require__.r(__webpack_exports__);
  2024. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=template&id=2be84a3c&mpType=page */ 38);
  2025. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  2026. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  2027. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  2028. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_template_id_2be84a3c_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  2029. /***/ }),
  2030. /* 38 */
  2031. <<<<<<< HEAD
  2032. /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  2033. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
  2034. \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  2035. =======
  2036. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  2037. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/index.vue?vue&type=template&id=2be84a3c&mpType=page ***!
  2038. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  2039. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  2040. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  2041. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2042. "use strict";
  2043. __webpack_require__.r(__webpack_exports__);
  2044. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  2045. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  2046. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  2047. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  2048. var components
  2049. var render = function() {
  2050. var _vm = this
  2051. var _h = _vm.$createElement
  2052. var _c = _vm._self._c || _h
  2053. return _c(
  2054. "view",
  2055. { staticClass: _vm._$s(0, "sc", "page"), attrs: { _i: 0 } },
  2056. [
  2057. _c(
  2058. "map",
  2059. {
  2060. attrs: {
  2061. id: "map",
  2062. longitude: _vm._$s(1, "a-longitude", _vm.longitude),
  2063. latitude: _vm._$s(1, "a-latitude", _vm.latitude),
  2064. scale: _vm._$s(1, "a-scale", _vm.scale),
  2065. "show-location": _vm._$s(1, "a-show-location", _vm.location),
  2066. markers: _vm._$s(1, "a-markers", _vm.markers),
  2067. polyline: _vm._$s(1, "a-polyline", _vm.polygons),
  2068. _i: 1
  2069. },
  2070. on: {
  2071. markertap: _vm.marker,
  2072. regionchange: _vm.regionchange,
  2073. labeltap: _vm.marker,
  2074. callouttap: _vm.marker,
  2075. click: _vm.controltap
  2076. }
  2077. },
  2078. [
  2079. _c("cover-view", {
  2080. staticClass: _vm._$s(2, "sc", "backTop"),
  2081. attrs: { _i: 2 }
  2082. }),
  2083. _c("cover-view", {
  2084. staticClass: _vm._$s(3, "sc", "topRight"),
  2085. attrs: { _i: 3 },
  2086. on: {
  2087. click: function($event) {
  2088. $event.stopPropagation()
  2089. return _vm.search($event)
  2090. }
  2091. }
  2092. }),
  2093. _c(
  2094. "cover-view",
  2095. {
  2096. staticClass: _vm._$s(4, "sc", "areaTop"),
  2097. attrs: { _i: 4 },
  2098. on: { click: _vm.select }
  2099. },
  2100. [_vm._v(_vm._$s(4, "t0-0", _vm._s(_vm.option[_vm.areaIndex].text)))]
  2101. ),
  2102. _c("cover-image", {
  2103. staticClass: _vm._$s(5, "sc", "search"),
  2104. attrs: { _i: 5 }
  2105. }),
  2106. _c("cover-image", {
  2107. staticClass: _vm._$s(6, "sc", "location"),
  2108. attrs: { _i: 6 },
  2109. on: { click: _vm.posi }
  2110. }),
  2111. _c("cover-image", {
  2112. staticClass: _vm._$s(7, "sc", "load"),
  2113. attrs: { _i: 7 },
  2114. on: { click: _vm.load }
  2115. }),
  2116. _c("cover-view", {
  2117. staticClass: _vm._$s(8, "sc", "sweepCode"),
  2118. style: _vm._$s(8, "s", { lineHeight: _vm.lineHeight + "upx" }),
  2119. attrs: { _i: 8 },
  2120. on: { click: _vm.scanCode }
  2121. }),
  2122. _vm._$s(9, "i", _vm.infoShow)
  2123. ? _c("cover-view", {
  2124. staticClass: _vm._$s(9, "sc", "beijing"),
  2125. attrs: { _i: 9 }
  2126. })
  2127. : _vm._e(),
  2128. _vm._$s(10, "i", _vm.infoShow)
  2129. ? _c(
  2130. "cover-view",
  2131. { staticClass: _vm._$s(10, "sc", "code"), attrs: { _i: 10 } },
  2132. [_vm._v(_vm._$s(10, "t0-0", _vm._s(_vm.bikeDetail.bike_no)))]
  2133. )
  2134. : _vm._e(),
  2135. _vm._$s(11, "i", _vm.infoShow)
  2136. ? _c(
  2137. "cover-view",
  2138. {
  2139. staticClass: _vm._$s(11, "sc", "dianliang"),
  2140. attrs: { _i: 11 }
  2141. },
  2142. [
  2143. _vm._v(
  2144. _vm._$s(11, "t0-0", _vm._s(_vm.bikeDetail.battery_power))
  2145. )
  2146. ]
  2147. )
  2148. : _vm._e(),
  2149. _vm._$s(12, "i", _vm.infoShow)
  2150. ? _c("cover-view", {
  2151. staticClass: _vm._$s(12, "sc", "xiangqing"),
  2152. style: _vm._$s(12, "s", { lineHeight: _vm.lineHeight + "upx" }),
  2153. attrs: { _i: 12 },
  2154. on: { click: _vm.detail }
  2155. })
  2156. : _vm._e(),
  2157. _vm._$s(13, "i", _vm.infoShow)
  2158. ? _c("cover-image", {
  2159. staticClass: _vm._$s(13, "sc", "xunling"),
  2160. attrs: { _i: 13 },
  2161. on: { click: _vm.xunling }
  2162. })
  2163. : _vm._e(),
  2164. _vm._$s(14, "i", _vm.infoShow)
  2165. ? _c("cover-view", {
  2166. staticClass: _vm._$s(14, "sc", "kaisuo"),
  2167. style: _vm._$s(14, "s", { lineHeight: _vm.lineHeight + "upx" }),
  2168. attrs: { _i: 14 },
  2169. on: { click: _vm.diankai }
  2170. })
  2171. : _vm._e(),
  2172. _vm._$s(15, "i", _vm.infoShow)
  2173. ? _c(
  2174. "cover-view",
  2175. { staticClass: _vm._$s(15, "sc", "status"), attrs: { _i: 15 } },
  2176. [_vm._v(_vm._$s(15, "t0-0", _vm._s(_vm.bikeDetail.tab_name)))]
  2177. )
  2178. : _vm._e(),
  2179. _vm._$s(16, "i", _vm.infoShow)
  2180. ? _c(
  2181. "cover-view",
  2182. {
  2183. staticClass: _vm._$s(16, "sc", "lastPosi"),
  2184. attrs: { _i: 16 }
  2185. },
  2186. [_vm._v(_vm._$s(16, "t0-0", _vm._s(_vm.bikeDetail.last_time)))]
  2187. )
  2188. : _vm._e(),
  2189. _c(
  2190. "cover-view",
  2191. {
  2192. staticClass: _vm._$s(17, "sc", "dianl"),
  2193. style: _vm._$s(17, "s", { lineHeight: _vm.lineHeight + "upx" }),
  2194. attrs: { _i: 17 },
  2195. on: { click: _vm.dianl }
  2196. },
  2197. [_vm._v(_vm._$s(17, "t0-0", _vm._s(_vm.allArr[_vm.dianIndex])))]
  2198. ),
  2199. _c(
  2200. "cover-view",
  2201. {
  2202. staticClass: _vm._$s(18, "sc", "zhuangtai"),
  2203. style: _vm._$s(18, "s", { lineHeight: _vm.lineHeight + "upx" }),
  2204. attrs: { _i: 18 },
  2205. on: { click: _vm.zhuangtai }
  2206. },
  2207. [_vm._v(_vm._$s(18, "t0-0", _vm._s(_vm.arrState[_vm.arrIndex])))]
  2208. ),
  2209. _c(
  2210. "cover-view",
  2211. {
  2212. staticClass: _vm._$s(19, "sc", "shiyong"),
  2213. style: _vm._$s(19, "s", { lineHeight: _vm.lineHeight + "upx" }),
  2214. attrs: { _i: 19 },
  2215. on: { click: _vm.shiyong }
  2216. },
  2217. [_vm._v(_vm._$s(19, "t0-0", _vm._s(_vm.arrDay[_vm.arrDayIndex])))]
  2218. )
  2219. ]
  2220. )
  2221. ]
  2222. )
  2223. }
  2224. var recyclableRender = false
  2225. var staticRenderFns = []
  2226. render._withStripped = true
  2227. /***/ }),
  2228. /* 39 */
  2229. <<<<<<< HEAD
  2230. /*!******************************************************************************************!*\
  2231. !*** C:/Users/001/Desktop/运维端/pages/index/index.vue?vue&type=script&lang=js&mpType=page ***!
  2232. \******************************************************************************************/
  2233. =======
  2234. /*!*******************************************************************************************************!*\
  2235. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/index.vue?vue&type=script&lang=js&mpType=page ***!
  2236. \*******************************************************************************************************/
  2237. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  2238. /*! no static exports found */
  2239. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  2240. "use strict";
  2241. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./index.vue?vue&type=script&lang=js&mpType=page */ 40);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQiw4a0JBQUcsRUFBQyIsImZpbGUiOiIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luZGV4LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmRleC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///39\n");
  2242. /***/ }),
  2243. /* 40 */
  2244. <<<<<<< HEAD
  2245. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  2246. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/index.vue?vue&type=script&lang=js&mpType=page ***!
  2247. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  2248. =======
  2249. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  2250. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/index.vue?vue&type=script&lang=js&mpType=page ***!
  2251. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  2252. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  2253. /*! no static exports found */
  2254. /***/ (function(module, exports, __webpack_require__) {
  2255. "use strict";
  2256. <<<<<<< HEAD
  2257. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 41));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _bluWKM = __webpack_require__(/*! ../../static/js/bluWKM.js */ 44);\n\n\n\n\nvar _config = __webpack_require__(/*! ../../static/js/config.js */ 47);\n\n\nvar _MapUtil = __webpack_require__(/*! ../../static/js/MapUtil.js */ 49);\n\n\nvar _util = __webpack_require__(/*! ../../static/js/util.js */ 51);\n\n\nvar _loadToastUtil = __webpack_require__(/*! ../../static/js/loadToastUtil.js */ 52);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);}_next(undefined);});};} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var bluM = new _bluWKM.BluetoothManager();var baseUtil,mapUtil = null,homeUtil = null,oriMarkerList = [],currentStationId = '',centerLongitude = '',centerlatitude = '',currentScale = '',currentNor = '',currentSou = '';var _default = { data: function data() {return { curVal1: \"\", //下标\n location: true, mapTOP: 0, //地图据顶部高度\n bike_no: '', //车牌号\n mess: \"\", //父组件向子组件穿的值\n markers: [], //显示单车、停车的P\n markers1: [{ // id:0,\n latitude: 34.78289468414873, //经度\n longitude: 113.7859707019119, //纬度\n iconPath: '/static/img/cluMarkerIcon.png', //显示的图标\n rotate: 0, // 旋转度数\n width: 20, //宽\n height: 20, //高\n title: '你在哪了', //标注点名\n alpha: 0.5, //透明\n callout: { content: '花园宝宝', color: '#FFFFFF', fontSize: 14, borderRadius: 2, bgColor: '#00c16f', display: 'ALWAYS' }, label: { content: '河南商丘',\n color: '#FFFFFF',\n fontSize: 14,\n borderRadius: 2,\n bgColor: '#00c16f',\n display: 'ALWAYS' } }],\n\n\n polygons: [], //区域\n longitude: '',\n latitude: '',\n allArea: [],\n area: 0,\n show: false, //车子详情的布尔值\n id: '', //停车区域的ID\n polygons1: [], //可骑行区域 先用这个变量代表\n box_no: '', //中控编号\n bikeDetail: [],\n bikeId: '',\n areaID: '',\n low_power: '',\n state: '',\n use_state: '',\n parkAreaShow: false, //还车点是否显示\n noParkAreaShow: true, //禁停区是否显示\n areas: [],\n parking: [],\n parking_points: [],\n no_parking: [],\n no_parking_points: [],\n infoShow: false,\n allEle: [{\n text: '全部电量',\n value: 0,\n areaID: '' },\n\n {\n text: '70%以下',\n value: 1,\n areaID: '70' },\n\n {\n text: '60%以下',\n value: 2,\n areaID: '60' },\n\n {\n text: '50%以下',\n value: 3,\n areaID: '50' },\n\n {\n text: '30%以下',\n value: 4,\n areaID: '30' },\n\n {\n text: '20%以下',\n value: 5,\n areaID: '20' }],\n\n\n allArr: ['全部电量', '70%以下', '60%以下', '50%以下', '30%以下', '20%以下'],\n allStatus: [{\n text: '全部状态',\n value: 0,\n areaID: '' }],\n\n arrDay: ['使用状态', '1天未使用', '3天未使用', '7天未使用'],\n arrDayIndex: 0,\n allDay: [{\n text: '使用状态',\n value: 0 },\n\n {\n text: '1天未使用',\n value: 1 },\n\n {\n text: '3天未使用',\n value: 2 },\n\n {\n text: '7天未使用',\n value: 3 }],\n\n\n dianIndex: 0,\n arrState: ['全部状态'],\n arrIndex: 0,\n option: [{\n areaID: '',\n text: '全部区域',\n value: -1 }],\n\n areaIndex: 0,\n lineHeight: '',\n allState: '',\n statusBarHeight: app.systemInfo.statusBarHeight,\n lang: app.systemInfo.lang,\n dataType: 'map',\n mapData: [],\n scrollHeight: app.systemInfo.screenHeight - app.systemInfo.statusBarHeight - 45 - 55 - 91,\n searchType: 0, //0 初始状态 1 搜索半径 2 用户筛选\n currentRadius: '5 km',\n scale: 13,\n searchItem: {},\n stationInfo: {} };\n\n },\n onShow: function onShow() {\n // console.log(\"z这是数据235676677898899\")\n var that = this;\n setTimeout(function () {\n this.mess = uni.getStorageSync('allArea');\n this.curVal1 = uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0;\n }, 2000);\n },\n methods: {\n controltap: function controltap(e) {\n var that = this;\n currentStationId = '';\n oriMarkerList.forEach(function (item) {\n item.isSelect = false;\n });\n that.infoShow = false;\n that.markers = mapUtil.getFortMatMarkerList(currentNor, currentSou, currentScale, oriMarkerList);\n },\n regionchange: function regionchange(e) {\n var that = this;\n __f__(\"log\", '缩放了', \" at pages/index/index.vue:215\");\n __f__(\"log\", e, \" at pages/index/index.vue:216\");\n if (e.type === \"regionchange\") {\n // that.setData({markers:''})\n that.mapCtx.getCenterLocation({\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:221\");\n centerLongitude = res.longitude;\n centerlatitude = res.latitude;\n uni.setStorageSync('centerLongitude', centerLongitude);\n uni.setStorageSync('centerlatitude', centerlatitude);\n that.mapCtx.getScale({\n success: function success(res) {\n var scale = res.scale;\n __f__(\"log\", scale, \" at pages/index/index.vue:229\");\n that.mapCtx.getRegion({\n success: function success(res) {\n currentNor = res.northeast;\n currentSou = res.southwest;\n if (scale <= 10) {\n that.markers = mapUtil.getFortMatMarkerList(res.northeast, res.southwest, scale, oriMarkerList);\n __f__(\"log\", that.markers, \" at pages/index/index.vue:236\");\n return;\n }\n currentScale = scale;\n __f__(\"log\", mapUtil, \" at pages/index/index.vue:240\");\n if (mapUtil == null) {\n mapUtil = new _MapUtil.MapUtil(res.northeast, res.southwest, scale);\n that.loadMapData(function (markers) {\n markers.forEach(function (item) {\n item.isSelect = item.id == currentStationId;\n });\n oriMarkerList = markers;\n that.markers = mapUtil.getFortMatMarkerList(res.northeast, res.southwest, scale, oriMarkerList);\n __f__(\"log\", that.markers, \" at pages/index/index.vue:249\");\n });\n return;\n }\n if (mapUtil.checkRefresh(res.northeast, res.southwest)) {\n that.loadMapData(function (markers) {\n markers.forEach(function (item) {\n item.isSelect = item.id == currentStationId;\n });\n oriMarkerList = markers;\n that.markers = mapUtil.getFortMatMarkerList(res.northeast, res.southwest, scale, oriMarkerList);\n __f__(\"log\", that.markers, \" at pages/index/index.vue:260\");\n });\n mapUtil.setInitData(res.northeast, res.southwest, scale);\n } else {\n oriMarkerList.forEach(function (item) {\n item.isSelect = item.id == currentStationId;\n });\n that.markers = mapUtil.getFortMatMarkerList(res.northeast, res.southwest, scale, oriMarkerList);\n __f__(\"log\", that.markers, \" at pages/index/index.vue:268\");\n }\n } });\n\n // console.log(that.markers)\n } });\n\n } });\n\n }\n },\n loadMapData: function loadMapData(callBack1) {\n var that = this;\n var areaId = that.areaID;\n //     console.log(areaId)\n var low_power = that.low_power;\n var state = that.state;\n var use_state = that.use_state;\n var time = parseInt(use_state / 1000);\n if (time === 0) {\n time = '';\n }\n var data = {\n 'put_area_id': areaId,\n 'battery_power': low_power,\n 'all_states': state,\n 'last_use_bike_end_time': time };\n\n // console.log(baseUtil)\n baseUtil(data, function (res) {\n // console.log(res)\n callBack1(res);\n });\n },\n initMapData: function initMapData() {\n var that = this;\n that.markers = '';\n that.loadMapData(function (markers) {\n // console.log(markers)\n markers.forEach(function (item) {\n item.isSelect = item.id == currentStationId;\n });\n oriMarkerList = markers;\n that.markers = mapUtil.getFortMatMarkerList(currentNor, currentSou, currentScale, oriMarkerList);\n __f__(\"log\", that.markers, \" at pages/index/index.vue:312\");\n });\n },\n getBike_info: function getBike_info(bikeId) {var _this = this;\n __f__(\"log\", bikeId, \" at pages/index/index.vue:316\");\n uni.showLoading({\n title: '加载中...' });\n\n app.request('bike/getBikeInfo?bike_no=' + bikeId, '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, '获取车辆信息', \" at pages/index/index.vue:322\");\n if (res.data.bike_info == '') {\n _this.infoShow = false;\n uni.showToast({\n title: '暂无该车辆信息~' });\n\n } else {\n __f__(\"log\", res.data, '车辆信息', \" at pages/index/index.vue:329\");\n _this.bikeDetail = res.data.bike_info;\n _this.infoShow = true;\n }\n });\n },\n dianl: function dianl() {\n var that = this;\n uni.showActionSheet({\n itemList: that.allArr,\n success: function success(res) {\n this.markers = [];\n __f__(\"log\", res, \"pppppp\", \" at pages/index/index.vue:341\");\n that.dianIndex = res.tapIndex;\n that.low_power = that.allEle[res.tapIndex].areaID;\n __f__(\"log\", that.low_power, \"iiiiii\", \" at pages/index/index.vue:344\");\n that.initMapData();\n },\n fail: function fail(res) {} });\n\n },\n zhuangtai: function zhuangtai() {\n var that = this;\n __f__(\"log\", that.arrState, \"iiiiiiiiiii\", \" at pages/index/index.vue:352\");\n uni.showActionSheet({\n itemList: that.arrState,\n success: function success(res) {\n that.markers = [];\n __f__(\"log\", res, \" at pages/index/index.vue:357\");\n that.arrIndex = res.tapIndex;\n that.state = that.allState[res.tapIndex].areaID;\n that.initMapData();\n },\n fail: function fail(res) {} });\n\n },\n select: function select() {\n // console.log('11111')\n var that = this;\n var arr = [];\n __f__(\"log\", that.option, \" at pages/index/index.vue:369\");\n for (var i = 0; i < that.option.length; i++) {\n arr = arr.concat(that.option[i].text);\n }\n __f__(\"log\", arr, \" at pages/index/index.vue:373\");\n uni.showActionSheet({\n itemList: arr,\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:377\");\n that.markers = [];\n var index = res.tapIndex;\n that.areaIndex = index;\n that.areaID = that.option[index].areaID;\n that.curVal = res.tapIndex;\n that.initMapData(1);\n that.initData(1);\n },\n fail: function fail(res) {} });\n\n },\n shiyong: function shiyong() {\n var that = this;\n uni.showActionSheet({\n itemList: that.arrDay,\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:394\");\n this.markers = [];\n that.arrDayIndex = res.tapIndex;\n // console.log(that.allArr[res.tapIndex])\n var time = new Date().getTime();\n if (res.tapIndex == 0) {\n time = \"\";\n } else if (res.tapIndex == 1) {\n time = time - 86400000 * 1;\n } else if (res.tapIndex == 2) {\n time = time - 86400000 * 3;\n } else if (res.tapIndex == 3) {\n time = time - 86400000 * 7;\n }\n that.use_state = time;\n that.initMapData();\n },\n fail: function fail(res) {} });\n\n },\n search: function search() {\n __f__(\"log\", '11', \" at pages/index/index.vue:415\");\n uni.navigateTo({\n url: './bikeTest',\n success: function success() {\n\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/index/index.vue:422\");\n } });\n\n },\n detail: function detail() {\n this.infoShow = false;\n uni.navigateTo({\n url: './bike_detail?bike_no=' + this.bikeId });\n\n },\n maptap: function maptap(e) {\n // console.log(e)\n this.infoShow = false;\n },\n diankai: function diankai() {\n var that = this;\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.batteryUnlock);\n app.request('bike/openBatteryLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开电池锁成功',\n icon: 'none' });\n\n }\n });\n },\n xunling: function xunling() {\n var that = this;\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.bell);\n app.request('bike/bikeBell?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '响铃成功',\n icon: 'none' });\n\n }\n });\n },\n initData: function initData() {var _arguments = arguments,_this2 = this;return _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {var isLoad, that;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:isLoad = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : false;\n that = _this2;\n _this2.markers = [];\n uni.showLoading({\n title: '加载中...' });_context.next = 6;return (\n\n app.request('getAreas?put_area_id=' + that.areaID, '', 'GET').then(function (res) {\n uni.hideLoading();\n // console.log(res, 'quyu');\n var data = res.data;\n that.ridding_area = data.ridding_area;\n that.no_parking = data.no_parking_area;\n that.no_parking_points = data.no_parking_points;\n that.parking = data.parking_area;\n that.parking_points = data.parking_points;\n if (isLoad) {\n _this2.showArea(1);\n if (_this2.noParkAreaShow) _this2.showNoParking(0);\n if (_this2.parkAreaShow) _this2.showParking(0);\n }\n }));case 6:case \"end\":return _context.stop();}}}, _callee);}))();\n },\n showArea: function showArea() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type) {\n var ridding_area = this.ridding_area;\n this.polygons = ridding_area;\n } else {\n this.polygons = this.polygons.concat(this.ridding_area);\n }\n },\n clear: function clear() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type === 0) {\n var polygons = this.polygons.filter(function (polygons) {\n if (polygons.id.slice(0, 1) === 'A') {\n return false;\n }\n return true;\n });\n this.polygons = polygons;\n }\n if (type === 1) {\n var _polygons = this.polygons.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'P') {\n return true;\n }\n return false;\n });\n var markers = this.markers.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'p') {\n return true;\n }\n return false;\n });\n this.polygons = _polygons;\n this.markers = markers;\n }\n if (type === 2) {\n var _polygons2 = this.polygons.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'N') {\n return true;\n }\n return false;\n });\n var _markers = this.markers.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'n') {\n return true;\n }\n return false;\n });\n this.polygons = _polygons2;\n this.markers = _markers;\n }\n },\n //显示还车点 0:追加停车点 1:只显示停车点 2:删除停车点\n showParking: function showParking() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type === 0) {\n this.polygons = this.polygons.concat(this.parking);\n // this.markers = this.markers.concat(this.parking_points);\n }\n if (type === 1) {\n this.polygons = this.parking;\n // this.markers = this.markers;\n }\n\n if (type === 2) {\n this.clear(1);\n }\n },\n showNoParking: function showNoParking() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type === 0) {\n this.polygons = this.polygons.concat(this.no_parking);\n // this.markers = this.markers.concat(this.no_parking_points);\n }\n if (type === 1) {\n this.polygons = this.no_parking;\n // this.markers = this.no_parking_points;\n }\n if (type === 2) {\n this.clear(2);\n }\n },\n scanCode: function scanCode() {\n var that = this;\n __f__(\"log\", 'scanCode', \" at pages/index/index.vue:563\");\n uni.scanCode({\n success: function success(res) {\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n that.bikeId = code;\n __f__(\"log\", that.bikeId, \" at pages/index/index.vue:569\");\n that.getBike_info(code);\n },\n fail: function fail() {\n uni.showToast({\n title: '扫码失败请重试',\n icon: 'none' });\n\n } });\n\n },\n getBikes: function getBikes() {var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n var areaId = that.areaID;\n var low_power = that.low_power;\n var state = that.state;\n var use_state = that.use_state;\n var time = parseInt(use_state / 1000);\n // this.markers = '';\n if (time === 0) {\n time = '';\n }\n var data = {\n put_area_id: areaId,\n battery_power: low_power,\n all_states: state,\n last_use_bike_end_time: time };\n\n\n app.request('getBikes', data, 'POST').then(function (res) {\n uni.hideLoading();\n // console.log(res, 'bikes')\n var markers = that.markers;\n if (clear) {\n markers = that.markers.filter(function (marker) {\n if (marker.id.slice(0, 1) === 'B') {\n return false;\n }\n return true;\n });\n }\n that.markers = markers.concat(res.data);\n });\n },\n load: function load() {\n var that = this;\n uni.showLoading({\n title: '刷新中...' });\n\n __f__(\"log\", 'load', \" at pages/index/index.vue:621\");\n this.markers = [];\n if (this.noParkAreaShow) {\n this.showNoParking(0);\n } else {\n this.showNoParking(2);\n }\n if (this.parkAreaShow) {\n this.showParking(0);\n } else {\n this.showParking(2);\n }\n that.initMapData();\n setTimeout(function () {\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n __f__(\"log\", res, '定位信息', \" at pages/index/index.vue:638\");\n that.longitude = res.longitude;\n that.latitude = res.latitude;\n that.markers.unshift({\n // \"id\": \"B10010010006\",\n \"iconPath\": \"/static/img/bike_yunwei/111.jpg\",\n \"typer\": \"lixian\",\n \"width\": 38,\n \"height\": 38,\n \"zIndex\": 1101,\n longitude: res.longitude,\n latitude: res.latitude });\n\n\n uni.hideLoading();\n // console.log(that.markers, \"当前位置\")\n },\n fail: function fail(err) {\n uni.hideLoading();\n __f__(\"log\", err, \" at pages/index/index.vue:657\");\n } });\n\n }, 500);\n },\n posi: function posi() {\n // console.log(this.markers)\n // this.markers.splice(0, 1)\n // console.log(this.markers)\n uni.showLoading({\n title: '定位中...',\n mask: true });\n\n __f__(\"log\", 'posi', \" at pages/index/index.vue:670\");\n //点击定位 \n var that = this;\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n\n __f__(\"log\", res, '定位信息', \" at pages/index/index.vue:677\");\n that.longitude = res.longitude;\n that.latitude = res.latitude;\n // that.markers.unshift({\n // \t// \"id\": \"B10010010006\",\n // \t\"iconPath\": \"/static/img/bike_yunwei/111.jpg\",\n // \t\"typer\": \"lixian\",\n // \t\"width\": 38,\n // \t\"height\": 38,\n // \t\"zIndex\": 1101,\n // \tlongitude: res.longitude,\n // \tlatitude: res.latitude,\n\n // })\n uni.hideLoading();\n },\n fail: function fail(err) {\n uni.hideLoading();\n __f__(\"log\", err, \" at pages/index/index.vue:695\");\n } });\n\n },\n marker: function marker(e) {\n __f__(\"log\", e, \" at pages/index/index.vue:700\");\n // return;\n var that = this;\n // let type = markerId.slice(0, 1)\n //车辆索引\n // if (type === 'B') {\n\n // }\n var id = e.detail.markerId;\n // id = id.substring(1, id.length);\n // that.bikeId = id;\n // that.getBike_info(id)\n for (var i = 0; i < that.markers.length; i++) {\n var item = that.markers[i];\n item.setCheckStatus(id == item.id && item.callout == undefined && item.label == undefined);\n if (id == item.id) {\n if (item.callout == undefined && item.label == undefined) {\n if (currentStationId == id) {\n return;\n }\n that.getBike_info(id.slice(1));\n that.bikeId = id.slice(1);\n } else {\n that.latitude = item.latitude;\n that.longitude = item.longitude;\n that.scale = currentScale + 1;\n }\n }\n }\n that.markers = that.markers;\n },\n parkShow1: function parkShow1() {\n this.parkAreaShow = !this.parkAreaShow;\n __f__(\"log\", 'parkshow1', \" at pages/index/index.vue:733\");\n if (this.parkAreaShow) {\n this.showParking(0);\n } else {\n this.showParking(2);\n }\n },\n forbidShow: function forbidShow() {\n this.noParkAreaShow = !this.noParkAreaShow;\n if (this.noParkAreaShow) {\n this.showNoParking(0);\n } else {\n this.showNoParking(2);\n }\n } },\n\n mounted: function mounted() {\n // this.allData()\n // if (uni.getStorageSync('curVal')) {\n // \t// let active = this.swiperTabIdx;\n // \t// let areaId = uni.getStorageSync('curId');\n // \tconsole.log(\"这是初始加载数据\")\n // \tthis.allData()\n // \t// console.log(this.bike,\"这是车辆数据\")\n\n // } else {\n // \t// console.log(this.list)\n // \t// this.areaID = this.list[0].areaID;\n // \t// console.log(this.areaID, '12345678')\n // \tthis.allData()\n // }\n },\n // 获取车辆信息\n onLoad: function onLoad(options) {\n // console.log(app.request())\n var that = this;\n setTimeout(function () {\n var arr = uni.getStorageSync('allArea');\n __f__(\"log\", arr, \"ooooooo\", \" at pages/index/index.vue:771\");\n that.option = that.option.concat(arr);\n }, 500);\n app.request('index', '', 'GET').then(function (res) {\n __f__(\"log\", res.data, 'index', \" at pages/index/index.vue:775\");\n var data = res.data;\n var arr2 = [];\n for (var i = 0; i < data.wx_bikeStates.length; i++) {\n data.wx_bikeStates[i].value = i + 1;\n __f__(\"log\", data.wx_bikeStates[i].text, \"lllll\", \" at pages/index/index.vue:780\");\n arr2.push(data.wx_bikeStates[i].text);\n // console.log(arr2, \"kkkkkk\")\n }\n var arr1 = [{\n areaID: '',\n value: 0,\n text: '全部状态' }];\n\n var allState = arr1.concat(data.wx_bikeStates);\n __f__(\"log\", allState, \"pppppp\", \" at pages/index/index.vue:790\");\n var zhuangtai = data.bike_states;\n var arr = Object.values(zhuangtai);\n setTimeout(function () {\n that.allState = allState;\n that.arrState = that.arrState.concat(arr2);\n }, 500);\n });\n that.getBikes();\n __f__(\"log\", that.arrState, \"车辆位置\", \" at pages/index/index.vue:799\");\n switch (uni.getSystemInfoSync().platform) {\n case 'android':\n __f__(\"log\", '客户端是Android', \" at pages/index/index.vue:802\");\n that.lineHeight = '75';\n break;\n case 'ios':\n __f__(\"log\", '客户端是iOS', \" at pages/index/index.vue:806\");\n that.lineHeight = '80';\n break;}\n\n that.posi(); //获取当前位置\n that.mapCtx = uni.createMapContext('map');\n this.initData(1);\n __f__(\"log\", that.mapCtx, \" at pages/index/index.vue:813\");\n // that.posi(); //获取当前位置\n // console.log(baseRequest)\n baseUtil = _loadToastUtil.baseRequest;\n // console.log(baseUtil)\n // console.log(getLocation)\n (0, _util.getLocation)(baseUtil, function (lat, lng) {\n that.latitude = lat;\n that.longitude = lng;\n });\n that.initMapData();\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBOzs7OztBQUtBOzs7QUFHQTs7O0FBR0E7OztBQUdBLHFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFmQSxtQkFrQkEsMENBQ0EsNEJBQ0EsZUFEQSxDQUVBLGtCQUZBLENBR0EscUJBSEEsQ0FJQSxvQkFKQSxDQUtBLG1CQUxBLENBTUEsaUJBTkEsQ0FPQSxlQVBBLENBUUEsZUFSQSxDLGVBU0EsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxXQURBLEVBQ0E7QUFDQSxvQkFGQSxFQUdBLFNBSEEsRUFHQTtBQUNBLGlCQUpBLEVBSUE7QUFDQSxjQUxBLEVBS0E7QUFDQSxpQkFOQSxFQU1BO0FBQ0EsbUJBQ0E7QUFDQSxtQ0FGQSxFQUVBO0FBQ0Esb0NBSEEsRUFHQTtBQUNBLGlEQUpBLEVBSUE7QUFDQSxpQkFMQSxFQUtBO0FBQ0EsaUJBTkEsRUFNQTtBQUNBLGtCQVBBLEVBT0E7QUFDQSxxQkFSQSxFQVFBO0FBQ0Esa0JBVEEsRUFTQTtBQUNBLG1CQUNBLGVBREEsRUFFQSxnQkFGQSxFQUdBLFlBSEEsRUFJQSxlQUpBLEVBS0Esa0JBTEEsRUFNQSxpQkFOQSxFQVZBLEVBa0JBLFNBQ0EsZUFEQTtBQUVBLDBCQUZBO0FBR0Esc0JBSEE7QUFJQSx5QkFKQTtBQUtBLDRCQUxBO0FBTUEsMkJBTkEsRUFsQkEsR0FQQTs7O0FBa0NBLGtCQWxDQSxFQWtDQTtBQUNBLG1CQW5DQTtBQW9DQSxrQkFwQ0E7QUFxQ0EsaUJBckNBO0FBc0NBLGFBdENBO0FBdUNBLGlCQXZDQSxFQXVDQTtBQUNBLFlBeENBLEVBd0NBO0FBQ0EsbUJBekNBLEVBeUNBO0FBQ0EsZ0JBMUNBLEVBMENBO0FBQ0Esb0JBM0NBO0FBNENBLGdCQTVDQTtBQTZDQSxnQkE3Q0E7QUE4Q0EsbUJBOUNBO0FBK0NBLGVBL0NBO0FB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QkE7QUFDQSxRQXJzQkEsa0JBcXNCQSxPQXJzQkEsRUFxc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FKQSxFQUlBLEdBSkE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBREE7QUFFQSxnQkFGQTtBQUdBLG9CQUhBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FIQSxFQUdBLEdBSEE7QUFJQSxLQXZCQTtBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBUkE7O0FBVUEsZ0JBNUNBLENBNENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBSEE7QUFJQTtBQUNBLEdBL3ZCQSxFIiwiZmlsZSI6IjQwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwicGFnZVwiPlxyXG5cdFx0PG1hcCBpZD1cIm1hcFwiIDpsb25naXR1ZGU9J2xvbmdpdHVkZScgOmxhdGl0dWRlPSdsYXRpdHVkZScgOnNjYWxlPSdzY2FsZScgQG1hcmtlcnRhcD1cIm1hcmtlclwiIEB0YXA9XCJjb250cm9sdGFwXCJcclxuXHRcdCBAcmVnaW9uY2hhbmdlPVwicmVnaW9uY2hhbmdlXCIgOnNob3ctbG9jYXRpb249XCJsb2NhdGlvblwiIDptYXJrZXJzPVwibWFya2Vyc1wiIDpwb2x5bGluZT1cInBvbHlnb25zXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMHZoO1wiXHJcblx0XHQgQGxhYmVsdGFwPSdtYXJrZXInIEBjYWxsb3V0dGFwPSdtYXJrZXInPlxyXG5cdFx0XHQ8Y292ZXItdmlldyBjbGFzcz1cImJhY2tUb3BcIj48L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci12aWV3IGNsYXNzPVwidG9wUmlnaHRcIiBAY2xpY2suc3RvcD1cInNlYXJjaFwiPjwvY292ZXItdmlldz5cclxuXHRcdFx0PGNvdmVyLXZpZXcgY2xhc3M9XCJhcmVhVG9wXCIgQGNsaWNrPVwic2VsZWN0XCI+e3tvcHRpb25bYXJlYUluZGV4XS50ZXh0fX08L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci1pbWFnZSBzcmM9XCIvc3RhdGljL2ltZy9zZWFyY2gucG5nXCIgc3R5bGU9XCJ3aWR0aDogNDB1cHg7aGVpZ2h0OiA0MHVweDtcIiBjbGFzcz1cInNlYXJjaFwiPjwvY292ZXItaW1hZ2U+XHJcblx0XHRcdDxjb3Zlci1pbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvbG9jYXRpb24ucG5nXCIgQGNsaWNrPVwicG9zaVwiIGNsYXNzPVwibG9jYXRpb25cIj48L2NvdmVyLWltYWdlPlxyXG5cdFx0XHQ8Y292ZXItaW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3JlZi5wbmdcIiBAY2xpY2s9XCJsb2FkXCIgY2xhc3M9XCJsb2FkXCI+PC9jb3Zlci1pbWFnZT5cclxuXHRcdFx0PGNvdmVyLXZpZXcgY2xhc3M9XCJzd2VlcENvZGVcIiBAY2xpY2s9XCJzY2FuQ29kZVwiIDpzdHlsZT1cIntsaW5lSGVpZ2h0OmxpbmVIZWlnaHQrJ3VweCd9XCI+5omr5o+P5LqM57u056CBPC9jb3Zlci12aWV3PlxyXG5cdFx0XHQ8Y292ZXItdmlldyBjbGFzcz1cImJlaWppbmdcIiB2LWlmPVwiaW5mb1Nob3dcIj48L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci12aWV3IGNsYXNzPVwiY29kZVwiIHYtaWY9XCJpbmZvU2hvd1wiPnt7YmlrZURldGFpbC5iaWtlX25vfX08L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci12aWV3IGNsYXNzPVwiZGlhbmxpYW5nXCIgdi1pZj1cImluZm9TaG93XCI+5Ymp5L2Z55S16YeP77yae3tiaWtlRGV0YWlsLmJhdHRlcnlfcG93ZXJ9fSU8L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci12aWV3IGNsYXNzPVwieGlhbmdxaW5nXCIgdi1pZj1cImluZm9TaG93XCIgQGNsaWNrPVwiZGV0YWlsXCIgOnN0eWxlPVwie2xpbmVIZWlnaHQ6bGluZUhlaWdodCsndXB4J31cIj7or6bmg4U8L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci1pbWFnZSBzcmM9XCIvc3RhdGljL2ltZy94dW5saW5nLnBuZ1wiIHN0eWxlPVwid2lkdGg6IDQ4dXB4O2hlaWdodDogNDh1cHg7XCIgY2xhc3M9XCJ4dW5saW5nXCIgdi1pZj1cImluZm9TaG93XCJcclxuXHRcdFx0IEBjbGljaz1cInh1bmxpbmdcIj48L2NvdmVyLWltYWdlPlxyXG5cdFx0XHQ8Y292ZXItdmlldyBjbGFzcz1cImthaXN1b1wiIHYtaWY9XCJpbmZvU2hvd1wiIEBjbGljaz1cImRpYW5rYWlcIiA6c3R5bGU9XCJ7bGluZUhlaWdodDpsaW5lSGVpZ2h0Kyd1cHgnfVwiPuW8gOeUteaxoOmUgTwvY292ZXItdmlldz5cclxuXHRcdFx0PGNvdmVyLXZpZXcgY2xhc3M9XCJzdGF0dXNcIiB2LWlmPVwiaW5mb1Nob3dcIj57e2Jpa2VEZXRhaWwudGFiX25hbWV9fTwvY292ZXItdmlldz5cclxuXHRcdFx0PGNvdmVyLXZpZXcgY2xhc3M9XCJsYXN0UG9zaVwiIHYtaWY9XCJpbmZvU2hvd1wiPuacgOWQjuWumuS9jeaXtumXtO+8mnt7YmlrZURldGFpbC5sYXN0X3RpbWV9fTwvY292ZXItdmlldz5cclxuXHRcdFx0PGNvdmVyLXZpZXcgY2xhc3M9XCJkaWFubFwiIEBjbGljaz1cImRpYW5sXCIgOnN0eWxlPVwie2xpbmVIZWlnaHQ6bGluZUhlaWdodCsndXB4J31cIj57e2FsbEFycltkaWFuSW5kZXhdfX08L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci12aWV3IGNsYXNzPVwiemh1YW5ndGFpXCIgQGNsaWNrPVwiemh1YW5ndGFpXCIgOnN0eWxlPVwie2xpbmVIZWlnaHQ6bGluZUhlaWdodCsndXB4J31cIj57e2FyclN0YXRlW2FyckluZGV4XX19PC9jb3Zlci12aWV3PlxyXG5cdFx0XHQ8Y292ZXItdmlldyBjbGFzcz1cInNoaXlvbmdcIiBAY2xpY2s9XCJzaGl5b25nXCIgOnN0eWxlPVwie2xpbmVIZWlnaHQ6bGluZUhlaWdodCsndXB4J31cIj57e2FyckRheVthcnJEYXlJbmRleF19fTwvY292ZXItdmlldz5cclxuXHRcdDwvbWFwPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwID0gZ2V0QXBwKCk7XHJcblx0aW1wb3J0IHtcclxuXHRcdEJsdWV0b290aE1hbmFnZXIsXHJcblx0XHRCdEVycm9yQ29kZSxcclxuXHRcdENNRFxyXG5cdH0gZnJvbSAnLi4vLi4vc3RhdGljL2pzL2JsdVdLTS5qcyc7XHJcblx0aW1wb3J0IHtcclxuXHRcdHByZVVybCxcclxuXHR9IGZyb20gXCIuLi8uLi9zdGF0aWMvanMvY29uZmlnLmpzXCI7XHJcblx0aW1wb3J0IHtcclxuXHRcdE1hcFV0aWxcclxuXHR9IGZyb20gXCIuLi8uLi9zdGF0aWMvanMvTWFwVXRpbC5qc1wiO1xyXG5cdGltcG9ydCB7XHJcblx0XHRnZXRMb2NhdGlvbixcclxuXHR9IGZyb20gJy4uLy4uL3N0YXRpYy9qcy91dGlsLmpzJztcclxuXHRpbXBvcnQge1xyXG5cdFx0YmFzZVJlcXVlc3RcclxuXHR9IGZyb20gXCIuLi8uLi9zdGF0aWMvanMvbG9hZFRvYXN0VXRpbC5qc1wiO1xyXG5cdGNvbnN0IGJsdU0gPSBuZXcgQmx1ZXRvb3RoTWFuYWdlcjtcclxuXHRsZXQgYmFzZVV0aWwsIG1hcFV0aWwgPSBudWxsLFxyXG5cdFx0aG9tZVV0aWwgPSBudWxsLFxyXG5cdFx0b3JpTWFya2VyTGlzdCA9IFtdLFxyXG5cdFx0Y3VycmVudFN0YXRpb25JZCA9ICcnLFxyXG5cdFx0Y2VudGVyTG9uZ2l0dWRlID0gJycsXHJcblx0XHRjZW50ZXJsYXRpdHVkZSA9ICcnLFxyXG5cdFx0Y3VycmVudFNjYWxlID0gJycsXHJcblx0XHRjdXJyZW50Tm9yID0gJycsXHJcblx0XHRjdXJyZW50U291ID0gJyc7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRjdXJWYWwxOiBcIlwiLCAvL+S4i+agh1xyXG5cdFx0XHRcdGxvY2F0aW9uOiB0cnVlLFxyXG5cdFx0XHRcdG1hcFRPUDogMCwgLy/lnLDlm77mja7pobbpg6jpq5jluqZcclxuXHRcdFx0XHRiaWtlX25vOiAnJywgLy/ovabniYzlj7dcclxuXHRcdFx0XHRtZXNzOiBcIlwiLCAvL+eItue7hOS7tuWQkeWtkOe7hOS7tuepv+eahOWAvFxyXG5cdFx0XHRcdG1hcmtlcnM6IFtdLCAvL+aYvuekuuWNlei9puOAgeWBnOi9pueahFBcclxuXHRcdFx0XHRtYXJrZXJzMTpbe1xuXHRcdFx0XHRcdC8vIGlkOjAsXG5cdCAgICAgICAgICAgICAgICBsYXRpdHVkZTogMzQuNzgyODk0Njg0MTQ4NzMsLy/nu4/luqZcblx0ICAgICAgICAgICAgICAgIGxvbmdpdHVkZTogMTEzLjc4NTk3MDcwMTkxMTksLy/nuqzluqZcblx0ICAgICAgICAgICAgICAgIGljb25QYXRoOiAnL3N0YXRpYy9pbWcvY2x1TWFya2VySWNvbi5wbmcnLC8v5pi+56S655qE5Zu+5qCHXG5cdFx0XHQgICDjgIDjgIAgcm90YXRlOjAsICAgLy8g5peL6L2s5bqm5pWwXG5cdFx0XHQgICDjgIDjgIAgd2lkdGg6MjAsICAgLy/lrr1cblx0XHRcdCAgIOOAgOOAgCBoZWlnaHQ6MjAsICAgLy/pq5hcblx0XHRcdCAg44CA44CAICB0aXRsZTon5L2g5Zyo5ZOq5LqGJywvL+agh+azqOeCueWQjVxuXHRcdFx0ICDjgIDjgIAgIGFscGhhOjAuNSwgICAvL+mAj+aYjlxyXG5cdFx0XHRcdFx0Y2FsbG91dDp7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6J+iKseWbreWuneWunScsXHJcblx0XHRcdFx0XHRcdGNvbG9yOicjRkZGRkZGJyxcclxuXHRcdFx0XHRcdFx0Zm9udFNpemU6MTQsXHJcblx0XHRcdFx0XHRcdGJvcmRlclJhZGl1czoyLFxyXG5cdFx0XHRcdFx0XHRiZ0NvbG9yOicjMDBjMTZmJyxcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTonQUxXQVlTJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGxhYmVsOntcclxuXHRcdFx0XHRcdFx0Y29udGVudDon5rKz5Y2X5ZWG5LiYJyxcclxuXHRcdFx0XHRcdFx0Y29sb3I6JyNGRkZGRkYnLFxyXG5cdFx0XHRcdFx0XHRmb250U2l6ZToxNCxcclxuXHRcdFx0XHRcdFx0Ym9yZGVyUmFkaXVzOjIsXHJcblx0XHRcdFx0XHRcdGJnQ29sb3I6JyMwMGMxNmYnLFxyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OidBTFdBWVMnXHJcblx0XHRcdFx0XHR9XG5cdCAgICAgICAgICAgIH0sXSxcclxuXHRcdFx0XHRwb2x5Z29uczogW10sIC8v5Yy65Z+fXHJcblx0XHRcdFx0bG9uZ2l0dWRlOiAnJyxcclxuXHRcdFx0XHRsYXRpdHVkZTogJycsXHJcblx0XHRcdFx0YWxsQXJlYTogW10sXHJcblx0XHRcdFx0YXJlYTogMCxcclxuXHRcdFx0XHRzaG93OiBmYWxzZSwgLy/ovablrZDor6bmg4XnmoTluIPlsJTlgLxcclxuXHRcdFx0XHRpZDogJycsIC8v5YGc6L2m5Yy65Z+f55qESURcclxuXHRcdFx0XHRwb2x5Z29uczE6IFtdLCAvL+WPr+mqkeihjOWMuuWfnyDlhYjnlKjov5nkuKrlj5jph4/ku6PooahcclxuXHRcdFx0XHRib3hfbm86ICcnLCAvL+S4reaOp+e8luWPt1xyXG5cdFx0XHRcdGJpa2VEZXRhaWw6IFtdLFxyXG5cdFx0XHRcdGJpa2VJZDogJycsXHJcblx0XHRcdFx0YXJlYUlEOiAnJyxcclxuXHRcdFx0XHRsb3dfcG93ZXI6ICcnLFxyXG5cdFx0XHRcdHN0YXRlOiAnJyxcclxuXHRcdFx0XHR1c2Vfc3RhdGU6ICcnLFxyXG5cdFx0XHRcdHBhcmtBcmVhU2hvdzogZmFsc2UsIC8v6L+Y6L2m54K55piv5ZCm5pi+56S6XHJcblx0XHRcdFx0bm9QYXJrQXJlYVNob3c6IHRydWUsIC8v56aB5YGc5Yy65piv5ZCm5pi+56S6XHJcblx0XHRcdFx0YXJlYXM6IFtdLFxyXG5cdFx0XHRcdHBhcmtpbmc6IFtdLFxyXG5cdFx0XHRcdHBhcmtpbmdfcG9pbnRzOiBbXSxcclxuXHRcdFx0XHRub19wYXJraW5nOiBbXSxcclxuXHRcdFx0XHRub19wYXJraW5nX3BvaW50czogW10sXHJcblx0XHRcdFx0aW5mb1Nob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGFsbEVsZTogW3tcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WFqOmDqOeUtemHjycsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAwLFxyXG5cdFx0XHRcdFx0XHRhcmVhSUQ6ICcnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAnNzAl5Lul5LiLJyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6IDEsXHJcblx0XHRcdFx0XHRcdGFyZWFJRDogJzcwJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJzYwJeS7peS4iycsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAyLFxyXG5cdFx0XHRcdFx0XHRhcmVhSUQ6ICc2MCdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICc1MCXku6XkuIsnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMyxcclxuXHRcdFx0XHRcdFx0YXJlYUlEOiAnNTAnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHR0ZXh0OiAnMzAl5Lul5LiLJyxcclxuXHRcdFx0XHRcdFx0dmFsdWU6IDQsXHJcblx0XHRcdFx0XHRcdGFyZWFJRDogJzMwJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJzIwJeS7peS4iycsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiA1LFxyXG5cdFx0XHRcdFx0XHRhcmVhSUQ6ICcyMCdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRhbGxBcnI6IFsn5YWo6YOo55S16YePJywgJzcwJeS7peS4iycsICc2MCXku6XkuIsnLCAnNTAl5Lul5LiLJywgJzMwJeS7peS4iycsICcyMCXku6XkuIsnXSxcclxuXHRcdFx0XHRhbGxTdGF0dXM6IFt7XHJcblx0XHRcdFx0XHR0ZXh0OiAn5YWo6YOo54q25oCBJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAwLFxyXG5cdFx0XHRcdFx0YXJlYUlEOiAnJ1xyXG5cdFx0XHRcdH1dLFxyXG5cdFx0XHRcdGFyckRheTogWyfkvb/nlKjnirbmgIEnLCAnMeWkqeacquS9v+eUqCcsICcz5aSp5pyq5L2/55SoJywgJzflpKnmnKrkvb/nlKgnXSxcclxuXHRcdFx0XHRhcnJEYXlJbmRleDogMCxcclxuXHRcdFx0XHRhbGxEYXk6IFt7XHJcblx0XHRcdFx0XHRcdHRleHQ6ICfkvb/nlKjnirbmgIEnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJzHlpKnmnKrkvb/nlKgnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJzPlpKnmnKrkvb/nlKgnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMlxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0dGV4dDogJzflpKnmnKrkvb/nlKgnLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogM1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0ZGlhbkluZGV4OiAwLFxyXG5cdFx0XHRcdGFyclN0YXRlOiBbJ+WFqOmDqOeKtuaAgSddLFxyXG5cdFx0XHRcdGFyckluZGV4OiAwLFxyXG5cdFx0XHRcdG9wdGlvbjogW3tcclxuXHRcdFx0XHRcdGFyZWFJRDogJycsXHJcblx0XHRcdFx0XHR0ZXh0OiAn5YWo6YOo5Yy65Z+fJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAtMSxcclxuXHRcdFx0XHR9XSxcclxuXHRcdFx0XHRhcmVhSW5kZXg6IDAsXHJcblx0XHRcdFx0bGluZUhlaWdodDogJycsXHJcblx0XHRcdFx0YWxsU3RhdGU6ICcnLFxyXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogYXBwLnN5c3RlbUluZm8uc3RhdHVzQmFySGVpZ2h0LFxyXG5cdFx0XHRcdGxhbmc6IGFwcC5zeXN0ZW1JbmZvLmxhbmcsXHJcblx0XHRcdFx0ZGF0YVR5cGU6ICdtYXAnLFxyXG5cdFx0XHRcdG1hcERhdGE6IFtdLFxyXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogYXBwLnN5c3RlbUluZm8uc2NyZWVuSGVpZ2h0IC0gYXBwLnN5c3RlbUluZm8uc3RhdHVzQmFySGVpZ2h0IC0gNDUgLSA1NSAtIDkxLFxyXG5cdFx0XHRcdHNlYXJjaFR5cGU6IDAsIC8vMCDliJ3lp4vnirbmgIEgMSDmkJzntKLljYrlvoQgMiDnlKjmiLfnrZvpgIlcclxuXHRcdFx0XHRjdXJyZW50UmFkaXVzOiAnNSBrbScsXHJcblx0XHRcdFx0c2NhbGU6IDEzLFxyXG5cdFx0XHRcdHNlYXJjaEl0ZW06IHt9LFxyXG5cdFx0XHRcdHN0YXRpb25JbmZvOiB7fSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uU2hvdygpIHtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coXCJ66L+Z5piv5pWw5o2uMjM1Njc2Njc3ODk4ODk5XCIpXHJcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLm1lc3MgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKVxyXG5cdFx0XHRcdHRoaXMuY3VyVmFsMSA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgPyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpIDogMFxyXG5cdFx0XHR9LCAyMDAwKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Y29udHJvbHRhcDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRjdXJyZW50U3RhdGlvbklkID0gJyc7XHJcblx0XHRcdFx0b3JpTWFya2VyTGlzdC5mb3JFYWNoKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0aXRlbS5pc1NlbGVjdCA9IGZhbHNlXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhhdC5pbmZvU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoYXQubWFya2VycyA9IG1hcFV0aWwuZ2V0Rm9ydE1hdE1hcmtlckxpc3QoY3VycmVudE5vciwgY3VycmVudFNvdSwgY3VycmVudFNjYWxlLCBvcmlNYXJrZXJMaXN0KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZWdpb25jaGFuZ2U6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+e8qeaUvuS6hicpXHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHRpZiAoZS50eXBlID09PSBcInJlZ2lvbmNoYW5nZVwiKSB7XHJcblx0XHRcdFx0XHQvLyB0aGF0LnNldERhdGEoe21hcmtlcnM6Jyd9KVxyXG5cdFx0XHRcdFx0dGhhdC5tYXBDdHguZ2V0Q2VudGVyTG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRcdFx0Y2VudGVyTG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZTtcclxuXHRcdFx0XHRcdFx0XHRjZW50ZXJsYXRpdHVkZSA9IHJlcy5sYXRpdHVkZTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2NlbnRlckxvbmdpdHVkZScsIGNlbnRlckxvbmdpdHVkZSk7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdjZW50ZXJsYXRpdHVkZScsIGNlbnRlcmxhdGl0dWRlKTtcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm1hcEN0eC5nZXRTY2FsZSh7XHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRsZXQgc2NhbGUgPSByZXMuc2NhbGU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHNjYWxlKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1hcEN0eC5nZXRSZWdpb24oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjdXJyZW50Tm9yID0gcmVzLm5vcnRoZWFzdDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGN1cnJlbnRTb3UgPSByZXMuc291dGh3ZXN0O1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHNjYWxlIDw9IDEwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWFya2VycyA9IG1hcFV0aWwuZ2V0Rm9ydE1hdE1hcmtlckxpc3QocmVzLm5vcnRoZWFzdCwgcmVzLnNvdXRod2VzdCwgc2NhbGUsIG9yaU1hcmtlckxpc3QpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQubWFya2VycylcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y3VycmVudFNjYWxlID0gc2NhbGU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhtYXBVdGlsKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKG1hcFV0aWwgPT0gbnVsbCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtYXBVdGlsID0gbmV3IE1hcFV0aWwocmVzLm5vcnRoZWFzdCwgcmVzLnNvdXRod2VzdCwgc2NhbGUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmxvYWRNYXBEYXRhKG1hcmtlcnMgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1hcmtlcnMuZm9yRWFjaChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGl0ZW0uaXNTZWxlY3QgPSBpdGVtLmlkID09IGN1cnJlbnRTdGF0aW9uSWQ7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3JpTWFya2VyTGlzdCA9IG1hcmtlcnM7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gbWFwVXRpbC5nZXRGb3J0TWF0TWFya2VyTGlzdChyZXMubm9ydGhlYXN0LCByZXMuc291dGh3ZXN0LCBzY2FsZSwgb3JpTWFya2VyTGlzdClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0Lm1hcmtlcnMpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAobWFwVXRpbC5jaGVja1JlZnJlc2gocmVzLm5vcnRoZWFzdCwgcmVzLnNvdXRod2VzdCkpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5sb2FkTWFwRGF0YShtYXJrZXJzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRtYXJrZXJzLmZvckVhY2goaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpdGVtLmlzU2VsZWN0ID0gaXRlbS5pZCA9PSBjdXJyZW50U3RhdGlvbklkO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9yaU1hcmtlckxpc3QgPSBtYXJrZXJzO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWFya2VycyA9IG1hcFV0aWwuZ2V0Rm9ydE1hdE1hcmtlckxpc3QocmVzLm5vcnRoZWFzdCwgcmVzLnNvdXRod2VzdCwgc2NhbGUsIG9yaU1hcmtlckxpc3QpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5tYXJrZXJzKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0bWFwVXRpbC5zZXRJbml0RGF0YShyZXMubm9ydGhlYXN0LCByZXMuc291dGh3ZXN0LCBzY2FsZSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvcmlNYXJrZXJMaXN0LmZvckVhY2goaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXRlbS5pc1NlbGVjdCA9IGl0ZW0uaWQgPT0gY3VycmVudFN0YXRpb25JZDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWFya2VycyA9IG1hcFV0aWwuZ2V0Rm9ydE1hdE1hcmtlckxpc3QocmVzLm5vcnRoZWFzdCwgcmVzLnNvdXRod2VzdCwgc2NhbGUsIG9yaU1hcmtlckxpc3QpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQubWFya2VycylcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoYXQubWFya2VycylcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0bG9hZE1hcERhdGE6IGZ1bmN0aW9uKGNhbGxCYWNrMSkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR2YXIgYXJlYUlkID0gdGhhdC5hcmVhSUQ7XHJcblx0XHRcdFx0Ly8gwqDCoMKgwqBjb25zb2xlLmxvZyhhcmVhSWQpXHJcblx0XHRcdFx0dmFyIGxvd19wb3dlciA9IHRoYXQubG93X3Bvd2VyO1xyXG5cdFx0XHRcdHZhciBzdGF0ZSA9IHRoYXQuc3RhdGU7XHJcblx0XHRcdFx0dmFyIHVzZV9zdGF0ZSA9IHRoYXQudXNlX3N0YXRlO1xyXG5cdFx0XHRcdGxldCB0aW1lID0gcGFyc2VJbnQodXNlX3N0YXRlIC8gMTAwMClcclxuXHRcdFx0XHRpZiAodGltZSA9PT0gMCkge1xyXG5cdFx0XHRcdFx0dGltZSA9ICcnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHZhciBkYXRhID0ge1xyXG5cdFx0XHRcdFx0J3B1dF9hcmVhX2lkJzogYXJlYUlkLFxyXG5cdFx0XHRcdFx0J2JhdHRlcnlfcG93ZXInOiBsb3dfcG93ZXIsXHJcblx0XHRcdFx0XHQnYWxsX3N0YXRlcyc6IHN0YXRlLFxyXG5cdFx0XHRcdFx0J2xhc3RfdXNlX2Jpa2VfZW5kX3RpbWUnOiB0aW1lXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhiYXNlVXRpbClcclxuXHRcdFx0XHRiYXNlVXRpbChkYXRhLCByZXMgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0Y2FsbEJhY2sxKHJlcyk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0aW5pdE1hcERhdGE6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR0aGF0Lm1hcmtlcnMgPSAnJ1xyXG5cdFx0XHRcdHRoYXQubG9hZE1hcERhdGEobWFya2VycyA9PiB7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhtYXJrZXJzKVxyXG5cdFx0XHRcdFx0bWFya2Vycy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRpdGVtLmlzU2VsZWN0ID0gaXRlbS5pZCA9PSBjdXJyZW50U3RhdGlvbklkO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRvcmlNYXJrZXJMaXN0ID0gbWFya2VycztcclxuXHRcdFx0XHRcdHRoYXQubWFya2VycyA9IG1hcFV0aWwuZ2V0Rm9ydE1hdE1hcmtlckxpc3QoY3VycmVudE5vciwgY3VycmVudFNvdSwgY3VycmVudFNjYWxlLCBvcmlNYXJrZXJMaXN0KVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5tYXJrZXJzKVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRCaWtlX2luZm86IGZ1bmN0aW9uKGJpa2VJZCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGJpa2VJZClcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvZ2V0QmlrZUluZm8/YmlrZV9ubz0nICsgYmlrZUlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6I635Y+W6L2m6L6G5L+h5oGvJylcclxuXHRcdFx0XHRcdGlmIChyZXMuZGF0YS5iaWtlX2luZm8gPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5pbmZvU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOivpei9pui+huS/oeaBr34nLFxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEsICfovabovobkv6Hmga8nKVxyXG5cdFx0XHRcdFx0XHR0aGlzLmJpa2VEZXRhaWwgPSByZXMuZGF0YS5iaWtlX2luZm87XHJcblx0XHRcdFx0XHRcdHRoaXMuaW5mb1Nob3cgPSB0cnVlO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpYW5sOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XHJcblx0XHRcdFx0XHRpdGVtTGlzdDogdGhhdC5hbGxBcnIsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5tYXJrZXJzID0gW107XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgXCJwcHBwcHBcIilcclxuXHRcdFx0XHRcdFx0dGhhdC5kaWFuSW5kZXggPSByZXMudGFwSW5kZXg7XHJcblx0XHRcdFx0XHRcdHRoYXQubG93X3Bvd2VyID0gdGhhdC5hbGxFbGVbcmVzLnRhcEluZGV4XS5hcmVhSURcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5sb3dfcG93ZXIsIFwiaWlpaWlpXCIpXHJcblx0XHRcdFx0XHRcdHRoYXQuaW5pdE1hcERhdGEoKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge31cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR6aHVhbmd0YWk6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LmFyclN0YXRlLCBcImlpaWlpaWlpaWlpXCIpXHJcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XHJcblx0XHRcdFx0XHRpdGVtTGlzdDogdGhhdC5hcnJTdGF0ZSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHR0aGF0Lm1hcmtlcnMgPSBbXTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0XHR0aGF0LmFyckluZGV4ID0gcmVzLnRhcEluZGV4O1xyXG5cdFx0XHRcdFx0XHR0aGF0LnN0YXRlID0gdGhhdC5hbGxTdGF0ZVtyZXMudGFwSW5kZXhdLmFyZWFJRFxyXG5cdFx0XHRcdFx0XHR0aGF0LmluaXRNYXBEYXRhKClcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbihyZXMpIHt9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0c2VsZWN0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZygnMTExMTEnKVxyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR2YXIgYXJyID0gW11cclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0Lm9wdGlvbilcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoYXQub3B0aW9uLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRhcnIgPSBhcnIuY29uY2F0KHRoYXQub3B0aW9uW2ldLnRleHQpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGFycilcclxuXHRcdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcclxuXHRcdFx0XHRcdGl0ZW1MaXN0OiBhcnIsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0XHR0aGF0Lm1hcmtlcnMgPSBbXTtcclxuXHRcdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnRhcEluZGV4XHJcblx0XHRcdFx0XHRcdHRoYXQuYXJlYUluZGV4ID0gaW5kZXg7XHJcblx0XHRcdFx0XHRcdHRoYXQuYXJlYUlEID0gdGhhdC5vcHRpb25baW5kZXhdLmFyZWFJRDtcclxuXHRcdFx0XHRcdFx0dGhhdC5jdXJWYWwgPSByZXMudGFwSW5kZXhcclxuXHRcdFx0XHRcdFx0dGhhdC5pbml0TWFwRGF0YSgxKVxyXG5cdFx0XHRcdFx0XHR0aGF0LmluaXREYXRhKDEpXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24ocmVzKSB7fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHNoaXlvbmc6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcclxuXHRcdFx0XHRcdGl0ZW1MaXN0OiB0aGF0LmFyckRheSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRcdHRoaXMubWFya2VycyA9IFtdO1xyXG5cdFx0XHRcdFx0XHR0aGF0LmFyckRheUluZGV4ID0gcmVzLnRhcEluZGV4O1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGF0LmFsbEFycltyZXMudGFwSW5kZXhdKVxyXG5cdFx0XHRcdFx0XHR2YXIgdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnRhcEluZGV4ID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR0aW1lID0gXCJcIjtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMudGFwSW5kZXggPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdHRpbWUgPSB0aW1lIC0gODY0MDAwMDAgKiAxO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy50YXBJbmRleCA9PSAyKSB7XHJcblx0XHRcdFx0XHRcdFx0dGltZSA9IHRpbWUgLSA4NjQwMDAwMCAqIDM7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLnRhcEluZGV4ID09IDMpIHtcclxuXHRcdFx0XHRcdFx0XHR0aW1lID0gdGltZSAtIDg2NDAwMDAwICogNztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR0aGF0LnVzZV9zdGF0ZSA9IHRpbWU7XHJcblx0XHRcdFx0XHRcdHRoYXQuaW5pdE1hcERhdGEoKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge31cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzZWFyY2g6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCcxMScpXHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnLi9iaWtlVGVzdCcsXHJcblx0XHRcdFx0XHRzdWNjZXNzKCkge1xyXG5cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsKGVycikge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0ZGV0YWlsOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmluZm9TaG93ID0gZmFsc2U7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnLi9iaWtlX2RldGFpbD9iaWtlX25vPScgKyB0aGlzLmJpa2VJZFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdG1hcHRhcDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdFx0dGhpcy5pbmZvU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRkaWFua2FpOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYm94X25vLCBDTUQuYmF0dGVyeVVubG9jayk7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2Uvb3BlbkJhdHRlcnlMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5byA55S15rGg6ZSB5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR4dW5saW5nOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYm94X25vLCBDTUQuYmVsbClcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9iaWtlQmVsbD9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+WTjemTg+aIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0YXN5bmMgaW5pdERhdGEoaXNMb2FkID0gZmFsc2UpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dGhpcy5tYXJrZXJzID0gW107XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGF3YWl0IGFwcC5yZXF1ZXN0KCdnZXRBcmVhcz9wdXRfYXJlYV9pZD0nICsgdGhhdC5hcmVhSUQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMsICdxdXl1Jyk7XHJcblx0XHRcdFx0XHRsZXQgZGF0YSA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHR0aGF0LnJpZGRpbmdfYXJlYSA9IGRhdGEucmlkZGluZ19hcmVhO1xyXG5cdFx0XHRcdFx0dGhhdC5ub19wYXJraW5nID0gZGF0YS5ub19wYXJraW5nX2FyZWE7XHJcblx0XHRcdFx0XHR0aGF0Lm5vX3BhcmtpbmdfcG9pbnRzID0gZGF0YS5ub19wYXJraW5nX3BvaW50cztcclxuXHRcdFx0XHRcdHRoYXQucGFya2luZyA9IGRhdGEucGFya2luZ19hcmVhO1xyXG5cdFx0XHRcdFx0dGhhdC5wYXJraW5nX3BvaW50cyA9IGRhdGEucGFya2luZ19wb2ludHM7XHJcblx0XHRcdFx0XHRpZiAoaXNMb2FkKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2hvd0FyZWEoMSlcclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMubm9QYXJrQXJlYVNob3cpIHRoaXMuc2hvd05vUGFya2luZygwKVxyXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5wYXJrQXJlYVNob3cpIHRoaXMuc2hvd1BhcmtpbmcoMClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaG93QXJlYTogZnVuY3Rpb24odHlwZSA9IDApIHtcclxuXHRcdFx0XHRpZiAodHlwZSkge1xyXG5cdFx0XHRcdFx0dmFyIHJpZGRpbmdfYXJlYSA9IHRoaXMucmlkZGluZ19hcmVhO1xyXG5cdFx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHJpZGRpbmdfYXJlYTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHRoaXMucG9seWdvbnMuY29uY2F0KHRoaXMucmlkZGluZ19hcmVhKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGNsZWFyOiBmdW5jdGlvbih0eXBlID0gMCkge1xyXG5cdFx0XHRcdGlmICh0eXBlID09PSAwKSB7XHJcblx0XHRcdFx0XHRsZXQgcG9seWdvbnMgPSB0aGlzLnBvbHlnb25zLmZpbHRlcigocG9seWdvbnMpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHBvbHlnb25zLmlkLnNsaWNlKDAsIDEpID09PSAnQScpIHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHRoaXMucG9seWdvbnMgPSBwb2x5Z29ucztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHR5cGUgPT09IDEpIHtcclxuXHRcdFx0XHRcdGxldCBwb2x5Z29ucyA9IHRoaXMucG9seWdvbnMuZmlsdGVyKChwb2x5Z29ucykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocG9seWdvbnMuaWQuc2xpY2UoMCwgMSkgIT09ICdQJykge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0bGV0IG1hcmtlcnMgPSB0aGlzLm1hcmtlcnMuZmlsdGVyKChwb2x5Z29ucykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocG9seWdvbnMuaWQuc2xpY2UoMCwgMSkgIT09ICdwJykge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHBvbHlnb25zO1xyXG5cdFx0XHRcdFx0dGhpcy5tYXJrZXJzID0gbWFya2VycztcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHR5cGUgPT09IDIpIHtcclxuXHRcdFx0XHRcdGxldCBwb2x5Z29ucyA9IHRoaXMucG9seWdvbnMuZmlsdGVyKChwb2x5Z29ucykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocG9seWdvbnMuaWQuc2xpY2UoMCwgMSkgIT09ICdOJykge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0bGV0IG1hcmtlcnMgPSB0aGlzLm1hcmtlcnMuZmlsdGVyKChwb2x5Z29ucykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocG9seWdvbnMuaWQuc2xpY2UoMCwgMSkgIT09ICduJykge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHBvbHlnb25zO1xyXG5cdFx0XHRcdFx0dGhpcy5tYXJrZXJzID0gbWFya2VycztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5pi+56S66L+Y6L2m54K5IDDvvJrov73liqDlgZzovabngrkgMe+8muWPquaYvuekuuWBnOi9pueCuSAy77ya5Yig6Zmk5YGc6L2m54K5XHJcblx0XHRcdHNob3dQYXJraW5nOiBmdW5jdGlvbih0eXBlID0gMCkge1xyXG5cdFx0XHRcdGlmICh0eXBlID09PSAwKSB7XHJcblx0XHRcdFx0XHR0aGlzLnBvbHlnb25zID0gdGhpcy5wb2x5Z29ucy5jb25jYXQodGhpcy5wYXJraW5nKTtcclxuXHRcdFx0XHRcdC8vIHRoaXMubWFya2VycyA9IHRoaXMubWFya2Vycy5jb25jYXQodGhpcy5wYXJraW5nX3BvaW50cyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0eXBlID09PSAxKSB7XHJcblx0XHRcdFx0XHR0aGlzLnBvbHlnb25zID0gdGhpcy5wYXJraW5nO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5tYXJrZXJzID0gdGhpcy5tYXJrZXJzO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aWYgKHR5cGUgPT09IDIpIHtcclxuXHRcdFx0XHRcdHRoaXMuY2xlYXIoMSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHNob3dOb1Bhcmtpbmc6IGZ1bmN0aW9uKHR5cGUgPSAwKSB7XHJcblx0XHRcdFx0aWYgKHR5cGUgPT09IDApIHtcclxuXHRcdFx0XHRcdHRoaXMucG9seWdvbnMgPSB0aGlzLnBvbHlnb25zLmNvbmNhdCh0aGlzLm5vX3BhcmtpbmcpO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5tYXJrZXJzID0gdGhpcy5tYXJrZXJzLmNvbmNhdCh0aGlzLm5vX3BhcmtpbmdfcG9pbnRzKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHR5cGUgPT09IDEpIHtcclxuXHRcdFx0XHRcdHRoaXMucG9seWdvbnMgPSB0aGlzLm5vX3Bhcmtpbmc7XHJcblx0XHRcdFx0XHQvLyB0aGlzLm1hcmtlcnMgPSB0aGlzLm5vX3BhcmtpbmdfcG9pbnRzO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodHlwZSA9PT0gMikge1xyXG5cdFx0XHRcdFx0dGhpcy5jbGVhcigyKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0c2NhbkNvZGU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnc2NhbkNvZGUnKVxyXG5cdFx0XHRcdHVuaS5zY2FuQ29kZSh7XHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnJlc3VsdC5sYXN0SW5kZXhPZihcIlxcPVwiKTtcclxuXHRcdFx0XHRcdFx0dmFyIGNvZGUgPSByZXMucmVzdWx0LnN1YnN0cmluZyhpbmRleCArIDEsIHJlcy5yZXN1bHQubGVuZ3RoKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5iaWtlSWQgPSBjb2RlO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LmJpa2VJZClcclxuXHRcdFx0XHRcdFx0dGhhdC5nZXRCaWtlX2luZm8oY29kZSlcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmiavnoIHlpLHotKXor7fph43or5UnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldEJpa2VzOiBmdW5jdGlvbihjbGVhciA9IDApIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHZhciBhcmVhSWQgPSB0aGF0LmFyZWFJRDtcclxuXHRcdFx0XHR2YXIgbG93X3Bvd2VyID0gdGhhdC5sb3dfcG93ZXI7XHJcblx0XHRcdFx0dmFyIHN0YXRlID0gdGhhdC5zdGF0ZTtcclxuXHRcdFx0XHR2YXIgdXNlX3N0YXRlID0gdGhhdC51c2Vfc3RhdGU7XHJcblx0XHRcdFx0bGV0IHRpbWUgPSBwYXJzZUludCh1c2Vfc3RhdGUgLyAxMDAwKTtcclxuXHRcdFx0XHQvLyB0aGlzLm1hcmtlcnMgPSAnJztcclxuXHRcdFx0XHRpZiAodGltZSA9PT0gMCkge1xyXG5cdFx0XHRcdFx0dGltZSA9ICcnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHZhciBkYXRhID0ge1xyXG5cdFx0XHRcdFx0cHV0X2FyZWFfaWQ6IGFyZWFJZCxcclxuXHRcdFx0XHRcdGJhdHRlcnlfcG93ZXI6IGxvd19wb3dlcixcclxuXHRcdFx0XHRcdGFsbF9zdGF0ZXM6IHN0YXRlLFxyXG5cdFx0XHRcdFx0bGFzdF91c2VfYmlrZV9lbmRfdGltZTogdGltZVxyXG5cdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdnZXRCaWtlcycsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMsICdiaWtlcycpXHJcblx0XHRcdFx0XHR2YXIgbWFya2VycyA9IHRoYXQubWFya2Vyc1xyXG5cdFx0XHRcdFx0aWYgKGNsZWFyKSB7XHJcblx0XHRcdFx0XHRcdG1hcmtlcnMgPSB0aGF0Lm1hcmtlcnMuZmlsdGVyKChtYXJrZXIpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAobWFya2VyLmlkLnNsaWNlKDAsIDEpID09PSAnQicpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gbWFya2Vycy5jb25jYXQocmVzLmRhdGEpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGxvYWQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliLfmlrDkuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ2xvYWQnKVxyXG5cdFx0XHRcdHRoaXMubWFya2VycyA9IFtdO1xyXG5cdFx0XHRcdGlmICh0aGlzLm5vUGFya0FyZWFTaG93KSB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dOb1BhcmtpbmcoMCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd05vUGFya2luZygyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMucGFya0FyZWFTaG93KSB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dQYXJraW5nKDApXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd1BhcmtpbmcoMilcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhhdC5pbml0TWFwRGF0YSgpXHJcblx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdnY2owMicsXHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICflrprkvY3kv6Hmga8nKVxyXG5cdFx0XHRcdFx0XHRcdHRoYXQubG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZTtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmxhdGl0dWRlID0gcmVzLmxhdGl0dWRlO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWFya2Vycy51bnNoaWZ0KHtcclxuXHRcdFx0XHRcdFx0XHRcdC8vIFwiaWRcIjogXCJCMTAwMTAwMTAwMDZcIixcclxuXHRcdFx0XHRcdFx0XHRcdFwiaWNvblBhdGhcIjogXCIvc3RhdGljL2ltZy9iaWtlX3l1bndlaS8xMTEuanBnXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcInR5cGVyXCI6IFwibGl4aWFuXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcIndpZHRoXCI6IDM4LFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJoZWlnaHRcIjogMzgsXHJcblx0XHRcdFx0XHRcdFx0XHRcInpJbmRleFwiOiAxMTAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0bG9uZ2l0dWRlOiByZXMubG9uZ2l0dWRlLFxyXG5cdFx0XHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHJlcy5sYXRpdHVkZSxcclxuXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGF0Lm1hcmtlcnMsIFwi5b2T5YmN5L2N572uXCIpXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKGVycikge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9LCA1MDApXHJcblx0XHRcdH0sXHJcblx0XHRcdHBvc2k6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubWFya2VycylcclxuXHRcdFx0XHQvLyB0aGlzLm1hcmtlcnMuc3BsaWNlKDAsIDEpXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5tYXJrZXJzKVxyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WumuS9jeS4rS4uLicsXHJcblx0XHRcdFx0XHRtYXNrOiB0cnVlXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRjb25zb2xlLmxvZygncG9zaScpXHJcblx0XHRcdFx0Ly/ngrnlh7vlrprkvY0gIFxyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgJ+WumuS9jeS/oeaBrycpXHJcblx0XHRcdFx0XHRcdHRoYXQubG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZTtcclxuXHRcdFx0XHRcdFx0dGhhdC5sYXRpdHVkZSA9IHJlcy5sYXRpdHVkZTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhhdC5tYXJrZXJzLnVuc2hpZnQoe1xyXG5cdFx0XHRcdFx0XHQvLyBcdC8vIFwiaWRcIjogXCJCMTAwMTAwMTAwMDZcIixcclxuXHRcdFx0XHRcdFx0Ly8gXHRcImljb25QYXRoXCI6IFwiL3N0YXRpYy9pbWcvYmlrZV95dW53ZWkvMTExLmpwZ1wiLFxyXG5cdFx0XHRcdFx0XHQvLyBcdFwidHlwZXJcIjogXCJsaXhpYW5cIixcclxuXHRcdFx0XHRcdFx0Ly8gXHRcIndpZHRoXCI6IDM4LFxyXG5cdFx0XHRcdFx0XHQvLyBcdFwiaGVpZ2h0XCI6IDM4LFxyXG5cdFx0XHRcdFx0XHQvLyBcdFwiekluZGV4XCI6IDExMDEsXHJcblx0XHRcdFx0XHRcdC8vIFx0bG9uZ2l0dWRlOiByZXMubG9uZ2l0dWRlLFxyXG5cdFx0XHRcdFx0XHQvLyBcdGxhdGl0dWRlOiByZXMubGF0aXR1ZGUsXHJcblxyXG5cdFx0XHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbihlcnIpIHtcclxuXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRtYXJrZXI6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlKVxyXG5cdFx0XHRcdC8vIHJldHVybjtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Ly8gbGV0IHR5cGUgPSBtYXJrZXJJZC5zbGljZSgwLCAxKVxyXG5cdFx0XHRcdC8v6L2m6L6G57Si5byVXHJcblx0XHRcdFx0Ly8gaWYgKHR5cGUgPT09ICdCJykge1xyXG5cclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdFx0dmFyIGlkID0gZS5kZXRhaWwubWFya2VySWQ7XHJcblx0XHRcdFx0Ly8gaWQgPSBpZC5zdWJzdHJpbmcoMSwgaWQubGVuZ3RoKTtcclxuXHRcdFx0XHQvLyB0aGF0LmJpa2VJZCA9IGlkO1xyXG5cdFx0XHRcdC8vIHRoYXQuZ2V0QmlrZV9pbmZvKGlkKVxyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhhdC5tYXJrZXJzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRsZXQgaXRlbSA9IHRoYXQubWFya2Vyc1tpXTtcclxuXHRcdFx0XHRcdGl0ZW0uc2V0Q2hlY2tTdGF0dXMoaWQgPT0gaXRlbS5pZCAmJiBpdGVtLmNhbGxvdXQgPT0gdW5kZWZpbmVkICYmIGl0ZW0ubGFiZWwgPT0gdW5kZWZpbmVkKTtcclxuXHRcdFx0XHRcdGlmIChpZCA9PSBpdGVtLmlkKSB7XHJcblx0XHRcdFx0XHRcdGlmIChpdGVtLmNhbGxvdXQgPT0gdW5kZWZpbmVkICYmIGl0ZW0ubGFiZWwgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKGN1cnJlbnRTdGF0aW9uSWQgPT0gaWQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5nZXRCaWtlX2luZm8oaWQuc2xpY2UoMSkpXHJcblx0XHRcdFx0XHRcdFx0dGhhdC5iaWtlSWQgPSBpZC5zbGljZSgxKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmxhdGl0dWRlID0gaXRlbS5sYXRpdHVkZTtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmxvbmdpdHVkZSA9IGl0ZW0ubG9uZ2l0dWRlO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuc2NhbGUgPSBjdXJyZW50U2NhbGUgKyAxXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhhdC5tYXJrZXJzID0gdGhhdC5tYXJrZXJzXHJcblx0XHRcdH0sXHJcblx0XHRcdHBhcmtTaG93MTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5wYXJrQXJlYVNob3cgPSAhdGhpcy5wYXJrQXJlYVNob3c7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ3BhcmtzaG93MScpXHJcblx0XHRcdFx0aWYgKHRoaXMucGFya0FyZWFTaG93KSB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dQYXJraW5nKDApXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd1BhcmtpbmcoMilcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGZvcmJpZFNob3c6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMubm9QYXJrQXJlYVNob3cgPSAhdGhpcy5ub1BhcmtBcmVhU2hvd1xyXG5cdFx0XHRcdGlmICh0aGlzLm5vUGFya0FyZWFTaG93KSB7XHJcblx0XHRcdFx0XHR0aGlzLnNob3dOb1BhcmtpbmcoMCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuc2hvd05vUGFya2luZygyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0Ly8gdGhpcy5hbGxEYXRhKClcclxuXHRcdFx0Ly8gaWYgKHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykpIHtcclxuXHRcdFx0Ly8gXHQvLyAgICBsZXQgYWN0aXZlID0gdGhpcy5zd2lwZXJUYWJJZHg7XHJcblx0XHRcdC8vIFx0Ly8gbGV0IGFyZWFJZCA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VySWQnKTtcclxuXHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhcIui/meaYr+WIneWni+WKoOi9veaVsOaNrlwiKVxyXG5cdFx0XHQvLyBcdHRoaXMuYWxsRGF0YSgpXHJcblx0XHRcdC8vIFx0Ly8gY29uc29sZS5sb2codGhpcy5iaWtlLFwi6L+Z5piv6L2m6L6G5pWw5o2uXCIpXHJcblxyXG5cdFx0XHQvLyB9IGVsc2Uge1xyXG5cdFx0XHQvLyBcdC8vIGNvbnNvbGUubG9nKHRoaXMubGlzdClcclxuXHRcdFx0Ly8gXHQvLyB0aGlzLmFyZWFJRCA9IHRoaXMubGlzdFswXS5hcmVhSUQ7XHJcblx0XHRcdC8vIFx0Ly8gY29uc29sZS5sb2codGhpcy5hcmVhSUQsICcxMjM0NTY3OCcpXHJcblx0XHRcdC8vIFx0dGhpcy5hbGxEYXRhKClcclxuXHRcdFx0Ly8gfVxyXG5cdFx0fSxcclxuXHRcdC8vIOiOt+WPlui9pui+huS/oeaBr1xyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coYXBwLnJlcXVlc3QoKSlcclxuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciBhcnIgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhhcnIsIFwib29vb29vb1wiKVxyXG5cdFx0XHRcdHRoYXQub3B0aW9uID0gdGhhdC5vcHRpb24uY29uY2F0KGFycik7XHJcblx0XHRcdH0sIDUwMClcclxuXHRcdFx0YXBwLnJlcXVlc3QoJ2luZGV4JywgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEsICdpbmRleCcpXHJcblx0XHRcdFx0dmFyIGRhdGEgPSByZXMuZGF0YTtcclxuXHRcdFx0XHR2YXIgYXJyMiA9IFtdXHJcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLnd4X2Jpa2VTdGF0ZXMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGRhdGEud3hfYmlrZVN0YXRlc1tpXS52YWx1ZSA9IGkgKyAxXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhLnd4X2Jpa2VTdGF0ZXNbaV0udGV4dCwgXCJsbGxsbFwiKVxyXG5cdFx0XHRcdFx0YXJyMi5wdXNoKGRhdGEud3hfYmlrZVN0YXRlc1tpXS50ZXh0KVxyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coYXJyMiwgXCJra2tra2tcIilcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIGFycjEgPSBbe1xyXG5cdFx0XHRcdFx0YXJlYUlEOiAnJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAwLFxyXG5cdFx0XHRcdFx0dGV4dDogJ+WFqOmDqOeKtuaAgSdcclxuXHRcdFx0XHR9XVxyXG5cdFx0XHRcdHZhciBhbGxTdGF0ZSA9IGFycjEuY29uY2F0KGRhdGEud3hfYmlrZVN0YXRlcyk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coYWxsU3RhdGUsIFwicHBwcHBwXCIpXHJcblx0XHRcdFx0dmFyIHpodWFuZ3RhaSA9IGRhdGEuYmlrZV9zdGF0ZXM7XHJcblx0XHRcdFx0bGV0IGFyciA9IE9iamVjdC52YWx1ZXMoemh1YW5ndGFpKVxyXG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHR0aGF0LmFsbFN0YXRlID0gYWxsU3RhdGU7XHJcblx0XHRcdFx0XHR0aGF0LmFyclN0YXRlID0gdGhhdC5hcnJTdGF0ZS5jb25jYXQoYXJyMik7XHJcblx0XHRcdFx0fSwgNTAwKVxyXG5cdFx0XHR9KVxyXG5cdFx0XHR0aGF0LmdldEJpa2VzKCk7XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYXJyU3RhdGUsIFwi6L2m6L6G5L2N572uXCIpXHJcblx0XHRcdHN3aXRjaCAodW5pLmdldFN5c3RlbUluZm9TeW5jKCkucGxhdGZvcm0pIHtcclxuXHRcdFx0XHRjYXNlICdhbmRyb2lkJzpcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCflrqLmiLfnq6/mmK9BbmRyb2lkJylcclxuXHRcdFx0XHRcdHRoYXQubGluZUhlaWdodCA9ICc3NSdcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgJ2lvcyc6XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5a6i5oi356uv5pivaU9TJylcclxuXHRcdFx0XHRcdHRoYXQubGluZUhlaWdodCA9ICc4MCdcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoYXQucG9zaSgpOyAvL+iOt+WPluW9k+WJjeS9jee9rlxyXG5cdFx0XHR0aGF0Lm1hcEN0eCA9IHVuaS5jcmVhdGVNYXBDb250ZXh0KCdtYXAnKTtcclxuXHRcdFx0dGhpcy5pbml0RGF0YSgxKVxyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGF0Lm1hcEN0eClcclxuXHRcdFx0Ly8gdGhhdC5wb3NpKCk7IC8v6I635Y+W5b2T5YmN5L2N572uXHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKGJhc2VSZXF1ZXN0KVxyXG5cdFx0XHRiYXNlVXRpbCA9IGJhc2VSZXF1ZXN0O1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhiYXNlVXRpbClcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coZ2V0TG9jYXRpb24pXHJcblx0XHRcdGdldExvY2F0aW9uKGJhc2VVdGlsLCAobGF0LCBsbmcpID0+IHtcclxuXHRcdFx0XHR0aGF0LmxhdGl0dWRlID0gbGF0O1xyXG5cdFx0XHRcdHRoYXQubG9uZ2l0dWRlID0gbG5nO1xyXG5cdFx0XHR9KVxyXG5cdFx0XHR0aGF0LmluaXRNYXBEYXRhKClcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG48c3R5bGU+XHJcblx0QGltcG9ydCB1cmwoJy9zdGF0aWMvYmFzZS5jc3MnKTtcclxuPC9zdHlsZT5cclxuPHN0eWxlPlxyXG5cdHBhZ2Uge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHR1bmktcGFnZS1ib2R5IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LnBhZ2Uge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRvdmVyZmxvdy15OiBoaWRkZW47XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cclxuXHQuc2VhcmNoIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNjB1cHg7XHJcblx0XHRyaWdodDogNDB1cHg7XHJcblx0XHR6LWluZGV4OiA5OTk5O1xyXG5cdH1cclxuXHJcblx0LmFyZWFUb3Age1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiA2MHVweDtcclxuXHRcdGxlZnQ6IDMwdXB4O1xyXG5cdFx0ei1pbmRleDogOTk5OTtcclxuXHRcdGhlaWdodDogNTB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMzB1cHg7XHJcblx0XHQvKiBcdHBhZGRpbmc6IDEwdXB4OyAqL1xyXG5cdFx0Y29sb3I6IGJsYWNrO1xyXG5cdFx0Zm9udC1zaXplOiAzMHVweDtcclxuXHRcdHdpZHRoOiAyMDB1cHg7XHJcblx0fVxyXG5cclxuXHQuYmFja1RvcCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMHVweDtcclxuXHRcdGxlZnQ6IDB1cHg7XHJcblx0XHR6LWluZGV4OiA5OTk7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRjVGOEZFO1xyXG5cdFx0aGVpZ2h0OiAxMjB1cHg7XHJcblx0fVxyXG5cclxuXHQudG9wUmlnaHQge1xyXG5cdFx0d2lkdGg6IDIwMHVweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMHVweDtcclxuXHRcdHJpZ2h0OiAwdXB4O1xyXG5cdFx0ei1pbmRleDogOTk5OTk7XHJcblx0XHRoZWlnaHQ6IDEwMHVweDtcclxuXHR9XHJcblxyXG5cdG1hcCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdC8qIGhlaWdodDo4MCU7ICovXHJcblx0XHRtYXJnaW4tdG9wOiAyMCU7XHJcblx0fVxyXG5cclxuXHQuZGlhbmwge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDI1MHVweDtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0dG9wOiAxMjB1cHg7XHJcblx0XHRsZWZ0OiAwdXB4O1xyXG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0fVxyXG5cclxuXHQuemh1YW5ndGFpIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAyNTB1cHg7XHJcblx0XHRoZWlnaHQ6IDgwdXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdHRvcDogMTIwdXB4O1xyXG5cdFx0bGVmdDogMjUwdXB4O1xyXG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IDJ1cHggc29saWQgcmVkO1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiAydXB4IHNvbGlkIHJlZDtcclxuXHR9XHJcblxyXG5cdC5zaGl5b25nIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAyNTB1cHg7XHJcblx0XHRoZWlnaHQ6IDgwdXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdHRvcDogMTIwdXB4O1xyXG5cdFx0cmlnaHQ6IDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuXHR9XHJcblxyXG5cdC5sb2NhdGlvbiB7XHJcblx0XHR3aWR0aDogNzJ1cHg7XHJcblx0XHRoZWlnaHQ6IDcydXB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiA1JTtcclxuXHRcdGxlZnQ6IDUwdXB4O1xyXG5cdH1cclxuXHJcblx0LmxvYWQge1xyXG5cdFx0d2lkdGg6IDcydXB4O1xyXG5cdFx0aGVpZ2h0OiA3MnVweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogNSU7XHJcblx0XHRyaWdodDogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQuc3dlZXBDb2RlIHtcclxuXHRcdHdpZHRoOiAzMDB1cHg7XHJcblx0XHRoZWlnaHQ6IDkwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMUFFQUM5O1xyXG5cdFx0Zm9udC1zaXplOiAzMnVweDtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4MHVweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogNSU7XHJcblx0XHRsZWZ0OiA1NyU7XHJcblx0XHRtYXJnaW4tbGVmdDogLTIwMHVweDtcclxuXHR9XHJcblxyXG5cdC5iZWlqaW5nIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiA3MDB1cHg7XHJcblx0XHRoZWlnaHQ6IDI4MHVweDtcclxuXHRcdHRvcDogMjEwdXB4O1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0zNTB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuXHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjB1cHg7XHJcblx0fVxyXG5cclxuXHQuY29kZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHRcdGNvbG9yOiBibGFjaztcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Zm9udC1zaXplOiAzMnVweDtcclxuXHRcdHRvcDogMjMwdXB4O1xyXG5cdFx0bGVmdDogNTB1cHg7XHJcblx0XHR3aWR0aDogMjAwdXB4O1xyXG5cdH1cclxuXHJcblx0LmRpYW5saWFuZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHRcdGNvbG9yOiAjRTM0QjZFO1xyXG5cdFx0Zm9udC1zaXplOiAzMnVweDtcclxuXHRcdHRvcDogMjMwdXB4O1xyXG5cdFx0bGVmdDogMjYwdXB4O1xyXG5cdH1cclxuXHJcblx0LnhpYW5ncWluZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHRcdGNvbG9yOiAjRTM0QjZFO1xyXG5cdFx0Zm9udC1zaXplOiAzMnVweDtcclxuXHRcdHRvcDogMzcwdXB4O1xyXG5cdFx0bGVmdDogNTB1cHg7XHJcblx0XHR3aWR0aDogMjAwdXB4O1xyXG5cdFx0aGVpZ2h0OiA4MHVweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4MHVweDtcclxuXHRcdGJvcmRlcjogIzIxMjEyMSAydXB4IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQua2Fpc3VvIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDIwO1xyXG5cdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0Zm9udC1zaXplOiAzMnVweDtcclxuXHRcdHRvcDogMzcwdXB4O1xyXG5cdFx0cmlnaHQ6IDUwdXB4O1xyXG5cdFx0d2lkdGg6IDIwMHVweDtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkY1RjVEO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQuc3RhdHVzIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHotaW5kZXg6IDIwO1xyXG5cdFx0Y29sb3I6ICNFMzRCNkU7XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0dG9wOiAyMzB1cHg7XHJcblx0XHRyaWdodDogNjB1cHg7XHJcblx0fVxyXG5cclxuXHQueHVubGluZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHRcdHRvcDogMzkwdXB4O1xyXG5cdFx0cmlnaHQ6IDI4MHVweDtcclxuXHR9XHJcblxyXG5cdC5sYXN0UG9zaSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDtcclxuXHRcdGNvbG9yOiAjODU4NTg1O1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdHRvcDogMzAwdXB4O1xyXG5cdFx0bGVmdDogNTB1cHg7XHJcblx0fVxyXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///40\n");
  2258. =======
  2259. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@vue/babel-preset-app/node_modules/@babel/runtime/regenerator */ 41));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _bluWKM = __webpack_require__(/*! ../../static/js/bluWKM.js */ 44);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);}_next(undefined);});};} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var bluM = new _bluWKM.BluetoothManager();var _default = { data: function data() {return { curVal1: \"\", //下标\n location: true, mapTOP: 0, //地图据顶部高度\n bike_no: '', //车牌号\n mess: \"\", //父组件向子组件穿的值\n markers: [], //显示单车、停车的P\n polygons: [], //区域\n longitude: '', latitude: '', allArea: [], area: 0, show: false, //车子详情的布尔值\n id: '', //停车区域的ID\n polygons1: [], //可骑行区域 先用这个变量代表\n box_no: '', //中控编号\n bikeDetail: [], bikeId: '', areaID: '', low_power: '', state: '', use_state: '', parkAreaShow: false, //还车点是否显示\n noParkAreaShow: true, //禁停区是否显示\n areas: [], parking: [], parking_points: [], no_parking: [], no_parking_points: [], infoShow: false, allEle: [{\n text: '全部电量',\n value: 0,\n areaID: '' },\n\n {\n text: '70%以下',\n value: 1,\n areaID: '70' },\n\n {\n text: '60%以下',\n value: 2,\n areaID: '60' },\n\n {\n text: '50%以下',\n value: 3,\n areaID: '50' },\n\n {\n text: '30%以下',\n value: 4,\n areaID: '30' },\n\n {\n text: '20%以下',\n value: 5,\n areaID: '20' }],\n\n\n allArr: ['全部电量', '70%以下', '60%以下', '50%以下', '30%以下', '20%以下'],\n allStatus: [{\n text: '全部状态',\n value: 0,\n areaID: '' }],\n\n arrDay: ['使用状态', '1天未使用', '3天未使用', '7天未使用'],\n arrDayIndex: 0,\n allDay: [{\n text: '使用状态',\n value: 0 },\n\n {\n text: '1天未使用',\n value: 1 },\n\n {\n text: '3天未使用',\n value: 2 },\n\n {\n text: '7天未使用',\n value: 3 }],\n\n\n dianIndex: 0,\n arrState: ['全部状态'],\n arrIndex: 0,\n option: [{\n areaID: '',\n text: '全部区域',\n value: -1 }],\n\n areaIndex: 0,\n lineHeight: '',\n allState: '' };\n\n },\n onShow: function onShow() {\n // console.log(\"z这是数据235676677898899\")\n var that = this;\n setTimeout(function () {\n this.mess = uni.getStorageSync('allArea');\n this.curVal1 = uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0;\n }, 2000);\n },\n methods: {\n getBike_info: function getBike_info(bikeId) {var _this = this;\n __f__(\"log\", bikeId, \" at pages/index/index.vue:146\");\n uni.showLoading({\n title: '加载中...' });\n\n app.request('bike/getBikeInfo?bike_no=' + bikeId, '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, '获取车辆信息', \" at pages/index/index.vue:152\");\n if (res.data.bike_info == '') {\n _this.infoShow = false;\n uni.showToast({\n title: '暂无该车辆信息~' });\n\n } else {\n __f__(\"log\", res.data, '车辆信息', \" at pages/index/index.vue:159\");\n _this.bikeDetail = res.data.bike_info;\n _this.infoShow = true;\n }\n });\n },\n dianl: function dianl() {\n var that = this;\n uni.showActionSheet({\n itemList: that.allArr,\n success: function success(res) {\n this.markers = [];\n __f__(\"log\", res, \"pppppp\", \" at pages/index/index.vue:171\");\n that.dianIndex = res.tapIndex;\n that.low_power = that.allEle[res.tapIndex].areaID;\n __f__(\"log\", that.low_power, \"iiiiii\", \" at pages/index/index.vue:174\");\n that.getBikes(1);\n },\n fail: function fail(res) {} });\n\n },\n zhuangtai: function zhuangtai() {\n var that = this;\n __f__(\"log\", that.arrState, \"iiiiiiiiiii\", \" at pages/index/index.vue:182\");\n uni.showActionSheet({\n itemList: that.arrState,\n success: function success(res) {\n that.markers = [];\n __f__(\"log\", res, \" at pages/index/index.vue:187\");\n that.arrIndex = res.tapIndex;\n that.state = that.allState[res.tapIndex].areaID;\n that.getBikes(1);\n },\n fail: function fail(res) {} });\n\n },\n select: function select() {\n // console.log('11111')\n var that = this;\n var arr = [];\n __f__(\"log\", that.option, \" at pages/index/index.vue:199\");\n for (var i = 0; i < that.option.length; i++) {\n arr = arr.concat(that.option[i].text);\n }\n __f__(\"log\", arr, \" at pages/index/index.vue:203\");\n uni.showActionSheet({\n itemList: arr,\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:207\");\n that.markers = [];\n var index = res.tapIndex;\n that.areaIndex = index;\n that.areaID = that.option[index].areaID;\n that.curVal = res.tapIndex;\n that.getBikes(1);\n that.initData(1);\n },\n fail: function fail(res) {} });\n\n },\n shiyong: function shiyong() {\n var that = this;\n uni.showActionSheet({\n itemList: that.arrDay,\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:224\");\n this.markers = [];\n that.arrDayIndex = res.tapIndex;\n // console.log(that.allArr[res.tapIndex])\n var time = new Date().getTime();\n if (res.tapIndex == 0) {\n time = \"\";\n } else if (res.tapIndex == 1) {\n time = time - 86400000 * 1;\n } else if (res.tapIndex == 2) {\n time = time - 86400000 * 3;\n } else if (res.tapIndex == 3) {\n time = time - 86400000 * 7;\n }\n that.use_state = time;\n that.getBikes(1);\n },\n fail: function fail(res) {} });\n\n },\n search: function search() {\n __f__(\"log\", '11', \" at pages/index/index.vue:245\");\n uni.navigateTo({\n url: './bikeTest',\n success: function success() {\n\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/index/index.vue:252\");\n } });\n\n },\n detail: function detail() {\n this.infoShow = false;\n uni.navigateTo({\n url: './bike_detail?bike_no=' + this.bikeId });\n\n },\n maptap: function maptap(e) {\n // console.log(e)\n this.infoShow = false;\n },\n diankai: function diankai() {\n var that = this;\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.batteryUnlock);\n app.request('bike/openBatteryLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开电池锁成功',\n icon: 'none' });\n\n }\n });\n },\n xunling: function xunling() {\n var that = this;\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.bell);\n app.request('bike/bikeBell?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '响铃成功',\n icon: 'none' });\n\n }\n });\n },\n childMess: function childMess(e) {\n this.getBikes();\n },\n initData: function initData() {var _arguments = arguments,_this2 = this;return _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {var isLoad, that;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:isLoad = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : false;\n that = _this2;\n _this2.markers = [];\n uni.showLoading({\n title: '加载中...' });_context.next = 6;return (\n\n app.request('getAreas?put_area_id=' + that.areaID, '', 'GET').then(function (res) {\n uni.hideLoading();\n // console.log(res, 'quyu');\n var data = res.data;\n that.ridding_area = data.ridding_area;\n that.no_parking = data.no_parking_area;\n that.no_parking_points = data.no_parking_points;\n that.parking = data.parking_area;\n that.parking_points = data.parking_points;\n if (isLoad) {\n _this2.showArea(1);\n if (_this2.noParkAreaShow) _this2.showNoParking(0);\n if (_this2.parkAreaShow) _this2.showParking(0);\n }\n }));case 6:case \"end\":return _context.stop();}}}, _callee);}))();\n },\n showArea: function showArea() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type) {\n var ridding_area = this.ridding_area;\n this.polygons = ridding_area;\n } else {\n this.polygons = this.polygons.concat(this.ridding_area);\n }\n },\n clear: function clear() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type === 0) {\n var polygons = this.polygons.filter(function (polygons) {\n if (polygons.id.slice(0, 1) === 'A') {\n return false;\n }\n return true;\n });\n this.polygons = polygons;\n }\n if (type === 1) {\n var _polygons = this.polygons.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'P') {\n return true;\n }\n return false;\n });\n var markers = this.markers.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'p') {\n return true;\n }\n return false;\n });\n this.polygons = _polygons;\n this.markers = markers;\n }\n if (type === 2) {\n var _polygons2 = this.polygons.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'N') {\n return true;\n }\n return false;\n });\n var _markers = this.markers.filter(function (polygons) {\n if (polygons.id.slice(0, 1) !== 'n') {\n return true;\n }\n return false;\n });\n this.polygons = _polygons2;\n this.markers = _markers;\n }\n },\n //显示还车点 0:追加停车点 1:只显示停车点 2:删除停车点\n showParking: function showParking() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type === 0) {\n this.polygons = this.polygons.concat(this.parking);\n this.markers = this.markers.concat(this.parking_points);\n }\n if (type === 1) {\n this.polygons = this.parking;\n this.markers = this.markers;\n }\n\n if (type === 2) {\n this.clear(1);\n }\n },\n showNoParking: function showNoParking() {var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n if (type === 0) {\n this.polygons = this.polygons.concat(this.no_parking);\n this.markers = this.markers.concat(this.no_parking_points);\n }\n if (type === 1) {\n this.polygons = this.no_parking;\n this.markers = this.no_parking_points;\n }\n if (type === 2) {\n this.clear(2);\n }\n },\n scanCode: function scanCode() {\n var that = this;\n __f__(\"log\", 'scanCode', \" at pages/index/index.vue:396\");\n uni.scanCode({\n success: function success(res) {\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n that.bikeId = code;\n __f__(\"log\", that.bikeId, \" at pages/index/index.vue:402\");\n that.getBike_info(code);\n },\n fail: function fail() {\n uni.showToast({\n title: '扫码失败请重试',\n icon: 'none' });\n\n } });\n\n },\n getBikes: function getBikes() {var clear = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n var areaId = that.areaID;\n var low_power = that.low_power;\n var state = that.state;\n var use_state = that.use_state;\n var time = parseInt(use_state / 1000);\n // this.markers = '';\n if (time === 0) {\n time = '';\n }\n var data = {\n put_area_id: areaId,\n battery_power: low_power,\n all_states: state,\n last_use_bike_end_time: time };\n\n\n app.request('getBikes', data, 'POST').then(function (res) {\n uni.hideLoading();\n // console.log(res, 'bikes')\n var markers = that.markers;\n if (clear) {\n markers = that.markers.filter(function (marker) {\n if (marker.id.slice(0, 1) === 'B') {\n return false;\n }\n return true;\n });\n }\n that.markers = markers.concat(res.data);\n });\n },\n load: function load() {\n var that = this;\n uni.showLoading({\n title: '刷新中...' });\n\n __f__(\"log\", 'load', \" at pages/index/index.vue:454\");\n this.markers = [];\n if (this.noParkAreaShow) {\n this.showNoParking(0);\n } else {\n this.showNoParking(2);\n }\n if (this.parkAreaShow) {\n this.showParking(0);\n } else {\n this.showParking(2);\n }\n that.getBikes(1);\n setTimeout(function () {\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n __f__(\"log\", res, '定位信息', \" at pages/index/index.vue:471\");\n that.longitude = res.longitude;\n that.latitude = res.latitude;\n that.markers.unshift({\n // \"id\": \"B10010010006\",\n \"iconPath\": \"/static/img/bike_yunwei/111.jpg\",\n \"typer\": \"lixian\",\n \"width\": 38,\n \"height\": 38,\n \"zIndex\": 1101,\n longitude: res.longitude,\n latitude: res.latitude });\n\n\n uni.hideLoading();\n __f__(\"log\", that.markers, \"当前位置\", \" at pages/index/index.vue:486\");\n },\n fail: function fail(err) {\n uni.hideLoading();\n __f__(\"log\", err, \" at pages/index/index.vue:490\");\n } });\n\n }, 500);\n },\n posi: function posi() {\n // console.log(this.markers)\n this.markers.splice(0, 1);\n // console.log(this.markers)\n uni.showLoading({\n title: '定位中...',\n mask: true });\n\n __f__(\"log\", 'posi', \" at pages/index/index.vue:503\");\n //点击定位 \n var that = this;\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n\n __f__(\"log\", res, '定位信息', \" at pages/index/index.vue:510\");\n that.longitude = res.longitude;\n that.latitude = res.latitude;\n that.markers.unshift({\n // \"id\": \"B10010010006\",\n \"iconPath\": \"/static/img/bike_yunwei/111.jpg\",\n \"typer\": \"lixian\",\n \"width\": 38,\n \"height\": 38,\n \"zIndex\": 1101,\n longitude: res.longitude,\n latitude: res.latitude });\n\n\n uni.hideLoading();\n },\n fail: function fail(err) {\n uni.hideLoading();\n __f__(\"log\", err, \" at pages/index/index.vue:528\");\n } });\n\n },\n marker: function marker(e) {\n __f__(\"log\", e, \" at pages/index/index.vue:533\");\n // return;\n var that = this;\n // let type = markerId.slice(0, 1)\n //车辆索引\n // if (type === 'B') {\n\n // }\n var id = e.detail.markerId;\n id = id.substring(1, id.length);\n that.bikeId = id;\n that.getBike_info(id);\n },\n parkShow1: function parkShow1() {\n this.parkAreaShow = !this.parkAreaShow;\n __f__(\"log\", 'parkshow1', \" at pages/index/index.vue:548\");\n if (this.parkAreaShow) {\n this.showParking(0);\n } else {\n this.showParking(2);\n }\n },\n forbidShow: function forbidShow() {\n this.noParkAreaShow = !this.noParkAreaShow;\n if (this.noParkAreaShow) {\n this.showNoParking(0);\n } else {\n this.showNoParking(2);\n }\n } },\n\n mounted: function mounted() {\n // this.allData()\n // if (uni.getStorageSync('curVal')) {\n // \t// let active = this.swiperTabIdx;\n // \t// let areaId = uni.getStorageSync('curId');\n // \tconsole.log(\"这是初始加载数据\")\n // \tthis.allData()\n // \t// console.log(this.bike,\"这是车辆数据\")\n\n // } else {\n // \t// console.log(this.list)\n // \t// this.areaID = this.list[0].areaID;\n // \t// console.log(this.areaID, '12345678')\n // \tthis.allData()\n // }\n },\n // 获取车辆信息\n onLoad: function onLoad(options) {\n // console.log(app.request())\n var that = this;\n setTimeout(function () {\n var arr = uni.getStorageSync('allArea');\n __f__(\"log\", arr, \"ooooooo\", \" at pages/index/index.vue:586\");\n that.option = that.option.concat(arr);\n }, 500);\n app.request('index', '', 'GET').then(function (res) {\n __f__(\"log\", res.data, 'index', \" at pages/index/index.vue:590\");\n var data = res.data;\n var arr2 = [];\n for (var i = 0; i < data.wx_bikeStates.length; i++) {\n data.wx_bikeStates[i].value = i + 1;\n __f__(\"log\", data.wx_bikeStates[i].text, \"lllll\", \" at pages/index/index.vue:595\");\n arr2.push(data.wx_bikeStates[i].text);\n __f__(\"log\", arr2, \"kkkkkk\", \" at pages/index/index.vue:597\");\n }\n var arr1 = [{\n areaID: '',\n value: 0,\n text: '全部状态' }];\n\n var allState = arr1.concat(data.wx_bikeStates);\n __f__(\"log\", allState, \"pppppp\", \" at pages/index/index.vue:605\");\n var zhuangtai = data.bike_states;\n var arr = Object.values(zhuangtai);\n setTimeout(function () {\n that.allState = allState;\n that.arrState = that.arrState.concat(arr2);\n\n\n }, 500);\n });\n that.getBikes();\n __f__(\"log\", that.arrState, \"车辆位置\", \" at pages/index/index.vue:616\");\n switch (uni.getSystemInfoSync().platform) {\n case 'android':\n __f__(\"log\", '客户端是Android', \" at pages/index/index.vue:619\");\n that.lineHeight = '75';\n break;\n case 'ios':\n __f__(\"log\", '客户端是iOS', \" at pages/index/index.vue:623\");\n that.lineHeight = '80';\n break;}\n\n that.posi(); //获取当前位置\n this.initData(1);\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImJsdU0iLCJCbHVldG9vdGhNYW5hZ2VyIiwiZGF0YSIsImN1clZhbDEiLCJsb2NhdGlvbiIsIm1hcFRPUCIsImJpa2Vfbm8iLCJtZXNzIiwibWFya2VycyIsInBvbHlnb25zIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJhbGxBcmVhIiwiYXJlYSIsInNob3ciLCJpZCIsInBvbHlnb25zMSIsImJveF9ubyIsImJpa2VEZXRhaWwiLCJiaWtlSWQiLCJhcmVhSUQiLCJsb3dfcG93ZXIiLCJzdGF0ZSIsInVzZV9zdGF0ZSIsInBhcmtBcmVhU2hvdyIsIm5vUGFya0FyZWFTaG93IiwiYXJlYXMiLCJwYXJraW5nIiwicGFya2luZ19wb2ludHMiLCJub19wYXJraW5nIiwibm9fcGFya2luZ19wb2ludHMiLCJpbmZvU2hvdyIsImFsbEVsZSIsInRleHQiLCJ2YWx1ZSIsImFsbEFyciIsImFsbFN0YXR1cyIsImFyckRheSIsImFyckRheUluZGV4IiwiYWxsRGF5IiwiZGlhbkluZGV4IiwiYXJyU3RhdGUiLCJhcnJJbmRleCIsIm9wdGlvbiIsImFyZWFJbmRleCIsImxpbmVIZWlnaHQiLCJhbGxTdGF0ZSIsIm9uU2hvdyIsInRoYXQiLCJzZXRUaW1lb3V0IiwidW5pIiwiZ2V0U3RvcmFnZVN5bmMiLCJtZXRob2RzIiwiZ2V0QmlrZV9pbmZvIiwic2hvd0xvYWRpbmciLCJ0aXRsZSIsInJlcXVlc3QiLCJ0aGVuIiwicmVzIiwiaGlkZUxvYWRpbmciLCJiaWtlX2luZm8iLCJzaG93VG9hc3QiLCJkaWFubCIsInNob3dBY3Rpb25TaGVldCIsIml0ZW1MaXN0Iiwic3VjY2VzcyIsInRhcEluZGV4IiwiZ2V0QmlrZXMiLCJmYWlsIiwiemh1YW5ndGFpIiwic2VsZWN0IiwiYXJyIiwiaSIsImxlbmd0aCIsImNvbmNhdCIsImluZGV4IiwiY3VyVmFsIiwiaW5pdERhdGEiLCJzaGl5b25nIiwidGltZSIsIkRhdGUiLCJnZXRUaW1lIiwic2VhcmNoIiwibmF2aWdhdGVUbyIsInVybCIsImVyciIsImRldGFpbCIsIm1hcHRhcCIsImUiLCJkaWFua2FpIiwiY29ubmVjdERlaXZlY2UiLCJDTUQiLCJiYXR0ZXJ5VW5sb2NrIiwic3RhdHVzQ29kZSIsImljb24iLCJ4dW5saW5nIiwiYmVsbCIsImNoaWxkTWVzcyIsImlzTG9hZCIsInJpZGRpbmdfYXJlYSIsIm5vX3BhcmtpbmdfYXJlYSIsInBhcmtpbmdfYXJlYSIsInNob3dBcmVhIiwic2hvd05vUGFya2luZyIsInNob3dQYXJraW5nIiwidHlwZSIsImNsZWFyIiwiZmlsdGVyIiwic2xpY2UiLCJzY2FuQ29kZSIsInJlc3VsdCIsImxhc3RJbmRleE9mIiwiY29kZSIsInN1YnN0cmluZyIsImFyZWFJZCIsInBhcnNlSW50IiwicHV0X2FyZWFfaWQiLCJiYXR0ZXJ5X3Bvd2VyIiwiYWxsX3N0YXRlcyIsImxhc3RfdXNlX2Jpa2VfZW5kX3RpbWUiLCJtYXJrZXIiLCJsb2FkIiwiZ2V0TG9jYXRpb24iLCJ1bnNoaWZ0IiwicG9zaSIsInNwbGljZSIsIm1hc2siLCJtYXJrZXJJZCIsInBhcmtTaG93MSIsImZvcmJpZFNob3ciLCJtb3VudGVkIiwib25Mb2FkIiwib3B0aW9ucyIsImFycjIiLCJ3eF9iaWtlU3RhdGVzIiwicHVzaCIsImFycjEiLCJiaWtlX3N0YXRlcyIsIk9iamVjdCIsInZhbHVlcyIsImdldFN5c3RlbUluZm9TeW5jIiwicGxhdGZvcm0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0QkEsdUUsZ3RCQTVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsSUFBSUEsR0FBRyxHQUFHQyxNQUFNLEVBQWhCLENBTUEsSUFBTUMsSUFBSSxHQUFHLElBQUlDLHdCQUFKLEVBQWIsQyxlQUNlLEVBQ2RDLElBRGMsa0JBQ1AsQ0FDTixPQUFPLEVBQ05DLE9BQU8sRUFBRSxFQURILEVBQ087QUFDYkMsY0FBUSxFQUFFLElBRkosRUFHTkMsTUFBTSxFQUFFLENBSEYsRUFHSztBQUNYQyxhQUFPLEVBQUUsRUFKSCxFQUlPO0FBQ2JDLFVBQUksRUFBRSxFQUxBLEVBS0k7QUFDVkMsYUFBTyxFQUFFLEVBTkgsRUFNTztBQUNiQyxjQUFRLEVBQUUsRUFQSixFQU9RO0FBQ2RDLGVBQVMsRUFBRSxFQVJMLEVBU05DLFFBQVEsRUFBRSxFQVRKLEVBVU5DLE9BQU8sRUFBRSxFQVZILEVBV05DLElBQUksRUFBRSxDQVhBLEVBWU5DLElBQUksRUFBRSxLQVpBLEVBWU87QUFDYkMsUUFBRSxFQUFFLEVBYkUsRUFhRTtBQUNSQyxlQUFTLEVBQUUsRUFkTCxFQWNTO0FBQ2ZDLFlBQU0sRUFBRSxFQWZGLEVBZU07QUFDWkMsZ0JBQVUsRUFBRSxFQWhCTixFQWlCTkMsTUFBTSxFQUFFLEVBakJGLEVBa0JOQyxNQUFNLEVBQUUsRUFsQkYsRUFtQk5DLFNBQVMsRUFBRSxFQW5CTCxFQW9CTkMsS0FBSyxFQUFFLEVBcEJELEVBcUJOQyxTQUFTLEVBQUUsRUFyQkwsRUFzQk5DLFlBQVksRUFBRSxLQXRCUixFQXNCZTtBQUNyQkMsb0JBQWMsRUFBRSxJQXZCVixFQXVCZ0I7QUFDdEJDLFdBQUssRUFBRSxFQXhCRCxFQXlCTkMsT0FBTyxFQUFFLEVBekJILEVBMEJOQyxjQUFjLEVBQUUsRUExQlYsRUEyQk5DLFVBQVUsRUFBRSxFQTNCTixFQTRCTkMsaUJBQWlCLEVBQUUsRUE1QmIsRUE2Qk5DLFFBQVEsRUFBRSxLQTdCSixFQThCTkMsTUFBTSxFQUFFLENBQUM7QUFDUEMsWUFBSSxFQUFFLE1BREM7QUFFUEMsYUFBSyxFQUFFLENBRkE7QUFHUGQsY0FBTSxFQUFFLEVBSEQsRUFBRDs7QUFLUDtBQUNDYSxZQUFJLEVBQUUsT0FEUDtBQUVDQyxhQUFLLEVBQUUsQ0FGUjtBQUdDZCxjQUFNLEVBQUUsSUFIVCxFQUxPOztBQVVQO0FBQ0NhLFlBQUksRUFBRSxPQURQO0FBRUNDLGFBQUssRUFBRSxDQUZSO0FBR0NkLGNBQU0sRUFBRSxJQUhULEVBVk87O0FBZVA7QUFDQ2EsWUFBSSxFQUFFLE9BRFA7QUFFQ0MsYUFBSyxFQUFFLENBRlI7QUFHQ2QsY0FBTSxFQUFFLElBSFQsRUFmTzs7QUFvQlA7QUFDQ2EsWUFBSSxFQUFFLE9BRFA7QUFFQ0MsYUFBSyxFQUFFLENBRlI7QUFHQ2QsY0FBTSxFQUFFLElBSFQsRUFwQk87O0FBeUJQO0FBQ0NhLFlBQUksRUFBRSxPQURQO0FBRUNDLGFBQUssRUFBRSxDQUZSO0FBR0NkLGNBQU0sRUFBRSxJQUhULEVBekJPLENBOUJGOzs7QUE2RE5lLFlBQU0sRUFBRSxDQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCLE9BQWxCLEVBQTJCLE9BQTNCLEVBQW9DLE9BQXBDLEVBQTZDLE9BQTdDLENBN0RGO0FBOEROQyxlQUFTLEVBQUUsQ0FBQztBQUNYSCxZQUFJLEVBQUUsTUFESztBQUVYQyxhQUFLLEVBQUUsQ0FGSTtBQUdYZCxjQUFNLEVBQUUsRUFIRyxFQUFELENBOURMOztBQW1FTmlCLFlBQU0sRUFBRSxDQUFDLE1BQUQsRUFBUyxPQUFULEVBQWtCLE9BQWxCLEVBQTJCLE9BQTNCLENBbkVGO0FBb0VOQyxpQkFBVyxFQUFFLENBcEVQO0FBcUVOQyxZQUFNLEVBQUUsQ0FBQztBQUNQTixZQUFJLEVBQUUsTUFEQztBQUVQQyxhQUFLLEVBQUUsQ0FGQSxFQUFEOztBQUlQO0FBQ0NELFlBQUksRUFBRSxPQURQO0FBRUNDLGFBQUssRUFBRSxDQUZSLEVBSk87O0FBUVA7QUFDQ0QsWUFBSSxFQUFFLE9BRFA7QUFFQ0MsYUFBSyxFQUFFLENBRlIsRUFSTzs7QUFZUDtBQUNDRCxZQUFJLEVBQUUsT0FEUDtBQUVDQyxhQUFLLEVBQUUsQ0FGUixFQVpPLENBckVGOzs7QUFzRk5NLGVBQVMsRUFBRSxDQXRGTDtBQXVGTkMsY0FBUSxFQUFFLENBQUMsTUFBRCxDQXZGSjtBQXdGTkMsY0FBUSxFQUFFLENBeEZKO0FBeUZOQyxZQUFNLEVBQUUsQ0FBQztBQUNSdkIsY0FBTSxFQUFFLEVBREE7QUFFUmEsWUFBSSxFQUFFLE1BRkU7QUFHUkMsYUFBSyxFQUFFLENBQUMsQ0FIQSxFQUFELENBekZGOztBQThGTlUsZUFBUyxFQUFFLENBOUZMO0FBK0ZOQyxnQkFBVSxFQUFFLEVBL0ZOO0FBZ0dOQyxjQUFRLEVBQUUsRUFoR0osRUFBUDs7QUFrR0EsR0FwR2E7QUFxR2RDLFFBckdjLG9CQXFHTDtBQUNSO0FBQ0EsUUFBSUMsSUFBSSxHQUFHLElBQVg7QUFDQUMsY0FBVSxDQUFDLFlBQVc7QUFDckIsV0FBSzFDLElBQUwsR0FBWTJDLEdBQUcsQ0FBQ0MsY0FBSixDQUFtQixTQUFuQixDQUFaO0FBQ0EsV0FBS2hELE9BQUwsR0FBZStDLEdBQUcsQ0FBQ0MsY0FBSixDQUFtQixRQUFuQixJQUErQkQsR0FBRyxDQUFDQyxjQUFKLENBQW1CLFFBQW5CLENBQS9CLEdBQThELENBQTdFO0FBQ0EsS0FIUyxFQUdQLElBSE8sQ0FBVjtBQUlBLEdBNUdhO0FBNkdkQyxTQUFPLEVBQUU7QUFDUkMsZ0JBQVksRUFBRSxzQkFBU2xDLE1BQVQsRUFBaUI7QUFDOUIsbUJBQVlBLE1BQVo7QUFDQStCLFNBQUcsQ0FBQ0ksV0FBSixDQUFnQjtBQUNmQyxhQUFLLEVBQUUsUUFEUSxFQUFoQjs7QUFHQXpELFNBQUcsQ0FBQzBELE9BQUosQ0FBWSw4QkFBOEJyQyxNQUExQyxFQUFrRCxFQUFsRCxFQUFzRCxLQUF0RCxFQUE2RHNDLElBQTdELENBQWtFLFVBQUFDLEdBQUcsRUFBSTtBQUN4RVIsV0FBRyxDQUFDUyxXQUFKO0FBQ0EscUJBQVlELEdBQVosRUFBaUIsUUFBakI7QUFDQSxZQUFJQSxHQUFHLENBQUN4RCxJQUFKLENBQVMwRCxTQUFULElBQXNCLEVBQTFCLEVBQThCO0FBQzdCLGVBQUksQ0FBQzdCLFFBQUwsR0FBZ0IsS0FBaEI7QUFDQW1CLGFBQUcsQ0FBQ1csU0FBSixDQUFjO0FBQ2JOLGlCQUFLLEVBQUUsVUFETSxFQUFkOztBQUdBLFNBTEQsTUFLTztBQUNOLHVCQUFZRyxHQUFHLENBQUN4RCxJQUFoQixFQUFzQixNQUF0QjtBQUNBLGVBQUksQ0FBQ2dCLFVBQUwsR0FBa0J3QyxHQUFHLENBQUN4RCxJQUFKLENBQVMwRCxTQUEzQjtBQUNBLGVBQUksQ0FBQzdCLFFBQUwsR0FBZ0IsSUFBaEI7QUFDQTtBQUNELE9BYkQ7QUFjQSxLQXBCTztBQXFCUitCLFNBQUssRUFBRSxpQkFBVztBQUNqQixVQUFJZCxJQUFJLEdBQUcsSUFBWDtBQUNBRSxTQUFHLENBQUNhLGVBQUosQ0FBb0I7QUFDbkJDLGdCQUFRLEVBQUVoQixJQUFJLENBQUNiLE1BREk7QUFFbkI4QixlQUFPLEVBQUUsaUJBQVNQLEdBQVQsRUFBYztBQUN0QixlQUFLbEQsT0FBTCxHQUFlLEVBQWY7QUFDQSx1QkFBWWtELEdBQVosRUFBaUIsUUFBakI7QUFDQVYsY0FBSSxDQUFDUixTQUFMLEdBQWlCa0IsR0FBRyxDQUFDUSxRQUFyQjtBQUNBbEIsY0FBSSxDQUFDM0IsU0FBTCxHQUFpQjJCLElBQUksQ0FBQ2hCLE1BQUwsQ0FBWTBCLEdBQUcsQ0FBQ1EsUUFBaEIsRUFBMEI5QyxNQUEzQztBQUNBLHVCQUFZNEIsSUFBSSxDQUFDM0IsU0FBakIsRUFBNEIsUUFBNUI7QUFDQTJCLGNBQUksQ0FBQ21CLFFBQUwsQ0FBYyxDQUFkO0FBQ0EsU0FUa0I7QUFVbkJDLFlBQUksRUFBRSxjQUFTVixHQUFULEVBQWMsQ0FBRSxDQVZILEVBQXBCOztBQVlBLEtBbkNPO0FBb0NSVyxhQUFTLEVBQUUscUJBQVc7QUFDckIsVUFBSXJCLElBQUksR0FBRyxJQUFYO0FBQ0EsbUJBQVlBLElBQUksQ0FBQ1AsUUFBakIsRUFBMEIsYUFBMUI7QUFDQVMsU0FBRyxDQUFDYSxlQUFKLENBQW9CO0FBQ25CQyxnQkFBUSxFQUFFaEIsSUFBSSxDQUFDUCxRQURJO0FBRW5Cd0IsZUFBTyxFQUFFLGlCQUFTUCxHQUFULEVBQWM7QUFDdEJWLGNBQUksQ0FBQ3hDLE9BQUwsR0FBZSxFQUFmO0FBQ0EsdUJBQVlrRCxHQUFaO0FBQ0FWLGNBQUksQ0FBQ04sUUFBTCxHQUFnQmdCLEdBQUcsQ0FBQ1EsUUFBcEI7QUFDQWxCLGNBQUksQ0FBQzFCLEtBQUwsR0FBYTBCLElBQUksQ0FBQ0YsUUFBTCxDQUFjWSxHQUFHLENBQUNRLFFBQWxCLEVBQTRCOUMsTUFBekM7QUFDQTRCLGNBQUksQ0FBQ21CLFFBQUwsQ0FBYyxDQUFkO0FBQ0EsU0FSa0I7QUFTbkJDLFlBQUksRUFBRSxjQUFTVixHQUFULEVBQWMsQ0FBRSxDQVRILEVBQXBCOztBQVdBLEtBbERPO0FBbURSWSxVQUFNLEVBQUUsa0JBQVc7QUFDbEI7QUFDQSxVQUFJdEIsSUFBSSxHQUFHLElBQVg7QUFDQSxVQUFJdUIsR0FBRyxHQUFHLEVBQVY7QUFDQSxtQkFBWXZCLElBQUksQ0FBQ0wsTUFBakI7QUFDQSxXQUFLLElBQUk2QixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHeEIsSUFBSSxDQUFDTCxNQUFMLENBQVk4QixNQUFoQyxFQUF3Q0QsQ0FBQyxFQUF6QyxFQUE2QztBQUM1Q0QsV0FBRyxHQUFHQSxHQUFHLENBQUNHLE1BQUosQ0FBVzFCLElBQUksQ0FBQ0wsTUFBTCxDQUFZNkIsQ0FBWixFQUFldkMsSUFBMUIsQ0FBTjtBQUNBO0FBQ0QsbUJBQVlzQyxHQUFaO0FBQ0FyQixTQUFHLENBQUNhLGVBQUosQ0FBb0I7QUFDbkJDLGdCQUFRLEVBQUVPLEdBRFM7QUFFbkJOLGVBQU8sRUFBRSxpQkFBU1AsR0FBVCxFQUFjO0FBQ3RCLHVCQUFZQSxHQUFaO0FBQ0FWLGNBQUksQ0FBQ3hDLE9BQUwsR0FBZSxFQUFmO0FBQ0EsY0FBSW1FLEtBQUssR0FBR2pCLEdBQUcsQ0FBQ1EsUUFBaEI7QUFDQWxCLGNBQUksQ0FBQ0osU0FBTCxHQUFpQitCLEtBQWpCO0FBQ0EzQixjQUFJLENBQUM1QixNQUFMLEdBQWM0QixJQUFJLENBQUNMLE1BQUwsQ0FBWWdDLEtBQVosRUFBbUJ2RCxNQUFqQztBQUNBNEIsY0FBSSxDQUFDNEIsTUFBTCxHQUFjbEIsR0FBRyxDQUFDUSxRQUFsQjtBQUNBbEIsY0FBSSxDQUFDbUIsUUFBTCxDQUFjLENBQWQ7QUFDQW5CLGNBQUksQ0FBQzZCLFFBQUwsQ0FBYyxDQUFkO0FBQ0EsU0FYa0I7QUFZbkJULFlBQUksRUFBRSxjQUFTVixHQUFULEVBQWMsQ0FBRSxDQVpILEVBQXBCOztBQWNBLEtBMUVPO0FBMkVSb0IsV0FBTyxFQUFFLG1CQUFXO0FBQ25CLFVBQUk5QixJQUFJLEdBQUcsSUFBWDtBQUNBRSxTQUFHLENBQUNhLGVBQUosQ0FBb0I7QUFDbkJDLGdCQUFRLEVBQUVoQixJQUFJLENBQUNYLE1BREk7QUFFbkI0QixlQUFPLEVBQUUsaUJBQVNQLEdBQVQsRUFBYztBQUN0Qix1QkFBWUEsR0FBWjtBQUNBLGVBQUtsRCxPQUFMLEdBQWUsRUFBZjtBQUNBd0MsY0FBSSxDQUFDVixXQUFMLEdBQW1Cb0IsR0FBRyxDQUFDUSxRQUF2QjtBQUNBO0FBQ0EsY0FBSWEsSUFBSSxHQUFHLElBQUlDLElBQUosR0FBV0MsT0FBWCxFQUFYO0FBQ0EsY0FBSXZCLEdBQUcsQ0FBQ1EsUUFBSixJQUFnQixDQUFwQixFQUF1QjtBQUN0QmEsZ0JBQUksR0FBRyxFQUFQO0FBQ0EsV0FGRCxNQUVPLElBQUlyQixHQUFHLENBQUNRLFFBQUosSUFBZ0IsQ0FBcEIsRUFBdUI7QUFDN0JhLGdCQUFJLEdBQUdBLElBQUksR0FBRyxXQUFXLENBQXpCO0FBQ0EsV0FGTSxNQUVBLElBQUlyQixHQUFHLENBQUNRLFFBQUosSUFBZ0IsQ0FBcEIsRUFBdUI7QUFDN0JhLGdCQUFJLEdBQUdBLElBQUksR0FBRyxXQUFXLENBQXpCO0FBQ0EsV0FGTSxNQUVBLElBQUlyQixHQUFHLENBQUNRLFFBQUosSUFBZ0IsQ0FBcEIsRUFBdUI7QUFDN0JhLGdCQUFJLEdBQUdBLElBQUksR0FBRyxXQUFXLENBQXpCO0FBQ0E7QUFDRC9CLGNBQUksQ0FBQ3pCLFNBQUwsR0FBaUJ3RCxJQUFqQjtBQUNBL0IsY0FBSSxDQUFDbUIsUUFBTCxDQUFjLENBQWQ7QUFDQSxTQW5Ca0I7QUFvQm5CQyxZQUFJLEVBQUUsY0FBU1YsR0FBVCxFQUFjLENBQUUsQ0FwQkgsRUFBcEI7O0FBc0JBLEtBbkdPO0FBb0dSd0IsVUFBTSxFQUFFLGtCQUFXO0FBQ2xCLG1CQUFZLElBQVo7QUFDQWhDLFNBQUcsQ0FBQ2lDLFVBQUosQ0FBZTtBQUNkQyxXQUFHLEVBQUUsWUFEUztBQUVkbkIsZUFGYyxxQkFFSjs7QUFFVCxTQUphO0FBS2RHLFlBTGMsZ0JBS1RpQixHQUxTLEVBS0o7QUFDVCx1QkFBWUEsR0FBWjtBQUNBLFNBUGEsRUFBZjs7QUFTQSxLQS9HTztBQWdIUkMsVUFBTSxFQUFFLGtCQUFXO0FBQ2xCLFdBQUt2RCxRQUFMLEdBQWdCLEtBQWhCO0FBQ0FtQixTQUFHLENBQUNpQyxVQUFKLENBQWU7QUFDZEMsV0FBRyxFQUFFLDJCQUEyQixLQUFLakUsTUFEdkIsRUFBZjs7QUFHQSxLQXJITztBQXNIUm9FLFVBQU0sRUFBRSxnQkFBU0MsQ0FBVCxFQUFZO0FBQ25CO0FBQ0EsV0FBS3pELFFBQUwsR0FBZ0IsS0FBaEI7QUFDQSxLQXpITztBQTBIUjBELFdBQU8sRUFBRSxtQkFBVztBQUNuQixVQUFJekMsSUFBSSxHQUFHLElBQVg7QUFDQWhELFVBQUksQ0FBQzBGLGNBQUwsQ0FBb0IxQyxJQUFJLENBQUM5QixVQUFMLENBQWdCRCxNQUFwQyxFQUE0QzBFLFlBQUlDLGFBQWhEO0FBQ0E5RixTQUFHLENBQUMwRCxPQUFKLENBQVksa0NBQWtDUixJQUFJLENBQUM5QixVQUFMLENBQWdCSCxFQUE5RCxFQUFrRSxFQUFsRSxFQUFzRSxLQUF0RSxFQUE2RTBDLElBQTdFLENBQWtGLFVBQUFDLEdBQUcsRUFBSTtBQUN4RixZQUFJQSxHQUFHLENBQUNtQyxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQzFCM0MsYUFBRyxDQUFDVyxTQUFKLENBQWM7QUFDYk4saUJBQUssRUFBRSxRQURNO0FBRWJ1QyxnQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQTtBQUNELE9BUEQ7QUFRQSxLQXJJTztBQXNJUkMsV0FBTyxFQUFFLG1CQUFXO0FBQ25CLFVBQUkvQyxJQUFJLEdBQUcsSUFBWDtBQUNBaEQsVUFBSSxDQUFDMEYsY0FBTCxDQUFvQjFDLElBQUksQ0FBQzlCLFVBQUwsQ0FBZ0JELE1BQXBDLEVBQTRDMEUsWUFBSUssSUFBaEQ7QUFDQWxHLFNBQUcsQ0FBQzBELE9BQUosQ0FBWSwyQkFBMkJSLElBQUksQ0FBQzlCLFVBQUwsQ0FBZ0JILEVBQXZELEVBQTJELEVBQTNELEVBQStELEtBQS9ELEVBQXNFMEMsSUFBdEUsQ0FBMkUsVUFBQUMsR0FBRyxFQUFJO0FBQ2pGLFlBQUlBLEdBQUcsQ0FBQ21DLFVBQUosSUFBa0IsR0FBdEIsRUFBMkI7QUFDMUIzQyxhQUFHLENBQUNXLFNBQUosQ0FBYztBQUNiTixpQkFBSyxFQUFFLE1BRE07QUFFYnVDLGdCQUFJLEVBQUUsTUFGTyxFQUFkOztBQUlBO0FBQ0QsT0FQRDtBQVFBLEtBakpPO0FBa0pSRyxhQUFTLEVBQUUsbUJBQVNULENBQVQsRUFBWTtBQUN0QixXQUFLckIsUUFBTDtBQUNBLEtBcEpPO0FBcUpGVSxZQXJKRSxzQkFxSnVCLHdRQUFoQnFCLE1BQWdCLDBFQUFQLEtBQU87QUFDMUJsRCxvQkFEMEIsR0FDbkIsTUFEbUI7QUFFOUIsc0JBQUksQ0FBQ3hDLE9BQUwsR0FBZSxFQUFmO0FBQ0EwQyxtQkFBRyxDQUFDSSxXQUFKLENBQWdCO0FBQ2ZDLHVCQUFLLEVBQUUsUUFEUSxFQUFoQixFQUg4Qjs7QUFNeEJ6RCxxQkFBRyxDQUFDMEQsT0FBSixDQUFZLDBCQUEwQlIsSUFBSSxDQUFDNUIsTUFBM0MsRUFBbUQsRUFBbkQsRUFBdUQsS0FBdkQsRUFBOERxQyxJQUE5RCxDQUFtRSxVQUFBQyxHQUFHLEVBQUk7QUFDL0VSLHVCQUFHLENBQUNTLFdBQUo7QUFDQTtBQUNBLHdCQUFJekQsSUFBSSxHQUFHd0QsR0FBRyxDQUFDeEQsSUFBZjtBQUNBOEMsd0JBQUksQ0FBQ21ELFlBQUwsR0FBb0JqRyxJQUFJLENBQUNpRyxZQUF6QjtBQUNBbkQsd0JBQUksQ0FBQ25CLFVBQUwsR0FBa0IzQixJQUFJLENBQUNrRyxlQUF2QjtBQUNBcEQsd0JBQUksQ0FBQ2xCLGlCQUFMLEdBQXlCNUIsSUFBSSxDQUFDNEIsaUJBQTlCO0FBQ0FrQix3QkFBSSxDQUFDckIsT0FBTCxHQUFlekIsSUFBSSxDQUFDbUcsWUFBcEI7QUFDQXJELHdCQUFJLENBQUNwQixjQUFMLEdBQXNCMUIsSUFBSSxDQUFDMEIsY0FBM0I7QUFDQSx3QkFBSXNFLE1BQUosRUFBWTtBQUNYLDRCQUFJLENBQUNJLFFBQUwsQ0FBYyxDQUFkO0FBQ0EsMEJBQUksTUFBSSxDQUFDN0UsY0FBVCxFQUF5QixNQUFJLENBQUM4RSxhQUFMLENBQW1CLENBQW5CO0FBQ3pCLDBCQUFJLE1BQUksQ0FBQy9FLFlBQVQsRUFBdUIsTUFBSSxDQUFDZ0YsV0FBTCxDQUFpQixDQUFqQjtBQUN2QjtBQUNELG1CQWRLLENBTndCO0FBcUI5QixLQTFLTztBQTJLUkYsWUFBUSxFQUFFLG9CQUFtQixLQUFWRyxJQUFVLHVFQUFILENBQUc7QUFDNUIsVUFBSUEsSUFBSixFQUFVO0FBQ1QsWUFBSU4sWUFBWSxHQUFHLEtBQUtBLFlBQXhCO0FBQ0EsYUFBSzFGLFFBQUwsR0FBZ0IwRixZQUFoQjtBQUNBLE9BSEQsTUFHTztBQUNOLGFBQUsxRixRQUFMLEdBQWdCLEtBQUtBLFFBQUwsQ0FBY2lFLE1BQWQsQ0FBcUIsS0FBS3lCLFlBQTFCLENBQWhCO0FBQ0E7QUFDRCxLQWxMTztBQW1MUk8sU0FBSyxFQUFFLGlCQUFtQixLQUFWRCxJQUFVLHVFQUFILENBQUc7QUFDekIsVUFBSUEsSUFBSSxLQUFLLENBQWIsRUFBZ0I7QUFDZixZQUFJaEcsUUFBUSxHQUFHLEtBQUtBLFFBQUwsQ0FBY2tHLE1BQWQsQ0FBcUIsVUFBQ2xHLFFBQUQsRUFBYztBQUNqRCxjQUFJQSxRQUFRLENBQUNNLEVBQVQsQ0FBWTZGLEtBQVosQ0FBa0IsQ0FBbEIsRUFBcUIsQ0FBckIsTUFBNEIsR0FBaEMsRUFBcUM7QUFDcEMsbUJBQU8sS0FBUDtBQUNBO0FBQ0QsaUJBQU8sSUFBUDtBQUNBLFNBTGMsQ0FBZjtBQU1BLGFBQUtuRyxRQUFMLEdBQWdCQSxRQUFoQjtBQUNBO0FBQ0QsVUFBSWdHLElBQUksS0FBSyxDQUFiLEVBQWdCO0FBQ2YsWUFBSWhHLFNBQVEsR0FBRyxLQUFLQSxRQUFMLENBQWNrRyxNQUFkLENBQXFCLFVBQUNsRyxRQUFELEVBQWM7QUFDakQsY0FBSUEsUUFBUSxDQUFDTSxFQUFULENBQVk2RixLQUFaLENBQWtCLENBQWxCLEVBQXFCLENBQXJCLE1BQTRCLEdBQWhDLEVBQXFDO0FBQ3BDLG1CQUFPLElBQVA7QUFDQTtBQUNELGlCQUFPLEtBQVA7QUFDQSxTQUxjLENBQWY7QUFNQSxZQUFJcEcsT0FBTyxHQUFHLEtBQUtBLE9BQUwsQ0FBYW1HLE1BQWIsQ0FBb0IsVUFBQ2xHLFFBQUQsRUFBYztBQUMvQyxjQUFJQSxRQUFRLENBQUNNLEVBQVQsQ0FBWTZGLEtBQVosQ0FBa0IsQ0FBbEIsRUFBcUIsQ0FBckIsTUFBNEIsR0FBaEMsRUFBcUM7QUFDcEMsbUJBQU8sSUFBUDtBQUNBO0FBQ0QsaUJBQU8sS0FBUDtBQUNBLFNBTGEsQ0FBZDtBQU1BLGFBQUtuRyxRQUFMLEdBQWdCQSxTQUFoQjtBQUNBLGFBQUtELE9BQUwsR0FBZUEsT0FBZjtBQUNBO0FBQ0QsVUFBSWlHLElBQUksS0FBSyxDQUFiLEVBQWdCO0FBQ2YsWUFBSWhHLFVBQVEsR0FBRyxLQUFLQSxRQUFMLENBQWNrRyxNQUFkLENBQXFCLFVBQUNsRyxRQUFELEVBQWM7QUFDakQsY0FBSUEsUUFBUSxDQUFDTSxFQUFULENBQVk2RixLQUFaLENBQWtCLENBQWxCLEVBQXFCLENBQXJCLE1BQTRCLEdBQWhDLEVBQXFDO0FBQ3BDLG1CQUFPLElBQVA7QUFDQTtBQUNELGlCQUFPLEtBQVA7QUFDQSxTQUxjLENBQWY7QUFNQSxZQUFJcEcsUUFBTyxHQUFHLEtBQUtBLE9BQUwsQ0FBYW1HLE1BQWIsQ0FBb0IsVUFBQ2xHLFFBQUQsRUFBYztBQUMvQyxjQUFJQSxRQUFRLENBQUNNLEVBQVQsQ0FBWTZGLEtBQVosQ0FBa0IsQ0FBbEIsRUFBcUIsQ0FBckIsTUFBNEIsR0FBaEMsRUFBcUM7QUFDcEMsbUJBQU8sSUFBUDtBQUNBO0FBQ0QsaUJBQU8sS0FBUDtBQUNBLFNBTGEsQ0FBZDtBQU1BLGFBQUtuRyxRQUFMLEdBQWdCQSxVQUFoQjtBQUNBLGFBQUtELE9BQUwsR0FBZUEsUUFBZjtBQUNBO0FBQ0QsS0E3Tk87QUE4TlI7QUFDQWdHLGVBQVcsRUFBRSx1QkFBbUIsS0FBVkMsSUFBVSx1RUFBSCxDQUFHO0FBQy9CLFVBQUlBLElBQUksS0FBSyxDQUFiLEVBQWdCO0FBQ2YsYUFBS2hHLFFBQUwsR0FBZ0IsS0FBS0EsUUFBTCxDQUFjaUUsTUFBZCxDQUFxQixLQUFLL0MsT0FBMUIsQ0FBaEI7QUFDQSxhQUFLbkIsT0FBTCxHQUFlLEtBQUtBLE9BQUwsQ0FBYWtFLE1BQWIsQ0FBb0IsS0FBSzlDLGNBQXpCLENBQWY7QUFDQTtBQUNELFVBQUk2RSxJQUFJLEtBQUssQ0FBYixFQUFnQjtBQUNmLGFBQUtoRyxRQUFMLEdBQWdCLEtBQUtrQixPQUFyQjtBQUNBLGFBQUtuQixPQUFMLEdBQWUsS0FBS0EsT0FBcEI7QUFDQTs7QUFFRCxVQUFJaUcsSUFBSSxLQUFLLENBQWIsRUFBZ0I7QUFDZixhQUFLQyxLQUFMLENBQVcsQ0FBWDtBQUNBO0FBQ0QsS0E1T087QUE2T1JILGlCQUFhLEVBQUUseUJBQW1CLEtBQVZFLElBQVUsdUVBQUgsQ0FBRztBQUNqQyxVQUFJQSxJQUFJLEtBQUssQ0FBYixFQUFnQjtBQUNmLGFBQUtoRyxRQUFMLEdBQWdCLEtBQUtBLFFBQUwsQ0FBY2lFLE1BQWQsQ0FBcUIsS0FBSzdDLFVBQTFCLENBQWhCO0FBQ0EsYUFBS3JCLE9BQUwsR0FBZSxLQUFLQSxPQUFMLENBQWFrRSxNQUFiLENBQW9CLEtBQUs1QyxpQkFBekIsQ0FBZjtBQUNBO0FBQ0QsVUFBSTJFLElBQUksS0FBSyxDQUFiLEVBQWdCO0FBQ2YsYUFBS2hHLFFBQUwsR0FBZ0IsS0FBS29CLFVBQXJCO0FBQ0EsYUFBS3JCLE9BQUwsR0FBZSxLQUFLc0IsaUJBQXBCO0FBQ0E7QUFDRCxVQUFJMkUsSUFBSSxLQUFLLENBQWIsRUFBZ0I7QUFDZixhQUFLQyxLQUFMLENBQVcsQ0FBWDtBQUNBO0FBQ0QsS0F6UE87QUEwUFJHLFlBQVEsRUFBRSxvQkFBVztBQUNwQixVQUFJN0QsSUFBSSxHQUFHLElBQVg7QUFDQSxtQkFBWSxVQUFaO0FBQ0FFLFNBQUcsQ0FBQzJELFFBQUosQ0FBYTtBQUNaNUMsZUFBTyxFQUFFLGlCQUFTUCxHQUFULEVBQWM7QUFDdEIsY0FBSWlCLEtBQUssR0FBR2pCLEdBQUcsQ0FBQ29ELE1BQUosQ0FBV0MsV0FBWCxDQUF1QixJQUF2QixDQUFaO0FBQ0EsY0FBSUMsSUFBSSxHQUFHdEQsR0FBRyxDQUFDb0QsTUFBSixDQUFXRyxTQUFYLENBQXFCdEMsS0FBSyxHQUFHLENBQTdCLEVBQWdDakIsR0FBRyxDQUFDb0QsTUFBSixDQUFXckMsTUFBM0MsQ0FBWDtBQUNBekIsY0FBSSxDQUFDN0IsTUFBTCxHQUFjNkYsSUFBZDtBQUNBLHVCQUFZaEUsSUFBSSxDQUFDN0IsTUFBakI7QUFDQTZCLGNBQUksQ0FBQ0ssWUFBTCxDQUFrQjJELElBQWxCO0FBQ0EsU0FQVztBQVFaNUMsWUFBSSxFQUFFLGdCQUFXO0FBQ2hCbEIsYUFBRyxDQUFDVyxTQUFKLENBQWM7QUFDYk4saUJBQUssRUFBRSxTQURNO0FBRWJ1QyxnQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQSxTQWJXLEVBQWI7O0FBZUEsS0E1UU87QUE2UVIzQixZQUFRLEVBQUUsb0JBQW9CLEtBQVh1QyxLQUFXLHVFQUFILENBQUc7QUFDN0J4RCxTQUFHLENBQUNJLFdBQUosQ0FBZ0I7QUFDZkMsYUFBSyxFQUFFLFFBRFEsRUFBaEI7O0FBR0EsVUFBSVAsSUFBSSxHQUFHLElBQVg7QUFDQSxVQUFJa0UsTUFBTSxHQUFHbEUsSUFBSSxDQUFDNUIsTUFBbEI7QUFDQSxVQUFJQyxTQUFTLEdBQUcyQixJQUFJLENBQUMzQixTQUFyQjtBQUNBLFVBQUlDLEtBQUssR0FBRzBCLElBQUksQ0FBQzFCLEtBQWpCO0FBQ0EsVUFBSUMsU0FBUyxHQUFHeUIsSUFBSSxDQUFDekIsU0FBckI7QUFDQSxVQUFJd0QsSUFBSSxHQUFHb0MsUUFBUSxDQUFDNUYsU0FBUyxHQUFHLElBQWIsQ0FBbkI7QUFDQTtBQUNBLFVBQUl3RCxJQUFJLEtBQUssQ0FBYixFQUFnQjtBQUNmQSxZQUFJLEdBQUcsRUFBUDtBQUNBO0FBQ0QsVUFBSTdFLElBQUksR0FBRztBQUNWa0gsbUJBQVcsRUFBRUYsTUFESDtBQUVWRyxxQkFBYSxFQUFFaEcsU0FGTDtBQUdWaUcsa0JBQVUsRUFBRWhHLEtBSEY7QUFJVmlHLDhCQUFzQixFQUFFeEMsSUFKZCxFQUFYOzs7QUFPQWpGLFNBQUcsQ0FBQzBELE9BQUosQ0FBWSxVQUFaLEVBQXdCdEQsSUFBeEIsRUFBOEIsTUFBOUIsRUFBc0N1RCxJQUF0QyxDQUEyQyxVQUFBQyxHQUFHLEVBQUk7QUFDakRSLFdBQUcsQ0FBQ1MsV0FBSjtBQUNBO0FBQ0EsWUFBSW5ELE9BQU8sR0FBR3dDLElBQUksQ0FBQ3hDLE9BQW5CO0FBQ0EsWUFBSWtHLEtBQUosRUFBVztBQUNWbEcsaUJBQU8sR0FBR3dDLElBQUksQ0FBQ3hDLE9BQUwsQ0FBYW1HLE1BQWIsQ0FBb0IsVUFBQ2EsTUFBRCxFQUFZO0FBQ3pDLGdCQUFJQSxNQUFNLENBQUN6RyxFQUFQLENBQVU2RixLQUFWLENBQWdCLENBQWhCLEVBQW1CLENBQW5CLE1BQTBCLEdBQTlCLEVBQW1DO0FBQ2xDLHFCQUFPLEtBQVA7QUFDQTtBQUNELG1CQUFPLElBQVA7QUFDQSxXQUxTLENBQVY7QUFNQTtBQUNENUQsWUFBSSxDQUFDeEMsT0FBTCxHQUFlQSxPQUFPLENBQUNrRSxNQUFSLENBQWVoQixHQUFHLENBQUN4RCxJQUFuQixDQUFmO0FBQ0EsT0FiRDtBQWNBLEtBaFRPO0FBaVRSdUgsUUFBSSxFQUFFLGdCQUFXO0FBQ2hCLFVBQUl6RSxJQUFJLEdBQUcsSUFBWDtBQUNBRSxTQUFHLENBQUNJLFdBQUosQ0FBZ0I7QUFDZkMsYUFBSyxFQUFFLFFBRFEsRUFBaEI7O0FBR0EsbUJBQVksTUFBWjtBQUNBLFdBQUsvQyxPQUFMLEdBQWUsRUFBZjtBQUNBLFVBQUksS0FBS2lCLGNBQVQsRUFBeUI7QUFDeEIsYUFBSzhFLGFBQUwsQ0FBbUIsQ0FBbkI7QUFDQSxPQUZELE1BRU87QUFDTixhQUFLQSxhQUFMLENBQW1CLENBQW5CO0FBQ0E7QUFDRCxVQUFJLEtBQUsvRSxZQUFULEVBQXVCO0FBQ3RCLGFBQUtnRixXQUFMLENBQWlCLENBQWpCO0FBQ0EsT0FGRCxNQUVPO0FBQ04sYUFBS0EsV0FBTCxDQUFpQixDQUFqQjtBQUNBO0FBQ0R4RCxVQUFJLENBQUNtQixRQUFMLENBQWMsQ0FBZDtBQUNBbEIsZ0JBQVUsQ0FBQyxZQUFXO0FBQ3JCQyxXQUFHLENBQUN3RSxXQUFKLENBQWdCO0FBQ2ZqQixjQUFJLEVBQUUsT0FEUztBQUVmeEMsaUJBQU8sRUFBRSxpQkFBQ1AsR0FBRCxFQUFTO0FBQ2pCLHlCQUFZQSxHQUFaLEVBQWlCLE1BQWpCO0FBQ0FWLGdCQUFJLENBQUN0QyxTQUFMLEdBQWlCZ0QsR0FBRyxDQUFDaEQsU0FBckI7QUFDQXNDLGdCQUFJLENBQUNyQyxRQUFMLEdBQWdCK0MsR0FBRyxDQUFDL0MsUUFBcEI7QUFDQXFDLGdCQUFJLENBQUN4QyxPQUFMLENBQWFtSCxPQUFiLENBQXFCO0FBQ3BCO0FBQ0EsMEJBQVksaUNBRlE7QUFHcEIsdUJBQVMsUUFIVztBQUlwQix1QkFBUyxFQUpXO0FBS3BCLHdCQUFVLEVBTFU7QUFNcEIsd0JBQVUsSUFOVTtBQU9wQmpILHVCQUFTLEVBQUVnRCxHQUFHLENBQUNoRCxTQVBLO0FBUXBCQyxzQkFBUSxFQUFFK0MsR0FBRyxDQUFDL0MsUUFSTSxFQUFyQjs7O0FBV0F1QyxlQUFHLENBQUNTLFdBQUo7QUFDQSx5QkFBWVgsSUFBSSxDQUFDeEMsT0FBakIsRUFBMEIsTUFBMUI7QUFDQSxXQW5CYztBQW9CZjRELGNBQUksRUFBRSxjQUFTaUIsR0FBVCxFQUFjO0FBQ25CbkMsZUFBRyxDQUFDUyxXQUFKO0FBQ0EseUJBQVkwQixHQUFaO0FBQ0EsV0F2QmMsRUFBaEI7O0FBeUJBLE9BMUJTLEVBMEJQLEdBMUJPLENBQVY7QUEyQkEsS0E5Vk87QUErVlJ1QyxRQUFJLEVBQUUsZ0JBQVc7QUFDaEI7QUFDQSxXQUFLcEgsT0FBTCxDQUFhcUgsTUFBYixDQUFvQixDQUFwQixFQUF1QixDQUF2QjtBQUNBO0FBQ0EzRSxTQUFHLENBQUNJLFdBQUosQ0FBZ0I7QUFDZkMsYUFBSyxFQUFFLFFBRFE7QUFFZnVFLFlBQUksRUFBRSxJQUZTLEVBQWhCOztBQUlBLG1CQUFZLE1BQVo7QUFDQTtBQUNBLFVBQUk5RSxJQUFJLEdBQUcsSUFBWDtBQUNBRSxTQUFHLENBQUN3RSxXQUFKLENBQWdCO0FBQ2ZqQixZQUFJLEVBQUUsT0FEUztBQUVmeEMsZUFBTyxFQUFFLGlCQUFDUCxHQUFELEVBQVM7O0FBRWpCLHVCQUFZQSxHQUFaLEVBQWlCLE1BQWpCO0FBQ0FWLGNBQUksQ0FBQ3RDLFNBQUwsR0FBaUJnRCxHQUFHLENBQUNoRCxTQUFyQjtBQUNBc0MsY0FBSSxDQUFDckMsUUFBTCxHQUFnQitDLEdBQUcsQ0FBQy9DLFFBQXBCO0FBQ0FxQyxjQUFJLENBQUN4QyxPQUFMLENBQWFtSCxPQUFiLENBQXFCO0FBQ3BCO0FBQ0Esd0JBQVksaUNBRlE7QUFHcEIscUJBQVMsUUFIVztBQUlwQixxQkFBUyxFQUpXO0FBS3BCLHNCQUFVLEVBTFU7QUFNcEIsc0JBQVUsSUFOVTtBQU9wQmpILHFCQUFTLEVBQUVnRCxHQUFHLENBQUNoRCxTQVBLO0FBUXBCQyxvQkFBUSxFQUFFK0MsR0FBRyxDQUFDL0MsUUFSTSxFQUFyQjs7O0FBV0F1QyxhQUFHLENBQUNTLFdBQUo7QUFDQSxTQW5CYztBQW9CZlMsWUFBSSxFQUFFLGNBQVNpQixHQUFULEVBQWM7QUFDbkJuQyxhQUFHLENBQUNTLFdBQUo7QUFDQSx1QkFBWTBCLEdBQVo7QUFDQSxTQXZCYyxFQUFoQjs7QUF5QkEsS0FuWU87QUFvWVJtQyxVQUFNLEVBQUUsZ0JBQVNoQyxDQUFULEVBQVk7QUFDbkIsbUJBQVlBLENBQVo7QUFDQTtBQUNBLFVBQUl4QyxJQUFJLEdBQUcsSUFBWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFVBQUlqQyxFQUFFLEdBQUd5RSxDQUFDLENBQUNGLE1BQUYsQ0FBU3lDLFFBQWxCO0FBQ0FoSCxRQUFFLEdBQUdBLEVBQUUsQ0FBQ2tHLFNBQUgsQ0FBYSxDQUFiLEVBQWdCbEcsRUFBRSxDQUFDMEQsTUFBbkIsQ0FBTDtBQUNBekIsVUFBSSxDQUFDN0IsTUFBTCxHQUFjSixFQUFkO0FBQ0FpQyxVQUFJLENBQUNLLFlBQUwsQ0FBa0J0QyxFQUFsQjtBQUNBLEtBalpPO0FBa1pSaUgsYUFBUyxFQUFFLHFCQUFXO0FBQ3JCLFdBQUt4RyxZQUFMLEdBQW9CLENBQUMsS0FBS0EsWUFBMUI7QUFDQSxtQkFBWSxXQUFaO0FBQ0EsVUFBSSxLQUFLQSxZQUFULEVBQXVCO0FBQ3RCLGFBQUtnRixXQUFMLENBQWlCLENBQWpCO0FBQ0EsT0FGRCxNQUVPO0FBQ04sYUFBS0EsV0FBTCxDQUFpQixDQUFqQjtBQUNBO0FBQ0QsS0ExWk87QUEyWlJ5QixjQUFVLEVBQUUsc0JBQVc7QUFDdEIsV0FBS3hHLGNBQUwsR0FBc0IsQ0FBQyxLQUFLQSxjQUE1QjtBQUNBLFVBQUksS0FBS0EsY0FBVCxFQUF5QjtBQUN4QixhQUFLOEUsYUFBTCxDQUFtQixDQUFuQjtBQUNBLE9BRkQsTUFFTztBQUNOLGFBQUtBLGFBQUwsQ0FBbUIsQ0FBbkI7QUFDQTtBQUNELEtBbGFPLEVBN0dLOztBQWloQmQyQixTQWpoQmMscUJBaWhCSjtBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBaGlCYTtBQWlpQmQ7QUFDQUMsUUFsaUJjLGtCQWtpQlBDLE9BbGlCTyxFQWtpQkU7QUFDZjtBQUNBLFFBQUlwRixJQUFJLEdBQUcsSUFBWDtBQUNBQyxjQUFVLENBQUMsWUFBVztBQUNyQixVQUFJc0IsR0FBRyxHQUFHckIsR0FBRyxDQUFDQyxjQUFKLENBQW1CLFNBQW5CLENBQVY7QUFDQSxtQkFBWW9CLEdBQVosRUFBZ0IsU0FBaEI7QUFDQXZCLFVBQUksQ0FBQ0wsTUFBTCxHQUFjSyxJQUFJLENBQUNMLE1BQUwsQ0FBWStCLE1BQVosQ0FBbUJILEdBQW5CLENBQWQ7QUFDQSxLQUpTLEVBSVAsR0FKTyxDQUFWO0FBS0F6RSxPQUFHLENBQUMwRCxPQUFKLENBQVksT0FBWixFQUFxQixFQUFyQixFQUF5QixLQUF6QixFQUFnQ0MsSUFBaEMsQ0FBcUMsVUFBQUMsR0FBRyxFQUFJO0FBQzNDLG1CQUFZQSxHQUFHLENBQUN4RCxJQUFoQixFQUFzQixPQUF0QjtBQUNBLFVBQUlBLElBQUksR0FBR3dELEdBQUcsQ0FBQ3hELElBQWY7QUFDQSxVQUFJbUksSUFBSSxHQUFDLEVBQVQ7QUFDQSxXQUFLLElBQUk3RCxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHdEUsSUFBSSxDQUFDb0ksYUFBTCxDQUFtQjdELE1BQXZDLEVBQStDRCxDQUFDLEVBQWhELEVBQW9EO0FBQ25EdEUsWUFBSSxDQUFDb0ksYUFBTCxDQUFtQjlELENBQW5CLEVBQXNCdEMsS0FBdEIsR0FBOEJzQyxDQUFDLEdBQUcsQ0FBbEM7QUFDQSxxQkFBWXRFLElBQUksQ0FBQ29JLGFBQUwsQ0FBbUI5RCxDQUFuQixFQUFzQnZDLElBQWxDLEVBQXVDLE9BQXZDO0FBQ0FvRyxZQUFJLENBQUNFLElBQUwsQ0FBVXJJLElBQUksQ0FBQ29JLGFBQUwsQ0FBbUI5RCxDQUFuQixFQUFzQnZDLElBQWhDO0FBQ0EscUJBQVlvRyxJQUFaLEVBQWlCLFFBQWpCO0FBQ0E7QUFDRCxVQUFJRyxJQUFJLEdBQUcsQ0FBQztBQUNYcEgsY0FBTSxFQUFFLEVBREc7QUFFWGMsYUFBSyxFQUFFLENBRkk7QUFHWEQsWUFBSSxFQUFFLE1BSEssRUFBRCxDQUFYOztBQUtBLFVBQUlhLFFBQVEsR0FBRzBGLElBQUksQ0FBQzlELE1BQUwsQ0FBWXhFLElBQUksQ0FBQ29JLGFBQWpCLENBQWY7QUFDQSxtQkFBWXhGLFFBQVosRUFBcUIsUUFBckI7QUFDQSxVQUFJdUIsU0FBUyxHQUFHbkUsSUFBSSxDQUFDdUksV0FBckI7QUFDQSxVQUFJbEUsR0FBRyxHQUFHbUUsTUFBTSxDQUFDQyxNQUFQLENBQWN0RSxTQUFkLENBQVY7QUFDQXBCLGdCQUFVLENBQUMsWUFBVTtBQUNwQkQsWUFBSSxDQUFDRixRQUFMLEdBQWdCQSxRQUFoQjtBQUNBRSxZQUFJLENBQUNQLFFBQUwsR0FBZ0JPLElBQUksQ0FBQ1AsUUFBTCxDQUFjaUMsTUFBZCxDQUFxQjJELElBQXJCLENBQWhCOzs7QUFHQSxPQUxTLEVBS1IsR0FMUSxDQUFWO0FBTUEsS0F6QkQ7QUEwQkFyRixRQUFJLENBQUNtQixRQUFMO0FBQ0EsaUJBQVluQixJQUFJLENBQUNQLFFBQWpCLEVBQTJCLE1BQTNCO0FBQ0EsWUFBUVMsR0FBRyxDQUFDMEYsaUJBQUosR0FBd0JDLFFBQWhDO0FBQ0MsV0FBSyxTQUFMO0FBQ0MscUJBQVksYUFBWjtBQUNBN0YsWUFBSSxDQUFDSCxVQUFMLEdBQWtCLElBQWxCO0FBQ0E7QUFDRCxXQUFLLEtBQUw7QUFDQyxxQkFBWSxTQUFaO0FBQ0FHLFlBQUksQ0FBQ0gsVUFBTCxHQUFrQixJQUFsQjtBQUNBLGNBUkY7O0FBVUFHLFFBQUksQ0FBQzRFLElBQUwsR0E5Q2UsQ0E4Q0Y7QUFDYixTQUFLL0MsUUFBTCxDQUFjLENBQWQ7QUFDQSxHQWxsQmEsRSIsImZpbGUiOiI0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKCk7XG5pbXBvcnQge1xuXHRCbHVldG9vdGhNYW5hZ2VyLFxuXHRCdEVycm9yQ29kZSxcblx0Q01EXG59IGZyb20gJy4uLy4uL3N0YXRpYy9qcy9ibHVXS00uanMnO1xuY29uc3QgYmx1TSA9IG5ldyBCbHVldG9vdGhNYW5hZ2VyO1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRjdXJWYWwxOiBcIlwiLCAvL+S4i+agh1xuXHRcdFx0bG9jYXRpb246IHRydWUsXG5cdFx0XHRtYXBUT1A6IDAsIC8v5Zyw5Zu+5o2u6aG26YOo6auY5bqmXG5cdFx0XHRiaWtlX25vOiAnJywgLy/ovabniYzlj7dcblx0XHRcdG1lc3M6IFwiXCIsIC8v54i257uE5Lu25ZCR5a2Q57uE5Lu256m/55qE5YC8XG5cdFx0XHRtYXJrZXJzOiBbXSwgLy/mmL7npLrljZXovabjgIHlgZzovabnmoRQXG5cdFx0XHRwb2x5Z29uczogW10sIC8v5Yy65Z+fXG5cdFx0XHRsb25naXR1ZGU6ICcnLFxuXHRcdFx0bGF0aXR1ZGU6ICcnLFxuXHRcdFx0YWxsQXJlYTogW10sXG5cdFx0XHRhcmVhOiAwLFxuXHRcdFx0c2hvdzogZmFsc2UsIC8v6L2m5a2Q6K+m5oOF55qE5biD5bCU5YC8XG5cdFx0XHRpZDogJycsIC8v5YGc6L2m5Yy65Z+f55qESURcblx0XHRcdHBvbHlnb25zMTogW10sIC8v5Y+v6aqR6KGM5Yy65Z+fIOWFiOeUqOi/meS4quWPmOmHj+S7o+ihqFxuXHRcdFx0Ym94X25vOiAnJywgLy/kuK3mjqfnvJblj7dcblx0XHRcdGJpa2VEZXRhaWw6IFtdLFxuXHRcdFx0YmlrZUlkOiAnJyxcblx0XHRcdGFyZWFJRDogJycsXG5cdFx0XHRsb3dfcG93ZXI6ICcnLFxuXHRcdFx0c3RhdGU6ICcnLFxuXHRcdFx0dXNlX3N0YXRlOiAnJyxcblx0XHRcdHBhcmtBcmVhU2hvdzogZmFsc2UsIC8v6L+Y6L2m54K55piv5ZCm5pi+56S6XG5cdFx0XHRub1BhcmtBcmVhU2hvdzogdHJ1ZSwgLy/npoHlgZzljLrmmK/lkKbmmL7npLpcblx0XHRcdGFyZWFzOiBbXSxcblx0XHRcdHBhcmtpbmc6IFtdLFxuXHRcdFx0cGFya2luZ19wb2ludHM6IFtdLFxuXHRcdFx0bm9fcGFya2luZzogW10sXG5cdFx0XHRub19wYXJraW5nX3BvaW50czogW10sXG5cdFx0XHRpbmZvU2hvdzogZmFsc2UsXG5cdFx0XHRhbGxFbGU6IFt7XG5cdFx0XHRcdFx0dGV4dDogJ+WFqOmDqOeUtemHjycsXG5cdFx0XHRcdFx0dmFsdWU6IDAsXG5cdFx0XHRcdFx0YXJlYUlEOiAnJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dGV4dDogJzcwJeS7peS4iycsXG5cdFx0XHRcdFx0dmFsdWU6IDEsXG5cdFx0XHRcdFx0YXJlYUlEOiAnNzAnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0ZXh0OiAnNjAl5Lul5LiLJyxcblx0XHRcdFx0XHR2YWx1ZTogMixcblx0XHRcdFx0XHRhcmVhSUQ6ICc2MCdcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHRleHQ6ICc1MCXku6XkuIsnLFxuXHRcdFx0XHRcdHZhbHVlOiAzLFxuXHRcdFx0XHRcdGFyZWFJRDogJzUwJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dGV4dDogJzMwJeS7peS4iycsXG5cdFx0XHRcdFx0dmFsdWU6IDQsXG5cdFx0XHRcdFx0YXJlYUlEOiAnMzAnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0ZXh0OiAnMjAl5Lul5LiLJyxcblx0XHRcdFx0XHR2YWx1ZTogNSxcblx0XHRcdFx0XHRhcmVhSUQ6ICcyMCdcblx0XHRcdFx0fSxcblx0XHRcdF0sXG5cdFx0XHRhbGxBcnI6IFsn5YWo6YOo55S16YePJywgJzcwJeS7peS4iycsICc2MCXku6XkuIsnLCAnNTAl5Lul5LiLJywgJzMwJeS7peS4iycsICcyMCXku6XkuIsnXSxcblx0XHRcdGFsbFN0YXR1czogW3tcblx0XHRcdFx0dGV4dDogJ+WFqOmDqOeKtuaAgScsXG5cdFx0XHRcdHZhbHVlOiAwLFxuXHRcdFx0XHRhcmVhSUQ6ICcnXG5cdFx0XHR9XSxcblx0XHRcdGFyckRheTogWyfkvb/nlKjnirbmgIEnLCAnMeWkqeacquS9v+eUqCcsICcz5aSp5pyq5L2/55SoJywgJzflpKnmnKrkvb/nlKgnXSxcblx0XHRcdGFyckRheUluZGV4OiAwLFxuXHRcdFx0YWxsRGF5OiBbe1xuXHRcdFx0XHRcdHRleHQ6ICfkvb/nlKjnirbmgIEnLFxuXHRcdFx0XHRcdHZhbHVlOiAwXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHR0ZXh0OiAnMeWkqeacquS9v+eUqCcsXG5cdFx0XHRcdFx0dmFsdWU6IDFcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdHRleHQ6ICcz5aSp5pyq5L2/55SoJyxcblx0XHRcdFx0XHR2YWx1ZTogMlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0dGV4dDogJzflpKnmnKrkvb/nlKgnLFxuXHRcdFx0XHRcdHZhbHVlOiAzXG5cdFx0XHRcdH1cblx0XHRcdF0sXG5cdFx0XHRkaWFuSW5kZXg6IDAsXG5cdFx0XHRhcnJTdGF0ZTogWyflhajpg6jnirbmgIEnXSxcblx0XHRcdGFyckluZGV4OiAwLFxuXHRcdFx0b3B0aW9uOiBbe1xuXHRcdFx0XHRhcmVhSUQ6ICcnLFxuXHRcdFx0XHR0ZXh0OiAn5YWo6YOo5Yy65Z+fJyxcblx0XHRcdFx0dmFsdWU6IC0xLFxuXHRcdFx0fV0sXG5cdFx0XHRhcmVhSW5kZXg6IDAsXG5cdFx0XHRsaW5lSGVpZ2h0OiAnJyxcblx0XHRcdGFsbFN0YXRlOiAnJ1xuXHRcdH1cblx0fSxcblx0b25TaG93KCkge1xuXHRcdC8vIGNvbnNvbGUubG9nKFwieui/meaYr+aVsOaNrjIzNTY3NjY3Nzg5ODg5OVwiKVxuXHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5tZXNzID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJylcblx0XHRcdHRoaXMuY3VyVmFsMSA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgPyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpIDogMFxuXHRcdH0sIDIwMDApXG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRnZXRCaWtlX2luZm86IGZ1bmN0aW9uKGJpa2VJZCkge1xuXHRcdFx0Y29uc29sZS5sb2coYmlrZUlkKVxuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2dldEJpa2VJbmZvP2Jpa2Vfbm89JyArIGJpa2VJZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICfojrflj5bovabovobkv6Hmga8nKVxuXHRcdFx0XHRpZiAocmVzLmRhdGEuYmlrZV9pbmZvID09ICcnKSB7XG5cdFx0XHRcdFx0dGhpcy5pbmZvU2hvdyA9IGZhbHNlO1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmmoLml6Dor6Xovabovobkv6Hmga9+Jyxcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLCAn6L2m6L6G5L+h5oGvJylcblx0XHRcdFx0XHR0aGlzLmJpa2VEZXRhaWwgPSByZXMuZGF0YS5iaWtlX2luZm87XG5cdFx0XHRcdFx0dGhpcy5pbmZvU2hvdyA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRkaWFubDogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcblx0XHRcdFx0aXRlbUxpc3Q6IHRoYXQuYWxsQXJyLFxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHR0aGlzLm1hcmtlcnMgPSBbXTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsIFwicHBwcHBwXCIpXG5cdFx0XHRcdFx0dGhhdC5kaWFuSW5kZXggPSByZXMudGFwSW5kZXg7XG5cdFx0XHRcdFx0dGhhdC5sb3dfcG93ZXIgPSB0aGF0LmFsbEVsZVtyZXMudGFwSW5kZXhdLmFyZWFJRFxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQubG93X3Bvd2VyLCBcImlpaWlpaVwiKVxuXHRcdFx0XHRcdHRoYXQuZ2V0QmlrZXMoMSlcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24ocmVzKSB7fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHpodWFuZ3RhaTogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRjb25zb2xlLmxvZyh0aGF0LmFyclN0YXRlLFwiaWlpaWlpaWlpaWlcIilcblx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xuXHRcdFx0XHRpdGVtTGlzdDogdGhhdC5hcnJTdGF0ZSxcblx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gW107XG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxuXHRcdFx0XHRcdHRoYXQuYXJySW5kZXggPSByZXMudGFwSW5kZXg7XG5cdFx0XHRcdFx0dGhhdC5zdGF0ZSA9IHRoYXQuYWxsU3RhdGVbcmVzLnRhcEluZGV4XS5hcmVhSURcblx0XHRcdFx0XHR0aGF0LmdldEJpa2VzKDEpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge31cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRzZWxlY3Q6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Ly8gY29uc29sZS5sb2coJzExMTExJylcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdHZhciBhcnIgPSBbXVxuXHRcdFx0Y29uc29sZS5sb2codGhhdC5vcHRpb24pXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHRoYXQub3B0aW9uLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGFyciA9IGFyci5jb25jYXQodGhhdC5vcHRpb25baV0udGV4dClcblx0XHRcdH1cblx0XHRcdGNvbnNvbGUubG9nKGFycilcblx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xuXHRcdFx0XHRpdGVtTGlzdDogYXJyLFxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gW107XG5cdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnRhcEluZGV4XG5cdFx0XHRcdFx0dGhhdC5hcmVhSW5kZXggPSBpbmRleDtcblx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IHRoYXQub3B0aW9uW2luZGV4XS5hcmVhSUQ7XG5cdFx0XHRcdFx0dGhhdC5jdXJWYWwgPSByZXMudGFwSW5kZXhcblx0XHRcdFx0XHR0aGF0LmdldEJpa2VzKDEpXG5cdFx0XHRcdFx0dGhhdC5pbml0RGF0YSgxKVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmYWlsOiBmdW5jdGlvbihyZXMpIHt9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0c2hpeW9uZzogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcblx0XHRcdFx0aXRlbUxpc3Q6IHRoYXQuYXJyRGF5LFxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0dGhpcy5tYXJrZXJzID0gW107XG5cdFx0XHRcdFx0dGhhdC5hcnJEYXlJbmRleCA9IHJlcy50YXBJbmRleDtcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGF0LmFsbEFycltyZXMudGFwSW5kZXhdKVxuXHRcdFx0XHRcdHZhciB0aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG5cdFx0XHRcdFx0aWYgKHJlcy50YXBJbmRleCA9PSAwKSB7XG5cdFx0XHRcdFx0XHR0aW1lID0gXCJcIjtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy50YXBJbmRleCA9PSAxKSB7XG5cdFx0XHRcdFx0XHR0aW1lID0gdGltZSAtIDg2NDAwMDAwICogMTtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy50YXBJbmRleCA9PSAyKSB7XG5cdFx0XHRcdFx0XHR0aW1lID0gdGltZSAtIDg2NDAwMDAwICogMztcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy50YXBJbmRleCA9PSAzKSB7XG5cdFx0XHRcdFx0XHR0aW1lID0gdGltZSAtIDg2NDAwMDAwICogNztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhhdC51c2Vfc3RhdGUgPSB0aW1lO1xuXHRcdFx0XHRcdHRoYXQuZ2V0QmlrZXMoMSlcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24ocmVzKSB7fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHNlYXJjaDogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zb2xlLmxvZygnMTEnKVxuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcuL2Jpa2VUZXN0Jyxcblx0XHRcdFx0c3VjY2VzcygpIHtcblxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmYWlsKGVycikge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGRldGFpbDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLmluZm9TaG93ID0gZmFsc2U7XG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdHVybDogJy4vYmlrZV9kZXRhaWw/YmlrZV9ubz0nICsgdGhpcy5iaWtlSWRcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRtYXB0YXA6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdC8vIGNvbnNvbGUubG9nKGUpXG5cdFx0XHR0aGlzLmluZm9TaG93ID0gZmFsc2U7XG5cdFx0fSxcblx0XHRkaWFua2FpOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJveF9ubywgQ01ELmJhdHRlcnlVbmxvY2spO1xuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2Uvb3BlbkJhdHRlcnlMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5byA55S15rGg6ZSB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHR4dW5saW5nOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJveF9ubywgQ01ELmJlbGwpXG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9iaWtlQmVsbD9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WTjemTg+aIkOWKnycsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Y2hpbGRNZXNzOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLmdldEJpa2VzKClcblx0XHR9LFxuXHRcdGFzeW5jIGluaXREYXRhKGlzTG9hZCA9IGZhbHNlKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR0aGlzLm1hcmtlcnMgPSBbXTtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHRhd2FpdCBhcHAucmVxdWVzdCgnZ2V0QXJlYXM/cHV0X2FyZWFfaWQ9JyArIHRoYXQuYXJlYUlELCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcywgJ3F1eXUnKTtcblx0XHRcdFx0bGV0IGRhdGEgPSByZXMuZGF0YVxuXHRcdFx0XHR0aGF0LnJpZGRpbmdfYXJlYSA9IGRhdGEucmlkZGluZ19hcmVhO1xuXHRcdFx0XHR0aGF0Lm5vX3BhcmtpbmcgPSBkYXRhLm5vX3BhcmtpbmdfYXJlYTtcblx0XHRcdFx0dGhhdC5ub19wYXJraW5nX3BvaW50cyA9IGRhdGEubm9fcGFya2luZ19wb2ludHM7XG5cdFx0XHRcdHRoYXQucGFya2luZyA9IGRhdGEucGFya2luZ19hcmVhO1xuXHRcdFx0XHR0aGF0LnBhcmtpbmdfcG9pbnRzID0gZGF0YS5wYXJraW5nX3BvaW50cztcblx0XHRcdFx0aWYgKGlzTG9hZCkge1xuXHRcdFx0XHRcdHRoaXMuc2hvd0FyZWEoMSlcblx0XHRcdFx0XHRpZiAodGhpcy5ub1BhcmtBcmVhU2hvdykgdGhpcy5zaG93Tm9QYXJraW5nKDApXG5cdFx0XHRcdFx0aWYgKHRoaXMucGFya0FyZWFTaG93KSB0aGlzLnNob3dQYXJraW5nKDApXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRzaG93QXJlYTogZnVuY3Rpb24odHlwZSA9IDApIHtcblx0XHRcdGlmICh0eXBlKSB7XG5cdFx0XHRcdHZhciByaWRkaW5nX2FyZWEgPSB0aGlzLnJpZGRpbmdfYXJlYTtcblx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHJpZGRpbmdfYXJlYTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMucG9seWdvbnMgPSB0aGlzLnBvbHlnb25zLmNvbmNhdCh0aGlzLnJpZGRpbmdfYXJlYSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjbGVhcjogZnVuY3Rpb24odHlwZSA9IDApIHtcblx0XHRcdGlmICh0eXBlID09PSAwKSB7XG5cdFx0XHRcdGxldCBwb2x5Z29ucyA9IHRoaXMucG9seWdvbnMuZmlsdGVyKChwb2x5Z29ucykgPT4ge1xuXHRcdFx0XHRcdGlmIChwb2x5Z29ucy5pZC5zbGljZSgwLCAxKSA9PT0gJ0EnKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHBvbHlnb25zO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHR5cGUgPT09IDEpIHtcblx0XHRcdFx0bGV0IHBvbHlnb25zID0gdGhpcy5wb2x5Z29ucy5maWx0ZXIoKHBvbHlnb25zKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHBvbHlnb25zLmlkLnNsaWNlKDAsIDEpICE9PSAnUCcpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0XHRsZXQgbWFya2VycyA9IHRoaXMubWFya2Vycy5maWx0ZXIoKHBvbHlnb25zKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHBvbHlnb25zLmlkLnNsaWNlKDAsIDEpICE9PSAncCcpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0XHR0aGlzLnBvbHlnb25zID0gcG9seWdvbnM7XG5cdFx0XHRcdHRoaXMubWFya2VycyA9IG1hcmtlcnM7XG5cdFx0XHR9XG5cdFx0XHRpZiAodHlwZSA9PT0gMikge1xuXHRcdFx0XHRsZXQgcG9seWdvbnMgPSB0aGlzLnBvbHlnb25zLmZpbHRlcigocG9seWdvbnMpID0+IHtcblx0XHRcdFx0XHRpZiAocG9seWdvbnMuaWQuc2xpY2UoMCwgMSkgIT09ICdOJykge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGxldCBtYXJrZXJzID0gdGhpcy5tYXJrZXJzLmZpbHRlcigocG9seWdvbnMpID0+IHtcblx0XHRcdFx0XHRpZiAocG9seWdvbnMuaWQuc2xpY2UoMCwgMSkgIT09ICduJykge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHRcdHRoaXMucG9seWdvbnMgPSBwb2x5Z29ucztcblx0XHRcdFx0dGhpcy5tYXJrZXJzID0gbWFya2Vycztcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5pi+56S66L+Y6L2m54K5IDDvvJrov73liqDlgZzovabngrkgMe+8muWPquaYvuekuuWBnOi9pueCuSAy77ya5Yig6Zmk5YGc6L2m54K5XG5cdFx0c2hvd1Bhcmtpbmc6IGZ1bmN0aW9uKHR5cGUgPSAwKSB7XG5cdFx0XHRpZiAodHlwZSA9PT0gMCkge1xuXHRcdFx0XHR0aGlzLnBvbHlnb25zID0gdGhpcy5wb2x5Z29ucy5jb25jYXQodGhpcy5wYXJraW5nKTtcblx0XHRcdFx0dGhpcy5tYXJrZXJzID0gdGhpcy5tYXJrZXJzLmNvbmNhdCh0aGlzLnBhcmtpbmdfcG9pbnRzKTtcblx0XHRcdH1cblx0XHRcdGlmICh0eXBlID09PSAxKSB7XG5cdFx0XHRcdHRoaXMucG9seWdvbnMgPSB0aGlzLnBhcmtpbmc7XG5cdFx0XHRcdHRoaXMubWFya2VycyA9IHRoaXMubWFya2Vycztcblx0XHRcdH1cblxuXHRcdFx0aWYgKHR5cGUgPT09IDIpIHtcblx0XHRcdFx0dGhpcy5jbGVhcigxKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0c2hvd05vUGFya2luZzogZnVuY3Rpb24odHlwZSA9IDApIHtcblx0XHRcdGlmICh0eXBlID09PSAwKSB7XG5cdFx0XHRcdHRoaXMucG9seWdvbnMgPSB0aGlzLnBvbHlnb25zLmNvbmNhdCh0aGlzLm5vX3BhcmtpbmcpO1xuXHRcdFx0XHR0aGlzLm1hcmtlcnMgPSB0aGlzLm1hcmtlcnMuY29uY2F0KHRoaXMubm9fcGFya2luZ19wb2ludHMpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHR5cGUgPT09IDEpIHtcblx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IHRoaXMubm9fcGFya2luZztcblx0XHRcdFx0dGhpcy5tYXJrZXJzID0gdGhpcy5ub19wYXJraW5nX3BvaW50cztcblx0XHRcdH1cblx0XHRcdGlmICh0eXBlID09PSAyKSB7XG5cdFx0XHRcdHRoaXMuY2xlYXIoMilcblx0XHRcdH1cblx0XHR9LFxuXHRcdHNjYW5Db2RlOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGNvbnNvbGUubG9nKCdzY2FuQ29kZScpXG5cdFx0XHR1bmkuc2NhbkNvZGUoe1xuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRsZXQgaW5kZXggPSByZXMucmVzdWx0Lmxhc3RJbmRleE9mKFwiXFw9XCIpO1xuXHRcdFx0XHRcdHZhciBjb2RlID0gcmVzLnJlc3VsdC5zdWJzdHJpbmcoaW5kZXggKyAxLCByZXMucmVzdWx0Lmxlbmd0aCk7XG5cdFx0XHRcdFx0dGhhdC5iaWtlSWQgPSBjb2RlO1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYmlrZUlkKVxuXHRcdFx0XHRcdHRoYXQuZ2V0QmlrZV9pbmZvKGNvZGUpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmiavnoIHlpLHotKXor7fph43or5UnLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGdldEJpa2VzOiBmdW5jdGlvbihjbGVhciA9IDApIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR2YXIgYXJlYUlkID0gdGhhdC5hcmVhSUQ7XG5cdFx0XHR2YXIgbG93X3Bvd2VyID0gdGhhdC5sb3dfcG93ZXI7XG5cdFx0XHR2YXIgc3RhdGUgPSB0aGF0LnN0YXRlO1xuXHRcdFx0dmFyIHVzZV9zdGF0ZSA9IHRoYXQudXNlX3N0YXRlO1xuXHRcdFx0bGV0IHRpbWUgPSBwYXJzZUludCh1c2Vfc3RhdGUgLyAxMDAwKTtcblx0XHRcdC8vIHRoaXMubWFya2VycyA9ICcnO1xuXHRcdFx0aWYgKHRpbWUgPT09IDApIHtcblx0XHRcdFx0dGltZSA9ICcnXG5cdFx0XHR9XG5cdFx0XHR2YXIgZGF0YSA9IHtcblx0XHRcdFx0cHV0X2FyZWFfaWQ6IGFyZWFJZCxcblx0XHRcdFx0YmF0dGVyeV9wb3dlcjogbG93X3Bvd2VyLFxuXHRcdFx0XHRhbGxfc3RhdGVzOiBzdGF0ZSxcblx0XHRcdFx0bGFzdF91c2VfYmlrZV9lbmRfdGltZTogdGltZVxuXHRcdFx0fTtcblxuXHRcdFx0YXBwLnJlcXVlc3QoJ2dldEJpa2VzJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMsICdiaWtlcycpXG5cdFx0XHRcdHZhciBtYXJrZXJzID0gdGhhdC5tYXJrZXJzXG5cdFx0XHRcdGlmIChjbGVhcikge1xuXHRcdFx0XHRcdG1hcmtlcnMgPSB0aGF0Lm1hcmtlcnMuZmlsdGVyKChtYXJrZXIpID0+IHtcblx0XHRcdFx0XHRcdGlmIChtYXJrZXIuaWQuc2xpY2UoMCwgMSkgPT09ICdCJykge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2Vcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJldHVybiB0cnVlXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGF0Lm1hcmtlcnMgPSBtYXJrZXJzLmNvbmNhdChyZXMuZGF0YSk7XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0bG9hZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WIt+aWsOS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0Y29uc29sZS5sb2coJ2xvYWQnKVxuXHRcdFx0dGhpcy5tYXJrZXJzID0gW107XG5cdFx0XHRpZiAodGhpcy5ub1BhcmtBcmVhU2hvdykge1xuXHRcdFx0XHR0aGlzLnNob3dOb1BhcmtpbmcoMCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLnNob3dOb1BhcmtpbmcoMik7XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5wYXJrQXJlYVNob3cpIHtcblx0XHRcdFx0dGhpcy5zaG93UGFya2luZygwKVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zaG93UGFya2luZygyKVxuXHRcdFx0fVxuXHRcdFx0dGhhdC5nZXRCaWtlcygxKVxuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcblx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgJ+WumuS9jeS/oeaBrycpXG5cdFx0XHRcdFx0XHR0aGF0LmxvbmdpdHVkZSA9IHJlcy5sb25naXR1ZGU7XG5cdFx0XHRcdFx0XHR0aGF0LmxhdGl0dWRlID0gcmVzLmxhdGl0dWRlO1xuXHRcdFx0XHRcdFx0dGhhdC5tYXJrZXJzLnVuc2hpZnQoe1xuXHRcdFx0XHRcdFx0XHQvLyBcImlkXCI6IFwiQjEwMDEwMDEwMDA2XCIsXG5cdFx0XHRcdFx0XHRcdFwiaWNvblBhdGhcIjogXCIvc3RhdGljL2ltZy9iaWtlX3l1bndlaS8xMTEuanBnXCIsXG5cdFx0XHRcdFx0XHRcdFwidHlwZXJcIjogXCJsaXhpYW5cIixcblx0XHRcdFx0XHRcdFx0XCJ3aWR0aFwiOiAzOCxcblx0XHRcdFx0XHRcdFx0XCJoZWlnaHRcIjogMzgsXG5cdFx0XHRcdFx0XHRcdFwiekluZGV4XCI6IDExMDEsXG5cdFx0XHRcdFx0XHRcdGxvbmdpdHVkZTogcmVzLmxvbmdpdHVkZSxcblx0XHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHJlcy5sYXRpdHVkZSxcblxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5tYXJrZXJzLCBcIuW9k+WJjeS9jee9rlwiKVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LCA1MDApXG5cdFx0fSxcblx0XHRwb3NpOiBmdW5jdGlvbigpIHtcblx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubWFya2Vycylcblx0XHRcdHRoaXMubWFya2Vycy5zcGxpY2UoMCwgMSlcblx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubWFya2Vycylcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5a6a5L2N5LitLi4uJyxcblx0XHRcdFx0bWFzazogdHJ1ZVxuXHRcdFx0fSlcblx0XHRcdGNvbnNvbGUubG9nKCdwb3NpJylcblx0XHRcdC8v54K55Ye75a6a5L2NICBcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdHR5cGU6ICdnY2owMicsXG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgJ+WumuS9jeS/oeaBrycpXG5cdFx0XHRcdFx0dGhhdC5sb25naXR1ZGUgPSByZXMubG9uZ2l0dWRlO1xuXHRcdFx0XHRcdHRoYXQubGF0aXR1ZGUgPSByZXMubGF0aXR1ZGU7XG5cdFx0XHRcdFx0dGhhdC5tYXJrZXJzLnVuc2hpZnQoe1xuXHRcdFx0XHRcdFx0Ly8gXCJpZFwiOiBcIkIxMDAxMDAxMDAwNlwiLFxuXHRcdFx0XHRcdFx0XCJpY29uUGF0aFwiOiBcIi9zdGF0aWMvaW1nL2Jpa2VfeXVud2VpLzExMS5qcGdcIixcblx0XHRcdFx0XHRcdFwidHlwZXJcIjogXCJsaXhpYW5cIixcblx0XHRcdFx0XHRcdFwid2lkdGhcIjogMzgsXG5cdFx0XHRcdFx0XHRcImhlaWdodFwiOiAzOCxcblx0XHRcdFx0XHRcdFwiekluZGV4XCI6IDExMDEsXG5cdFx0XHRcdFx0XHRsb25naXR1ZGU6IHJlcy5sb25naXR1ZGUsXG5cdFx0XHRcdFx0XHRsYXRpdHVkZTogcmVzLmxhdGl0dWRlLFxuXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0bWFya2VyOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlKVxuXHRcdFx0Ly8gcmV0dXJuO1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0Ly8gbGV0IHR5cGUgPSBtYXJrZXJJZC5zbGljZSgwLCAxKVxuXHRcdFx0Ly/ovabovobntKLlvJVcblx0XHRcdC8vIGlmICh0eXBlID09PSAnQicpIHtcblxuXHRcdFx0Ly8gfVxuXHRcdFx0dmFyIGlkID0gZS5kZXRhaWwubWFya2VySWQ7XG5cdFx0XHRpZCA9IGlkLnN1YnN0cmluZygxLCBpZC5sZW5ndGgpO1xuXHRcdFx0dGhhdC5iaWtlSWQgPSBpZDtcblx0XHRcdHRoYXQuZ2V0QmlrZV9pbmZvKGlkKVxuXHRcdH0sXG5cdFx0cGFya1Nob3cxOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMucGFya0FyZWFTaG93ID0gIXRoaXMucGFya0FyZWFTaG93O1xuXHRcdFx0Y29uc29sZS5sb2coJ3BhcmtzaG93MScpXG5cdFx0XHRpZiAodGhpcy5wYXJrQXJlYVNob3cpIHtcblx0XHRcdFx0dGhpcy5zaG93UGFya2luZygwKVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5zaG93UGFya2luZygyKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Zm9yYmlkU2hvdzogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLm5vUGFya0FyZWFTaG93ID0gIXRoaXMubm9QYXJrQXJlYVNob3dcblx0XHRcdGlmICh0aGlzLm5vUGFya0FyZWFTaG93KSB7XG5cdFx0XHRcdHRoaXMuc2hvd05vUGFya2luZygwKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc2hvd05vUGFya2luZygyKTtcblx0XHRcdH1cblx0XHR9LFxuXHR9LFxuXHRtb3VudGVkKCkge1xuXHRcdC8vIHRoaXMuYWxsRGF0YSgpXG5cdFx0Ly8gaWYgKHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykpIHtcblx0XHQvLyBcdC8vICAgIGxldCBhY3RpdmUgPSB0aGlzLnN3aXBlclRhYklkeDtcblx0XHQvLyBcdC8vIGxldCBhcmVhSWQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJyk7XG5cdFx0Ly8gXHRjb25zb2xlLmxvZyhcIui/meaYr+WIneWni+WKoOi9veaVsOaNrlwiKVxuXHRcdC8vIFx0dGhpcy5hbGxEYXRhKClcblx0XHQvLyBcdC8vIGNvbnNvbGUubG9nKHRoaXMuYmlrZSxcIui/meaYr+i9pui+huaVsOaNrlwiKVxuXG5cdFx0Ly8gfSBlbHNlIHtcblx0XHQvLyBcdC8vIGNvbnNvbGUubG9nKHRoaXMubGlzdClcblx0XHQvLyBcdC8vIHRoaXMuYXJlYUlEID0gdGhpcy5saXN0WzBdLmFyZWFJRDtcblx0XHQvLyBcdC8vIGNvbnNvbGUubG9nKHRoaXMuYXJlYUlELCAnMTIzNDU2NzgnKVxuXHRcdC8vIFx0dGhpcy5hbGxEYXRhKClcblx0XHQvLyB9XG5cdH0sXG5cdC8vIOiOt+WPlui9pui+huS/oeaBr1xuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdC8vIGNvbnNvbGUubG9nKGFwcC5yZXF1ZXN0KCkpXG5cdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgYXJyID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyk7XG5cdFx0XHRjb25zb2xlLmxvZyhhcnIsXCJvb29vb29vXCIpXG5cdFx0XHR0aGF0Lm9wdGlvbiA9IHRoYXQub3B0aW9uLmNvbmNhdChhcnIpO1xuXHRcdH0sIDUwMClcblx0XHRhcHAucmVxdWVzdCgnaW5kZXgnLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLCAnaW5kZXgnKVxuXHRcdFx0dmFyIGRhdGEgPSByZXMuZGF0YTtcblx0XHRcdHZhciBhcnIyPVtdXG5cdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEud3hfYmlrZVN0YXRlcy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRkYXRhLnd4X2Jpa2VTdGF0ZXNbaV0udmFsdWUgPSBpICsgMVxuXHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhLnd4X2Jpa2VTdGF0ZXNbaV0udGV4dCxcImxsbGxsXCIpXG5cdFx0XHRcdGFycjIucHVzaChkYXRhLnd4X2Jpa2VTdGF0ZXNbaV0udGV4dClcblx0XHRcdFx0Y29uc29sZS5sb2coYXJyMixcImtra2tra1wiKVxuXHRcdFx0fVxuXHRcdFx0dmFyIGFycjEgPSBbe1xuXHRcdFx0XHRhcmVhSUQ6ICcnLFxuXHRcdFx0XHR2YWx1ZTogMCxcblx0XHRcdFx0dGV4dDogJ+WFqOmDqOeKtuaAgSdcblx0XHRcdH1dXG5cdFx0XHR2YXIgYWxsU3RhdGUgPSBhcnIxLmNvbmNhdChkYXRhLnd4X2Jpa2VTdGF0ZXMpOyBcblx0XHRcdGNvbnNvbGUubG9nKGFsbFN0YXRlLFwicHBwcHBwXCIpXG5cdFx0XHR2YXIgemh1YW5ndGFpID0gZGF0YS5iaWtlX3N0YXRlcztcblx0XHRcdGxldCBhcnIgPSBPYmplY3QudmFsdWVzKHpodWFuZ3RhaSlcblx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKXtcblx0XHRcdFx0dGhhdC5hbGxTdGF0ZSA9IGFsbFN0YXRlO1xuXHRcdFx0XHR0aGF0LmFyclN0YXRlID0gdGhhdC5hcnJTdGF0ZS5jb25jYXQoYXJyMik7XG5cdFx0XHRcblx0XHRcdFx0XG5cdFx0XHR9LDUwMClcblx0XHR9KVxuXHRcdHRoYXQuZ2V0QmlrZXMoKTtcblx0XHRjb25zb2xlLmxvZyh0aGF0LmFyclN0YXRlLCBcIui9pui+huS9jee9rlwiKVxuXHRcdHN3aXRjaCAodW5pLmdldFN5c3RlbUluZm9TeW5jKCkucGxhdGZvcm0pIHtcblx0XHRcdGNhc2UgJ2FuZHJvaWQnOlxuXHRcdFx0XHRjb25zb2xlLmxvZygn5a6i5oi356uv5pivQW5kcm9pZCcpXG5cdFx0XHRcdHRoYXQubGluZUhlaWdodCA9ICc3NSdcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHRjYXNlICdpb3MnOlxuXHRcdFx0XHRjb25zb2xlLmxvZygn5a6i5oi356uv5pivaU9TJylcblx0XHRcdFx0dGhhdC5saW5lSGVpZ2h0ID0gJzgwJ1xuXHRcdFx0XHRicmVhaztcblx0XHR9XG5cdFx0dGhhdC5wb3NpKCk7IC8v6I635Y+W5b2T5YmN5L2N572uXG5cdFx0dGhpcy5pbml0RGF0YSgxKVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///40\n");
  2260. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  2261. /***/ }),
  2262. /* 41 */
  2263. /*!**********************************************************!*\
  2264. !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
  2265. \**********************************************************/
  2266. /*! no static exports found */
  2267. /***/ (function(module, exports, __webpack_require__) {
  2268. module.exports = __webpack_require__(/*! regenerator-runtime */ 42);
  2269. /***/ }),
  2270. /* 42 */
  2271. /*!************************************************************!*\
  2272. !*** ./node_modules/regenerator-runtime/runtime-module.js ***!
  2273. \************************************************************/
  2274. /*! no static exports found */
  2275. /***/ (function(module, exports, __webpack_require__) {
  2276. /**
  2277. * Copyright (c) 2014-present, Facebook, Inc.
  2278. *
  2279. * This source code is licensed under the MIT license found in the
  2280. * LICENSE file in the root directory of this source tree.
  2281. */
  2282. // This method of obtaining a reference to the global object needs to be
  2283. // kept identical to the way it is obtained in runtime.js
  2284. var g = (function() {
  2285. return this || (typeof self === "object" && self);
  2286. })() || Function("return this")();
  2287. // Use `getOwnPropertyNames` because not all browsers support calling
  2288. // `hasOwnProperty` on the global `self` object in a worker. See #183.
  2289. var hadRuntime = g.regeneratorRuntime &&
  2290. Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0;
  2291. // Save the old regeneratorRuntime in case it needs to be restored later.
  2292. var oldRuntime = hadRuntime && g.regeneratorRuntime;
  2293. // Force reevalutation of runtime.js.
  2294. g.regeneratorRuntime = undefined;
  2295. module.exports = __webpack_require__(/*! ./runtime */ 43);
  2296. if (hadRuntime) {
  2297. // Restore the original runtime.
  2298. g.regeneratorRuntime = oldRuntime;
  2299. } else {
  2300. // Remove the global property added by runtime.js.
  2301. try {
  2302. delete g.regeneratorRuntime;
  2303. } catch(e) {
  2304. g.regeneratorRuntime = undefined;
  2305. }
  2306. }
  2307. /***/ }),
  2308. /* 43 */
  2309. /*!*****************************************************!*\
  2310. !*** ./node_modules/regenerator-runtime/runtime.js ***!
  2311. \*****************************************************/
  2312. /*! no static exports found */
  2313. /***/ (function(module, exports) {
  2314. /**
  2315. * Copyright (c) 2014-present, Facebook, Inc.
  2316. *
  2317. * This source code is licensed under the MIT license found in the
  2318. * LICENSE file in the root directory of this source tree.
  2319. */
  2320. !(function(global) {
  2321. "use strict";
  2322. var Op = Object.prototype;
  2323. var hasOwn = Op.hasOwnProperty;
  2324. var undefined; // More compressible than void 0.
  2325. var $Symbol = typeof Symbol === "function" ? Symbol : {};
  2326. var iteratorSymbol = $Symbol.iterator || "@@iterator";
  2327. var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
  2328. var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
  2329. var inModule = typeof module === "object";
  2330. var runtime = global.regeneratorRuntime;
  2331. if (runtime) {
  2332. if (inModule) {
  2333. // If regeneratorRuntime is defined globally and we're in a module,
  2334. // make the exports object identical to regeneratorRuntime.
  2335. module.exports = runtime;
  2336. }
  2337. // Don't bother evaluating the rest of this file if the runtime was
  2338. // already defined globally.
  2339. return;
  2340. }
  2341. // Define the runtime globally (as expected by generated code) as either
  2342. // module.exports (if we're in a module) or a new, empty object.
  2343. runtime = global.regeneratorRuntime = inModule ? module.exports : {};
  2344. function wrap(innerFn, outerFn, self, tryLocsList) {
  2345. // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
  2346. var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
  2347. var generator = Object.create(protoGenerator.prototype);
  2348. var context = new Context(tryLocsList || []);
  2349. // The ._invoke method unifies the implementations of the .next,
  2350. // .throw, and .return methods.
  2351. generator._invoke = makeInvokeMethod(innerFn, self, context);
  2352. return generator;
  2353. }
  2354. runtime.wrap = wrap;
  2355. // Try/catch helper to minimize deoptimizations. Returns a completion
  2356. // record like context.tryEntries[i].completion. This interface could
  2357. // have been (and was previously) designed to take a closure to be
  2358. // invoked without arguments, but in all the cases we care about we
  2359. // already have an existing method we want to call, so there's no need
  2360. // to create a new function object. We can even get away with assuming
  2361. // the method takes exactly one argument, since that happens to be true
  2362. // in every case, so we don't have to touch the arguments object. The
  2363. // only additional allocation required is the completion record, which
  2364. // has a stable shape and so hopefully should be cheap to allocate.
  2365. function tryCatch(fn, obj, arg) {
  2366. try {
  2367. return { type: "normal", arg: fn.call(obj, arg) };
  2368. } catch (err) {
  2369. return { type: "throw", arg: err };
  2370. }
  2371. }
  2372. var GenStateSuspendedStart = "suspendedStart";
  2373. var GenStateSuspendedYield = "suspendedYield";
  2374. var GenStateExecuting = "executing";
  2375. var GenStateCompleted = "completed";
  2376. // Returning this object from the innerFn has the same effect as
  2377. // breaking out of the dispatch switch statement.
  2378. var ContinueSentinel = {};
  2379. // Dummy constructor functions that we use as the .constructor and
  2380. // .constructor.prototype properties for functions that return Generator
  2381. // objects. For full spec compliance, you may wish to configure your
  2382. // minifier not to mangle the names of these two functions.
  2383. function Generator() {}
  2384. function GeneratorFunction() {}
  2385. function GeneratorFunctionPrototype() {}
  2386. // This is a polyfill for %IteratorPrototype% for environments that
  2387. // don't natively support it.
  2388. var IteratorPrototype = {};
  2389. IteratorPrototype[iteratorSymbol] = function () {
  2390. return this;
  2391. };
  2392. var getProto = Object.getPrototypeOf;
  2393. var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
  2394. if (NativeIteratorPrototype &&
  2395. NativeIteratorPrototype !== Op &&
  2396. hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
  2397. // This environment has a native %IteratorPrototype%; use it instead
  2398. // of the polyfill.
  2399. IteratorPrototype = NativeIteratorPrototype;
  2400. }
  2401. var Gp = GeneratorFunctionPrototype.prototype =
  2402. Generator.prototype = Object.create(IteratorPrototype);
  2403. GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
  2404. GeneratorFunctionPrototype.constructor = GeneratorFunction;
  2405. GeneratorFunctionPrototype[toStringTagSymbol] =
  2406. GeneratorFunction.displayName = "GeneratorFunction";
  2407. // Helper for defining the .next, .throw, and .return methods of the
  2408. // Iterator interface in terms of a single ._invoke method.
  2409. function defineIteratorMethods(prototype) {
  2410. ["next", "throw", "return"].forEach(function(method) {
  2411. prototype[method] = function(arg) {
  2412. return this._invoke(method, arg);
  2413. };
  2414. });
  2415. }
  2416. runtime.isGeneratorFunction = function(genFun) {
  2417. var ctor = typeof genFun === "function" && genFun.constructor;
  2418. return ctor
  2419. ? ctor === GeneratorFunction ||
  2420. // For the native GeneratorFunction constructor, the best we can
  2421. // do is to check its .name property.
  2422. (ctor.displayName || ctor.name) === "GeneratorFunction"
  2423. : false;
  2424. };
  2425. runtime.mark = function(genFun) {
  2426. if (Object.setPrototypeOf) {
  2427. Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
  2428. } else {
  2429. genFun.__proto__ = GeneratorFunctionPrototype;
  2430. if (!(toStringTagSymbol in genFun)) {
  2431. genFun[toStringTagSymbol] = "GeneratorFunction";
  2432. }
  2433. }
  2434. genFun.prototype = Object.create(Gp);
  2435. return genFun;
  2436. };
  2437. // Within the body of any async function, `await x` is transformed to
  2438. // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
  2439. // `hasOwn.call(value, "__await")` to determine if the yielded value is
  2440. // meant to be awaited.
  2441. runtime.awrap = function(arg) {
  2442. return { __await: arg };
  2443. };
  2444. function AsyncIterator(generator) {
  2445. function invoke(method, arg, resolve, reject) {
  2446. var record = tryCatch(generator[method], generator, arg);
  2447. if (record.type === "throw") {
  2448. reject(record.arg);
  2449. } else {
  2450. var result = record.arg;
  2451. var value = result.value;
  2452. if (value &&
  2453. typeof value === "object" &&
  2454. hasOwn.call(value, "__await")) {
  2455. return Promise.resolve(value.__await).then(function(value) {
  2456. invoke("next", value, resolve, reject);
  2457. }, function(err) {
  2458. invoke("throw", err, resolve, reject);
  2459. });
  2460. }
  2461. return Promise.resolve(value).then(function(unwrapped) {
  2462. // When a yielded Promise is resolved, its final value becomes
  2463. // the .value of the Promise<{value,done}> result for the
  2464. // current iteration.
  2465. result.value = unwrapped;
  2466. resolve(result);
  2467. }, function(error) {
  2468. // If a rejected Promise was yielded, throw the rejection back
  2469. // into the async generator function so it can be handled there.
  2470. return invoke("throw", error, resolve, reject);
  2471. });
  2472. }
  2473. }
  2474. var previousPromise;
  2475. function enqueue(method, arg) {
  2476. function callInvokeWithMethodAndArg() {
  2477. return new Promise(function(resolve, reject) {
  2478. invoke(method, arg, resolve, reject);
  2479. });
  2480. }
  2481. return previousPromise =
  2482. // If enqueue has been called before, then we want to wait until
  2483. // all previous Promises have been resolved before calling invoke,
  2484. // so that results are always delivered in the correct order. If
  2485. // enqueue has not been called before, then it is important to
  2486. // call invoke immediately, without waiting on a callback to fire,
  2487. // so that the async generator function has the opportunity to do
  2488. // any necessary setup in a predictable way. This predictability
  2489. // is why the Promise constructor synchronously invokes its
  2490. // executor callback, and why async functions synchronously
  2491. // execute code before the first await. Since we implement simple
  2492. // async functions in terms of async generators, it is especially
  2493. // important to get this right, even though it requires care.
  2494. previousPromise ? previousPromise.then(
  2495. callInvokeWithMethodAndArg,
  2496. // Avoid propagating failures to Promises returned by later
  2497. // invocations of the iterator.
  2498. callInvokeWithMethodAndArg
  2499. ) : callInvokeWithMethodAndArg();
  2500. }
  2501. // Define the unified helper method that is used to implement .next,
  2502. // .throw, and .return (see defineIteratorMethods).
  2503. this._invoke = enqueue;
  2504. }
  2505. defineIteratorMethods(AsyncIterator.prototype);
  2506. AsyncIterator.prototype[asyncIteratorSymbol] = function () {
  2507. return this;
  2508. };
  2509. runtime.AsyncIterator = AsyncIterator;
  2510. // Note that simple async functions are implemented on top of
  2511. // AsyncIterator objects; they just return a Promise for the value of
  2512. // the final result produced by the iterator.
  2513. runtime.async = function(innerFn, outerFn, self, tryLocsList) {
  2514. var iter = new AsyncIterator(
  2515. wrap(innerFn, outerFn, self, tryLocsList)
  2516. );
  2517. return runtime.isGeneratorFunction(outerFn)
  2518. ? iter // If outerFn is a generator, return the full iterator.
  2519. : iter.next().then(function(result) {
  2520. return result.done ? result.value : iter.next();
  2521. });
  2522. };
  2523. function makeInvokeMethod(innerFn, self, context) {
  2524. var state = GenStateSuspendedStart;
  2525. return function invoke(method, arg) {
  2526. if (state === GenStateExecuting) {
  2527. throw new Error("Generator is already running");
  2528. }
  2529. if (state === GenStateCompleted) {
  2530. if (method === "throw") {
  2531. throw arg;
  2532. }
  2533. // Be forgiving, per 25.3.3.3.3 of the spec:
  2534. // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
  2535. return doneResult();
  2536. }
  2537. context.method = method;
  2538. context.arg = arg;
  2539. while (true) {
  2540. var delegate = context.delegate;
  2541. if (delegate) {
  2542. var delegateResult = maybeInvokeDelegate(delegate, context);
  2543. if (delegateResult) {
  2544. if (delegateResult === ContinueSentinel) continue;
  2545. return delegateResult;
  2546. }
  2547. }
  2548. if (context.method === "next") {
  2549. // Setting context._sent for legacy support of Babel's
  2550. // function.sent implementation.
  2551. context.sent = context._sent = context.arg;
  2552. } else if (context.method === "throw") {
  2553. if (state === GenStateSuspendedStart) {
  2554. state = GenStateCompleted;
  2555. throw context.arg;
  2556. }
  2557. context.dispatchException(context.arg);
  2558. } else if (context.method === "return") {
  2559. context.abrupt("return", context.arg);
  2560. }
  2561. state = GenStateExecuting;
  2562. var record = tryCatch(innerFn, self, context);
  2563. if (record.type === "normal") {
  2564. // If an exception is thrown from innerFn, we leave state ===
  2565. // GenStateExecuting and loop back for another invocation.
  2566. state = context.done
  2567. ? GenStateCompleted
  2568. : GenStateSuspendedYield;
  2569. if (record.arg === ContinueSentinel) {
  2570. continue;
  2571. }
  2572. return {
  2573. value: record.arg,
  2574. done: context.done
  2575. };
  2576. } else if (record.type === "throw") {
  2577. state = GenStateCompleted;
  2578. // Dispatch the exception by looping back around to the
  2579. // context.dispatchException(context.arg) call above.
  2580. context.method = "throw";
  2581. context.arg = record.arg;
  2582. }
  2583. }
  2584. };
  2585. }
  2586. // Call delegate.iterator[context.method](context.arg) and handle the
  2587. // result, either by returning a { value, done } result from the
  2588. // delegate iterator, or by modifying context.method and context.arg,
  2589. // setting context.delegate to null, and returning the ContinueSentinel.
  2590. function maybeInvokeDelegate(delegate, context) {
  2591. var method = delegate.iterator[context.method];
  2592. if (method === undefined) {
  2593. // A .throw or .return when the delegate iterator has no .throw
  2594. // method always terminates the yield* loop.
  2595. context.delegate = null;
  2596. if (context.method === "throw") {
  2597. if (delegate.iterator.return) {
  2598. // If the delegate iterator has a return method, give it a
  2599. // chance to clean up.
  2600. context.method = "return";
  2601. context.arg = undefined;
  2602. maybeInvokeDelegate(delegate, context);
  2603. if (context.method === "throw") {
  2604. // If maybeInvokeDelegate(context) changed context.method from
  2605. // "return" to "throw", let that override the TypeError below.
  2606. return ContinueSentinel;
  2607. }
  2608. }
  2609. context.method = "throw";
  2610. context.arg = new TypeError(
  2611. "The iterator does not provide a 'throw' method");
  2612. }
  2613. return ContinueSentinel;
  2614. }
  2615. var record = tryCatch(method, delegate.iterator, context.arg);
  2616. if (record.type === "throw") {
  2617. context.method = "throw";
  2618. context.arg = record.arg;
  2619. context.delegate = null;
  2620. return ContinueSentinel;
  2621. }
  2622. var info = record.arg;
  2623. if (! info) {
  2624. context.method = "throw";
  2625. context.arg = new TypeError("iterator result is not an object");
  2626. context.delegate = null;
  2627. return ContinueSentinel;
  2628. }
  2629. if (info.done) {
  2630. // Assign the result of the finished delegate to the temporary
  2631. // variable specified by delegate.resultName (see delegateYield).
  2632. context[delegate.resultName] = info.value;
  2633. // Resume execution at the desired location (see delegateYield).
  2634. context.next = delegate.nextLoc;
  2635. // If context.method was "throw" but the delegate handled the
  2636. // exception, let the outer generator proceed normally. If
  2637. // context.method was "next", forget context.arg since it has been
  2638. // "consumed" by the delegate iterator. If context.method was
  2639. // "return", allow the original .return call to continue in the
  2640. // outer generator.
  2641. if (context.method !== "return") {
  2642. context.method = "next";
  2643. context.arg = undefined;
  2644. }
  2645. } else {
  2646. // Re-yield the result returned by the delegate method.
  2647. return info;
  2648. }
  2649. // The delegate iterator is finished, so forget it and continue with
  2650. // the outer generator.
  2651. context.delegate = null;
  2652. return ContinueSentinel;
  2653. }
  2654. // Define Generator.prototype.{next,throw,return} in terms of the
  2655. // unified ._invoke helper method.
  2656. defineIteratorMethods(Gp);
  2657. Gp[toStringTagSymbol] = "Generator";
  2658. // A Generator should always return itself as the iterator object when the
  2659. // @@iterator function is called on it. Some browsers' implementations of the
  2660. // iterator prototype chain incorrectly implement this, causing the Generator
  2661. // object to not be returned from this call. This ensures that doesn't happen.
  2662. // See https://github.com/facebook/regenerator/issues/274 for more details.
  2663. Gp[iteratorSymbol] = function() {
  2664. return this;
  2665. };
  2666. Gp.toString = function() {
  2667. return "[object Generator]";
  2668. };
  2669. function pushTryEntry(locs) {
  2670. var entry = { tryLoc: locs[0] };
  2671. if (1 in locs) {
  2672. entry.catchLoc = locs[1];
  2673. }
  2674. if (2 in locs) {
  2675. entry.finallyLoc = locs[2];
  2676. entry.afterLoc = locs[3];
  2677. }
  2678. this.tryEntries.push(entry);
  2679. }
  2680. function resetTryEntry(entry) {
  2681. var record = entry.completion || {};
  2682. record.type = "normal";
  2683. delete record.arg;
  2684. entry.completion = record;
  2685. }
  2686. function Context(tryLocsList) {
  2687. // The root entry object (effectively a try statement without a catch
  2688. // or a finally block) gives us a place to store values thrown from
  2689. // locations where there is no enclosing try statement.
  2690. this.tryEntries = [{ tryLoc: "root" }];
  2691. tryLocsList.forEach(pushTryEntry, this);
  2692. this.reset(true);
  2693. }
  2694. runtime.keys = function(object) {
  2695. var keys = [];
  2696. for (var key in object) {
  2697. keys.push(key);
  2698. }
  2699. keys.reverse();
  2700. // Rather than returning an object with a next method, we keep
  2701. // things simple and return the next function itself.
  2702. return function next() {
  2703. while (keys.length) {
  2704. var key = keys.pop();
  2705. if (key in object) {
  2706. next.value = key;
  2707. next.done = false;
  2708. return next;
  2709. }
  2710. }
  2711. // To avoid creating an additional object, we just hang the .value
  2712. // and .done properties off the next function object itself. This
  2713. // also ensures that the minifier will not anonymize the function.
  2714. next.done = true;
  2715. return next;
  2716. };
  2717. };
  2718. function values(iterable) {
  2719. if (iterable) {
  2720. var iteratorMethod = iterable[iteratorSymbol];
  2721. if (iteratorMethod) {
  2722. return iteratorMethod.call(iterable);
  2723. }
  2724. if (typeof iterable.next === "function") {
  2725. return iterable;
  2726. }
  2727. if (!isNaN(iterable.length)) {
  2728. var i = -1, next = function next() {
  2729. while (++i < iterable.length) {
  2730. if (hasOwn.call(iterable, i)) {
  2731. next.value = iterable[i];
  2732. next.done = false;
  2733. return next;
  2734. }
  2735. }
  2736. next.value = undefined;
  2737. next.done = true;
  2738. return next;
  2739. };
  2740. return next.next = next;
  2741. }
  2742. }
  2743. // Return an iterator with no values.
  2744. return { next: doneResult };
  2745. }
  2746. runtime.values = values;
  2747. function doneResult() {
  2748. return { value: undefined, done: true };
  2749. }
  2750. Context.prototype = {
  2751. constructor: Context,
  2752. reset: function(skipTempReset) {
  2753. this.prev = 0;
  2754. this.next = 0;
  2755. // Resetting context._sent for legacy support of Babel's
  2756. // function.sent implementation.
  2757. this.sent = this._sent = undefined;
  2758. this.done = false;
  2759. this.delegate = null;
  2760. this.method = "next";
  2761. this.arg = undefined;
  2762. this.tryEntries.forEach(resetTryEntry);
  2763. if (!skipTempReset) {
  2764. for (var name in this) {
  2765. // Not sure about the optimal order of these conditions:
  2766. if (name.charAt(0) === "t" &&
  2767. hasOwn.call(this, name) &&
  2768. !isNaN(+name.slice(1))) {
  2769. this[name] = undefined;
  2770. }
  2771. }
  2772. }
  2773. },
  2774. stop: function() {
  2775. this.done = true;
  2776. var rootEntry = this.tryEntries[0];
  2777. var rootRecord = rootEntry.completion;
  2778. if (rootRecord.type === "throw") {
  2779. throw rootRecord.arg;
  2780. }
  2781. return this.rval;
  2782. },
  2783. dispatchException: function(exception) {
  2784. if (this.done) {
  2785. throw exception;
  2786. }
  2787. var context = this;
  2788. function handle(loc, caught) {
  2789. record.type = "throw";
  2790. record.arg = exception;
  2791. context.next = loc;
  2792. if (caught) {
  2793. // If the dispatched exception was caught by a catch block,
  2794. // then let that catch block handle the exception normally.
  2795. context.method = "next";
  2796. context.arg = undefined;
  2797. }
  2798. return !! caught;
  2799. }
  2800. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  2801. var entry = this.tryEntries[i];
  2802. var record = entry.completion;
  2803. if (entry.tryLoc === "root") {
  2804. // Exception thrown outside of any try block that could handle
  2805. // it, so set the completion value of the entire function to
  2806. // throw the exception.
  2807. return handle("end");
  2808. }
  2809. if (entry.tryLoc <= this.prev) {
  2810. var hasCatch = hasOwn.call(entry, "catchLoc");
  2811. var hasFinally = hasOwn.call(entry, "finallyLoc");
  2812. if (hasCatch && hasFinally) {
  2813. if (this.prev < entry.catchLoc) {
  2814. return handle(entry.catchLoc, true);
  2815. } else if (this.prev < entry.finallyLoc) {
  2816. return handle(entry.finallyLoc);
  2817. }
  2818. } else if (hasCatch) {
  2819. if (this.prev < entry.catchLoc) {
  2820. return handle(entry.catchLoc, true);
  2821. }
  2822. } else if (hasFinally) {
  2823. if (this.prev < entry.finallyLoc) {
  2824. return handle(entry.finallyLoc);
  2825. }
  2826. } else {
  2827. throw new Error("try statement without catch or finally");
  2828. }
  2829. }
  2830. }
  2831. },
  2832. abrupt: function(type, arg) {
  2833. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  2834. var entry = this.tryEntries[i];
  2835. if (entry.tryLoc <= this.prev &&
  2836. hasOwn.call(entry, "finallyLoc") &&
  2837. this.prev < entry.finallyLoc) {
  2838. var finallyEntry = entry;
  2839. break;
  2840. }
  2841. }
  2842. if (finallyEntry &&
  2843. (type === "break" ||
  2844. type === "continue") &&
  2845. finallyEntry.tryLoc <= arg &&
  2846. arg <= finallyEntry.finallyLoc) {
  2847. // Ignore the finally entry if control is not jumping to a
  2848. // location outside the try/catch block.
  2849. finallyEntry = null;
  2850. }
  2851. var record = finallyEntry ? finallyEntry.completion : {};
  2852. record.type = type;
  2853. record.arg = arg;
  2854. if (finallyEntry) {
  2855. this.method = "next";
  2856. this.next = finallyEntry.finallyLoc;
  2857. return ContinueSentinel;
  2858. }
  2859. return this.complete(record);
  2860. },
  2861. complete: function(record, afterLoc) {
  2862. if (record.type === "throw") {
  2863. throw record.arg;
  2864. }
  2865. if (record.type === "break" ||
  2866. record.type === "continue") {
  2867. this.next = record.arg;
  2868. } else if (record.type === "return") {
  2869. this.rval = this.arg = record.arg;
  2870. this.method = "return";
  2871. this.next = "end";
  2872. } else if (record.type === "normal" && afterLoc) {
  2873. this.next = afterLoc;
  2874. }
  2875. return ContinueSentinel;
  2876. },
  2877. finish: function(finallyLoc) {
  2878. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  2879. var entry = this.tryEntries[i];
  2880. if (entry.finallyLoc === finallyLoc) {
  2881. this.complete(entry.completion, entry.afterLoc);
  2882. resetTryEntry(entry);
  2883. return ContinueSentinel;
  2884. }
  2885. }
  2886. },
  2887. "catch": function(tryLoc) {
  2888. for (var i = this.tryEntries.length - 1; i >= 0; --i) {
  2889. var entry = this.tryEntries[i];
  2890. if (entry.tryLoc === tryLoc) {
  2891. var record = entry.completion;
  2892. if (record.type === "throw") {
  2893. var thrown = record.arg;
  2894. resetTryEntry(entry);
  2895. }
  2896. return thrown;
  2897. }
  2898. }
  2899. // The context.catch method must only be called with a location
  2900. // argument that corresponds to a known catch block.
  2901. throw new Error("illegal catch attempt");
  2902. },
  2903. delegateYield: function(iterable, resultName, nextLoc) {
  2904. this.delegate = {
  2905. iterator: values(iterable),
  2906. resultName: resultName,
  2907. nextLoc: nextLoc
  2908. };
  2909. if (this.method === "next") {
  2910. // Deliberately forget the last sent value so that we don't
  2911. // accidentally pass it on to the delegate.
  2912. this.arg = undefined;
  2913. }
  2914. return ContinueSentinel;
  2915. }
  2916. };
  2917. })(
  2918. // In sloppy mode, unbound `this` refers to the global object, fallback to
  2919. // Function constructor if we're in global strict mode. That is sadly a form
  2920. // of indirect eval which violates Content Security Policy.
  2921. (function() {
  2922. return this || (typeof self === "object" && self);
  2923. })() || Function("return this")()
  2924. );
  2925. /***/ }),
  2926. /* 44 */
  2927. /*!****************************************************!*\
  2928. !*** C:/Users/001/Desktop/运维端/static/js/bluWKM.js ***!
  2929. \****************************************************/
  2930. /*! no static exports found */
  2931. /***/ (function(module, exports, __webpack_require__) {
  2932. eval("/* WEBPACK VAR INJECTION */(function(__f__) {function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError(\"Cannot call a class as a 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);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;} // 安卓平台上,在调用 notifyBLECharacteristicValueChange 成功后立即调用 writeBLECharacteristicValue 接口,在部分机型上会发生 10008 系统错误\n// var http = require(\"../utils/config.js\");\nvar interval = null;\nvar cmd = {\n heartBeat: 'heart', // 心跳包\n unlock: 'openBike', // 开锁命令\n lock: 'lock', // 开锁命令\n bell: 'bellBike', // 关锁命令\n temporaryUnlockBike: 'temporaryUnlockBike', // 关锁命令\n temporaryLockBike: 'temporaryLockBike', // 关锁命令\n batteryUnlock: 'batteryUnlock', // 关锁命令\n batteryLock: 'batteryLock', // 关锁命令\n // login: 'login', // 关锁命令\n status: 'status', // 关锁命令\n reboot: 'reboot' };\n\nvar errorCode = {\n no_connection: 10006, //失去连接\n no_service: 10004, //没有找到指定服务\n apdater_no_avilable: 10001, //当前蓝牙适配器不可用\n discovery_timeOut: 1100, //扫描失败\n connet_timeOut: 10003 //连接超时\n};\n\nvar GetBluUrl = 'https://bike.hanyiyun.com/app-api/bike/getKey';\nvar util = __webpack_require__(/*! ./bluUtil.js */ 45);\nvar dataTransition = __webpack_require__(/*! ./dataTransition.js */ 46);var\nBluetoothManager = /*#__PURE__*/function () {\"use strict\";\n function BluetoothManager() {_classCallCheck(this, BluetoothManager);\n this._connectDeviceName = 'shanxiango';\n this._isFoundDevice = false;\n this._deviceId = '';\n this._serviceId = '';\n this._bikeMainId = '';\n this._mac = '',\n this._sequenceId = 10;\n this._characteristicId = '';\n this._characteristicId_write = '';\n this._discovering = false;\n this.discoveryTimeOut = 10 * 1000;\n this.isConnecting = false;\n this.isAuth = false;\n this.connnectTimeOut = 5 * 1000; //连接超时时间\n this.hardwareCallbackTimeOut = 5 * 1000; //硬件回调超时时间\n this.adapterStateChangeCallBack = undefined;\n this.onConnectionStateChange = undefined;\n this.heartTimer = '';\n // 处理接受数据\n this._receiveLength = 0;\n this._receiveData = '';\n // this.initialNotification()\n this.readyStopDiscovery = false; //标记准备关闭扫描\n this.instructions = ''; //记录指令\n this.writeIndex = 0;\n }\n /*******初始化各种回调**********/_createClass(BluetoothManager, [{ key: \"initialNotification\", value: function initialNotification()\n {var _this = this;\n var that = this;\n __f__(\"log\", 'initialNotification', \" at static/js/bluWKM.js:59\");\n // this.getConnectedBluetoothDevices()\n // 监听蓝牙适配器状态改变\n uni.showLoading({\n title: '蓝牙连接中' });\n\n\n uni.onBluetoothAdapterStateChange(\n function (res) {\n __f__(\"log\", 'onBluetoothAdapterStateChange', res, \" at static/js/bluWKM.js:68\");\n // this.connectDeivece(this._bikeMainId,this.instructions)\n if (that.adapterStateChangeCallBack) {\n that.adapterStateChangeCallBack(res);\n }\n if (res.available == false) {\n _this.isConnecting = false;\n }\n });\n\n // // 监听扫描到的设备\n uni.onBluetoothDeviceFound(\n function (res) {\n __f__(\"log\", '监听扫描到的设备', \" at static/js/bluWKM.js:81\");\n if (that._isFoundDevice) {\n return;\n }\n __f__(\"log\", res, \" at static/js/bluWKM.js:85\");\n for (var i = 0; i < res.devices.length; i++) {\n var device = res.devices[i];\n var name = device.name;\n __f__(\"log\", name, device.deviceId, \" at static/js/bluWKM.js:89\");\n if (name === 'shanxiango') {\n if (device.localName != name) return;\n if (name != that._connectDeviceName) return;\n var bf = device.advertisData.slice(2, 10);\n var abc = util.ab2hex(bf);\n var contentArr = util.strAverage2Arr(abc, 2);\n contentArr.reverse();\n var string = contentArr.join('').toUpperCase(); //mac地址\n __f__(\"log\", string, 'Mead===>', res.devices[i], that._mac, \" at static/js/bluWKM.js:98\");\n if (!that._isFoundDevice && name == that._connectDeviceName) {\n // 获取车辆中控编号\n __f__(\"log\", that._mac, \" at static/js/bluWKM.js:101\");\n if (string == that._mac) {\n __f__(\"log\", '-------found ---', device.name, string, \" at static/js/bluWKM.js:103\");\n __f__(\"log\", device, \" at static/js/bluWKM.js:104\");\n __f__(\"log\", device.deviceId, \" at static/js/bluWKM.js:105\");\n that._isFoundDevice = true;\n that._deviceId = device.deviceId;\n if (that.deviceFoundBlock) {\n that.deviceFoundBlock(device.deviceId);\n }\n break;\n // uni.stopBluetoothDevicesDiscovery()\n }\n }\n }\n }\n return;\n });\n\n // 监听蓝牙连接状态\n uni.onBLEConnectionStateChange(\n function (res) {\n __f__(\"log\", res, \" at static/js/bluWKM.js:123\");\n __f__(\"log\", '监听蓝牙连接状态', res, _this._deviceId, \" at static/js/bluWKM.js:124\");\n _this.isConnecting = res.connected;\n if (res.deviceId == _this._deviceId && res.connected == false) {\n __f__(\"log\", 'onBLEConnectionStateChange fail', _this._connectionFailBlock, \" at static/js/bluWKM.js:127\");\n if (_this._connectionFailBlock) {\n // uni.showModal({\n // title: '提示',\n // content: '蓝牙连接超时',\n // showCancel: false\n // })\n uni.hideLoading();\n _this._connectionFailBlock(res);\n _this._connectionFailBlock = undefined;\n }\n if (_this.onConnectionStateChange) {\n _this.onConnectionStateChange(res);\n }\n\n uni.closeBLEConnection({\n deviceId: _this._deviceId,\n success: function success(res) {\n __f__(\"log\", 'closeBLEConnection', res, \" at static/js/bluWKM.js:145\");\n } });\n\n }\n });\n\n\n // 监听特征值变化\n uni.onBLECharacteristicValueChange(\n function (characteristic) {\n __f__(\"log\", '监听特征值变化', characteristic, \" at static/js/bluWKM.js:155\");\n if (characteristic.value) {\n var res = characteristic.value;\n var resData = util.ab2hex(res.value);\n if (_this._receiveLength == 0) {\n _this._receiveLength = parseInt(resData.slice(8, 12), 16);\n }\n _this._receiveData += resData;\n if (_this._receiveData.length === _this._receiveLength * 2 + 16) {\n var _receiveData = _this._receiveData;\n __f__(\"log\", _receiveData, '_receiveData', \" at static/js/bluWKM.js:165\");\n var flay = _receiveData.slice(0, 4);\n var crc16 = _receiveData.slice(12, 16);\n var systemState = _receiveData.slice(4, 6); //4c\n var sequenceId_16 = _receiveData.slice(6, 8); //0a\n var body = _receiveData.slice(16);\n var contentArr = util.addFlagBeforeArr(util.strAverage2Arr(body, 2));\n //校检数据\n if (parseInt(dataTransition.getCRC16(contentArr), 16) == parseInt(crc16, 16)) {\n var value = util.hexStringToArrayBuffer(\"aa12\".concat(systemState).concat(sequenceId_16, \"00000000\"));\n if (flay === 'aa10') {\n if (body.indexOf('aa10550b') > -1) {\n if (_this.getRandomSuccessBlock) {\n _this.getRandomSuccessBlock(body);\n _this.getRandomSuccessBlock = undefined;\n }\n }\n __f__(\"log\", '指令发送成功', body, \" at static/js/bluWKM.js:182\");\n } else if (flay === 'aa00') {} else if (flay === 'aa30') {\n __f__(\"log\", '校检错误', \" at static/js/bluWKM.js:184\");\n } else {\n // this.writeBLECharacteristicValue(value)\n // that.analysisBLEContent(body)\n }\n }\n // 返回ACK\n _this._receiveLength = 0;\n _this._receiveData = '';\n }\n }\n });\n\n } }, { key: \"failToGetConnected\", value: function failToGetConnected()\n\n {\n var that = this;\n if (!that.getConnectedTimer) {\n clearTimeout(that.getConnectedTimer);\n that.getConnectedTimer = null;\n }\n that.getConnectedTimer = setTimeout(function () {\n uni.getBluetoothAdapterState({\n success: function success(res) {\n __f__(\"log\", res, \" at static/js/bluWKM.js:208\");\n var available = res.available;\n if (!available) {\n uni.showLoading({\n title: '请开蓝牙',\n icon: 'loading',\n duration: 2000 });\n\n } else {\n if (!that.connectedDevice['state']) {\n that.getConnectedBluetoothDevices();\n }\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at static/js/bluWKM.js:223\");\n } });\n\n }, 3000);\n }\n /***********初始化接口***************/ }, { key: \"connectDeivece\", value: function connectDeivece(\n bikeMainId) {var _this2 = this;var command = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n __f__(\"log\", this.isConnecting, this._bikeMainId, bikeMainId, cmd, \" at static/js/bluWKM.js:230\");\n this.instructions = command;\n // this._bikeMainId = bikeMainId;\n // this.isConnecting = true;\n if (this.isConnecting && bikeMainId == this._bikeMainId) {\n return new Promise(\n function (resolve, reject) {\n if (command == cmd.unlock) {\n _this2.unlockBike();\n } else if (command == cmd.lock) {\n _this2.lockBike();\n } else if (command == cmd.bell) {\n _this2.play_voice();\n } else if (command == cmd.batteryUnlock) {\n _this2.diankai();\n } else if (command == cmd.reboot) {\n _this2.chongqi();\n }\n resolve(true);\n return;\n });\n\n\n\n } else {\n if (this._deviceId) {\n this.closeConnection(this._deviceId);\n }\n }\n\n this._bikeMainId = bikeMainId; //当前车辆编号\n // 初始化蓝牙\n this.initialNotification();\n\n return this.openAdapter().then(function (res) {\n return _this2.getSecretKey();\n }).then(function (res) {\n return _this2.startDiscovery();\n }).then(\n function (res) {\n __f__(\"log\", 'startDiscovery---------', res, \" at static/js/bluWKM.js:270\");\n _this2._discovering = true;\n // 等待发现设备\n return _this2.waitForDeviceFound();\n },\n function (reject) {\n __f__(\"log\", reject, \" at static/js/bluWKM.js:276\");\n uni.showToast({\n title: '连接失败请检查蓝牙',\n icon: 'none' });\n\n }).\n then(\n function (res) {\n __f__(\"log\", 'stopDiscovery---------', \" at static/js/bluWKM.js:284\");\n _this2.readyStopDiscovery = true;\n //关闭扫描\n return _this2.stopDiscovery();\n }).\n then(\n function (res) {\n _this2.readyStopDiscovery = false;\n _this2._discovering = false;\n __f__(\"log\", 'createConnection---------', res, \" at static/js/bluWKM.js:293\");\n //开始连接设备\n __f__(\"log\", _this2._deviceId, \" at static/js/bluWKM.js:295\");\n\n return _this2.createConnection(_this2._deviceId);\n }).\n then(\n function (res) {\n __f__(\"log\", 'getServices---------', res, \" at static/js/bluWKM.js:301\");\n // 获取服务\n return _this2.getServices(_this2._deviceId);\n }).\n then(\n function (res) {\n __f__(\"log\", 'getCharacteristics---------', res, \" at static/js/bluWKM.js:307\");\n // 获取特征值\n __f__(\"log\", _this2._deviceId, \" at static/js/bluWKM.js:309\");\n __f__(\"log\", _this2._serviceId, \" at static/js/bluWKM.js:310\");\n return _this2.getCharacteristics(_this2._deviceId, _this2._serviceId);\n }).\n then(\n function (res) {\n __f__(\"log\", 'openNotifyChsValueChange---------', res, \" at static/js/bluWKM.js:315\");\n // 开启notify通道\n __f__(\"log\", '开启notify通道', \" at static/js/bluWKM.js:317\");\n __f__(\"log\", _this2._deviceId, '=>', _this2._serviceId, '<++', _this2._characteristicId, \" at static/js/bluWKM.js:318\");\n switch (uni.getSystemInfoSync().platform) {\n case 'android':\n __f__(\"log\", '客户端是Android', \" at static/js/bluWKM.js:321\");\n return _this2.openNotifyChsValueChange(_this2._deviceId, _this2._serviceId, _this2._characteristicId_write);\n break;\n case 'ios':\n __f__(\"log\", '客户端是iOS', \" at static/js/bluWKM.js:325\");\n return _this2.openNotifyChsValueChange(_this2._deviceId, _this2._serviceId, _this2._characteristicId);\n break;}\n\n }).\n\n then(\n function (res) {\n return _this2.onBLECharacteristicValueChange();\n }).\n then(\n function (res) {\n if (command == cmd.unlock) {\n return _this2.unlockBike();\n } else if (command == cmd.lock) {\n return _this2.lockBike();\n } else if (command == cmd.bell) {\n return _this2.play_voice();\n } else if (command == cmd.batteryUnlock) {\n return _this2.diankai();\n } else if (command == cmd.reboot) {\n return _this2.chongqi();\n }\n return;\n });\n\n }\n // 监听特征值变化\n }, { key: \"onBLECharacteristicValueChange\", value: function onBLECharacteristicValueChange() {var _this3 = this;\n var that = this;\n uni.onBLECharacteristicValueChange(\n function (characteristic) {\n __f__(\"log\", 'onBLECharacteristicValueChange', characteristic, \" at static/js/bluWKM.js:357\");\n\n setTimeout(function () {\n uni.showToast({\n title: '请求成功',\n icon: 'none' });\n\n }, 1000);\n // if (characteristic.value) {\n // let res = characteristic.value\n // let resData = util.ab2hex(res);\n // // 4244 00 04 0a0a0505 \n // // 0a 01 01 a463\n // // mead\n // let resDatas = resData.split('4244').filter((res) => {\n // return res\n // }).map((res) => {\n // return '4244' + res\n // })\n // resDatas.forEach(res_data => {\n // //业务\n // console.log(res_data, 'resData')\n // let data = res_data.slice(0, -4)\n // console.log(data, 'data')\n // if (this.instruct != cmd.bell) {\n // this.writeIndex = this.writeIndex + 1\n // var zhiling = uni.getStorageSync('zhiling');\n // var arr1 = [];\n // if (zhiling == '' || zhiling == undefined) {\n // arr1 = arr1.concat(data)\n // } else {\n // arr1 = zhiling.concat(data)\n // }\n // uni.setStorageSync('zhiling', arr1)\n // var number = 1;\n // interval = setInterval(() => {\n // number += 1;\n // console.log(arr1)\n // console.log(data) \n // console.log(this.writeIndex)\n // console.log(arr1[this.writeIndex - 1])\n // if (arr1[this.writeIndex - 1] == data) {\n // console.log('111')\n // //成功响应 调接口告诉后台\n // clearInterval(interval)\n // if (this.instructions == cmd.unlock) {\n // var key5 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x0A', '0x07', '0x01', '0x02', '0x00', '0x00', '0x00', '0x00', '0x00']\n // let value2 = util.CRC(key5)\n // var value3 = '424400010A0A05050A0701020000000000' + value2\n // this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value3), '123')\n // this.instructions = cmd.bell\n // }\n // if (this.instructions == cmd.lock) {\n // //播放语音\n // var key5 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x0A', '0x07', '0x01', '0x01', '0x00', '0x00', '0x00', '0x00', '0x00']\n // let value2 = util.CRC(key5)\n // var value3 = '424400010A0A05050A0701010000000000' + value2\n // this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value3))\n // this.instructions = cmd.bell\n // }\n // return;\n // } else {\n // //未成功响应 再次发指令\n // if (number % 5 == 0) {\n // console.log(number)\n // //每5秒执行一次写入数据\n // if (this.instructions == cmd.unlock) {\n // this.unlockBike()\n // } else if (this.instructions == cmd.lock) {\n // this.lockBike()\n // } else if (this.instructions == cmd.bell) {\n // this.play_voice()\n // } else if (this.instructions == cmd.batteryUnlock) {\n // this.diankai()\n // } else if (this.instructions == cmd.reboot) {\n // this.chongqi()\n // }\n // clearInterval(interval)\n // }\n // }\n // if (number >= 30) {\n // //超时清空定时器\n // clearInterval(interval)\n // }\n // }, 1000);\n // }\n // let xiaojian = res_data.slice(res_data.length - 4)\n // let arr = [],\n // body = [];\n // for (let i = 0, index = 0; i < (data.length / 2); i++) {\n // arr.push('0x' + data.slice(index, index + 2))\n // if (index >= 16) {\n // body.push(data.slice(index, index + 2))\n // }\n // index = index + 2\n // }\n // let value = util.CRC(arr)\n // console.log(body)\n // console.log(value, 'value')\n // console.log(xiaojian, 'xiaojian')\n // if (value == xiaojian) {\n // console.log('数据正确')\n // switch (body[0]) {\n // case '01':\n // //获取ECU状态\n // break\n // case '02':\n // //电门开关\n // break\n // case '03':\n // //防盗开关\n // break\n // case '04':\n // //照明灯开关\n // break\n // case '05':\n // //开电池仓\n // break\n // case '06':\n // //后座锁开关\n // break\n // case '07':\n // //后轮锁开关\n // break\n // case '08':\n // //获取配置信息\n // break\n // case '09':\n // //综合参数配置\n // break\n // case '0a':\n // //语音设置\n // break\n // case '0b':\n // //重启设置\n // break\n // case '0c':\n // //获取ECU信息\n // break\n // case '0d':\n // //2.13\t设置服务器域名(IP)和端口\n // break\n // case '0e':\n // //2.14\t获取服务器域名(IP)和端口\n // break\n // case '0f':\n // //2.15\t接单设置\n // break\n // }\n // }\n // });\n // // var resData = '424400040a0a05050a0101a463'\n\n // }\n if (characteristic.value) {\n var res = characteristic.value;\n var resData = util.ab2hex(res);\n\n if (_this3._receiveLength == 0) {\n _this3._receiveLength = parseInt(resData.slice(8, 12), 16);\n }\n _this3._receiveData += resData;\n if (_this3._receiveData.length === _this3._receiveLength * 2 + 16) {\n var _receiveData = _this3._receiveData;\n __f__(\"log\", _receiveData, \" at static/js/bluWKM.js:521\");\n var flay = _receiveData.slice(0, 4);\n var crc16 = _receiveData.slice(12, 16);\n var systemState = _receiveData.slice(4, 6); //4c\n var sequenceId_16 = _receiveData.slice(6, 8); //0a\n var dcArr = [];\n var body = _receiveData.slice(16);\n var contentArr = util.addFlagBeforeArr(util.strAverage2Arr(body, 2));\n //校检数据\n if (parseInt(dataTransition.getCRC16(contentArr), 16) == parseInt(crc16, 16)) {\n var response = util.hexStringToArrayBuffer(\"aa12\".concat(systemState).concat(sequenceId_16, \"00000000\"));\n if (flay === 'aa10') {\n __f__(\"log\", _this3.getRandomSuccessBlock, 'getRandomSuccessBlock', \" at static/js/bluWKM.js:533\");\n if (_this3.getRandomSuccessBlock) {\n _this3.getRandomSuccessBlock(body);\n _this3.getRandomSuccessBlock = undefined;\n }\n __f__(\"log\", '指令发送成功', body, \" at static/js/bluWKM.js:538\");\n } else if (flay === 'aa00') {} else if (flay === 'aa30') {\n __f__(\"log\", 'CRC校验失败', body, \" at static/js/bluWKM.js:540\");\n } else {\n //响应数据\n // that.writeBLECharacteristicValue(response, undefined)\n // that.analysisBLEContent(body)\n }\n }\n _this3._receiveLength = 0;\n _this3._receiveData = '';\n }\n }\n });\n\n }\n //获取秘钥\n }, { key: \"getSecretKey\", value: function getSecretKey(box_no) {\n if (!box_no) box_no = this._bikeMainId;\n var that = this;\n __f__(\"log\", box_no, \" at static/js/bluWKM.js:558\");\n return new Promise(function (res, rej) {\n var param = {\n box_no: box_no //我公司是通过设备编号获取的密钥\n };\n uni.request({\n url: 'https://bike.saas.yufengjiayun.com/app-api/bike/getKey',\n data: param,\n header: {\n Authorization: 'bearer' + ' ' + uni.getStorageSync('token').token },\n\n success: function success(resp) {\n __f__(\"log\", resp, \" at static/js/bluWKM.js:570\");\n that._mac = resp.data.key;\n res(resp.data.key);\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at static/js/bluWKM.js:575\");\n } });\n\n });\n } }, { key: \"waitForDeviceFound\", value: function waitForDeviceFound()\n {var _this4 = this;\n return new Promise(\n function (resolve, reject) {\n _this4.deviceFoundBlock = resolve;\n __f__(\"log\", 'waitForDeviceFound ----', \" at static/js/bluWKM.js:584\");\n __f__(\"log\", _this4._discovering, '<==>', !_this4._isFoundDevice, \" at static/js/bluWKM.js:585\");\n setTimeout(function () {\n __f__(\"log\", 'waitForDeviceFound ++++', _this4._discovering, _this4._isFoundDevice, \" at static/js/bluWKM.js:587\");\n // 全局断了,_discovering 变为false(发心跳包失败,closeApater引起)\n __f__(\"log\", _this4._discovering, '==>', !_this4._isFoundDevice, \" at static/js/bluWKM.js:589\");\n\n if (_this4._discovering && !_this4._isFoundDevice) {\n uni.showToast({\n title: '蓝牙扫描超时',\n icon: 'none' });\n\n __f__(\"log\", 'waitForDeviceFound 扫描超时00', 'isconnecting :', _this4.isConnecting, \" at static/js/bluWKM.js:596\");\n reject({\n errCode: errorCode.discovery_timeOut });\n\n }\n if (_this4._discovering) {\n _this4.stopDiscovery();\n }\n }, _this4.discoveryTimeOut);\n });\n\n } }, { key: \"disconnecDevice\", value: function disconnecDevice()\n {var _this5 = this;\n return this.closeConnection(this._deviceId).then(\n function (res) {\n return _this5.closeAdapter();\n });\n\n }\n /***********初始化接口***************/\n /***********蓝牙处理*************/\n // 打开适配器\n }, { key: \"openAdapter\", value: function openAdapter() {\n __f__(\"log\", '打开适配器', \" at static/js/bluWKM.js:619\");\n return new Promise(\n function (resolve, reject) {\n uni.openBluetoothAdapter({\n success: resolve,\n fail: reject });\n\n });\n\n }\n // 关闭适配器\n }, { key: \"closeAdapter\", value: function closeAdapter() {var _this6 = this;\n __f__(\"log\", '关闭适配器', \" at static/js/bluWKM.js:631\");\n this._isFoundDevice = false;\n this._discovering = false;\n this.isConnecting = false;\n this.adapterStateChangeCallBack = undefined;\n this.onConnectionStateChange = undefined;\n return new Promise(\n function (resolve, reject) {\n _this6.isOpenAdpater = false;\n _this6.isConnecting = false;\n uni.closeBluetoothAdapter({\n success: resolve,\n fail: reject });\n\n });\n\n }\n // 开启扫描\n }, { key: \"startDiscovery\", value: function startDiscovery() {\n __f__(\"log\", '开启扫描', \" at static/js/bluWKM.js:650\");\n return new Promise(\n function (resolve, reject) {\n uni.startBluetoothDevicesDiscovery({\n services: ['FFF0'],\n allowDuplicatesKey: true,\n success: resolve,\n fail: reject });\n\n });\n\n }\n // 关闭扫描\n }, { key: \"stopDiscovery\", value: function stopDiscovery() {\n __f__(\"log\", '关闭扫描', \" at static/js/bluWKM.js:664\");\n this._isFoundDevice = false;\n uni.hideLoading();\n return new Promise(\n function (resolve, reject) {\n uni.stopBluetoothDevicesDiscovery({\n success: resolve,\n fail: reject });\n\n });\n\n }\n // 创建连接\n }, { key: \"createConnection\", value: function createConnection(deviceId) {var _this7 = this;\n __f__(\"log\", '创建连接', \" at static/js/bluWKM.js:678\");\n __f__(\"log\", deviceId, \" at static/js/bluWKM.js:679\");\n return new Promise(\n function (resolve, reject) {\n _this7._connectionFailBlock = undefined;\n _this7._connectionFailBlock = reject;\n // this._needToToastConnectError = true\n __f__(\"log\", deviceId, \" at static/js/bluWKM.js:685\");\n __f__(\"log\", _this7.connnectTimeOut, \" at static/js/bluWKM.js:686\");\n\n uni.createBLEConnection({\n deviceId: deviceId,\n // timeout: this.connnectTimeOut,\n success: function success(res) {\n __f__(\"log\", '--------createConnection success', res, \" at static/js/bluWKM.js:692\");\n // 创建成果并不代表发指令成功,有可能连接连接创建成功了,但是发指令的时候连接中断了\n resolve(res);\n },\n fail: function fail(error) {\n __f__(\"log\", '--------createConnection fail', error, \" at static/js/bluWKM.js:697\");\n _this7._connectionFailBlock = undefined;\n reject(error);\n } });\n\n });\n\n }\n // 关闭连接\n }, { key: \"closeConnection\", value: function closeConnection(deviceId) {\n __f__(\"log\", '关闭连接', \" at static/js/bluWKM.js:707\");\n return new Promise(\n function (resolve, reject) {\n uni.closeBLEConnection({\n deviceId: deviceId,\n success: resolve,\n fail: reject });\n\n });\n\n }\n // 获取服务\n }, { key: \"getServices\", value: function getServices(deviceId) {var _this8 = this;\n __f__(\"log\", '获取服务', \" at static/js/bluWKM.js:720\");\n var that = this;\n __f__(\"log\", deviceId, \" at static/js/bluWKM.js:722\");\n return new Promise(\n function (resolve, reject) {\n _this8._connectionFailBlock = undefined;\n _this8._connectionFailBlock = reject;\n setTimeout(function () {\n uni.getBLEDeviceServices({\n deviceId: deviceId,\n success: function success(res) {\n __f__(\"log\", res, \" at static/js/bluWKM.js:731\");\n // if (res.errCode === 0) {\n res.services.forEach(function (value, index, array) {\n __f__(\"log\", \"设备所有的UUId\", value.uuid, \" at static/js/bluWKM.js:734\");\n if (value.uuid.indexOf('FFF0') > -1) {//找到serviceId包含FEF6的服务\n that._serviceId = array[index].uuid;\n // resolve(serviceId)\n __f__(\"log\", that._serviceId, \" at static/js/bluWKM.js:738\");\n }\n });\n // }\n resolve(res);\n },\n fail: function fail(error) {\n __f__(\"log\", 'getServices fail', error, \" at static/js/bluWKM.js:745\");\n reject(error);\n } });\n\n }, 3000);\n });\n\n }\n // 获取特征值\n }, { key: \"getCharacteristics\", value: function getCharacteristics(deviceId, serviceId) {var _this9 = this;\n __f__(\"log\", '获取特征值', \" at static/js/bluWKM.js:755\");\n var that = this;\n __f__(\"log\", deviceId, \" at static/js/bluWKM.js:757\");\n __f__(\"log\", serviceId, \" at static/js/bluWKM.js:758\");\n return new Promise(\n function (resolve, reject) {\n _this9._connectionFailBlock = undefined;\n _this9._connectionFailBlock = reject;\n uni.getBLEDeviceCharacteristics({\n deviceId: deviceId,\n serviceId: serviceId,\n success: function success(res) {\n __f__(\"log\", 'getCharacteristics success', res, \" at static/js/bluWKM.js:767\");\n for (var i = 0; i < res.characteristics.length; i++) {\n if (res.characteristics[i].properties.notify && !res.characteristics[i].properties.write) {\n that._characteristicId = res.characteristics[i].uuid; //读的uuid\n __f__(\"log\", '读', \" at static/js/bluWKM.js:771\");\n }\n if (res.characteristics[i].properties.write) {\n that._characteristicId_write = res.characteristics[i].uuid; //写的uuid\n __f__(\"log\", '写', \" at static/js/bluWKM.js:775\");\n }\n }\n resolve(res);\n },\n fail: function fail(error) {\n __f__(\"log\", 'getCharacteristics fail', error, \" at static/js/bluWKM.js:781\");\n reject(error);\n } });\n\n });\n\n }\n // 开启notify功能,订阅特征值\n }, { key: \"openNotifyChsValueChange\", value: function openNotifyChsValueChange(deviceId, serviceId, characteristicId) {var _this10 = this;\n var that = this;\n __f__(\"log\", deviceId, serviceId, characteristicId, \" at static/js/bluWKM.js:791\");\n __f__(\"log\", characteristicId, 'characteristicId', \" at static/js/bluWKM.js:792\");\n __f__(\"log\", serviceId, 'serviceId', \" at static/js/bluWKM.js:793\");\n __f__(\"log\", deviceId, 'deviceId', \" at static/js/bluWKM.js:794\");\n return new Promise(\n function (resolve, reject) {\n _this10._connectionFailBlock = undefined;\n _this10._connectionFailBlock = reject;\n uni.notifyBLECharacteristicValueChange({\n deviceId: deviceId,\n serviceId: serviceId,\n characteristicId: characteristicId,\n state: true,\n success: function success(res) {\n __f__(\"log\", 'openNotifyChsValueChange success', res, \" at static/js/bluWKM.js:805\");\n resolve(res);\n },\n fail: function fail(error) {\n __f__(\"log\", 'openNotifyChsValueChange fail', error, \" at static/js/bluWKM.js:809\");\n reject(error);\n _this10.connectDeivece(_this10._bikeMainId, _this10.instructions);\n } });\n\n });\n\n }\n\n //开锁\n }, { key: \"unlockBike\", value: function unlockBike() {\n uni.showLoading({\n title: '开锁中...' });\n\n var key2 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x02', '0x01', '0x01'];\n var value = util.CRC(key2);\n __f__(\"log\", value, \" at static/js/bluWKM.js:825\");\n var value1 = '424400010A0A0505020101' + value;\n __f__(\"log\", value1, \" at static/js/bluWKM.js:827\");\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value1), '123');\n //播放语音\n var key5 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x0A', '0x07', '0x01', '0x02', '0x00',\n '0x00', '0x00', '0x00', '0x00'];\n\n var value2 = util.CRC(key5);\n var value3 = '424400010A0A05050A0701020000000000' + value2;\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value3), '123');\n }\n\n //发送关锁指令\n }, { key: \"lockBike\", value: function lockBike() {\n uni.showLoading({\n title: '关锁中...' });\n\n var key2 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x02', '0x01', '0x00'];\n var value = util.CRC(key2);\n __f__(\"log\", value, \" at static/js/bluWKM.js:845\");\n var value1 = '424400010A0A0505020100' + value;\n __f__(\"log\", value1, \" at static/js/bluWKM.js:847\");\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value1));\n //播放语音\n var key5 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x0A', '0x07', '0x01', '0x01', '0x00',\n '0x00', '0x00', '0x00', '0x00'];\n\n var value2 = util.CRC(key5);\n var value3 = '424400010A0A05050A0701010000000000' + value2;\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value3));\n } }, { key: \"play_voice\", value: function play_voice()\n\n {\n uni.showLoading({\n title: '响铃中...' });\n\n var key5 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x0A', '0x07', '0x01', '0x09', '0x00',\n '0x00', '0x00', '0x00', '0x00'];\n\n var value = util.CRC(key5);\n __f__(\"log\", value, \" at static/js/bluWKM.js:866\");\n var value1 = '424400010A0A05050A0701090000000000' + value;\n __f__(\"log\", value1, \" at static/js/bluWKM.js:868\");\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value1));\n } }, { key: \"diankai\", value: function diankai()\n\n {\n uni.showLoading({\n title: '开电池锁中...' });\n\n var key3 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x05', '0x01', '0x01'];\n var value = util.CRC(key3);\n __f__(\"log\", value, \" at static/js/bluWKM.js:878\");\n var value1 = '424400010A0A0505050101' + value;\n __f__(\"log\", value1, \" at static/js/bluWKM.js:880\");\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value1));\n } }, { key: \"chongqi\", value: function chongqi()\n\n {\n uni.showLoading({\n title: '重启中...' });\n\n var key3 = ['0x42', '0x44', '0x00', '0x01', '0x0A', '0x0A', '0x05', '0x05', '0x0B', '0x07', '0x01', '0x01', '0x01',\n '0x01', '0x01', '0x01', '0x01'];\n\n var value = util.CRC(key3);\n __f__(\"log\", value, \" at static/js/bluWKM.js:892\");\n var value1 = '424400010A0A05050B0701010101010101' + value;\n __f__(\"log\", value1, \" at static/js/bluWKM.js:894\");\n this.writeBLECharacteristicValue(util.hexStringToArrayBuffer(value1));\n }\n\n //发送数据\n }, { key: \"writeBLECharacteristicValue\", value: function writeBLECharacteristicValue(data, reject) {var _this11 = this;\n __f__(\"log\", this._deviceId, this._serviceId, this._characteristicId_write, '发送参数', \" at static/js/bluWKM.js:900\");\n __f__(\"log\", data, \" at static/js/bluWKM.js:901\");\n uni.writeBLECharacteristicValue({\n deviceId: this._deviceId,\n serviceId: this._serviceId,\n characteristicId: this._characteristicId_write,\n value: data,\n success: function success(res) {\n __f__(\"log\", 'writeBLECharacteristicValue success', res, \" at static/js/bluWKM.js:908\");\n },\n fail: function fail(err) {\n __f__(\"log\", 'writeBLECharacteristicValue fail', err, _this11._deviceId, _this11._serviceId, _this11._characteristicId, \" at static/js/bluWKM.js:911\");\n // if(){\n _this11.isConnecting = false;\n // }\n // reject(err)\n _this11.closeConnection(_this11._deviceId);\n },\n complete: function complete(res) {\n __f__(\"log\", res, 'complete', \" at static/js/bluWKM.js:919\");\n switch (uni.getSystemInfoSync().platform) {\n case 'android':\n __f__(\"log\", '客户端是Android', \" at static/js/bluWKM.js:922\");\n uni.showToast({\n title: '操作成功' });\n\n return;\n break;\n case 'ios':\n __f__(\"log\", '客户端是iOS', \" at static/js/bluWKM.js:929\");\n return;\n break;}\n\n } });\n\n }\n\n /**\r\n * 根据指令码生成指令帧数据\r\n * commandCode --> 指令码\r\n * array --> 额为携带的数据\r\n */\n // generateCommandData(commandCode, array) {\n // let sequenceId_16 = dataTransition.getSequenceId(this._sequenceId);\n // // this._sequenceId++;\n\n // let sendData = '';\n // console.log(commandCode)\n // // console.log(sequenceId_16)\n // switch (commandCode) {\n // case cmd.unlock:\n // sendData = '03 00 02 01 00';\n // break\n // case cmd.lock:\n // sendData = '03 00 01 01 01';\n // break;\n // case cmd.bell:\n // sendData = '03 00 04 01 01';\n // break;\n // case cmd.batteryUnlock:\n // sendData = '03 00 05 01 01';\n // break;\n // case cmd.batteryLock:\n // sendData = '03 00 05 01 00';\n // break;\n // case cmd.temporaryUnlockBike:\n // sendData = '03 00 02 01 00 07 01 01';\n // break\n // case cmd.temporaryLockBike:\n // sendData = '03 00 07 01 08';\n // break;\n // // case cmd.login:\n // // // let secretKey = array.key.toString().trim().toLowerCase();\n // // console.log(secretKey)\n // // // let c = secretKey.toString().replace(/\\s+/g, \"\");\n // // // let cLength = dataTransition.getSecretKeyLength(c);\n // // //发送内容\n // // let send = `02 00 01`; //02 连接命令 01连接请求 cLength秘钥长度。\n // // sendData = `${send} ${secretKey}`;\n // // console.log(sendData, 'sendValue')\n // // break;\n // case cmd.status:\n // sendData = '42 44 00 01 0A 0A 05 05'\n // console.log(sendData)\n // break\n // case cmd.ack:\n // sendData = array.data\n // break;\n // }\n\n // let header = dataTransition.header(sendData);\n // console.log(header)\n // if (commandCode == 'responseAck') {\n // header = ''\n // }\n\n // let data = header + sendData.replace(/\\s+/g, \"\");\n // console.log(data)\n // console.log(`发送${commandCode}指令`, data);\n\n // return data;\n // }\n\n /*******util*********/ }]);return BluetoothManager;}();\n\n\n\n// export {\n// BluetoothManager\n// } \n\nmodule.exports = {\n BluetoothManager: BluetoothManager,\n BtErrorCode: errorCode,\n CMD: cmd };\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2JsdVdLTS5qcyJdLCJuYW1lcyI6WyJpbnRlcnZhbCIsImNtZCIsImhlYXJ0QmVhdCIsInVubG9jayIsImxvY2siLCJiZWxsIiwidGVtcG9yYXJ5VW5sb2NrQmlrZSIsInRlbXBvcmFyeUxvY2tCaWtlIiwiYmF0dGVyeVVubG9jayIsImJhdHRlcnlMb2NrIiwic3RhdHVzIiwicmVib290IiwiZXJyb3JDb2RlIiwibm9fY29ubmVjdGlvbiIsIm5vX3NlcnZpY2UiLCJhcGRhdGVyX25vX2F2aWxhYmxlIiwiZGlzY292ZXJ5X3RpbWVPdXQiLCJjb25uZXRfdGltZU91dCIsIkdldEJsdVVybCIsInV0aWwiLCJyZXF1aXJlIiwiZGF0YVRyYW5zaXRpb24iLCJCbHVldG9vdGhNYW5hZ2VyIiwiX2Nvbm5lY3REZXZpY2VOYW1lIiwiX2lzRm91bmREZXZpY2UiLCJfZGV2aWNlSWQiLCJfc2VydmljZUlkIiwiX2Jpa2VNYWluSWQiLCJfbWFjIiwiX3NlcXVlbmNlSWQiLCJfY2hhcmFjdGVyaXN0aWNJZCIsIl9jaGFyYWN0ZXJpc3RpY0lkX3dyaXRlIiwiX2Rpc2NvdmVyaW5nIiwiZGlzY292ZXJ5VGltZU91dCIsImlzQ29ubmVjdGluZyIsImlzQXV0aCIsImNvbm5uZWN0VGltZU91dCIsImhhcmR3YXJlQ2FsbGJhY2tUaW1lT3V0IiwiYWRhcHRlclN0YXRlQ2hhbmdlQ2FsbEJhY2siLCJ1bmRlZmluZWQiLCJvbkNvbm5lY3Rpb25TdGF0ZUNoYW5nZSIsImhlYXJ0VGltZXIiLCJfcmVjZWl2ZUxlbmd0aCIsIl9yZWNlaXZlRGF0YSIsInJlYWR5U3RvcERpc2NvdmVyeSIsImluc3RydWN0aW9ucyIsIndyaXRlSW5kZXgiLCJ0aGF0IiwidW5pIiwic2hvd0xvYWRpbmciLCJ0aXRsZSIsIm9uQmx1ZXRvb3RoQWRhcHRlclN0YXRlQ2hhbmdlIiwicmVzIiwiYXZhaWxhYmxlIiwib25CbHVldG9vdGhEZXZpY2VGb3VuZCIsImkiLCJkZXZpY2VzIiwibGVuZ3RoIiwiZGV2aWNlIiwibmFtZSIsImRldmljZUlkIiwibG9jYWxOYW1lIiwiYmYiLCJhZHZlcnRpc0RhdGEiLCJzbGljZSIsImFiYyIsImFiMmhleCIsImNvbnRlbnRBcnIiLCJzdHJBdmVyYWdlMkFyciIsInJldmVyc2UiLCJzdHJpbmciLCJqb2luIiwidG9VcHBlckNhc2UiLCJkZXZpY2VGb3VuZEJsb2NrIiwib25CTEVDb25uZWN0aW9uU3RhdGVDaGFuZ2UiLCJjb25uZWN0ZWQiLCJfY29ubmVjdGlvbkZhaWxCbG9jayIsImhpZGVMb2FkaW5nIiwiY2xvc2VCTEVDb25uZWN0aW9uIiwic3VjY2VzcyIsIm9uQkxFQ2hhcmFjdGVyaXN0aWNWYWx1ZUNoYW5nZSIsImNoYXJhY3RlcmlzdGljIiwidmFsdWUiLCJyZXNEYXRhIiwicGFyc2VJbnQiLCJmbGF5IiwiY3JjMTYiLCJzeXN0ZW1TdGF0ZSIsInNlcXVlbmNlSWRfMTYiLCJib2R5IiwiYWRkRmxhZ0JlZm9yZUFyciIsImdldENSQzE2IiwiaGV4U3RyaW5nVG9BcnJheUJ1ZmZlciIsImluZGV4T2YiLCJnZXRSYW5kb21TdWNjZXNzQmxvY2siLCJnZXRDb25uZWN0ZWRUaW1lciIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJnZXRCbHVldG9vdGhBZGFwdGVyU3RhdGUiLCJpY29uIiwiZHVyYXRpb24iLCJjb25uZWN0ZWREZXZpY2UiLCJnZXRDb25uZWN0ZWRCbHVldG9vdGhEZXZpY2VzIiwiZmFpbCIsImVyciIsImJpa2VNYWluSWQiLCJjb21tYW5kIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJ1bmxvY2tCaWtlIiwibG9ja0Jpa2UiLCJwbGF5X3ZvaWNlIiwiZGlhbmthaSIsImNob25ncWkiLCJjbG9zZUNvbm5lY3Rpb24iLCJpbml0aWFsTm90aWZpY2F0aW9uIiwib3BlbkFkYXB0ZXIiLCJ0aGVuIiwiZ2V0U2VjcmV0S2V5Iiwic3RhcnREaXNjb3ZlcnkiLCJ3YWl0Rm9yRGV2aWNlRm91bmQiLCJzaG93VG9hc3QiLCJzdG9wRGlzY292ZXJ5IiwiY3JlYXRlQ29ubmVjdGlvbiIsImdldFNlcnZpY2VzIiwiZ2V0Q2hhcmFjdGVyaXN0aWNzIiwiZ2V0U3lzdGVtSW5mb1N5bmMiLCJwbGF0Zm9ybSIsIm9wZW5Ob3RpZnlDaHNWYWx1ZUNoYW5nZSIsImRjQXJyIiwicmVzcG9uc2UiLCJib3hfbm8iLCJyZWoiLCJwYXJhbSIsInJlcXVlc3QiLCJ1cmwiLCJkYXRhIiwiaGVhZGVyIiwiQXV0aG9yaXphdGlvbiIsImdldFN0b3JhZ2VTeW5jIiwidG9rZW4iLCJyZXNwIiwia2V5IiwiZXJyQ29kZSIsImNsb3NlQWRhcHRlciIsIm9wZW5CbHVldG9vdGhBZGFwdGVyIiwiaXNPcGVuQWRwYXRlciIsImNsb3NlQmx1ZXRvb3RoQWRhcHRlciIsInN0YXJ0Qmx1ZXRvb3RoRGV2aWNlc0Rpc2NvdmVyeSIsInNlcnZpY2VzIiwiYWxsb3dEdXBsaWNhdGVzS2V5Iiwic3RvcEJsdWV0b290aERldmljZXNEaXNjb3ZlcnkiLCJjcmVhdGVCTEVDb25uZWN0aW9uIiwiZXJyb3IiLCJnZXRCTEVEZXZpY2VTZXJ2aWNlcyIsImZvckVhY2giLCJpbmRleCIsImFycmF5IiwidXVpZCIsInNlcnZpY2VJZCIsImdldEJMRURldmljZUNoYXJhY3RlcmlzdGljcyIsImNoYXJhY3RlcmlzdGljcyIsInByb3BlcnRpZXMiLCJub3RpZnkiLCJ3cml0ZSIsImNoYXJhY3RlcmlzdGljSWQiLCJub3RpZnlCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlIiwic3RhdGUiLCJjb25uZWN0RGVpdmVjZSIsImtleTIiLCJDUkMiLCJ2YWx1ZTEiLCJ3cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUiLCJrZXk1IiwidmFsdWUyIiwidmFsdWUzIiwia2V5MyIsImNvbXBsZXRlIiwibW9kdWxlIiwiZXhwb3J0cyIsIkJ0RXJyb3JDb2RlIiwiQ01EIl0sIm1hcHBpbmdzIjoiMnNCQUFBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUcsSUFBZjtBQUNBLElBQU1DLEdB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QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDBCOzs7O0FBSUQ7QUFDQTtBQUNBOztBQUVBaUksTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2hCOUosa0JBQWdCLEVBQUVBLGdCQURGO0FBRWhCK0osYUFBVyxFQUFFekssU0FGRztBQUdoQjBLLEtBQUcsRUFBRXJMLEdBSFcsRUFBakIsQyIsImZpbGUiOiI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIOWuieWNk+W5s+WPsOS4iu+8jOWcqOiwg+eUqCBub3RpZnlCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlIOaIkOWKn+WQjueri+WNs+iwg+eUqCB3cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUg5o6l5Y+j77yM5Zyo6YOo5YiG5py65Z6L5LiK5Lya5Y+R55SfIDEwMDA4IOezu+e7n+mUmeivr1xyXG4vLyB2YXIgaHR0cCA9IHJlcXVpcmUoXCIuLi91dGlscy9jb25maWcuanNcIik7XHJcbnZhciBpbnRlcnZhbCA9IG51bGw7XHJcbmNvbnN0IGNtZCA9IHtcclxuXHRoZWFydEJlYXQ6ICdoZWFydCcsIC8vIOW/g+i3s+WMhVxyXG5cdHVubG9jazogJ29wZW5CaWtlJywgLy8g5byA6ZSB5ZG95LukXHJcblx0bG9jazogJ2xvY2snLCAvLyDlvIDplIHlkb3ku6RcclxuXHRiZWxsOiAnYmVsbEJpa2UnLCAvLyDlhbPplIHlkb3ku6RcclxuXHR0ZW1wb3JhcnlVbmxvY2tCaWtlOiAndGVtcG9yYXJ5VW5sb2NrQmlrZScsIC8vIOWFs+mUgeWRveS7pFxyXG5cdHRlbXBvcmFyeUxvY2tCaWtlOiAndGVtcG9yYXJ5TG9ja0Jpa2UnLCAvLyDlhbPplIHlkb3ku6RcclxuXHRiYXR0ZXJ5VW5sb2NrOiAnYmF0dGVyeVVubG9jaycsIC8vIOWFs+mUgeWRveS7pFxyXG5cdGJhdHRlcnlMb2NrOiAnYmF0dGVyeUxvY2snLCAvLyDlhbPplIHlkb3ku6RcclxuXHQvLyBsb2dpbjogJ2xvZ2luJywgLy8g5YWz6ZSB5ZG95LukXHJcblx0c3RhdHVzOiAnc3RhdHVzJywgLy8g5YWz6ZSB5ZG95LukXHJcblx0cmVib290OiAncmVib290J1xyXG59XHJcbmNvbnN0IGVycm9yQ29kZSA9IHtcclxuXHRub19jb25uZWN0aW9uOiAxMDAwNiwgLy/lpLHljrvov57mjqVcclxuXHRub19zZXJ2aWNlOiAxMDAwNCwgLy/msqHmnInmib7liLDmjIflrprmnI3liqFcclxuXHRhcGRhdGVyX25vX2F2aWxhYmxlOiAxMDAwMSwgLy/lvZPliY3ok53niZnpgILphY3lmajkuI3lj6/nlKhcclxuXHRkaXNjb3ZlcnlfdGltZU91dDogMTEwMCwgLy/miavmj4/lpLHotKVcclxuXHRjb25uZXRfdGltZU91dDogMTAwMDMgLy/ov57mjqXotoXml7ZcclxufVxyXG5cclxuY29uc3QgR2V0Qmx1VXJsID0gJ2h0dHBzOi8vYmlrZS5oYW55aXl1bi5jb20vYXBwLWFwaS9iaWtlL2dldEtleSc7XHJcbmxldCB1dGlsID0gcmVxdWlyZSgnLi9ibHVVdGlsLmpzJyk7XHJcbmxldCBkYXRhVHJhbnNpdGlvbiA9IHJlcXVpcmUoJy4vZGF0YVRyYW5zaXRpb24uanMnKTtcclxuY2xhc3MgQmx1ZXRvb3RoTWFuYWdlciB7XHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHR0aGlzLl9jb25uZWN0RGV2aWNlTmFtZSA9ICdzaGFueGlhbmdvJ1xyXG5cdFx0dGhpcy5faXNGb3VuZERldmljZSA9IGZhbHNlXHJcblx0XHR0aGlzLl9kZXZpY2VJZCA9ICcnXHJcblx0XHR0aGlzLl9zZXJ2aWNlSWQgPSAnJ1xyXG5cdFx0dGhpcy5fYmlrZU1haW5JZCA9ICcnXHJcblx0XHR0aGlzLl9tYWMgPSAnJyxcclxuXHRcdFx0dGhpcy5fc2VxdWVuY2VJZCA9IDEwXHJcblx0XHR0aGlzLl9jaGFyYWN0ZXJpc3RpY0lkID0gJydcclxuXHRcdHRoaXMuX2NoYXJhY3RlcmlzdGljSWRfd3JpdGUgPSAnJ1xyXG5cdFx0dGhpcy5fZGlzY292ZXJpbmcgPSBmYWxzZVxyXG5cdFx0dGhpcy5kaXNjb3ZlcnlUaW1lT3V0ID0gMTAgKiAxMDAwXHJcblx0XHR0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlXHJcblx0XHR0aGlzLmlzQXV0aCA9IGZhbHNlXHJcblx0XHR0aGlzLmNvbm5uZWN0VGltZU91dCA9IDUgKiAxMDAwIC8v6L+e5o6l6LaF5pe25pe26Ze0XHJcblx0XHR0aGlzLmhhcmR3YXJlQ2FsbGJhY2tUaW1lT3V0ID0gNSAqIDEwMDAgLy/noazku7blm57osIPotoXml7bml7bpl7RcclxuXHRcdHRoaXMuYWRhcHRlclN0YXRlQ2hhbmdlQ2FsbEJhY2sgPSB1bmRlZmluZWRcclxuXHRcdHRoaXMub25Db25uZWN0aW9uU3RhdGVDaGFuZ2UgPSB1bmRlZmluZWRcclxuXHRcdHRoaXMuaGVhcnRUaW1lciA9ICcnXHJcblx0XHQvLyDlpITnkIbmjqXlj5fmlbDmja5cclxuXHRcdHRoaXMuX3JlY2VpdmVMZW5ndGggPSAwXHJcblx0XHR0aGlzLl9yZWNlaXZlRGF0YSA9ICcnXHJcblx0XHQvLyB0aGlzLmluaXRpYWxOb3RpZmljYXRpb24oKVxyXG5cdFx0dGhpcy5yZWFkeVN0b3BEaXNjb3ZlcnkgPSBmYWxzZSAvL+agh+iusOWHhuWkh+WFs+mXreaJq+aPj1xyXG5cdFx0dGhpcy5pbnN0cnVjdGlvbnMgPSAnJyAvL+iusOW9leaMh+S7pFxyXG5cdFx0dGhpcy53cml0ZUluZGV4ID0gMFxyXG5cdH1cclxuXHQvKioqKioqKuWIneWni+WMluWQhOenjeWbnuiwgyoqKioqKioqKiovXHJcblx0aW5pdGlhbE5vdGlmaWNhdGlvbigpIHtcclxuXHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdGNvbnNvbGUubG9nKCdpbml0aWFsTm90aWZpY2F0aW9uJylcclxuXHRcdC8vIHRoaXMuZ2V0Q29ubmVjdGVkQmx1ZXRvb3RoRGV2aWNlcygpXHJcblx0XHQvLyDnm5HlkKzok53niZnpgILphY3lmajnirbmgIHmlLnlj5hcclxuXHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdHRpdGxlOiAn6JOd54mZ6L+e5o6l5LitJ1xyXG5cclxuXHRcdH0pXHJcblx0XHR1bmkub25CbHVldG9vdGhBZGFwdGVyU3RhdGVDaGFuZ2UoXHJcblx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ29uQmx1ZXRvb3RoQWRhcHRlclN0YXRlQ2hhbmdlJywgcmVzKVxyXG5cdFx0XHRcdC8vIHRoaXMuY29ubmVjdERlaXZlY2UodGhpcy5fYmlrZU1haW5JZCx0aGlzLmluc3RydWN0aW9ucylcclxuXHRcdFx0XHRpZiAodGhhdC5hZGFwdGVyU3RhdGVDaGFuZ2VDYWxsQmFjaykge1xyXG5cdFx0XHRcdFx0dGhhdC5hZGFwdGVyU3RhdGVDaGFuZ2VDYWxsQmFjayhyZXMpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChyZXMuYXZhaWxhYmxlID09IGZhbHNlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdFx0Ly8gLy8g55uR5ZCs5omr5o+P5Yiw55qE6K6+5aSHXHJcblx0XHR1bmkub25CbHVldG9vdGhEZXZpY2VGb3VuZChcclxuXHRcdFx0cmVzID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn55uR5ZCs5omr5o+P5Yiw55qE6K6+5aSHJylcclxuXHRcdFx0XHRpZiAodGhhdC5faXNGb3VuZERldmljZSkge1xyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlcy5kZXZpY2VzLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRjb25zdCBkZXZpY2UgPSByZXMuZGV2aWNlc1tpXTtcclxuXHRcdFx0XHRcdHZhciBuYW1lID0gZGV2aWNlLm5hbWVcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKG5hbWUsIGRldmljZS5kZXZpY2VJZClcclxuXHRcdFx0XHRcdGlmIChuYW1lID09PSAnc2hhbnhpYW5nbycpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGRldmljZS5sb2NhbE5hbWUgIT0gbmFtZSkgcmV0dXJuO1xyXG5cdFx0XHRcdFx0XHRpZiAobmFtZSAhPSB0aGF0Ll9jb25uZWN0RGV2aWNlTmFtZSkgcmV0dXJuO1xyXG5cdFx0XHRcdFx0XHRsZXQgYmYgPSBkZXZpY2UuYWR2ZXJ0aXNEYXRhLnNsaWNlKDIsIDEwKTtcclxuXHRcdFx0XHRcdFx0dmFyIGFiYyA9IHV0aWwuYWIyaGV4KGJmKVxyXG5cdFx0XHRcdFx0XHRsZXQgY29udGVudEFyciA9IHV0aWwuc3RyQXZlcmFnZTJBcnIoYWJjLCAyKVxyXG5cdFx0XHRcdFx0XHRjb250ZW50QXJyLnJldmVyc2UoKTtcclxuXHRcdFx0XHRcdFx0dmFyIHN0cmluZyA9IGNvbnRlbnRBcnIuam9pbignJykudG9VcHBlckNhc2UoKSAvL21hY+WcsOWdgFxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhzdHJpbmcsICdNZWFkPT09PicsIHJlcy5kZXZpY2VzW2ldLCB0aGF0Ll9tYWMpXHJcblx0XHRcdFx0XHRcdGlmICghdGhhdC5faXNGb3VuZERldmljZSAmJiBuYW1lID09IHRoYXQuX2Nvbm5lY3REZXZpY2VOYW1lKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8g6I635Y+W6L2m6L6G5Lit5o6n57yW5Y+3XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5fbWFjKVxyXG5cdFx0XHRcdFx0XHRcdGlmIChzdHJpbmcgPT0gdGhhdC5fbWFjKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnLS0tLS0tLWZvdW5kIC0tLScsIGRldmljZS5uYW1lLCBzdHJpbmcpXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhkZXZpY2UpXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhkZXZpY2UuZGV2aWNlSWQpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Ll9pc0ZvdW5kRGV2aWNlID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5fZGV2aWNlSWQgPSBkZXZpY2UuZGV2aWNlSWRcclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGF0LmRldmljZUZvdW5kQmxvY2spIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5kZXZpY2VGb3VuZEJsb2NrKGRldmljZS5kZXZpY2VJZClcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdGJyZWFrXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB1bmkuc3RvcEJsdWV0b290aERldmljZXNEaXNjb3ZlcnkoKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdFx0Ly8g55uR5ZCs6JOd54mZ6L+e5o6l54q25oCBXHJcblx0XHR1bmkub25CTEVDb25uZWN0aW9uU3RhdGVDaGFuZ2UoXHJcblx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCfnm5HlkKzok53niZnov57mjqXnirbmgIEnLCByZXMsIHRoaXMuX2RldmljZUlkKVxyXG5cdFx0XHRcdHRoaXMuaXNDb25uZWN0aW5nID0gcmVzLmNvbm5lY3RlZFxyXG5cdFx0XHRcdGlmIChyZXMuZGV2aWNlSWQgPT0gdGhpcy5fZGV2aWNlSWQgJiYgcmVzLmNvbm5lY3RlZCA9PSBmYWxzZSkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ29uQkxFQ29ubmVjdGlvblN0YXRlQ2hhbmdlIGZhaWwnLCB0aGlzLl9jb25uZWN0aW9uRmFpbEJsb2NrKTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLl9jb25uZWN0aW9uRmFpbEJsb2NrKSB7XHJcblx0XHRcdFx0XHRcdC8vIHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHQvLyAgIHRpdGxlOiAn5o+Q56S6JyxcclxuXHRcdFx0XHRcdFx0Ly8gICBjb250ZW50OiAn6JOd54mZ6L+e5o6l6LaF5pe2JyxcclxuXHRcdFx0XHRcdFx0Ly8gICBzaG93Q2FuY2VsOiBmYWxzZVxyXG5cdFx0XHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0XHR0aGlzLl9jb25uZWN0aW9uRmFpbEJsb2NrKHJlcylcclxuXHRcdFx0XHRcdFx0dGhpcy5fY29ubmVjdGlvbkZhaWxCbG9jayA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMub25Db25uZWN0aW9uU3RhdGVDaGFuZ2UpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5vbkNvbm5lY3Rpb25TdGF0ZUNoYW5nZShyZXMpXHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0dW5pLmNsb3NlQkxFQ29ubmVjdGlvbih7XHJcblx0XHRcdFx0XHRcdGRldmljZUlkOiB0aGlzLl9kZXZpY2VJZCxcclxuXHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ2Nsb3NlQkxFQ29ubmVjdGlvbicsIHJlcylcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHQpXHJcblxyXG5cdFx0Ly8g55uR5ZCs54m55b6B5YC85Y+Y5YyWXHJcblx0XHR1bmkub25CTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlKFxyXG5cdFx0XHRjaGFyYWN0ZXJpc3RpYyA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+ebkeWQrOeJueW+geWAvOWPmOWMlicsIGNoYXJhY3RlcmlzdGljKVxyXG5cdFx0XHRcdGlmIChjaGFyYWN0ZXJpc3RpYy52YWx1ZSkge1xyXG5cdFx0XHRcdFx0bGV0IHJlcyA9IGNoYXJhY3RlcmlzdGljLnZhbHVlXHJcblx0XHRcdFx0XHRsZXQgcmVzRGF0YSA9IHV0aWwuYWIyaGV4KHJlcy52YWx1ZSk7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5fcmVjZWl2ZUxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuX3JlY2VpdmVMZW5ndGggPSBwYXJzZUludChyZXNEYXRhLnNsaWNlKDgsIDEyKSwgMTYpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR0aGlzLl9yZWNlaXZlRGF0YSArPSByZXNEYXRhXHJcblx0XHRcdFx0XHRpZiAodGhpcy5fcmVjZWl2ZURhdGEubGVuZ3RoID09PSAodGhpcy5fcmVjZWl2ZUxlbmd0aCAqIDIgKyAxNikpIHtcclxuXHRcdFx0XHRcdFx0bGV0IF9yZWNlaXZlRGF0YSA9IHRoaXMuX3JlY2VpdmVEYXRhXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKF9yZWNlaXZlRGF0YSwgJ19yZWNlaXZlRGF0YScpXHJcblx0XHRcdFx0XHRcdGxldCBmbGF5ID0gX3JlY2VpdmVEYXRhLnNsaWNlKDAsIDQpXHJcblx0XHRcdFx0XHRcdGxldCBjcmMxNiA9IF9yZWNlaXZlRGF0YS5zbGljZSgxMiwgMTYpO1xyXG5cdFx0XHRcdFx0XHRsZXQgc3lzdGVtU3RhdGUgPSBfcmVjZWl2ZURhdGEuc2xpY2UoNCwgNik7IC8vNGNcclxuXHRcdFx0XHRcdFx0bGV0IHNlcXVlbmNlSWRfMTYgPSBfcmVjZWl2ZURhdGEuc2xpY2UoNiwgOCk7IC8vMGFcclxuXHRcdFx0XHRcdFx0bGV0IGJvZHkgPSBfcmVjZWl2ZURhdGEuc2xpY2UoMTYpXHJcblx0XHRcdFx0XHRcdGxldCBjb250ZW50QXJyID0gdXRpbC5hZGRGbGFnQmVmb3JlQXJyKHV0aWwuc3RyQXZlcmFnZTJBcnIoYm9keSwgMikpO1xyXG5cdFx0XHRcdFx0XHQvL+agoeajgOaVsOaNrlxyXG5cdFx0XHRcdFx0XHRpZiAocGFyc2VJbnQoZGF0YVRyYW5zaXRpb24uZ2V0Q1JDMTYoY29udGVudEFyciksIDE2KSA9PSBwYXJzZUludChjcmMxNiwgMTYpKSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IHZhbHVlID0gdXRpbC5oZXhTdHJpbmdUb0FycmF5QnVmZmVyKGBhYTEyJHtzeXN0ZW1TdGF0ZX0ke3NlcXVlbmNlSWRfMTZ9MDAwMDAwMDBgKTtcclxuXHRcdFx0XHRcdFx0XHRpZiAoZmxheSA9PT0gJ2FhMTAnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoYm9keS5pbmRleE9mKCdhYTEwNTUwYicpID4gLTEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMuZ2V0UmFuZG9tU3VjY2Vzc0Jsb2NrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5nZXRSYW5kb21TdWNjZXNzQmxvY2soYm9keSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldFJhbmRvbVN1Y2Nlc3NCbG9jayA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn5oyH5Luk5Y+R6YCB5oiQ5YqfJywgYm9keSlcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGZsYXkgPT09ICdhYTAwJykge30gZWxzZSBpZiAoZmxheSA9PT0gJ2FhMzAnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn5qCh5qOA6ZSZ6K+vJylcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhpcy53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUodmFsdWUpXHJcblx0XHRcdFx0XHRcdFx0XHQvLyB0aGF0LmFuYWx5c2lzQkxFQ29udGVudChib2R5KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQvLyDov5Tlm55BQ0tcclxuXHRcdFx0XHRcdFx0dGhpcy5fcmVjZWl2ZUxlbmd0aCA9IDBcclxuXHRcdFx0XHRcdFx0dGhpcy5fcmVjZWl2ZURhdGEgPSAnJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdH1cclxuXHJcblx0ZmFpbFRvR2V0Q29ubmVjdGVkKCkge1xyXG5cdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0aWYgKCF0aGF0LmdldENvbm5lY3RlZFRpbWVyKSB7XHJcblx0XHRcdGNsZWFyVGltZW91dCh0aGF0LmdldENvbm5lY3RlZFRpbWVyKTtcclxuXHRcdFx0dGhhdC5nZXRDb25uZWN0ZWRUaW1lciA9IG51bGw7XHJcblx0XHR9XHJcblx0XHR0aGF0LmdldENvbm5lY3RlZFRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0dW5pLmdldEJsdWV0b290aEFkYXB0ZXJTdGF0ZSh7XHJcblx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0dmFyIGF2YWlsYWJsZSA9IHJlcy5hdmFpbGFibGU7XHJcblx0XHRcdFx0XHRpZiAoIWF2YWlsYWJsZSkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn6K+35byA6JOd54mZJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbG9hZGluZycsXHJcblx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDIwMDBcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGlmICghdGhhdC5jb25uZWN0ZWREZXZpY2VbJ3N0YXRlJ10pIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmdldENvbm5lY3RlZEJsdWV0b290aERldmljZXMoKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdH0sIDMwMDApO1xyXG5cdH1cclxuXHQvKioqKioqKioqKirliJ3lp4vljJbmjqXlj6MqKioqKioqKioqKioqKiovXHJcblx0Y29ubmVjdERlaXZlY2UoYmlrZU1haW5JZCwgY29tbWFuZCA9IGZhbHNlKSB7XHJcblx0XHRjb25zb2xlLmxvZyh0aGlzLmlzQ29ubmVjdGluZywgdGhpcy5fYmlrZU1haW5JZCwgYmlrZU1haW5JZCwgY21kKVxyXG5cdFx0dGhpcy5pbnN0cnVjdGlvbnMgPSBjb21tYW5kO1xyXG5cdFx0Ly8gdGhpcy5fYmlrZU1haW5JZCA9IGJpa2VNYWluSWQ7XHJcblx0XHQvLyB0aGlzLmlzQ29ubmVjdGluZyA9IHRydWU7XHJcblx0XHRpZiAodGhpcy5pc0Nvbm5lY3RpbmcgJiYgYmlrZU1haW5JZCA9PSB0aGlzLl9iaWtlTWFpbklkKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZShcclxuXHRcdFx0XHQocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0XHRpZiAoY29tbWFuZCA9PSBjbWQudW5sb2NrKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMudW5sb2NrQmlrZSgpXHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNvbW1hbmQgPT0gY21kLmxvY2spIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2NrQmlrZSgpXHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNvbW1hbmQgPT0gY21kLmJlbGwpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wbGF5X3ZvaWNlKClcclxuXHRcdFx0XHRcdH0gZWxzZSBpZiAoY29tbWFuZCA9PSBjbWQuYmF0dGVyeVVubG9jaykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRpYW5rYWkoKVxyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChjb21tYW5kID09IGNtZC5yZWJvb3QpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5jaG9uZ3FpKClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJlc29sdmUodHJ1ZSlcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cclxuXHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAodGhpcy5fZGV2aWNlSWQpIHtcclxuXHRcdFx0XHR0aGlzLmNsb3NlQ29ubmVjdGlvbih0aGlzLl9kZXZpY2VJZClcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRoaXMuX2Jpa2VNYWluSWQgPSBiaWtlTWFpbklkIC8v5b2T5YmN6L2m6L6G57yW5Y+3XHJcblx0XHQvLyDliJ3lp4vljJbok53niZlcclxuXHRcdHRoaXMuaW5pdGlhbE5vdGlmaWNhdGlvbigpXHJcblxyXG5cdFx0cmV0dXJuIHRoaXMub3BlbkFkYXB0ZXIoKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuZ2V0U2VjcmV0S2V5KClcclxuXHRcdFx0fSkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLnN0YXJ0RGlzY292ZXJ5KClcclxuXHRcdFx0fSkudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ3N0YXJ0RGlzY292ZXJ5LS0tLS0tLS0tJywgcmVzKVxyXG5cdFx0XHRcdFx0dGhpcy5fZGlzY292ZXJpbmcgPSB0cnVlXHJcblx0XHRcdFx0XHQvLyDnrYnlvoXlj5HnjrDorr7lpIdcclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLndhaXRGb3JEZXZpY2VGb3VuZCgpXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRyZWplY3QgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVqZWN0KVxyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn6L+e5o6l5aSx6LSl6K+35qOA5p+l6JOd54mZJyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KS50aGVuKFxyXG5cdFx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnc3RvcERpc2NvdmVyeS0tLS0tLS0tLScpXHJcblx0XHRcdFx0XHR0aGlzLnJlYWR5U3RvcERpc2NvdmVyeSA9IHRydWVcclxuXHRcdFx0XHRcdC8v5YWz6Zet5omr5o+PXHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5zdG9wRGlzY292ZXJ5KClcclxuXHRcdFx0XHR9XHJcblx0XHRcdCkudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5yZWFkeVN0b3BEaXNjb3ZlcnkgPSBmYWxzZVxyXG5cdFx0XHRcdFx0dGhpcy5fZGlzY292ZXJpbmcgPSBmYWxzZVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ2NyZWF0ZUNvbm5lY3Rpb24tLS0tLS0tLS0nLCByZXMpXHJcblx0XHRcdFx0XHQvL+W8gOWni+i/nuaOpeiuvuWkh1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5fZGV2aWNlSWQpXHJcblxyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuY3JlYXRlQ29ubmVjdGlvbih0aGlzLl9kZXZpY2VJZClcclxuXHRcdFx0XHR9XHJcblx0XHRcdCkudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ2dldFNlcnZpY2VzLS0tLS0tLS0tJywgcmVzKVxyXG5cdFx0XHRcdFx0Ly8g6I635Y+W5pyN5YqhXHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRTZXJ2aWNlcyh0aGlzLl9kZXZpY2VJZClcclxuXHRcdFx0XHR9XHJcblx0XHRcdCkudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ2dldENoYXJhY3RlcmlzdGljcy0tLS0tLS0tLScsIHJlcylcclxuXHRcdFx0XHRcdC8vIOiOt+WPlueJueW+geWAvFxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5fZGV2aWNlSWQpXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLl9zZXJ2aWNlSWQpXHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRDaGFyYWN0ZXJpc3RpY3ModGhpcy5fZGV2aWNlSWQsIHRoaXMuX3NlcnZpY2VJZClcclxuXHRcdFx0XHR9XHJcblx0XHRcdCkudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ29wZW5Ob3RpZnlDaHNWYWx1ZUNoYW5nZS0tLS0tLS0tLScsIHJlcylcclxuXHRcdFx0XHRcdC8vIOW8gOWQr25vdGlmeemAmumBk1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+W8gOWQr25vdGlmeemAmumBkycpXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLl9kZXZpY2VJZCwgJz0+JywgdGhpcy5fc2VydmljZUlkLCAnPCsrJywgdGhpcy5fY2hhcmFjdGVyaXN0aWNJZClcclxuXHRcdFx0XHRcdHN3aXRjaCAodW5pLmdldFN5c3RlbUluZm9TeW5jKCkucGxhdGZvcm0pIHtcclxuXHRcdFx0XHRcdFx0Y2FzZSAnYW5kcm9pZCc6XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+WuouaIt+err+aYr0FuZHJvaWQnKVxyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLm9wZW5Ob3RpZnlDaHNWYWx1ZUNoYW5nZSh0aGlzLl9kZXZpY2VJZCwgdGhpcy5fc2VydmljZUlkLCB0aGlzLl9jaGFyYWN0ZXJpc3RpY0lkX3dyaXRlKVxyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0XHRjYXNlICdpb3MnOlxyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCflrqLmiLfnq6/mmK9pT1MnKVxyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLm9wZW5Ob3RpZnlDaHNWYWx1ZUNoYW5nZSh0aGlzLl9kZXZpY2VJZCwgdGhpcy5fc2VydmljZUlkLCB0aGlzLl9jaGFyYWN0ZXJpc3RpY0lkKVxyXG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0XHQudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMub25CTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdCkudGhlbihcclxuXHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGNvbW1hbmQgPT0gY21kLnVubG9jaykge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy51bmxvY2tCaWtlKClcclxuXHRcdFx0XHRcdH0gZWxzZSBpZiAoY29tbWFuZCA9PSBjbWQubG9jaykge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5sb2NrQmlrZSgpXHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNvbW1hbmQgPT0gY21kLmJlbGwpIHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMucGxheV92b2ljZSgpXHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNvbW1hbmQgPT0gY21kLmJhdHRlcnlVbmxvY2spIHtcclxuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZGlhbmthaSgpXHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGNvbW1hbmQgPT0gY21kLnJlYm9vdCkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gdGhpcy5jaG9uZ3FpKClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdH1cclxuXHQvLyDnm5HlkKznibnlvoHlgLzlj5jljJZcclxuXHRvbkJMRUNoYXJhY3RlcmlzdGljVmFsdWVDaGFuZ2UoKSB7XHJcblx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdHVuaS5vbkJMRUNoYXJhY3RlcmlzdGljVmFsdWVDaGFuZ2UoXHJcblx0XHRcdGNoYXJhY3RlcmlzdGljID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnb25CTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlJywgY2hhcmFjdGVyaXN0aWMpXHJcblxyXG5cdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7fmsYLmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSwgMTAwMClcclxuXHRcdFx0XHQvLyBpZiAoY2hhcmFjdGVyaXN0aWMudmFsdWUpIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgbGV0IHJlcyA9IGNoYXJhY3RlcmlzdGljLnZhbHVlXHJcblx0XHRcdFx0Ly8gICAgICAgICAgIGxldCByZXNEYXRhID0gdXRpbC5hYjJoZXgocmVzKTtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgLy8gNDI0NCAwMCAwNCAwYTBhMDUwNSBcclxuXHRcdFx0XHQvLyAgICAgICAgICAgLy8gMGEgMDEgMDEgYTQ2M1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAvLyBtZWFkXHJcblx0XHRcdFx0Ly8gICAgICAgICAgIGxldCByZXNEYXRhcyA9IHJlc0RhdGEuc3BsaXQoJzQyNDQnKS5maWx0ZXIoKHJlcykgPT4ge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIHJldHVybiByZXNcclxuXHRcdFx0XHQvLyAgICAgICAgICAgfSkubWFwKChyZXMpID0+IHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICByZXR1cm4gJzQyNDQnICsgcmVzXHJcblx0XHRcdFx0Ly8gICAgICAgICAgIH0pXHJcblx0XHRcdFx0Ly8gICAgICAgICAgIHJlc0RhdGFzLmZvckVhY2gocmVzX2RhdGEgPT4ge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIC8v5Lia5YqhXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgY29uc29sZS5sb2cocmVzX2RhdGEsICdyZXNEYXRhJylcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICBsZXQgZGF0YSA9IHJlc19kYXRhLnNsaWNlKDAsIC00KVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEsICdkYXRhJylcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICBpZiAodGhpcy5pbnN0cnVjdCAhPSBjbWQuYmVsbCkge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgdGhpcy53cml0ZUluZGV4ID0gdGhpcy53cml0ZUluZGV4ICsgMVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgdmFyIHpoaWxpbmcgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3poaWxpbmcnKTtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIHZhciBhcnIxID0gW107XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICBpZiAoemhpbGluZyA9PSAnJyB8fCB6aGlsaW5nID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICBhcnIxID0gYXJyMS5jb25jYXQoZGF0YSlcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgIGFycjEgPSB6aGlsaW5nLmNvbmNhdChkYXRhKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgdW5pLnNldFN0b3JhZ2VTeW5jKCd6aGlsaW5nJywgYXJyMSlcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIHZhciBudW1iZXIgPSAxO1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgaW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICBudW1iZXIgKz0gMTtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGFycjEpXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKSBcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMud3JpdGVJbmRleClcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGFycjFbdGhpcy53cml0ZUluZGV4IC0gMV0pXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICBpZiAoYXJyMVt0aGlzLndyaXRlSW5kZXggLSAxXSA9PSBkYXRhKSB7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCcxMTEnKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAvL+aIkOWKn+WTjeW6lCDosIPmjqXlj6PlkYror4nlkI7lj7BcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbClcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5zdHJ1Y3Rpb25zID09IGNtZC51bmxvY2spIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICB2YXIga2V5NSA9IFsnMHg0MicsICcweDQ0JywgJzB4MDAnLCAnMHgwMScsICcweDBBJywgJzB4MEEnLCAnMHgwNScsICcweDA1JywgJzB4MEEnLCAnMHgwNycsICcweDAxJywgJzB4MDInLCAnMHgwMCcsICcweDAwJywgJzB4MDAnLCAnMHgwMCcsICcweDAwJ11cclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUyID0gdXRpbC5DUkMoa2V5NSlcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUzID0gJzQyNDQwMDAxMEEwQTA1MDUwQTA3MDEwMjAwMDAwMDAwMDAnICsgdmFsdWUyXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgdGhpcy53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUodXRpbC5oZXhTdHJpbmdUb0FycmF5QnVmZmVyKHZhbHVlMyksICcxMjMnKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIHRoaXMuaW5zdHJ1Y3Rpb25zID0gY21kLmJlbGxcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbnN0cnVjdGlvbnMgPT0gY21kLmxvY2spIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICAvL+aSreaUvuivremfs1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIHZhciBrZXk1ID0gWycweDQyJywgJzB4NDQnLCAnMHgwMCcsICcweDAxJywgJzB4MEEnLCAnMHgwQScsICcweDA1JywgJzB4MDUnLCAnMHgwQScsICcweDA3JywgJzB4MDEnLCAnMHgwMScsICcweDAwJywgJzB4MDAnLCAnMHgwMCcsICcweDAwJywgJzB4MDAnXVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZTIgPSB1dGlsLkNSQyhrZXk1KVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZTMgPSAnNDI0NDAwMDEwQTBBMDUwNTBBMDcwMTAxMDAwMDAwMDAwMCcgKyB2YWx1ZTJcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICB0aGlzLndyaXRlQkxFQ2hhcmFjdGVyaXN0aWNWYWx1ZSh1dGlsLmhleFN0cmluZ1RvQXJyYXlCdWZmZXIodmFsdWUzKSlcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICB0aGlzLmluc3RydWN0aW9ucyA9IGNtZC5iZWxsXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgLy/mnKrmiJDlip/lk43lupQg5YaN5qyh5Y+R5oyH5LukXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgIGlmIChudW1iZXIgJSA1ID09IDApIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhudW1iZXIpXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgLy/mr48156eS5omn6KGM5LiA5qyh5YaZ5YWl5pWw5o2uXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5zdHJ1Y3Rpb25zID09IGNtZC51bmxvY2spIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMudW5sb2NrQmlrZSgpXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmluc3RydWN0aW9ucyA9PSBjbWQubG9jaykge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NrQmlrZSgpXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmluc3RydWN0aW9ucyA9PSBjbWQuYmVsbCkge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5wbGF5X3ZvaWNlKClcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaW5zdHJ1Y3Rpb25zID09IGNtZC5iYXR0ZXJ5VW5sb2NrKSB7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYW5rYWkoKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5pbnN0cnVjdGlvbnMgPT0gY21kLnJlYm9vdCkge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy5jaG9uZ3FpKClcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICB9XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRlcnZhbClcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgaWYgKG51bWJlciA+PSAzMCkge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAvL+i2heaXtua4heepuuWumuaXtuWZqFxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgfSwgMTAwMCk7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGxldCB4aWFvamlhbiA9IHJlc19kYXRhLnNsaWNlKHJlc19kYXRhLmxlbmd0aCAtIDQpXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgbGV0IGFyciA9IFtdLFxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgYm9keSA9IFtdO1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBpbmRleCA9IDA7IGkgPCAoZGF0YS5sZW5ndGggLyAyKTsgaSsrKSB7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICBhcnIucHVzaCgnMHgnICsgZGF0YS5zbGljZShpbmRleCwgaW5kZXggKyAyKSlcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAxNikge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICBib2R5LnB1c2goZGF0YS5zbGljZShpbmRleCwgaW5kZXggKyAyKSlcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgIGluZGV4ID0gaW5kZXggKyAyXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGxldCB2YWx1ZSA9IHV0aWwuQ1JDKGFycilcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICBjb25zb2xlLmxvZyhib2R5KVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKHZhbHVlLCAndmFsdWUnKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGNvbnNvbGUubG9nKHhpYW9qaWFuLCAneGlhb2ppYW4nKVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIGlmICh2YWx1ZSA9PSB4aWFvamlhbikge1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+aVsOaNruato+ehricpXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICBzd2l0Y2ggKGJvZHlbMF0pIHtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDEnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v6I635Y+WRUNV54q25oCBXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDInOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v55S16Zeo5byA5YWzXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDMnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v6Ziy55uX5byA5YWzXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDQnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v54Wn5piO54Gv5byA5YWzXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDUnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v5byA55S15rGg5LuTXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDYnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v5ZCO5bqn6ZSB5byA5YWzXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDcnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v5ZCO6L2u6ZSB5byA5YWzXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDgnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v6I635Y+W6YWN572u5L+h5oGvXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMDknOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v57u85ZCI5Y+C5pWw6YWN572uXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMGEnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v6K+t6Z+z6K6+572uXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMGInOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v6YeN5ZCv6K6+572uXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMGMnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8v6I635Y+WRUNV5L+h5oGvXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgYnJlYWtcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgY2FzZSAnMGQnOlxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIC8vMi4xM1x06K6+572u5pyN5Yqh5Zmo5Z+f5ZCNKElQKeWSjOerr+WPo1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgIGNhc2UgJzBlJzpcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICAvLzIuMTRcdOiOt+WPluacjeWKoeWZqOWfn+WQjShJUCnlkoznq6/lj6NcclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICBicmVha1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgICBjYXNlICcwZic6XHJcblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgICAgLy8yLjE1XHTmjqXljZXorr7nva5cclxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgICAgICBicmVha1xyXG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdC8vICAgICAgICAgICAgIH1cclxuXHRcdFx0XHQvLyAgICAgICAgICAgfSk7XHJcblx0XHRcdFx0Ly8gICAgICAgICAgIC8vIHZhciByZXNEYXRhID0gJzQyNDQwMDA0MGEwYTA1MDUwYTAxMDFhNDYzJ1xyXG5cclxuXHRcdFx0XHQvLyAgICAgICAgIH1cclxuXHRcdFx0XHRpZiAoY2hhcmFjdGVyaXN0aWMudmFsdWUpIHtcclxuXHRcdFx0XHRcdGxldCByZXMgPSBjaGFyYWN0ZXJpc3RpYy52YWx1ZVxyXG5cdFx0XHRcdFx0bGV0IHJlc0RhdGEgPSB1dGlsLmFiMmhleChyZXMpO1xyXG5cclxuXHRcdFx0XHRcdGlmICh0aGlzLl9yZWNlaXZlTGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5fcmVjZWl2ZUxlbmd0aCA9IHBhcnNlSW50KHJlc0RhdGEuc2xpY2UoOCwgMTIpLCAxNilcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMuX3JlY2VpdmVEYXRhICs9IHJlc0RhdGFcclxuXHRcdFx0XHRcdGlmICh0aGlzLl9yZWNlaXZlRGF0YS5sZW5ndGggPT09ICh0aGlzLl9yZWNlaXZlTGVuZ3RoICogMiArIDE2KSkge1xyXG5cdFx0XHRcdFx0XHRsZXQgX3JlY2VpdmVEYXRhID0gdGhpcy5fcmVjZWl2ZURhdGFcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coX3JlY2VpdmVEYXRhKVxyXG5cdFx0XHRcdFx0XHRsZXQgZmxheSA9IF9yZWNlaXZlRGF0YS5zbGljZSgwLCA0KVxyXG5cdFx0XHRcdFx0XHRsZXQgY3JjMTYgPSBfcmVjZWl2ZURhdGEuc2xpY2UoMTIsIDE2KTtcclxuXHRcdFx0XHRcdFx0bGV0IHN5c3RlbVN0YXRlID0gX3JlY2VpdmVEYXRhLnNsaWNlKDQsIDYpOyAvLzRjXHJcblx0XHRcdFx0XHRcdGxldCBzZXF1ZW5jZUlkXzE2ID0gX3JlY2VpdmVEYXRhLnNsaWNlKDYsIDgpOyAvLzBhXHJcblx0XHRcdFx0XHRcdGxldCBkY0FyciA9IFtdO1xyXG5cdFx0XHRcdFx0XHRsZXQgYm9keSA9IF9yZWNlaXZlRGF0YS5zbGljZSgxNilcclxuXHRcdFx0XHRcdFx0bGV0IGNvbnRlbnRBcnIgPSB1dGlsLmFkZEZsYWdCZWZvcmVBcnIodXRpbC5zdHJBdmVyYWdlMkFycihib2R5LCAyKSk7XHJcblx0XHRcdFx0XHRcdC8v5qCh5qOA5pWw5o2uXHJcblx0XHRcdFx0XHRcdGlmIChwYXJzZUludChkYXRhVHJhbnNpdGlvbi5nZXRDUkMxNihjb250ZW50QXJyKSwgMTYpID09IHBhcnNlSW50KGNyYzE2LCAxNikpIHtcclxuXHRcdFx0XHRcdFx0XHRsZXQgcmVzcG9uc2UgPSB1dGlsLmhleFN0cmluZ1RvQXJyYXlCdWZmZXIoYGFhMTIke3N5c3RlbVN0YXRlfSR7c2VxdWVuY2VJZF8xNn0wMDAwMDAwMGApO1xyXG5cdFx0XHRcdFx0XHRcdGlmIChmbGF5ID09PSAnYWExMCcpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuZ2V0UmFuZG9tU3VjY2Vzc0Jsb2NrLCAnZ2V0UmFuZG9tU3VjY2Vzc0Jsb2NrJylcclxuXHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLmdldFJhbmRvbVN1Y2Nlc3NCbG9jaykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldFJhbmRvbVN1Y2Nlc3NCbG9jayhib2R5KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldFJhbmRvbVN1Y2Nlc3NCbG9jayA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+aMh+S7pOWPkemAgeaIkOWKnycsIGJvZHkpXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChmbGF5ID09PSAnYWEwMCcpIHt9IGVsc2UgaWYgKGZsYXkgPT09ICdhYTMwJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ0NSQ+agoemqjOWksei0pScsIGJvZHkpO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHQvL+WTjeW6lOaVsOaNrlxyXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhhdC53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUocmVzcG9uc2UsIHVuZGVmaW5lZClcclxuXHRcdFx0XHRcdFx0XHRcdC8vIHRoYXQuYW5hbHlzaXNCTEVDb250ZW50KGJvZHkpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHRoaXMuX3JlY2VpdmVMZW5ndGggPSAwXHJcblx0XHRcdFx0XHRcdHRoaXMuX3JlY2VpdmVEYXRhID0gJydcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblx0Ly/ojrflj5bnp5jpkqVcclxuXHRnZXRTZWNyZXRLZXkoYm94X25vKSB7XHJcblx0XHRpZiAoIWJveF9ubykgYm94X25vID0gdGhpcy5fYmlrZU1haW5JZFxyXG5cdFx0bGV0IHRoYXQgPSB0aGlzXHJcblx0XHRjb25zb2xlLmxvZyhib3hfbm8pXHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzLCByZWopIHtcclxuXHRcdFx0bGV0IHBhcmFtID0ge1xyXG5cdFx0XHRcdGJveF9ubzogYm94X25vIC8v5oiR5YWs5Y+45piv6YCa6L+H6K6+5aSH57yW5Y+36I635Y+W55qE5a+G6ZKlXHJcblx0XHRcdH07XHJcblx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHR1cmw6ICdodHRwczovL2Jpa2Uuc2Fhcy55dWZlbmdqaWF5dW4uY29tL2FwcC1hcGkvYmlrZS9nZXRLZXknLFxyXG5cdFx0XHRcdGRhdGE6IHBhcmFtLFxyXG5cdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0QXV0aG9yaXphdGlvbjogJ2JlYXJlcicgKyAnICcgKyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJykudG9rZW5cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXNwKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXNwKVxyXG5cdFx0XHRcdFx0dGhhdC5fbWFjID0gcmVzcC5kYXRhLmtleVxyXG5cdFx0XHRcdFx0cmVzKHJlc3AuZGF0YS5rZXkpO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdH0pO1xyXG5cdH1cclxuXHR3YWl0Rm9yRGV2aWNlRm91bmQoKSB7XHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoXHJcblx0XHRcdChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHR0aGlzLmRldmljZUZvdW5kQmxvY2sgPSByZXNvbHZlXHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ3dhaXRGb3JEZXZpY2VGb3VuZCAtLS0tJylcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLl9kaXNjb3ZlcmluZywgJzw9PT4nLCAhdGhpcy5faXNGb3VuZERldmljZSlcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCd3YWl0Rm9yRGV2aWNlRm91bmQgKysrKycsIHRoaXMuX2Rpc2NvdmVyaW5nLCB0aGlzLl9pc0ZvdW5kRGV2aWNlKVxyXG5cdFx0XHRcdFx0Ly8g5YWo5bGA5pat5LqG77yMX2Rpc2NvdmVyaW5nIOWPmOS4umZhbHNl77yI5Y+R5b+D6Lez5YyF5aSx6LSl77yMY2xvc2VBcGF0ZXLlvJXotbfvvIlcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuX2Rpc2NvdmVyaW5nLCAnPT0+JywgIXRoaXMuX2lzRm91bmREZXZpY2UpXHJcblxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuX2Rpc2NvdmVyaW5nICYmICF0aGlzLl9pc0ZvdW5kRGV2aWNlKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn6JOd54mZ5omr5o+P6LaF5pe2JyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ3dhaXRGb3JEZXZpY2VGb3VuZCDmiavmj4/otoXml7YwMCcsICdpc2Nvbm5lY3RpbmcgOicsIHRoaXMuaXNDb25uZWN0aW5nKVxyXG5cdFx0XHRcdFx0XHRyZWplY3Qoe1xyXG5cdFx0XHRcdFx0XHRcdGVyckNvZGU6IGVycm9yQ29kZS5kaXNjb3ZlcnlfdGltZU91dFxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuX2Rpc2NvdmVyaW5nKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuc3RvcERpc2NvdmVyeSgpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSwgdGhpcy5kaXNjb3ZlcnlUaW1lT3V0KTtcclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdH1cclxuXHRkaXNjb25uZWNEZXZpY2UoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5jbG9zZUNvbm5lY3Rpb24odGhpcy5fZGV2aWNlSWQpLnRoZW4oXHJcblx0XHRcdHJlcyA9PiB7XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMuY2xvc2VBZGFwdGVyKClcclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdH1cclxuXHQvKioqKioqKioqKirliJ3lp4vljJbmjqXlj6MqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioq6JOd54mZ5aSE55CGKioqKioqKioqKioqKi9cclxuXHQvLyDmiZPlvIDpgILphY3lmahcclxuXHRvcGVuQWRhcHRlcigpIHtcclxuXHRcdGNvbnNvbGUubG9nKCfmiZPlvIDpgILphY3lmagnKVxyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKFxyXG5cdFx0XHQocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0dW5pLm9wZW5CbHVldG9vdGhBZGFwdGVyKHtcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IHJlc29sdmUsXHJcblx0XHRcdFx0XHRmYWlsOiByZWplY3RcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cdC8vIOWFs+mXremAgumFjeWZqFxyXG5cdGNsb3NlQWRhcHRlcigpIHtcclxuXHRcdGNvbnNvbGUubG9nKCflhbPpl63pgILphY3lmagnKVxyXG5cdFx0dGhpcy5faXNGb3VuZERldmljZSA9IGZhbHNlXHJcblx0XHR0aGlzLl9kaXNjb3ZlcmluZyA9IGZhbHNlXHJcblx0XHR0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlXHJcblx0XHR0aGlzLmFkYXB0ZXJTdGF0ZUNoYW5nZUNhbGxCYWNrID0gdW5kZWZpbmVkXHJcblx0XHR0aGlzLm9uQ29ubmVjdGlvblN0YXRlQ2hhbmdlID0gdW5kZWZpbmVkXHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoXHJcblx0XHRcdChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHR0aGlzLmlzT3BlbkFkcGF0ZXIgPSBmYWxzZVxyXG5cdFx0XHRcdHRoaXMuaXNDb25uZWN0aW5nID0gZmFsc2VcclxuXHRcdFx0XHR1bmkuY2xvc2VCbHVldG9vdGhBZGFwdGVyKHtcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IHJlc29sdmUsXHJcblx0XHRcdFx0XHRmYWlsOiByZWplY3RcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cdC8vIOW8gOWQr+aJq+aPj1xyXG5cdHN0YXJ0RGlzY292ZXJ5KCkge1xyXG5cdFx0Y29uc29sZS5sb2coJ+W8gOWQr+aJq+aPjycpXHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoXHJcblx0XHRcdChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHR1bmkuc3RhcnRCbHVldG9vdGhEZXZpY2VzRGlzY292ZXJ5KHtcclxuXHRcdFx0XHRcdHNlcnZpY2VzOiBbJ0ZGRjAnXSxcclxuXHRcdFx0XHRcdGFsbG93RHVwbGljYXRlc0tleTogdHJ1ZSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IHJlc29sdmUsXHJcblx0XHRcdFx0XHRmYWlsOiByZWplY3RcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cdC8vIOWFs+mXreaJq+aPj1xyXG5cdHN0b3BEaXNjb3ZlcnkoKSB7XHJcblx0XHRjb25zb2xlLmxvZygn5YWz6Zet5omr5o+PJylcclxuXHRcdHRoaXMuX2lzRm91bmREZXZpY2UgPSBmYWxzZTtcclxuXHRcdHVuaS5oaWRlTG9hZGluZygpXHJcblx0XHRyZXR1cm4gbmV3IFByb21pc2UoXHJcblx0XHRcdChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHR1bmkuc3RvcEJsdWV0b290aERldmljZXNEaXNjb3Zlcnkoe1xyXG5cdFx0XHRcdFx0c3VjY2VzczogcmVzb2x2ZSxcclxuXHRcdFx0XHRcdGZhaWw6IHJlamVjdFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblx0Ly8g5Yib5bu66L+e5o6lXHJcblx0Y3JlYXRlQ29ubmVjdGlvbihkZXZpY2VJZCkge1xyXG5cdFx0Y29uc29sZS5sb2coJ+WIm+W7uui/nuaOpScpXHJcblx0XHRjb25zb2xlLmxvZyhkZXZpY2VJZClcclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZShcclxuXHRcdFx0KHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2Nvbm5lY3Rpb25GYWlsQmxvY2sgPSB1bmRlZmluZWRcclxuXHRcdFx0XHR0aGlzLl9jb25uZWN0aW9uRmFpbEJsb2NrID0gcmVqZWN0XHJcblx0XHRcdFx0Ly8gdGhpcy5fbmVlZFRvVG9hc3RDb25uZWN0RXJyb3IgPSB0cnVlXHJcblx0XHRcdFx0Y29uc29sZS5sb2coZGV2aWNlSWQpXHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5jb25ubmVjdFRpbWVPdXQpXHJcblxyXG5cdFx0XHRcdHVuaS5jcmVhdGVCTEVDb25uZWN0aW9uKHtcclxuXHRcdFx0XHRcdGRldmljZUlkOiBkZXZpY2VJZCxcclxuXHRcdFx0XHRcdC8vIHRpbWVvdXQ6IHRoaXMuY29ubm5lY3RUaW1lT3V0LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJy0tLS0tLS0tY3JlYXRlQ29ubmVjdGlvbiBzdWNjZXNzJywgcmVzKVxyXG5cdFx0XHRcdFx0XHQvLyAg5Yib5bu65oiQ5p6c5bm25LiN5Luj6KGo5Y+R5oyH5Luk5oiQ5Yqf77yM5pyJ5Y+v6IO96L+e5o6l6L+e5o6l5Yib5bu65oiQ5Yqf5LqG77yM5L2G5piv5Y+R5oyH5Luk55qE5pe25YCZ6L+e5o6l5Lit5pat5LqGXHJcblx0XHRcdFx0XHRcdHJlc29sdmUocmVzKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGVycm9yID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJy0tLS0tLS0tY3JlYXRlQ29ubmVjdGlvbiBmYWlsJywgZXJyb3IpXHJcblx0XHRcdFx0XHRcdHRoaXMuX2Nvbm5lY3Rpb25GYWlsQmxvY2sgPSB1bmRlZmluZWRcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycm9yKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblx0Ly8g5YWz6Zet6L+e5o6lXHJcblx0Y2xvc2VDb25uZWN0aW9uKGRldmljZUlkKSB7XHJcblx0XHRjb25zb2xlLmxvZygn5YWz6Zet6L+e5o6lJylcclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZShcclxuXHRcdFx0KHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdHVuaS5jbG9zZUJMRUNvbm5lY3Rpb24oe1xyXG5cdFx0XHRcdFx0ZGV2aWNlSWQ6IGRldmljZUlkLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogcmVzb2x2ZSxcclxuXHRcdFx0XHRcdGZhaWw6IHJlamVjdFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdClcclxuXHR9XHJcblx0Ly8g6I635Y+W5pyN5YqhXHJcblx0Z2V0U2VydmljZXMoZGV2aWNlSWQpIHtcclxuXHRcdGNvbnNvbGUubG9nKCfojrflj5bmnI3liqEnKVxyXG5cdFx0bGV0IHRoYXQgPSB0aGlzXHJcblx0XHRjb25zb2xlLmxvZyhkZXZpY2VJZClcclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZShcclxuXHRcdFx0KHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2Nvbm5lY3Rpb25GYWlsQmxvY2sgPSB1bmRlZmluZWRcclxuXHRcdFx0XHR0aGlzLl9jb25uZWN0aW9uRmFpbEJsb2NrID0gcmVqZWN0XHJcblx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdHVuaS5nZXRCTEVEZXZpY2VTZXJ2aWNlcyh7XHJcblx0XHRcdFx0XHRcdGRldmljZUlkOiBkZXZpY2VJZCxcclxuXHRcdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRcdFx0Ly8gaWYgKHJlcy5lcnJDb2RlID09PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0cmVzLnNlcnZpY2VzLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGluZGV4LCBhcnJheSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLorr7lpIfmiYDmnInnmoRVVUlkXCIsIHZhbHVlLnV1aWQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHZhbHVlLnV1aWQuaW5kZXhPZignRkZGMCcpID4gLTEpIHsgLy/mib7liLBzZXJ2aWNlSWTljIXlkKtGRUY255qE5pyN5YqhXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuX3NlcnZpY2VJZCA9IGFycmF5W2luZGV4XS51dWlkO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyByZXNvbHZlKHNlcnZpY2VJZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5fc2VydmljZUlkKVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmVzKVxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRmYWlsOiBlcnJvciA9PiB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ2dldFNlcnZpY2VzIGZhaWwnLCBlcnJvcilcclxuXHRcdFx0XHRcdFx0XHRyZWplY3QoZXJyb3IpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSwgMzAwMClcclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdH1cclxuXHQvLyDojrflj5bnibnlvoHlgLxcclxuXHRnZXRDaGFyYWN0ZXJpc3RpY3MoZGV2aWNlSWQsIHNlcnZpY2VJZCkge1xyXG5cdFx0Y29uc29sZS5sb2coJ+iOt+WPlueJueW+geWAvCcpXHJcblx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdGNvbnNvbGUubG9nKGRldmljZUlkKVxyXG5cdFx0Y29uc29sZS5sb2coc2VydmljZUlkKVxyXG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlKFxyXG5cdFx0XHQocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0dGhpcy5fY29ubmVjdGlvbkZhaWxCbG9jayA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdHRoaXMuX2Nvbm5lY3Rpb25GYWlsQmxvY2sgPSByZWplY3RcclxuXHRcdFx0XHR1bmkuZ2V0QkxFRGV2aWNlQ2hhcmFjdGVyaXN0aWNzKHtcclxuXHRcdFx0XHRcdGRldmljZUlkOiBkZXZpY2VJZCxcclxuXHRcdFx0XHRcdHNlcnZpY2VJZDogc2VydmljZUlkLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ2dldENoYXJhY3RlcmlzdGljcyBzdWNjZXNzJywgcmVzKVxyXG5cdFx0XHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHJlcy5jaGFyYWN0ZXJpc3RpY3MubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmNoYXJhY3RlcmlzdGljc1tpXS5wcm9wZXJ0aWVzLm5vdGlmeSAmJiAhcmVzLmNoYXJhY3RlcmlzdGljc1tpXS5wcm9wZXJ0aWVzLndyaXRlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Ll9jaGFyYWN0ZXJpc3RpY0lkID0gcmVzLmNoYXJhY3RlcmlzdGljc1tpXS51dWlkOyAvL+ivu+eahHV1aWRcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCfor7snKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmNoYXJhY3RlcmlzdGljc1tpXS5wcm9wZXJ0aWVzLndyaXRlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0Ll9jaGFyYWN0ZXJpc3RpY0lkX3dyaXRlID0gcmVzLmNoYXJhY3RlcmlzdGljc1tpXS51dWlkOyAvL+WGmeeahHV1aWRcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCflhpknKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRyZXNvbHZlKHJlcylcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBlcnJvciA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdnZXRDaGFyYWN0ZXJpc3RpY3MgZmFpbCcsIGVycm9yKVxyXG5cdFx0XHRcdFx0XHRyZWplY3QoZXJyb3IpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0KVxyXG5cdH1cclxuXHQvLyDlvIDlkK9ub3RpZnnlip/og73vvIzorqLpmIXnibnlvoHlgLxcclxuXHRvcGVuTm90aWZ5Q2hzVmFsdWVDaGFuZ2UoZGV2aWNlSWQsIHNlcnZpY2VJZCwgY2hhcmFjdGVyaXN0aWNJZCkge1xyXG5cdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0Y29uc29sZS5sb2coZGV2aWNlSWQsIHNlcnZpY2VJZCwgY2hhcmFjdGVyaXN0aWNJZClcclxuXHRcdGNvbnNvbGUubG9nKGNoYXJhY3RlcmlzdGljSWQsICdjaGFyYWN0ZXJpc3RpY0lkJylcclxuXHRcdGNvbnNvbGUubG9nKHNlcnZpY2VJZCwgJ3NlcnZpY2VJZCcpXHJcblx0XHRjb25zb2xlLmxvZyhkZXZpY2VJZCwgJ2RldmljZUlkJylcclxuXHRcdHJldHVybiBuZXcgUHJvbWlzZShcclxuXHRcdFx0KHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuX2Nvbm5lY3Rpb25GYWlsQmxvY2sgPSB1bmRlZmluZWRcclxuXHRcdFx0XHR0aGlzLl9jb25uZWN0aW9uRmFpbEJsb2NrID0gcmVqZWN0XHJcblx0XHRcdFx0dW5pLm5vdGlmeUJMRUNoYXJhY3RlcmlzdGljVmFsdWVDaGFuZ2Uoe1xyXG5cdFx0XHRcdFx0ZGV2aWNlSWQ6IGRldmljZUlkLFxyXG5cdFx0XHRcdFx0c2VydmljZUlkOiBzZXJ2aWNlSWQsXHJcblx0XHRcdFx0XHRjaGFyYWN0ZXJpc3RpY0lkOiBjaGFyYWN0ZXJpc3RpY0lkLFxyXG5cdFx0XHRcdFx0c3RhdGU6IHRydWUsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnb3Blbk5vdGlmeUNoc1ZhbHVlQ2hhbmdlIHN1Y2Nlc3MnLCByZXMpXHJcblx0XHRcdFx0XHRcdHJlc29sdmUocmVzKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGVycm9yID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ29wZW5Ob3RpZnlDaHNWYWx1ZUNoYW5nZSBmYWlsJywgZXJyb3IpXHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnJvcilcclxuXHRcdFx0XHRcdFx0dGhpcy5jb25uZWN0RGVpdmVjZSh0aGlzLl9iaWtlTWFpbklkLCB0aGlzLmluc3RydWN0aW9ucylcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHQpXHJcblx0fVxyXG5cclxuXHQvL+W8gOmUgVxyXG5cdHVubG9ja0Jpa2UoKSB7XHJcblx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHR0aXRsZTogJ+W8gOmUgeS4rS4uLidcclxuXHRcdH0pXHJcblx0XHR2YXIga2V5MiA9IFsnMHg0MicsICcweDQ0JywgJzB4MDAnLCAnMHgwMScsICcweDBBJywgJzB4MEEnLCAnMHgwNScsICcweDA1JywgJzB4MDInLCAnMHgwMScsICcweDAxJ11cclxuXHRcdGxldCB2YWx1ZSA9IHV0aWwuQ1JDKGtleTIpXHJcblx0XHRjb25zb2xlLmxvZyh2YWx1ZSlcclxuXHRcdHZhciB2YWx1ZTEgPSAnNDI0NDAwMDEwQTBBMDUwNTAyMDEwMScgKyB2YWx1ZVxyXG5cdFx0Y29uc29sZS5sb2codmFsdWUxKVxyXG5cdFx0dGhpcy53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUodXRpbC5oZXhTdHJpbmdUb0FycmF5QnVmZmVyKHZhbHVlMSksICcxMjMnKVxyXG5cdFx0Ly/mkq3mlL7or63pn7NcclxuXHRcdHZhciBrZXk1ID0gWycweDQyJywgJzB4NDQnLCAnMHgwMCcsICcweDAxJywgJzB4MEEnLCAnMHgwQScsICcweDA1JywgJzB4MDUnLCAnMHgwQScsICcweDA3JywgJzB4MDEnLCAnMHgwMicsICcweDAwJyxcclxuXHRcdFx0JzB4MDAnLCAnMHgwMCcsICcweDAwJywgJzB4MDAnXHJcblx0XHRdXHJcblx0XHRsZXQgdmFsdWUyID0gdXRpbC5DUkMoa2V5NSlcclxuXHRcdHZhciB2YWx1ZTMgPSAnNDI0NDAwMDEwQTBBMDUwNTBBMDcwMTAyMDAwMDAwMDAwMCcgKyB2YWx1ZTJcclxuXHRcdHRoaXMud3JpdGVCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlKHV0aWwuaGV4U3RyaW5nVG9BcnJheUJ1ZmZlcih2YWx1ZTMpLCAnMTIzJylcclxuXHR9XHJcblxyXG5cdC8v5Y+R6YCB5YWz6ZSB5oyH5LukXHJcblx0bG9ja0Jpa2UoKSB7XHJcblx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHR0aXRsZTogJ+WFs+mUgeS4rS4uLidcclxuXHRcdH0pXHJcblx0XHR2YXIga2V5MiA9IFsnMHg0MicsICcweDQ0JywgJzB4MDAnLCAnMHgwMScsICcweDBBJywgJzB4MEEnLCAnMHgwNScsICcweDA1JywgJzB4MDInLCAnMHgwMScsICcweDAwJ11cclxuXHRcdGxldCB2YWx1ZSA9IHV0aWwuQ1JDKGtleTIpXHJcblx0XHRjb25zb2xlLmxvZyh2YWx1ZSlcclxuXHRcdHZhciB2YWx1ZTEgPSAnNDI0NDAwMDEwQTBBMDUwNTAyMDEwMCcgKyB2YWx1ZVxyXG5cdFx0Y29uc29sZS5sb2codmFsdWUxKVxyXG5cdFx0dGhpcy53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUodXRpbC5oZXhTdHJpbmdUb0FycmF5QnVmZmVyKHZhbHVlMSkpXHJcblx0XHQvL+aSreaUvuivremfs1xyXG5cdFx0dmFyIGtleTUgPSBbJzB4NDInLCAnMHg0NCcsICcweDAwJywgJzB4MDEnLCAnMHgwQScsICcweDBBJywgJzB4MDUnLCAnMHgwNScsICcweDBBJywgJzB4MDcnLCAnMHgwMScsICcweDAxJywgJzB4MDAnLFxyXG5cdFx0XHQnMHgwMCcsICcweDAwJywgJzB4MDAnLCAnMHgwMCdcclxuXHRcdF1cclxuXHRcdGxldCB2YWx1ZTIgPSB1dGlsLkNSQyhrZXk1KVxyXG5cdFx0dmFyIHZhbHVlMyA9ICc0MjQ0MDAwMTBBMEEwNTA1MEEwNzAxMDEwMDAwMDAwMDAwJyArIHZhbHVlMlxyXG5cdFx0dGhpcy53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUodXRpbC5oZXhTdHJpbmdUb0FycmF5QnVmZmVyKHZhbHVlMykpXHJcblx0fVxyXG5cclxuXHRwbGF5X3ZvaWNlKCkge1xyXG5cdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0dGl0bGU6ICflk43pk4PkuK0uLi4nXHJcblx0XHR9KVxyXG5cdFx0dmFyIGtleTUgPSBbJzB4NDInLCAnMHg0NCcsICcweDAwJywgJzB4MDEnLCAnMHgwQScsICcweDBBJywgJzB4MDUnLCAnMHgwNScsICcweDBBJywgJzB4MDcnLCAnMHgwMScsICcweDA5JywgJzB4MDAnLFxyXG5cdFx0XHQnMHgwMCcsICcweDAwJywgJzB4MDAnLCAnMHgwMCdcclxuXHRcdF1cclxuXHRcdGxldCB2YWx1ZSA9IHV0aWwuQ1JDKGtleTUpXHJcblx0XHRjb25zb2xlLmxvZyh2YWx1ZSlcclxuXHRcdHZhciB2YWx1ZTEgPSAnNDI0NDAwMDEwQTBBMDUwNTBBMDcwMTA5MDAwMDAwMDAwMCcgKyB2YWx1ZVxyXG5cdFx0Y29uc29sZS5sb2codmFsdWUxKVxyXG5cdFx0dGhpcy53cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUodXRpbC5oZXhTdHJpbmdUb0FycmF5QnVmZmVyKHZhbHVlMSkpXHJcblx0fVxyXG5cclxuXHRkaWFua2FpKCkge1xyXG5cdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0dGl0bGU6ICflvIDnlLXmsaDplIHkuK0uLi4nXHJcblx0XHR9KVxyXG5cdFx0dmFyIGtleTMgPSBbJzB4NDInLCAnMHg0NCcsICcweDAwJywgJzB4MDEnLCAnMHgwQScsICcweDBBJywgJzB4MDUnLCAnMHgwNScsICcweDA1JywgJzB4MDEnLCAnMHgwMSddXHJcblx0XHRsZXQgdmFsdWUgPSB1dGlsLkNSQyhrZXkzKVxyXG5cdFx0Y29uc29sZS5sb2codmFsdWUpXHJcblx0XHR2YXIgdmFsdWUxID0gJzQyNDQwMDAxMEEwQTA1MDUwNTAxMDEnICsgdmFsdWVcclxuXHRcdGNvbnNvbGUubG9nKHZhbHVlMSlcclxuXHRcdHRoaXMud3JpdGVCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlKHV0aWwuaGV4U3RyaW5nVG9BcnJheUJ1ZmZlcih2YWx1ZTEpKVxyXG5cdH1cclxuXHJcblx0Y2hvbmdxaSgpIHtcclxuXHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdHRpdGxlOiAn6YeN5ZCv5LitLi4uJ1xyXG5cdFx0fSlcclxuXHRcdHZhciBrZXkzID0gWycweDQyJywgJzB4NDQnLCAnMHgwMCcsICcweDAxJywgJzB4MEEnLCAnMHgwQScsICcweDA1JywgJzB4MDUnLCAnMHgwQicsICcweDA3JywgJzB4MDEnLCAnMHgwMScsICcweDAxJyxcclxuXHRcdFx0JzB4MDEnLCAnMHgwMScsICcweDAxJywgJzB4MDEnXHJcblx0XHRdXHJcblx0XHRsZXQgdmFsdWUgPSB1dGlsLkNSQyhrZXkzKVxyXG5cdFx0Y29uc29sZS5sb2codmFsdWUpXHJcblx0XHR2YXIgdmFsdWUxID0gJzQyNDQwMDAxMEEwQTA1MDUwQjA3MDEwMTAxMDEwMTAxMDEnICsgdmFsdWVcclxuXHRcdGNvbnNvbGUubG9nKHZhbHVlMSlcclxuXHRcdHRoaXMud3JpdGVCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlKHV0aWwuaGV4U3RyaW5nVG9BcnJheUJ1ZmZlcih2YWx1ZTEpKVxyXG5cdH1cclxuXHJcblx0Ly/lj5HpgIHmlbDmja5cclxuXHR3cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUoZGF0YSwgcmVqZWN0KSB7XHJcblx0XHRjb25zb2xlLmxvZyh0aGlzLl9kZXZpY2VJZCwgdGhpcy5fc2VydmljZUlkLCB0aGlzLl9jaGFyYWN0ZXJpc3RpY0lkX3dyaXRlLCAn5Y+R6YCB5Y+C5pWwJyk7XHJcblx0XHRjb25zb2xlLmxvZyhkYXRhKVxyXG5cdFx0dW5pLndyaXRlQkxFQ2hhcmFjdGVyaXN0aWNWYWx1ZSh7XHJcblx0XHRcdGRldmljZUlkOiB0aGlzLl9kZXZpY2VJZCxcclxuXHRcdFx0c2VydmljZUlkOiB0aGlzLl9zZXJ2aWNlSWQsXHJcblx0XHRcdGNoYXJhY3RlcmlzdGljSWQ6IHRoaXMuX2NoYXJhY3RlcmlzdGljSWRfd3JpdGUsXHJcblx0XHRcdHZhbHVlOiBkYXRhLFxyXG5cdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCd3cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUgc3VjY2VzcycsIHJlcylcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmFpbDogZXJyID0+IHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnd3JpdGVCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlIGZhaWwnLCBlcnIsIHRoaXMuX2RldmljZUlkLCB0aGlzLl9zZXJ2aWNlSWQsIHRoaXMuX2NoYXJhY3RlcmlzdGljSWQpXHJcblx0XHRcdFx0Ly8gaWYoKXtcclxuXHRcdFx0XHR0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdC8vIH1cclxuXHRcdFx0XHQvLyByZWplY3QoZXJyKVxyXG5cdFx0XHRcdHRoaXMuY2xvc2VDb25uZWN0aW9uKHRoaXMuX2RldmljZUlkKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb21wbGV0ZShyZXMpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICdjb21wbGV0ZScpXHJcblx0XHRcdFx0c3dpdGNoICh1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS5wbGF0Zm9ybSkge1xyXG5cdFx0XHRcdFx0Y2FzZSAnYW5kcm9pZCc6XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCflrqLmiLfnq6/mmK9BbmRyb2lkJylcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6J+aTjeS9nOaIkOWKnydcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0cmV0dXJuIFxyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgJ2lvcyc6XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCflrqLmiLfnq6/mmK9pT1MnKVxyXG5cdFx0XHRcdFx0XHRyZXR1cm4gXHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSlcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIOagueaNruaMh+S7pOeggeeUn+aIkOaMh+S7pOW4p+aVsOaNrlxyXG5cdCAqIGNvbW1hbmRDb2RlIC0tPiDmjIfku6TnoIFcclxuXHQgKiBhcnJheSAtLT4g6aKd5Li65pC65bim55qE5pWw5o2uXHJcblx0ICovXHJcblx0Ly8gZ2VuZXJhdGVDb21tYW5kRGF0YShjb21tYW5kQ29kZSwgYXJyYXkpIHtcclxuXHQvLyAgIGxldCBzZXF1ZW5jZUlkXzE2ID0gZGF0YVRyYW5zaXRpb24uZ2V0U2VxdWVuY2VJZCh0aGlzLl9zZXF1ZW5jZUlkKTtcclxuXHQvLyAgIC8vIHRoaXMuX3NlcXVlbmNlSWQrKztcclxuXHJcblx0Ly8gICBsZXQgc2VuZERhdGEgPSAnJztcclxuXHQvLyAgIGNvbnNvbGUubG9nKGNvbW1hbmRDb2RlKVxyXG5cdC8vICAgLy8gY29uc29sZS5sb2coc2VxdWVuY2VJZF8xNilcclxuXHQvLyAgIHN3aXRjaCAoY29tbWFuZENvZGUpIHtcclxuXHQvLyAgICAgY2FzZSBjbWQudW5sb2NrOlxyXG5cdC8vICAgICAgIHNlbmREYXRhID0gJzAzIDAwIDAyIDAxIDAwJztcclxuXHQvLyAgICAgICBicmVha1xyXG5cdC8vICAgICBjYXNlIGNtZC5sb2NrOlxyXG5cdC8vICAgICAgIHNlbmREYXRhID0gJzAzIDAwIDAxIDAxIDAxJztcclxuXHQvLyAgICAgICBicmVhaztcclxuXHQvLyAgICAgY2FzZSBjbWQuYmVsbDpcclxuXHQvLyAgICAgICBzZW5kRGF0YSA9ICcwMyAwMCAwNCAwMSAwMSc7XHJcblx0Ly8gICAgICAgYnJlYWs7XHJcblx0Ly8gICAgIGNhc2UgY21kLmJhdHRlcnlVbmxvY2s6XHJcblx0Ly8gICAgICAgc2VuZERhdGEgPSAnMDMgMDAgMDUgMDEgMDEnO1xyXG5cdC8vICAgICAgIGJyZWFrO1xyXG5cdC8vICAgICBjYXNlIGNtZC5iYXR0ZXJ5TG9jazpcclxuXHQvLyAgICAgICBzZW5kRGF0YSA9ICcwMyAwMCAwNSAwMSAwMCc7XHJcblx0Ly8gICAgICAgYnJlYWs7XHJcblx0Ly8gICAgIGNhc2UgY21kLnRlbXBvcmFyeVVubG9ja0Jpa2U6XHJcblx0Ly8gICAgICAgc2VuZERhdGEgPSAnMDMgMDAgMDIgMDEgMDAgMDcgMDEgMDEnO1xyXG5cdC8vICAgICAgIGJyZWFrXHJcblx0Ly8gICAgIGNhc2UgY21kLnRlbXBvcmFyeUxvY2tCaWtlOlxyXG5cdC8vICAgICAgIHNlbmREYXRhID0gJzAzIDAwIDA3IDAxIDA4JztcclxuXHQvLyAgICAgICBicmVhaztcclxuXHQvLyAgICAgLy8gY2FzZSBjbWQubG9naW46XHJcblx0Ly8gICAgIC8vICAgLy8gbGV0IHNlY3JldEtleSA9IGFycmF5LmtleS50b1N0cmluZygpLnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG5cdC8vICAgICAvLyAgIGNvbnNvbGUubG9nKHNlY3JldEtleSlcclxuXHQvLyAgICAgLy8gICAvLyBsZXQgYyA9IHNlY3JldEtleS50b1N0cmluZygpLnJlcGxhY2UoL1xccysvZywgXCJcIik7XHJcblx0Ly8gICAgIC8vICAgLy8gbGV0IGNMZW5ndGggPSBkYXRhVHJhbnNpdGlvbi5nZXRTZWNyZXRLZXlMZW5ndGgoYyk7XHJcblx0Ly8gICAgIC8vICAgLy/lj5HpgIHlhoXlrrlcclxuXHQvLyAgICAgLy8gICBsZXQgc2VuZCA9IGAwMiAwMCAwMWA7IC8vMDIg6L+e5o6l5ZG95LukICAwMei/nuaOpeivt+axgiBjTGVuZ3Ro56eY6ZKl6ZW/5bqm44CCXHJcblx0Ly8gICAgIC8vICAgc2VuZERhdGEgPSBgJHtzZW5kfSAke3NlY3JldEtleX1gO1xyXG5cdC8vICAgICAvLyAgIGNvbnNvbGUubG9nKHNlbmREYXRhLCAnc2VuZFZhbHVlJylcclxuXHQvLyAgICAgLy8gICBicmVhaztcclxuXHQvLyAgICAgY2FzZSBjbWQuc3RhdHVzOlxyXG5cdC8vICAgICAgIHNlbmREYXRhID0gJzQyIDQ0IDAwIDAxIDBBIDBBIDA1IDA1J1xyXG5cdC8vICAgICAgIGNvbnNvbGUubG9nKHNlbmREYXRhKVxyXG5cdC8vICAgICAgIGJyZWFrXHJcblx0Ly8gICAgIGNhc2UgY21kLmFjazpcclxuXHQvLyAgICAgICBzZW5kRGF0YSA9IGFycmF5LmRhdGFcclxuXHQvLyAgICAgICBicmVhaztcclxuXHQvLyAgIH1cclxuXHJcblx0Ly8gICBsZXQgaGVhZGVyID0gZGF0YVRyYW5zaXRpb24uaGVhZGVyKHNlbmREYXRhKTtcclxuXHQvLyAgIGNvbnNvbGUubG9nKGhlYWRlcilcclxuXHQvLyAgIGlmIChjb21tYW5kQ29kZSA9PSAncmVzcG9uc2VBY2snKSB7XHJcblx0Ly8gICAgIGhlYWRlciA9ICcnXHJcblx0Ly8gICB9XHJcblxyXG5cdC8vICAgbGV0IGRhdGEgPSBoZWFkZXIgKyBzZW5kRGF0YS5yZXBsYWNlKC9cXHMrL2csIFwiXCIpO1xyXG5cdC8vICAgY29uc29sZS5sb2coZGF0YSlcclxuXHQvLyAgIGNvbnNvbGUubG9nKGDlj5HpgIEke2NvbW1hbmRDb2RlfeaMh+S7pGAsIGRhdGEpO1xyXG5cclxuXHQvLyAgIHJldHVybiBkYXRhO1xyXG5cdC8vIH1cclxuXHJcblx0LyoqKioqKip1dGlsKioqKioqKioqL1xyXG5cclxufVxyXG5cclxuLy8gZXhwb3J0IHtcclxuLy8gIEJsdWV0b290aE1hbmFnZXJcclxuLy8gfSBcclxuXHJcbm1vZHVsZS5leHBvcnRzID0ge1xyXG5cdEJsdWV0b290aE1hbmFnZXI6IEJsdWV0b290aE1hbmFnZXIsXHJcblx0QnRFcnJvckNvZGU6IGVycm9yQ29kZSxcclxuXHRDTUQ6IGNtZFxyXG59XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n");
  2933. /***/ }),
  2934. /* 45 */
  2935. /*!*****************************************************!*\
  2936. !*** C:/Users/001/Desktop/运维端/static/js/bluUtil.js ***!
  2937. \*****************************************************/
  2938. /*! no static exports found */
  2939. /***/ (function(module, exports, __webpack_require__) {
  2940. eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n//TID号加密解密算法描述\n//466fe489d=>70537421\nvar szKey3 = [0x35, 0x41, 0x32, 0x42, 0x33, 0x43, 0x36, 0x44, 0x39, 0x45,\n0x38, 0x46, 0x37, 0x34, 0x31, 0x30];\n\n//解密 ,参数16进制\nvar encrypt = function encrypt(number) {\n __f__(\"log\", number, \" at static/js/bluUtil.js:9\");\n number = number.toUpperCase();\n __f__(\"log\", number, \" at static/js/bluUtil.js:11\");\n var out_number = '';\n if (!number) return;\n var len = number.length;\n __f__(\"log\", len, \" at static/js/bluUtil.js:15\");\n if (len > 16) return;\n for (var i = 0; i < len; i++) {\n for (var j = 0; j < 16; j++) {\n if (number.charAt(i).charCodeAt() == szKey3[j]) //字符转ascii码\n out_number += String.fromCharCode(0x2A + j);else\n\n continue;\n }\n\n }\n __f__(\"log\", out_number, \" at static/js/bluUtil.js:26\");\n return out_number;\n};\n\n// ArrayBuffer转16进度字符串示例\nvar ab2hex = function ab2hex(buffer) {\n var hexArr = Array.prototype.map.call(\n new Uint8Array(buffer),\n function (bit) {\n return ('00' + bit.toString(16)).slice(-2);\n });\n\n return hexArr.join('');\n};\n\n//字符串平均切割成数组\nvar strAverage2Arr = function strAverage2Arr(str, no) {\n var arr = [];\n for (var i = 0; i < str.length; i += no) {\n arr.push(str.slice(i, i + 2));\n }\n return arr;\n\n};\n\n//数组的每个元素加前缀\nvar addFlagBeforeArr = function addFlagBeforeArr(arr) {\n return Array.prototype.map.call(arr, function (value) {\n return \"0x\".concat(value);\n });\n};\n\n//字符转ArrayBuffer\nvar hexStringToArrayBuffer = function hexStringToArrayBuffer(str) {\n // 将16进制转化为ArrayBuffer\n return new Uint8Array(str.match(/[\\da-f]{2}/gi).map(function (h) {\n return parseInt(h, 16);\n })).buffer;\n};\n\nvar CRC = function CRC(dataBuf) {\n var temp = 0;\n var crc = 0xffff;\n for (var i = 0; i < dataBuf.length; i++) {\n crc ^= parseInt(dataBuf[i].toString());\n for (var j = 0; j < 8; j++) {\n temp = 1 & crc;\n crc >>= 1;\n if (temp == 1) {\n crc ^= 0xa001;\n }\n }\n }\n crc ^= 0xffff;\n crc = ('0000' + crc.toString(16)).substr(-4);\n return crc;\n};\n\nmodule.exports = {\n encrypt: encrypt,\n ab2hex: ab2hex,\n strAverage2Arr: strAverage2Arr,\n addFlagBeforeArr: addFlagBeforeArr,\n hexStringToArrayBuffer: hexStringToArrayBuffer,\n CRC: CRC };\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2JsdVV0aWwuanMiXSwibmFtZXMiOlsic3pLZXkzIiwiZW5jcnlwdCIsIm51bWJlciIsInRvVXBwZXJDYXNlIiwib3V0X251bWJlciIsImxlbiIsImxlbmd0aCIsImkiLCJqIiwiY2hhckF0IiwiY2hhckNvZGVBdCIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImFiMmhleCIsImJ1ZmZlciIsImhleEFyciIsIkFycmF5IiwicHJvdG90eXBlIiwibWFwIiwiY2FsbCIsIlVpbnQ4QXJyYXkiLCJiaXQiLCJ0b1N0cmluZyIsInNsaWNlIiwiam9pbiIsInN0ckF2ZXJhZ2UyQXJyIiwic3RyIiwibm8iLCJhcnIiLCJwdXNoIiwiYWRkRmxhZ0JlZm9yZUFyciIsInZhbHVlIiwiaGV4U3RyaW5nVG9BcnJheUJ1ZmZlciIsIm1hdGNoIiwiaCIsInBhcnNlSW50IiwiQ1JDIiwiZGF0YUJ1ZiIsInRlbXAiLCJjcmMiLCJzdWJzdHIiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBLElBQU1BLE1BQU0sR0FBRyxDQUFDLElBQUQsRUFBTyxJQUFQLEVBQWEsSUFBYixFQUFtQixJQUFuQixFQUF5QixJQUF6QixFQUErQixJQUEvQixFQUFxQyxJQUFyQyxFQUEyQyxJQUEzQyxFQUFpRCxJQUFqRCxFQUF1RCxJQUF2RDtBQUNiLElBRGEsRUFDUCxJQURPLEVBQ0QsSUFEQyxFQUNLLElBREwsRUFDVyxJQURYLEVBQ2lCLElBRGpCLENBQWY7O0FBR0E7QUFDQSxJQUFNQyxPQUFPLEdBQUcsU0FBVkEsT0FBVSxDQUFDQyxNQUFELEVBQVk7QUFDMUIsZUFBWUEsTUFBWjtBQUNBQSxRQUFNLEdBQUdBLE1BQU0sQ0FBQ0MsV0FBUCxFQUFUO0FBQ0EsZUFBWUQsTUFBWjtBQUNBLE1BQUlFLFVBQVUsR0FBRyxFQUFqQjtBQUNBLE1BQUksQ0FBQ0YsTUFBTCxFQUFhO0FBQ2IsTUFBSUcsR0FBRyxHQUFHSCxNQUFN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LENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQjhCLFVBQUksR0FBRyxJQUFJQyxHQUFYO0FBQ0FBLFNBQUcsS0FBSyxDQUFSO0FBQ0EsVUFBSUQsSUFBSSxJQUFJLENBQVosRUFBZTtBQUNiQyxXQUFHLElBQUksTUFBUDtBQUNEO0FBQ0Y7QUFDRjtBQUNEQSxLQUFHLElBQUksTUFBUDtBQUNBQSxLQUFHLEdBQUcsQ0FBQyxTQUFTQSxHQUFHLENBQUNqQixRQUFKLENBQWEsRUFBYixDQUFWLEVBQTRCa0IsTUFBNUIsQ0FBbUMsQ0FBQyxDQUFwQyxDQUFOO0FBQ0EsU0FBT0QsR0FBUDtBQUNELENBaEJBOztBQWtCREUsTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2Z6QyxTQUFPLEVBQUVBLE9BRE07QUFFZlksUUFBTSxFQUFFQSxNQUZPO0FBR2ZZLGdCQUFjLEVBQUVBLGNBSEQ7QUFJZkssa0JBQWdCLEVBQUVBLGdCQUpIO0FBS2ZFLHdCQUFzQixFQUFFQSxzQkFMVDtBQU1mSSxLQUFHLEVBQUNBLEdBTlcsRUFBakIsQyIsImZpbGUiOiI0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuLy9USUTlj7fliqDlr4bop6Plr4bnrpfms5Xmj4/ov7Bcbi8vNDY2ZmU0ODlkPT43MDUzNzQyMVxuY29uc3Qgc3pLZXkzID0gWzB4MzUsIDB4NDEsIDB4MzIsIDB4NDIsIDB4MzMsIDB4NDMsIDB4MzYsIDB4NDQsIDB4MzksIDB4NDUsXG4gIDB4MzgsIDB4NDYsIDB4MzcsIDB4MzQsIDB4MzEsIDB4MzBcbl07XG4vL+ino+WvhiDvvIzlj4LmlbAxNui/m+WItlxuY29uc3QgZW5jcnlwdCA9IChudW1iZXIpID0+IHtcbiAgY29uc29sZS5sb2cobnVtYmVyKVxuICBudW1iZXIgPSBudW1iZXIudG9VcHBlckNhc2UoKVxuICBjb25zb2xlLmxvZyhudW1iZXIpXG4gIGxldCBvdXRfbnVtYmVyID0gJyc7XG4gIGlmICghbnVtYmVyKSByZXR1cm47XG4gIGxldCBsZW4gPSBudW1iZXIubGVuZ3RoO1xuICBjb25zb2xlLmxvZyhsZW4pXG4gIGlmIChsZW4gPiAxNikgcmV0dXJuO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCAxNjsgaisrKSB7XG4gICAgICBpZiAobnVtYmVyLmNoYXJBdChpKS5jaGFyQ29kZUF0KCkgPT0gc3pLZXkzW2pdKSAvL+Wtl+espui9rGFzY2lp56CBXG4gICAgICAgIG91dF9udW1iZXIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgweDJBICsgaik7XG4gICAgICBlbHNlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICB9XG4gIGNvbnNvbGUubG9nKG91dF9udW1iZXIpXG4gIHJldHVybiBvdXRfbnVtYmVyXG59XG5cbi8vIEFycmF5QnVmZmVy6L2sMTbov5vluqblrZfnrKbkuLLnpLrkvotcbmNvbnN0IGFiMmhleCA9IChidWZmZXIpID0+IHtcbiAgdmFyIGhleEFyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChcbiAgICBuZXcgVWludDhBcnJheShidWZmZXIpLFxuICAgIGZ1bmN0aW9uIChiaXQpIHtcbiAgICAgIHJldHVybiAoJzAwJyArIGJpdC50b1N0cmluZygxNikpLnNsaWNlKC0yKVxuICAgIH1cbiAgKVxuICByZXR1cm4gaGV4QXJyLmpvaW4oJycpO1xufVxuXG4vL+Wtl+espuS4suW5s+Wdh+WIh+WJsuaIkOaVsOe7hFxuY29uc3Qgc3RyQXZlcmFnZTJBcnIgPSAoc3RyLCBubykgPT4ge1xuICBsZXQgYXJyID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSArPSBubykge1xuICAgIGFyci5wdXNoKHN0ci5zbGljZShpLCBpICsgMikpO1xuICB9XG4gIHJldHVybiBhcnI7XG5cbn1cblxuLy/mlbDnu4TnmoTmr4/kuKrlhYPntKDliqDliY3nvIBcbmNvbnN0IGFkZEZsYWdCZWZvcmVBcnIgPSAoYXJyKSA9PiB7XG4gIHJldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYXJyLCBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICByZXR1cm4gYDB4JHt2YWx1ZX1gO1xuICB9KVxufVxuXG4vL+Wtl+espui9rEFycmF5QnVmZmVyXG5jb25zdCBoZXhTdHJpbmdUb0FycmF5QnVmZmVyID0gKHN0cikgPT4ge1xuICAvLyDlsIYxNui/m+WItui9rOWMluS4ukFycmF5QnVmZmVyXG4gIHJldHVybiBuZXcgVWludDhBcnJheShzdHIubWF0Y2goL1tcXGRhLWZdezJ9L2dpKS5tYXAoZnVuY3Rpb24gKGgpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQoaCwgMTYpXG4gIH0pKS5idWZmZXJcbn1cblxuIGNvbnN0IENSQyA9IChkYXRhQnVmKSA9PntcbiAgdmFyIHRlbXAgPSAwO1xuICB2YXIgY3JjID0gMHhmZmZmO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGFCdWYubGVuZ3RoOyBpKyspIHtcbiAgICBjcmMgXj0gcGFyc2VJbnQoZGF0YUJ1ZltpXS50b1N0cmluZygpKTtcbiAgICBmb3IgKHZhciBqID0gMDsgaiA8IDg7IGorKykge1xuICAgICAgdGVtcCA9IDEgJiBjcmM7XG4gICAgICBjcmMgPj49IDE7XG4gICAgICBpZiAodGVtcCA9PSAxKSB7XG4gICAgICAgIGNyYyBePSAweGEwMDE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNyYyBePSAweGZmZmY7XG4gIGNyYyA9ICgnMDAwMCcgKyBjcmMudG9TdHJpbmcoMTYpKS5zdWJzdHIoLTQpO1xuICByZXR1cm4gY3JjO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZW5jcnlwdDogZW5jcnlwdCxcbiAgYWIyaGV4OiBhYjJoZXgsXG4gIHN0ckF2ZXJhZ2UyQXJyOiBzdHJBdmVyYWdlMkFycixcbiAgYWRkRmxhZ0JlZm9yZUFycjogYWRkRmxhZ0JlZm9yZUFycixcbiAgaGV4U3RyaW5nVG9BcnJheUJ1ZmZlcjogaGV4U3RyaW5nVG9BcnJheUJ1ZmZlcixcbiAgQ1JDOkNSQ1xufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///45\n");
  2941. /***/ }),
  2942. /* 46 */
  2943. /*!************************************************************!*\
  2944. !*** C:/Users/001/Desktop/运维端/static/js/dataTransition.js ***!
  2945. \************************************************************/
  2946. /*! no static exports found */
  2947. /***/ (function(module, exports) {
  2948. eval("var CRC16Data = [\n0X0000, 0X1189, 0X2312, 0X329B, 0X4624, 0X57AD, 0X6536, 0X74BF, 0X8C48, 0X9DC1, 0XAF5A, 0XBED3, 0XCA6C,\n0XDBE5, 0XE97E, 0XF8F7, 0X1081, 0X0108, 0X3393, 0X221A, 0X56A5, 0X472C, 0X75B7, 0X643E, 0X9CC9, 0X8D40,\n0XBFDB, 0XAE52, 0XDAED, 0XCB64, 0XF9FF, 0XE876, 0X2102, 0X308B, 0X0210, 0X1399, 0X6726, 0X76AF, 0X4434,\n0X55BD, 0XAD4A, 0XBCC3, 0X8E58, 0X9FD1, 0XEB6E, 0XFAE7, 0XC87C, 0XD9F5, 0X3183, 0X200A, 0X1291, 0X0318,\n0X77A7, 0X662E, 0X54B5, 0X453C, 0XBDCB, 0XAC42, 0X9ED9, 0X8F50, 0XFBEF, 0XEA66, 0XD8FD, 0XC974, 0X4204,\n0X538D, 0X6116, 0X709F, 0X0420, 0X15A9, 0X2732, 0X36BB, 0XCE4C, 0XDFC5, 0XED5E, 0XFCD7, 0X8868, 0X99E1,\n0XAB7A, 0XBAF3, 0X5285, 0X430C, 0X7197, 0X601E, 0X14A1, 0X0528, 0X37B3, 0X263A, 0XDECD, 0XCF44, 0XFDDF,\n0XEC56, 0X98E9, 0X8960, 0XBBFB, 0XAA72, 0X6306, 0X728F, 0X4014, 0X519D, 0X2522, 0X34AB, 0X0630, 0X17B9,\n0XEF4E, 0XFEC7, 0XCC5C, 0XDDD5, 0XA96A, 0XB8E3, 0X8A78, 0X9BF1, 0X7387, 0X620E, 0X5095, 0X411C, 0X35A3,\n0X242A, 0X16B1, 0X0738, 0XFFCF, 0XEE46, 0XDCDD, 0XCD54, 0XB9EB, 0XA862, 0X9AF9, 0X8B70, 0X8408, 0X9581,\n0XA71A, 0XB693, 0XC22C, 0XD3A5, 0XE13E, 0XF0B7, 0X0840, 0X19C9, 0X2B52, 0X3ADB, 0X4E64, 0X5FED, 0X6D76,\n0X7CFF, 0X9489, 0X8500, 0XB79B, 0XA612, 0XD2AD, 0XC324, 0XF1BF, 0XE036, 0X18C1, 0X0948, 0X3BD3, 0X2A5A,\n0X5EE5, 0X4F6C, 0X7DF7, 0X6C7E, 0XA50A, 0XB483, 0X8618, 0X9791, 0XE32E, 0XF2A7, 0XC03C, 0XD1B5, 0X2942,\n0X38CB, 0X0A50, 0X1BD9, 0X6F66, 0X7EEF, 0X4C74, 0X5DFD, 0XB58B, 0XA402, 0X9699, 0X8710, 0XF3AF, 0XE226,\n0XD0BD, 0XC134, 0X39C3, 0X284A, 0X1AD1, 0X0B58, 0X7FE7, 0X6E6E, 0X5CF5, 0X4D7C, 0XC60C, 0XD785, 0XE51E,\n0XF497, 0X8028, 0X91A1, 0XA33A, 0XB2B3, 0X4A44, 0X5BCD, 0X6956, 0X78DF, 0X0C60, 0X1DE9, 0X2F72, 0X3EFB,\n0XD68D, 0XC704, 0XF59F, 0XE416, 0X90A9, 0X8120, 0XB3BB, 0XA232, 0X5AC5, 0X4B4C, 0X79D7, 0X685E, 0X1CE1,\n0X0D68, 0X3FF3, 0X2E7A, 0XE70E, 0XF687, 0XC41C, 0XD595, 0XA12A, 0XB0A3, 0X8238, 0X93B1, 0X6B46, 0X7ACF,\n0X4854, 0X59DD, 0X2D62, 0X3CEB, 0X0E70, 0X1FF9, 0XF78F, 0XE606, 0XD49D, 0XC514, 0XB1AB, 0XA022, 0X92B9,\n0X8330, 0X7BC7, 0X6A4E, 0X58D5, 0X495C, 0X3DE3, 0X2C6A, 0X1EF1, 0X0F78];\n\n\n\n//获取流水号\nfunction getSequenceId(sequenceId) {\n if (sequenceId > 255) sequenceId = 0;\n var n = sequenceId.toString(16);\n var s = \"00\".concat(n);\n return s.substr(n.length, s.length); // 截取最后2位字符\n}\n\n\n//获取数据的字节长度\nfunction getPayLoadLength(content) {\n\n\n var c = (content.length / 2).toString(16);\n var s = \"0000\".concat(c);\n return s.substr(c.length, s.length);\n}\n\n//获取秘钥长度\nfunction getSecretKeyLength(content) {\n\n\n var c = (content.length / 2).toString(16);\n var s = \"00\".concat(c);\n return s.substr(c.length, s.length);\n}\n\n\nfunction getCRC16(content) {\n\n var mCrc = 0xffff;\n //[0x03, 0x00, 0x82, 0x01, 0x00]\n content.forEach(function (value, index, array) {\n\n mCrc = mCrc >>> 8 ^ CRC16Data[(mCrc ^ value) & 0xff];\n });\n\n var value = (~mCrc & 0xffff).toString(16);\n var s = \"0000\".concat(value);\n\n\n return s.substr(value.length, s.length);\n\n}\n\n\n//数据包请求头,ack\nfunction header(sendData, ack, systemState, sequenceId) {\n\n\n var payLoadLength = this.getPayLoadLength(sendData.toString().replace(/\\s+/g, \"\"));\n\n var contentArr = Array.prototype.map.call(sendData.split(' '), function (value) {\n return \"0x\".concat(value);\n });\n\n var CRC16 = this.getCRC16(contentArr).toLowerCase();\n\n /*\n ack 0 ,1,反馈为1,发送为0\n systemState,反馈为带过来的值,发送为00\n sequenceId,为流水号,自增\n payLoadLength,数据包的长度\n CRC16,数据包经过CRC算法得到的结果\n */\n\n var header = \"aa\".concat(ack, \"2\").concat(systemState).concat(sequenceId).concat(payLoadLength).concat(CRC16);\n return header;\n}\n\n\n//数据包\nfunction content(secretKey, sendValue) {\n if (secretKey.length == 0) return sendValue;else\n return \"\".concat(secretKey).concat(sendValue);\n}\n\nmodule.exports = {\n header: header,\n content: content,\n getCRC16: getCRC16,\n getSequenceId: getSequenceId,\n getSecretKeyLength: getSecretKeyLength,\n getPayLoadLength: getPayLoadLength };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2RhdGFUcmFuc2l0aW9uLmpzIl0sIm5hbWVzIjpbIkNSQzE2RGF0YSIsImdldFNlcXVlbmNlSWQiLCJzZXF1ZW5jZUlkIiwibiIsInRvU3RyaW5nIiwicyIsInN1YnN0ciIsImxlbmd0aCIsImdldFBheUxvYWRMZW5ndGgiLCJjb250ZW50IiwiYyIsImdldFNlY3JldEtleUxlbmd0aCIsImdldENSQzE2IiwibUNyYyIsImZvckVhY2giLCJ2YWx1ZSIsImluZGV4IiwiYXJyYXkiLCJoZWFkZXIiLCJzZW5kRGF0YSIsImFjayIsInN5c3RlbVN0YXRlIiwicGF5TG9hZExlbmd0aCIsInJlcGxhY2UiLCJjb250ZW50QXJyIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJtYXAiLCJjYWxsIiwic3BsaXQiLCJDUkMxNiIsInRvTG93ZXJDYXNlIiwic2VjcmV0S2V5Iiwic2VuZFZhbHVlIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTUEsU0FBUyxHQUFHO0FBQ2hCLE1BRGdCLEVBQ1IsTUFEUSxFQUNBLE1BREEsRUFDUSxNQURSLEVBQ2dCLE1BRGhCLEVBQ3dCLE1BRHhCLEVBQ2dDLE1BRGhDLEVBQ3dDLE1BRHhDLEVBQ2dELE1BRGhELEVBQ3dELE1BRHhELEVBQ2dFLE1BRGhFLEVBQ3dFLE1BRHhFLEVBQ2dGLE1BRGhGO0FBRWhCLE1BRmdCLEVBRVIsTUFGUSxFQUVBLE1BRkEsRUFFUSxNQUZSLEVBRWdCLE1BRmhCLEVBRXdCLE1BRnhCLEVBRWdDLE1BRmhDLEVBRXdDLE1BRnhDLEVBRWdELE1BRmhELEVBRXdELE1BRnhELEVBRWdFLE1BRmhFLEVBRXdFLE1BRnhFLEVBRWdGLE1BRmhGO0FBR2hCLE1BSGdCLEVBR1IsTUFIUSxFQUdBLE1BSEEsRUFHUSxNQUhSLEVBR2dCLE1BSGhCLEVBR3dCLE1BSHhCLEVBR2dDLE1BSGhDLEVBR3dDLE1BSHhDLEVBR2dELE1BSGhELEVBR3dELE1BSHhELEVBR2dFLE1BSGhFLEVBR3dFLE1BSHhFLEVBR2dGLE1BSGhGO0FBSWhCLE1BSmdCLEVBSVIsTUFKUSxFQUlBLE1BSkEsRUFJUSxNQUpSLEVBSWdCLE1BSmhCLEVBSXdCLE1BSnhCLEVBSWdDLE1BSmhDLEVBSXdDLE1BSnhDLEVBSWdELE1BSmhELEVBSXdELE1BSnhELEVBSWdFLE1BSmhFLEVBSXdFLE1BSnhFLEVBSWdGLE1BSmhGO0FBS2hCLE1BTGdCLEVBS1IsTUFMUSxFQUtBLE1BTEEsRUFLUSxNQUxSLEVBS2dCLE1BTGhCLEVBS3dCLE1BTHhCLEVBS2dDLE1BTGhDLEVBS3dDLE1BTHhDLEVBS2dELE1BTGhELEVBS3dELE1BTHhELEVBS2dFLE1BTGhFLEVBS3dFLE1BTHhFLEVBS2dGLE1BTGhGO0FBTWhCLE1BTmdCLEVBTVIsTUFOUSxFQU1BLE1BTkEsRUFNUSxNQU5SLEVBTWdCLE1BTmhCLEVBTXdCLE1BTnhCLEVBTWdDLE1BTmhDLEVBTXdDLE1BTnhDLEVBTWdELE1BTmhELEVBTXdELE1BTnhELEVBTWdFLE1BTmhFLEVBTXdFLE1BTnhFLEVBTWdGLE1BTmhGO0FBT2hCLE1BUGdCLEVBT1IsTUFQUSxFQU9BLE1BUEEsRUFPUSxNQVBSLEVBT2dCLE1BUGhCLEVBT3dCLE1BUHhCLEVBT2dDLE1BUGhDLEVBT3dDLE1BUHhDLEVBT2dELE1BUGhELEVBT3dELE1BUHhELEVBT2dFLE1BUGhFLEVBT3dFLE1BUHhFLEVBT2dGLE1BUGhGO0FBUWhCLE1BUmdCLEVBUVIsTUFSUSxFQVFBLE1BUkEsRUFRUSxNQVJSLEVBUWdCLE1BUmhCLEVBUXdCLE1BUnhCLEVBUWdDLE1BUmhDLEVBUXdDLE1BUnhDLEVBUWdELE1BUmhELEVBUXdELE1BUnhELEVBUWdFLE1BUmhFLEVBUXdFLE1BUnhFLEVBUWdGLE1BUmhGO0FBU2hCLE1BVGdCLEVBU1IsTUFUUSxFQVNBLE1BVEEsRUFTUSxNQVRSLEVBU2dCLE1BVGhCLEVBU3dCLE1BVHhCLEVBU2dDLE1BVGhDLEVBU3dDLE1BVHhDLEVBU2dELE1BVGhELEVBU3dELE1BVHhELEVBU2dFLE1BVGhFLEVBU3dFLE1BVHhFLEVBU2dGLE1BVGhGO0FBVWhCLE1BVmdCLEVBVVIsTUFWUSxFQVVBLE1BVkEsRUFVUSxNQVZSLEVBVWdCLE1BVmhCLEVBVXdCLE1BVnhCLEVBVWdDLE1BVmhDLEVBVXdDLE1BVnhDLEVBVWdELE1BVmhELEVBVXdELE1BVnhELEVBVWdFLE1BVmhFLEVBVXdFLE1BVnhFLEVBVWdGLE1BVmhGO0FBV2hCLE1BWGdCLEVBV1IsTUFYUSxFQVdBLE1BWEEsRUFXUSxNQVhSLEVBV2dCLE1BWGhCLEVBV3dCLE1BWHhCLEVBV2dDLE1BWGhDLEVBV3dDLE1BWHhDLEVBV2dELE1BWGhELEVBV3dELE1BWHhELEVBV2dFLE1BWGhFLEVBV3dFLE1BWHhFLEVBV2dGLE1BWGhGO0FBWWhCLE1BWmdCLEVBWVIsTUFaUSxFQVlBLE1BWkEsRUFZUSxNQVpSLEVBWWdCLE1BWmhCLEVBWXdCLE1BWnhCLEVBWWdDLE1BWmhDLEVBWXdDLE1BWnhDLEVBWWdELE1BWmhELEVBWXdELE1BWnhELEVBWWdFLE1BWmhFLEVBWXdFLE1BWnhFLEVBWWdGLE1BWmhGO0FBYWhCLE1BYmdCLEVBYVIsTUFiUSxFQWFBLE1BYkEsRUFhUSxNQWJSLEVBYWdCLE1BYmhCLEVBYXdCLE1BYnhCLEVBYWdDLE1BYmhDLEVBYXdDLE1BYnhDLEVBYWdELE1BYmhELEVBYXdELE1BYnhELEVBYWdFLE1BYmhFLEVBYXdFLE1BYnhFLEVBYWdGLE1BYmhGO0FBY2hCLE1BZGdCLEVBY1IsTUFkUSxFQWNBLE1BZEEsRUFjUSxNQWRSLEVBY2dCLE1BZGhCLEVBY3dCLE1BZHhCLEVBY2dDLE1BZGhDLEVBY3dDLE1BZHhDLEVBY2dELE1BZGhELEVBY3dELE1BZHhELEVBY2dFLE1BZGhFLEVBY3dFLE1BZHhFLEVBY2dGLE1BZGhGO0FBZWhCLE1BZmdCLEVBZVIsTUFmUSxFQWVBLE1BZkEsRUFlUSxNQWZSLEVBZWdCLE1BZmhCLEVBZXdCLE1BZnhCLEVBZWdDLE1BZmhDLEVBZXdDLE1BZnhDLEVBZWdELE1BZmhELEVBZXdELE1BZnhELEVBZWdFLE1B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MkIsT0FBTzBCLFNBQVAsQ0FBM0I7QUFDSyxtQkFBVUQsU0FBVixTQUFzQkMsU0FBdEI7QUFDTjs7QUFFREMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2ZqQixRQUFNLEVBQUVBLE1BRE87QUFFZlQsU0FBTyxFQUFFQSxPQUZNO0FBR2ZHLFVBQVEsRUFBRUEsUUFISztBQUlmWCxlQUFhLEVBQUVBLGFBSkE7QUFLZlUsb0JBQWtCLEVBQUVBLGtCQUxMO0FBTWZILGtCQUFnQixFQUFFQSxnQkFOSCxFQUFqQiIsImZpbGUiOiI0Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IENSQzE2RGF0YSA9IFtcbiAgMFgwMDAwLCAwWDExODksIDBYMjMxMiwgMFgzMjlCLCAwWDQ2MjQsIDBYNTdBRCwgMFg2NTM2LCAwWDc0QkYsIDBYOEM0OCwgMFg5REMxLCAwWEFGNUEsIDBYQkVEMywgMFhDQTZDLFxuICAwWERCRTUsIDBYRTk3RSwgMFhGOEY3LCAwWDEwODEsIDBYMDEwOCwgMFgzMzkzLCAwWDIyMUEsIDBYNTZBNSwgMFg0NzJDLCAwWDc1QjcsIDBYNjQzRSwgMFg5Q0M5LCAwWDhENDAsXG4gIDBYQkZEQiwgMFhBRTUyLCAwWERBRUQsIDBYQ0I2NCwgMFhGOUZGLCAwWEU4NzYsIDBYMjEwMiwgMFgzMDhCLCAwWDAyMTAsIDBYMTM5OSwgMFg2NzI2LCAwWDc2QUYsIDBYNDQzNCxcbiAgMFg1NUJELCAwWEFENEEsIDBYQkNDMywgMFg4RTU4LCAwWDlGRDEsIDBYRUI2RSwgMFhGQUU3LCAwWEM4N0MsIDBYRDlGNSwgMFgzMTgzLCAwWDIwMEEsIDBYMTI5MSwgMFgwMzE4LFxuICAwWDc3QTcsIDBYNjYyRSwgMFg1NEI1LCAwWDQ1M0MsIDBYQkRDQiwgMFhBQzQyLCAwWDlFRDksIDBYOEY1MCwgMFhGQkVGLCAwWEVBNjYsIDBYRDhGRCwgMFhDOTc0LCAwWDQyMDQsXG4gIDBYNTM4RCwgMFg2MTE2LCAwWDcwOUYsIDBYMDQyMCwgMFgxNUE5LCAwWDI3MzIsIDBYMzZCQiwgMFhDRTRDLCAwWERGQzUsIDBYRUQ1RSwgMFhGQ0Q3LCAwWDg4NjgsIDBYOTlFMSxcbiAgMFhBQjdBLCAwWEJBRjMsIDBYNTI4NSwgMFg0MzBDLCAwWDcxOTcsIDBYNjAxRSwgMFgxNEExLCAwWDA1MjgsIDBYMzdCMywgMFgyNjNBLCAwWERFQ0QsIDBYQ0Y0NCwgMFhGRERGLFxuICAwWEVDNTYsIDBYOThFOSwgMFg4OTYwLCAwWEJCRkIsIDBYQUE3MiwgMFg2MzA2LCAwWDcyOEYsIDBYNDAxNCwgMFg1MTlELCAwWDI1MjIsIDBYMzRBQiwgMFgwNjMwLCAwWDE3QjksXG4gIDBYRUY0RSwgMFhGRUM3LCAwWENDNUMsIDBYRERENSwgMFhBOTZBLCAwWEI4RTMsIDBYOEE3OCwgMFg5QkYxLCAwWDczODcsIDBYNjIwRSwgMFg1MDk1LCAwWDQxMUMsIDBYMzVBMyxcbiAgMFgyNDJBLCAwWDE2QjEsIDBYMDczOCwgMFhGRkNGLCAwWEVFNDYsIDBYRENERCwgMFhDRDU0LCAwWEI5RUIsIDBYQTg2MiwgMFg5QUY5LCAwWDhCNzAsIDBYODQwOCwgMFg5NTgxLFxuICAwWEE3MUEsIDBYQjY5MywgMFhDMjJDLCAwWEQzQTUsIDBYRTEzRSwgMFhGMEI3LCAwWDA4NDAsIDBYMTlDOSwgMFgyQjUyLCAwWDNBREIsIDBYNEU2NCwgMFg1RkVELCAwWDZENzYsXG4gIDBYN0NGRiwgMFg5NDg5LCAwWDg1MDAsIDBYQjc5QiwgMFhBNjEyLCAwWEQyQUQsIDBYQzMyNCwgMFhGMUJGLCAwWEUwMzYsIDBYMThDMSwgMFgwOTQ4LCAwWDNCRDMsIDBYMkE1QSxcbiAgMFg1RUU1LCAwWDRGNkMsIDBYN0RGNywgMFg2QzdFLCAwWEE1MEEsIDBYQjQ4MywgMFg4NjE4LCAwWDk3OTEsIDBYRTMyRSwgMFhGMkE3LCAwWEMwM0MsIDBYRDFCNSwgMFgyOTQyLFxuICAwWDM4Q0IsIDBYMEE1MCwgMFgxQkQ5LCAwWDZGNjYsIDBYN0VFRiwgMFg0Qzc0LCAwWDVERkQsIDBYQjU4QiwgMFhBNDAyLCAwWDk2OTksIDBYODcxMCwgMFhGM0FGLCAwWEUyMjYsXG4gIDBYRDBCRCwgMFhDMTM0LCAwWDM5QzMsIDBYMjg0QSwgMFgxQUQxLCAwWDBCNTgsIDBYN0ZFNywgMFg2RTZFLCAwWDVDRjUsIDBYNEQ3QywgMFhDNjBDLCAwWEQ3ODUsIDBYRTUxRSxcbiAgMFhGNDk3LCAwWDgwMjgsIDBYOTFBMSwgMFhBMzNBLCAwWEIyQjMsIDBYNEE0NCwgMFg1QkNELCAwWDY5NTYsIDBYNzhERiwgMFgwQzYwLCAwWDFERTksIDBYMkY3MiwgMFgzRUZCLFxuICAwWEQ2OEQsIDBYQzcwNCwgMFhGNTlGLCAwWEU0MTYsIDBYOTBBOSwgMFg4MTIwLCAwWEIzQkIsIDBYQTIzMiwgMFg1QUM1LCAwWDRCNEMsIDBYNzlENywgMFg2ODVFLCAwWDFDRTEsXG4gIDBYMEQ2OCwgMFgzRkYzLCAwWDJFN0EsIDBYRTcwRSwgMFhGNjg3LCAwWEM0MUMsIDBYRDU5NSwgMFhBMTJBLCAwWEIwQTMsIDBYODIzOCwgMFg5M0IxLCAwWDZCNDYsIDBYN0FDRixcbiAgMFg0ODU0LCAwWDU5REQsIDBYMkQ2MiwgMFgzQ0VCLCAwWDBFNzAsIDBYMUZGOSwgMFhGNzhGLCAwWEU2MDYsIDBYRDQ5RCwgMFhDNTE0LCAwWEIxQUIsIDBYQTAyMiwgMFg5MkI5LFxuICAwWDgzMzAsIDBYN0JDNywgMFg2QTRFLCAwWDU4RDUsIDBYNDk1QywgMFgzREUzLCAwWDJDNkEsIDBYMUVGMSwgMFgwRjc4XG5cbl1cblxuLy/ojrflj5bmtYHmsLTlj7dcbmZ1bmN0aW9uIGdldFNlcXVlbmNlSWQoc2VxdWVuY2VJZCkge1xuICBpZiAoc2VxdWVuY2VJZCA+IDI1NSkgc2VxdWVuY2VJZCA9IDA7XG4gIGxldCBuID0gc2VxdWVuY2VJZC50b1N0cmluZygxNik7XG4gIGxldCBzID0gYDAwJHtufWA7XG4gIHJldHVybiBzLnN1YnN0cihuLmxlbmd0aCwgcy5sZW5ndGgpOyAvLyDmiKrlj5bmnIDlkI4y5L2N5a2X56ymXG59XG5cblxuLy/ojrflj5bmlbDmja7nmoTlrZfoioLplb/luqZcbmZ1bmN0aW9uIGdldFBheUxvYWRMZW5ndGgoY29udGVudCkge1xuXG5cbiAgbGV0IGMgPSAoY29udGVudC5sZW5ndGggLyAyKS50b1N0cmluZygxNik7XG4gIGxldCBzID0gYDAwMDAke2N9YDtcbiAgcmV0dXJuIHMuc3Vic3RyKGMubGVuZ3RoLCBzLmxlbmd0aCk7XG59XG5cbi8v6I635Y+W56eY6ZKl6ZW/5bqmXG5mdW5jdGlvbiBnZXRTZWNyZXRLZXlMZW5ndGgoY29udGVudCkge1xuXG5cbiAgbGV0IGMgPSAoY29udGVudC5sZW5ndGggLyAyKS50b1N0cmluZygxNik7XG4gIGxldCBzID0gYDAwJHtjfWA7XG4gIHJldHVybiBzLnN1YnN0cihjLmxlbmd0aCwgcy5sZW5ndGgpO1xufVxuXG5cbmZ1bmN0aW9uIGdldENSQzE2KGNvbnRlbnQpIHtcblxuICBsZXQgbUNyYyA9IDB4ZmZmZjtcbiAgLy9bMHgwMywgMHgwMCwgMHg4MiwgMHgwMSwgMHgwMF1cbiAgY29udGVudC5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgYXJyYXkpIHtcblxuICAgIG1DcmMgPSAobUNyYyA+Pj4gOCkgXiBDUkMxNkRhdGFbKG1DcmMgXiB2YWx1ZSkgJiAweGZmXTtcbiAgfSlcblxuICBsZXQgdmFsdWUgPSAoKH5tQ3JjKSAmIDB4ZmZmZikudG9TdHJpbmcoMTYpO1xuICBsZXQgcyA9IGAwMDAwJHt2YWx1ZX1gO1xuXG5cbiAgcmV0dXJuIHMuc3Vic3RyKHZhbHVlLmxlbmd0aCwgcy5sZW5ndGgpO1xuXG59XG5cblxuLy/mlbDmja7ljIXor7fmsYLlpLQsYWNrXG5mdW5jdGlvbiBoZWFkZXIoc2VuZERhdGEsIGFjaywgc3lzdGVtU3RhdGUsIHNlcXVlbmNlSWQpIHtcblxuXG4gIGxldCBwYXlMb2FkTGVuZ3RoID0gdGhpcy5nZXRQYXlMb2FkTGVuZ3RoKHNlbmREYXRhLnRvU3RyaW5nKCkucmVwbGFjZSgvXFxzKy9nLCBcIlwiKSk7XG5cbiAgbGV0IGNvbnRlbnRBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoc2VuZERhdGEuc3BsaXQoJyAnKSwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gYDB4JHt2YWx1ZX1gO1xuICB9KVxuXG4gIGxldCBDUkMxNiA9IHRoaXMuZ2V0Q1JDMTYoY29udGVudEFycikudG9Mb3dlckNhc2UoKTtcblxuICAvKlxuIGFjayAwICwxLOWPjemmiOS4ujHvvIzlj5HpgIHkuLowXG4gc3lzdGVtU3RhdGUs5Y+N6aaI5Li65bim6L+H5p2l55qE5YC877yM5Y+R6YCB5Li6MDBcbiBzZXF1ZW5jZUlkLOS4uua1geawtOWPt++8jOiHquWinlxuIHBheUxvYWRMZW5ndGgs5pWw5o2u5YyF55qE6ZW/5bqmXG4gQ1JDMTYs5pWw5o2u5YyF57uP6L+HQ1JD566X5rOV5b6X5Yiw55qE57uT5p6cXG4gICovXG5cbiAgbGV0IGhlYWRlciA9IGBhYSR7YWNrfTIke3N5c3RlbVN0YXRlfSR7c2VxdWVuY2VJZH0ke3BheUxvYWRMZW5ndGh9JHtDUkMxNn1gO1xuICByZXR1cm4gaGVhZGVyO1xufVxuXG5cbi8v5pWw5o2u5YyFXG5mdW5jdGlvbiBjb250ZW50KHNlY3JldEtleSwgc2VuZFZhbHVlKSB7XG4gIGlmIChzZWNyZXRLZXkubGVuZ3RoID09IDApIHJldHVybiBzZW5kVmFsdWU7XG4gIGVsc2UgcmV0dXJuIGAke3NlY3JldEtleX0ke3NlbmRWYWx1ZX1gXG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBoZWFkZXI6IGhlYWRlcixcbiAgY29udGVudDogY29udGVudCxcbiAgZ2V0Q1JDMTY6IGdldENSQzE2LFxuICBnZXRTZXF1ZW5jZUlkOiBnZXRTZXF1ZW5jZUlkLFxuICBnZXRTZWNyZXRLZXlMZW5ndGg6IGdldFNlY3JldEtleUxlbmd0aCxcbiAgZ2V0UGF5TG9hZExlbmd0aDogZ2V0UGF5TG9hZExlbmd0aCxcbn0iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///46\n");
  2949. /***/ }),
  2950. /* 47 */
  2951. /*!****************************************************!*\
  2952. !*** C:/Users/001/Desktop/运维端/static/js/config.js ***!
  2953. \****************************************************/
  2954. /*! no static exports found */
  2955. /***/ (function(module, exports, __webpack_require__) {
  2956. "use strict";
  2957. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.projectCode = exports.newPreUrl = exports.payUrl = exports.preUrl = void 0;var _buildInfo = __webpack_require__(/*! ./buildInfo.js */ 48);\n\n\nvar preUrl, payUrl, newPreUrl;exports.newPreUrl = newPreUrl;exports.payUrl = payUrl;exports.preUrl = preUrl;\nvar projectCode = 'c3bedc35fd57462ea481579c0b11e37e';exports.projectCode = projectCode;\nsetProjectPath();\n\nfunction setProjectPath() {\n __f__(\"log\", '开始指定环境', \" at static/js/config.js:9\");\n switch (_buildInfo.buildTip) {\n case \"test\":\n exports.preUrl = preUrl = 'https://test.evzhuangjia.com/zhuangjia/applet';\n exports.newPreUrl = newPreUrl = 'https://evzhuangjia.com/navinfo/applet-test';\n break;}\n ;\n __f__(\"log\", '指定环境成功', \" at static/js/config.js:16\");\n}\nmodule.exports = {\n preUrl: preUrl };\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2NvbmZpZy5qcyJdLCJuYW1lcyI6WyJwcmVVcmwiLCJwYXlVcmwiLCJuZXdQcmVVcmwiLCJwcm9qZWN0Q29kZSIsInNldFByb2plY3RQYXRoIiwiYnVpbGRUaXAiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOExBQUE7OztBQUdPLElBQUlBLE1BQUosRUFBWUMsTUFBWixFQUFvQkMsU0FBcEIsQztBQUNBLElBQU1DLFdBQVcsR0FBRyxrQ0FBcEIsQztBQUNQQyxjQUFjOztBQUVkLFNBQVNBLGNBQVQsR0FBMEI7QUFDeEIsZUFBWSxRQUFaO0FBQ0EsVUFBUUMsbUJBQVI7QUFDSSxTQUFLLE1BQUw7QUFDSSx1QkFBQUwsTUFBTSxHQUFHLCtDQUFUO0FBQ0EsMEJBQUFFLFNBQVMsR0FBRyw2Q0FBWjtBQUNBLFlBSlI7QUFLQztBQUNELGVBQVksUUFBWjtBQUNEO0FBQ0RJLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQjtBQUNoQlAsUUFBTSxFQUFFQSxNQURRLEVBQWpCLEMiLCJmaWxlIjoiNDcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGJ1aWxkVGlwXHJcbn0gZnJvbSBcIi4vYnVpbGRJbmZvLmpzXCI7XHJcbmV4cG9ydCBsZXQgcHJlVXJsLCBwYXlVcmwsIG5ld1ByZVVybDtcclxuZXhwb3J0IGNvbnN0IHByb2plY3RDb2RlID0gJ2MzYmVkYzM1ZmQ1NzQ2MmVhNDgxNTc5YzBiMTFlMzdlJztcclxuc2V0UHJvamVjdFBhdGgoKTtcclxuXHJcbmZ1bmN0aW9uIHNldFByb2plY3RQYXRoKCkge1xyXG4gIGNvbnNvbGUubG9nKCflvIDlp4vmjIflrprnjq/looMnKTtcclxuICBzd2l0Y2ggKGJ1aWxkVGlwKSB7XHJcbiAgICAgIGNhc2UgXCJ0ZXN0XCI6XHJcbiAgICAgICAgICBwcmVVcmwgPSAnaHR0cHM6Ly90ZXN0LmV2emh1YW5namlhLmNvbS96aHVhbmdqaWEvYXBwbGV0JztcclxuICAgICAgICAgIG5ld1ByZVVybCA9ICdodHRwczovL2V2emh1YW5namlhLmNvbS9uYXZpbmZvL2FwcGxldC10ZXN0JztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gIH07XHJcbiAgY29uc29sZS5sb2coJ+aMh+WumueOr+Wig+aIkOWKnycpO1xyXG59XHJcbm1vZHVsZS5leHBvcnRzID0ge1xyXG5cdHByZVVybDogcHJlVXJsLFxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///47\n");
  2958. /***/ }),
  2959. /* 48 */
  2960. /*!*******************************************************!*\
  2961. !*** C:/Users/001/Desktop/运维端/static/js/buildInfo.js ***!
  2962. \*******************************************************/
  2963. /*! no static exports found */
  2964. /***/ (function(module, exports, __webpack_require__) {
  2965. "use strict";
  2966. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.buildTip = void 0; //对应环境\nvar buildTip = \"test\";exports.buildTip = buildTip;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2J1aWxkSW5mby5qcyJdLCJuYW1lcyI6WyJidWlsZFRpcCJdLCJtYXBwaW5ncyI6InlGQUFBO0FBQ08sSUFBTUEsUUFBUSxHQUFHLE1BQWpCLEMiLCJmaWxlIjoiNDguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL+WvueW6lOeOr+Wig1xyXG5leHBvcnQgY29uc3QgYnVpbGRUaXAgPSBcInRlc3RcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///48\n");
  2967. /***/ }),
  2968. /* 49 */
  2969. /*!*****************************************************!*\
  2970. !*** C:/Users/001/Desktop/运维端/static/js/MapUtil.js ***!
  2971. \*****************************************************/
  2972. /*! no static exports found */
  2973. /***/ (function(module, exports, __webpack_require__) {
  2974. "use strict";
  2975. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.MapUtil = void 0;var _ZjMarker = __webpack_require__(/*! ./ZjMarker.js */ 50);function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError(\"Cannot call a class as a 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);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;}var\n\n\nMapUtil = /*#__PURE__*/function () {\n function MapUtil(northeast, southwest, scale) {_classCallCheck(this, MapUtil);\n this.northeast = northeast;\n this.southwest = southwest;\n this.scale = scale;\n }_createClass(MapUtil, [{ key: \"setInitData\", value: function setInitData(\n northeast, southwest, scale) {\n this.northeast = northeast;\n this.southwest = southwest;\n this.scale = scale;\n } }, { key: \"checkRefresh\", value: function checkRefresh(\n northeast, southwest) {\n var result = true;\n if (this.northeast.latitude > northeast.latitude && this.southwest.latitude < southwest.latitude &&\n this.northeast.longitude > northeast.longitude && this.southwest.longitude < southwest.longitude) {\n result = false;\n }\n return result;\n } }, { key: \"getFortMatMarkerList\", value: function getFortMatMarkerList(\n northeast, southwest, scale, backendMarkerList) {\n // console.log(scale)\n var mapWidth = southwest.longitude - northeast.longitude;\n var mapHeight = northeast.latitude - southwest.latitude;\n var widthSize = 0;\n if (scale > 10 && scale < 15)\n widthSize = scale - 5;else\n\n widthSize = scale + 3;\n var heightSize = widthSize + parseInt(scale / 2);\n var resultMapArray = [];\n if (scale <= 10) {\n var markerItem = new _ZjMarker.zjMarker(backendMarkerList[0].longitude, backendMarkerList[0].latitude, backendMarkerList[0].id, {\n type: 'cluster',\n iconPath: '/static/img/cluMarkerIcon.png',\n num: backendMarkerList.length });\n\n resultMapArray.push(markerItem);\n // console.log(resultMapArray)\n return resultMapArray;\n }\n var unitWidth = mapWidth / widthSize;\n var unitHeight = mapHeight / heightSize;\n var pointData = {};\n backendMarkerList.forEach(function (latLng) {\n if (latLng.latitude < northeast.latitude && latLng.latitude > southwest.latitude &&\n latLng.longitude < northeast.longitude && latLng.longitude > southwest.longitude) {\n var relativeX = latLng.longitude - northeast.longitude;\n var relativeY = latLng.latitude - southwest.latitude;\n var x = parseInt(Math.floor(relativeX / unitWidth));\n var y = parseInt(Math.floor(relativeY / unitHeight));\n if (x < 0 || y < 0) {\n }\n var pointKey = x + ',' + y;\n if (pointData[pointKey] == undefined) {\n pointData[pointKey] = [];\n }\n pointData[pointKey].push(latLng);\n }\n });\n for (var y = 0; y < heightSize; y++) {\n for (var x = 0; x < widthSize; x++) {\n var pointKey = x + ',' + y;\n if (pointData[pointKey] != undefined) {\n var _markerItem = {};\n if (pointData[pointKey].length == 1) {\n _markerItem = new _ZjMarker.zjMarker(pointData[pointKey][0].longitude, pointData[pointKey][0].latitude, pointData[pointKey][0].id, {\n iconPath: pointData[pointKey][0].iconPath,\n isSelect: pointData[pointKey][0].isSelect });\n\n } else if (pointData[pointKey].length > 1) {\n _markerItem = new _ZjMarker.zjMarker(pointData[pointKey][0].longitude, pointData[pointKey][0].latitude, pointData[pointKey][0].id, {\n type: 'cluster',\n iconPath: '/static/img/cluMarkerIcon.png',\n num: pointData[pointKey].length });\n\n }\n resultMapArray.push(_markerItem);\n }\n }\n }\n // console.log(resultMapArray)\n return resultMapArray;\n } }]);return MapUtil;}();exports.MapUtil = MapUtil;\n\nmodule.exports = {\n MapUtil: MapUtil };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL01hcFV0aWwuanMiXSwibmFtZXMiOlsiTWFwVXRpbCIsIm5vcnRoZWFzdCIsInNvdXRod2VzdCIsInNjYWxlIiwicmVzdWx0IiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJiYWNrZW5kTWFya2VyTGlzdCIsIm1hcFdpZHRoIiwibWFwSGVpZ2h0Iiwid2lkdGhTaXplIiwiaGVpZ2h0U2l6ZSIsInBhcnNlSW50IiwicmVzdWx0TWFwQXJyYXkiLCJtYXJrZXJJdGVtIiwiempNYXJrZXIiLCJpZCIsInR5cGUiLCJpY29uUGF0aCIsIm51bSIsImxlbmd0aCIsInB1c2giLCJ1bml0V2lkdGgiLCJ1bml0SGVpZ2h0IiwicG9pbnREYXRhIiwiZm9yRWFjaCIsImxhdExuZyIsInJlbGF0aXZlWCIsInJlbGF0aXZlWSIsIngiLCJNYXRoIiwiZmxvb3IiLCJ5IiwicG9pbnRLZXkiLCJ1bmRlZmluZWQiLCJpc1NlbGVjdCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJ1RkFBQSw2RDs7O0FBR2FBLE87QUFDWCxtQkFBWUMsU0FBWixFQUF1QkMsU0FBdkIsRUFBa0NDLEtBQWxDLEVBQXlDO0FBQ3ZDLFNBQUtGLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsU0FBS0MsU0FBTCxHQUFpQkEsU0FBakI7QUFDQSxTQUFLQyxLQUFMLEdBQWFBLEtBQWI7QUFDRCxHO0FBQ1dGLGEsRUFBV0MsUyxFQUFXQyxLLEVBQU87QUFDdkMsV0FBS0YsU0FBTCxHQUFpQkEsU0FBakI7QUFDQSxXQUFLQyxTQUFMLEdBQWlCQSxTQUFqQjtBQUNBLFdBQUtDLEtBQUwsR0FBYUEsS0FBYjtBQUNELEs7QUFDWUYsYSxFQUFXQyxTLEVBQVc7QUFDakMsVUFBSUUsTUFBTSxHQUFHLElBQWI7QUFDQSxVQUFJLEtBQUtILFNBQUwsQ0FBZUksUUFBZixHQUEwQkosU0FBUyxDQUFDSSxRQUFwQyxJQUFnRCxLQUFLSCxTQUFMLENBQWVHLFFBQWYsR0FBMEJILFNB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RCxDQUFULENBQW9CLENBQXBCLEVBQXVCM0IsU0FBcEMsRUFBK0NrQixTQUFTLENBQUNTLFFBQUQsQ0FBVCxDQUFvQixDQUFwQixFQUF1QjVCLFFBQXRFLEVBQWdGbUIsU0FBUyxDQUFDUyxRQUFELENBQVQsQ0FBb0IsQ0FBcEIsRUFBdUJqQixFQUF2RyxFQUEyRztBQUN0SEMsb0JBQUksRUFBRSxTQURnSDtBQUV0SEMsd0JBQVEsRUFBRSwrQkFGNEc7QUFHdEhDLG1CQUFHLEVBQUVLLFNBQVMsQ0FBQ1MsUUFBRCxDQUFULENBQW9CYixNQUg2RixFQUEzRyxDQUFiOztBQUtEO0FBQ0RQLDBCQUFjLENBQUNRLElBQWYsQ0FBb0JQLFdBQXBCO0FBQ0Q7QUFDRjtBQUNGO0FBQ0Q7QUFDQSxhQUFPRCxjQUFQO0FBQ0QsSzs7QUFFSHVCLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQjtBQUNoQnJDLFNBQU8sRUFBRUEsT0FETyxFQUFqQiIsImZpbGUiOiI0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgempNYXJrZXJcclxufSBmcm9tICcuL1pqTWFya2VyLmpzJztcclxuZXhwb3J0IGNsYXNzIE1hcFV0aWwge1xyXG4gIGNvbnN0cnVjdG9yKG5vcnRoZWFzdCwgc291dGh3ZXN0LCBzY2FsZSkge1xyXG4gICAgdGhpcy5ub3J0aGVhc3QgPSBub3J0aGVhc3Q7XHJcbiAgICB0aGlzLnNvdXRod2VzdCA9IHNvdXRod2VzdDtcclxuICAgIHRoaXMuc2NhbGUgPSBzY2FsZTtcclxuICB9XHJcbiAgc2V0SW5pdERhdGEobm9ydGhlYXN0LCBzb3V0aHdlc3QsIHNjYWxlKSB7XHJcbiAgICB0aGlzLm5vcnRoZWFzdCA9IG5vcnRoZWFzdDtcclxuICAgIHRoaXMuc291dGh3ZXN0ID0gc291dGh3ZXN0O1xyXG4gICAgdGhpcy5zY2FsZSA9IHNjYWxlO1xyXG4gIH1cclxuICBjaGVja1JlZnJlc2gobm9ydGhlYXN0LCBzb3V0aHdlc3QpIHtcclxuICAgIGxldCByZXN1bHQgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMubm9ydGhlYXN0LmxhdGl0dWRlID4gbm9ydGhlYXN0LmxhdGl0dWRlICYmIHRoaXMuc291dGh3ZXN0LmxhdGl0dWRlIDwgc291dGh3ZXN0LmxhdGl0dWRlICYmXHJcbiAgICAgIHRoaXMubm9ydGhlYXN0LmxvbmdpdHVkZSA+IG5vcnRoZWFzdC5sb25naXR1ZGUgJiYgdGhpcy5zb3V0aHdlc3QubG9uZ2l0dWRlIDwgc291dGh3ZXN0LmxvbmdpdHVkZSkge1xyXG4gICAgICByZXN1bHQgPSBmYWxzZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbiAgZ2V0Rm9ydE1hdE1hcmtlckxpc3Qobm9ydGhlYXN0LCBzb3V0aHdlc3QsIHNjYWxlLCBiYWNrZW5kTWFya2VyTGlzdCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coc2NhbGUpXHJcbiAgICBsZXQgbWFwV2lkdGggPSBzb3V0aHdlc3QubG9uZ2l0dWRlIC0gbm9ydGhlYXN0LmxvbmdpdHVkZTtcclxuICAgIGxldCBtYXBIZWlnaHQgPSBub3J0aGVhc3QubGF0aXR1ZGUgLSBzb3V0aHdlc3QubGF0aXR1ZGU7XHJcbiAgICBsZXQgd2lkdGhTaXplID0gMDtcclxuICAgIGlmIChzY2FsZSA+IDEwICYmIHNjYWxlIDwgMTUpXHJcbiAgICAgIHdpZHRoU2l6ZSA9IHNjYWxlIC0gNTtcclxuICAgIGVsc2VcclxuICAgICAgd2lkdGhTaXplID0gc2NhbGUgKyAzO1xyXG4gICAgbGV0IGhlaWdodFNpemUgPSB3aWR0aFNpemUgKyBwYXJzZUludChzY2FsZSAvIDIpO1xyXG4gICAgbGV0IHJlc3VsdE1hcEFycmF5ID0gW107XHJcbiAgICBpZiAoc2NhbGUgPD0gMTApIHtcclxuICAgICAgbGV0IG1hcmtlckl0ZW0gPSBuZXcgempNYXJrZXIoYmFja2VuZE1hcmtlckxpc3RbMF0ubG9uZ2l0dWRlLCBiYWNrZW5kTWFya2VyTGlzdFswXS5sYXRpdHVkZSwgYmFja2VuZE1hcmtlckxpc3RbMF0uaWQsIHtcclxuICAgICAgICB0eXBlOiAnY2x1c3RlcicsXHJcbiAgICAgICAgaWNvblBhdGg6ICcvc3RhdGljL2ltZy9jbHVNYXJrZXJJY29uLnBuZycsXHJcbiAgICAgICAgbnVtOiBiYWNrZW5kTWFya2VyTGlzdC5sZW5ndGhcclxuICAgICAgfSk7XHJcbiAgICAgIHJlc3VsdE1hcEFycmF5LnB1c2gobWFya2VySXRlbSk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKHJlc3VsdE1hcEFycmF5KVxyXG4gICAgICByZXR1cm4gcmVzdWx0TWFwQXJyYXk7XHJcbiAgICB9XHJcbiAgICBsZXQgdW5pdFdpZHRoID0gbWFwV2lkdGggLyB3aWR0aFNpemU7XHJcbiAgICBsZXQgdW5pdEhlaWdodCA9IG1hcEhlaWdodCAvIGhlaWdodFNpemU7XHJcbiAgICBsZXQgcG9pbnREYXRhID0ge307XHJcbiAgICBiYWNrZW5kTWFya2VyTGlzdC5mb3JFYWNoKGxhdExuZyA9PiB7XHJcbiAgICAgIGlmIChsYXRMbmcubGF0aXR1ZGUgPCBub3J0aGVhc3QubGF0aXR1ZGUgJiYgbGF0TG5nLmxhdGl0dWRlID4gc291dGh3ZXN0LmxhdGl0dWRlICYmXHJcbiAgICAgICAgbGF0TG5nLmxvbmdpdHVkZSA8IG5vcnRoZWFzdC5sb25naXR1ZGUgJiYgbGF0TG5nLmxvbmdpdHVkZSA+IHNvdXRod2VzdC5sb25naXR1ZGUpIHtcclxuICAgICAgICBsZXQgcmVsYXRpdmVYID0gbGF0TG5nLmxvbmdpdHVkZSAtIG5vcnRoZWFzdC5sb25naXR1ZGU7XHJcbiAgICAgICAgbGV0IHJlbGF0aXZlWSA9IGxhdExuZy5sYXRpdHVkZSAtIHNvdXRod2VzdC5sYXRpdHVkZTtcclxuICAgICAgICBsZXQgeCA9IHBhcnNlSW50KE1hdGguZmxvb3IocmVsYXRpdmVYIC8gdW5pdFdpZHRoKSk7XHJcbiAgICAgICAgbGV0IHkgPSBwYXJzZUludChNYXRoLmZsb29yKHJlbGF0aXZlWSAvIHVuaXRIZWlnaHQpKTtcclxuICAgICAgICBpZiAoeCA8IDAgfHwgeSA8IDApIHtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHBvaW50S2V5ID0geCArICcsJyArIHk7XHJcbiAgICAgICAgaWYgKHBvaW50RGF0YVtwb2ludEtleV0gPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBwb2ludERhdGFbcG9pbnRLZXldID0gW107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBvaW50RGF0YVtwb2ludEtleV0ucHVzaChsYXRMbmcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGZvciAobGV0IHkgPSAwOyB5IDwgaGVpZ2h0U2l6ZTsgeSsrKSB7XHJcbiAgICAgIGZvciAobGV0IHggPSAwOyB4IDwgd2lkdGhTaXplOyB4KyspIHtcclxuICAgICAgICBsZXQgcG9pbnRLZXkgPSB4ICsgJywnICsgeTtcclxuICAgICAgICBpZiAocG9pbnREYXRhW3BvaW50S2V5XSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIGxldCBtYXJrZXJJdGVtID0ge307XHJcbiAgICAgICAgICBpZiAocG9pbnREYXRhW3BvaW50S2V5XS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICBtYXJrZXJJdGVtID0gbmV3IHpqTWFya2VyKHBvaW50RGF0YVtwb2ludEtleV1bMF0ubG9uZ2l0dWRlLCBwb2ludERhdGFbcG9pbnRLZXldWzBdLmxhdGl0dWRlLCBwb2ludERhdGFbcG9pbnRLZXldWzBdLmlkLCB7XHJcbiAgICAgICAgICAgICAgaWNvblBhdGg6IHBvaW50RGF0YVtwb2ludEtleV1bMF0uaWNvblBhdGgsXHJcbiAgICAgICAgICAgICAgaXNTZWxlY3Q6IHBvaW50RGF0YVtwb2ludEtleV1bMF0uaXNTZWxlY3RcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0gZWxzZSBpZiAocG9pbnREYXRhW3BvaW50S2V5XS5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgIG1hcmtlckl0ZW0gPSBuZXcgempNYXJrZXIocG9pbnREYXRhW3BvaW50S2V5XVswXS5sb25naXR1ZGUsIHBvaW50RGF0YVtwb2ludEtleV1bMF0ubGF0aXR1ZGUsIHBvaW50RGF0YVtwb2ludEtleV1bMF0uaWQsIHtcclxuICAgICAgICAgICAgICB0eXBlOiAnY2x1c3RlcicsXHJcbiAgICAgICAgICAgICAgaWNvblBhdGg6ICcvc3RhdGljL2ltZy9jbHVNYXJrZXJJY29uLnBuZycsXHJcbiAgICAgICAgICAgICAgbnVtOiBwb2ludERhdGFbcG9pbnRLZXldLmxlbmd0aFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmVzdWx0TWFwQXJyYXkucHVzaChtYXJrZXJJdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGNvbnNvbGUubG9nKHJlc3VsdE1hcEFycmF5KVxyXG4gICAgcmV0dXJuIHJlc3VsdE1hcEFycmF5O1xyXG4gIH1cclxufVxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuXHRNYXBVdGlsOiBNYXBVdGlsLFxyXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///49\n");
  2976. /***/ }),
  2977. /* 50 */
  2978. /*!******************************************************!*\
  2979. !*** C:/Users/001/Desktop/运维端/static/js/ZjMarker.js ***!
  2980. \******************************************************/
  2981. /*! no static exports found */
  2982. /***/ (function(module, exports, __webpack_require__) {
  2983. "use strict";
  2984. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.zjMarker = void 0;function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError(\"Cannot call a class as a 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);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);return Constructor;}var app = getApp();var\nzjMarker = /*#__PURE__*/function () {\n function zjMarker(longitude, latitude, id) {var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};_classCallCheck(this, zjMarker);\n // console.log(options)\n this.longitude = longitude;\n this.latitude = latitude;\n this.id = id;\n this.width = options.width ? options.width : '48';\n this.height = options.height != undefined ? options.height : '48';\n var type = options.type == undefined ? 'single' : options.type;\n this.iconPath = options.iconPath == undefined ? '' : options.iconPath;\n if (type != 'single') {\n this.label = {\n 'content': options.num + '',\n 'color': \"#FF0000\",\n 'borderRadius': 4,\n 'bgColor': '#fff',\n 'padding': 5,\n 'borderWidth': 5,\n 'borderColor': '#FF0000' };\n\n this.anchor = {\n x: 5,\n y: 1 };\n\n }\n this.setCheckStatus(options.isSelect);\n }_createClass(zjMarker, [{ key: \"setCheckStatus\", value: function setCheckStatus(\n isCheck) {\n if (isCheck == undefined)\n return;\n if (isCheck) {\n this.width = '48';\n this.height = '48';\n } else {\n this.width = '48';\n this.height = '48';\n }\n } }]);return zjMarker;}();exports.zjMarker = zjMarker;\n\nmodule.exports = {\n zjMarker: zjMarker };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL1pqTWFya2VyLmpzIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsInpqTWFya2VyIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJpZCIsIm9wdGlvbnMiLCJ3aWR0aCIsImhlaWdodCIsInVuZGVmaW5lZCIsInR5cGUiLCJpY29uUGF0aCIsImxhYmVsIiwibnVtIiwiYW5jaG9yIiwieCIsInkiLCJzZXRDaGVja1N0YXR1cyIsImlzU2VsZWN0IiwiaXNDaGVjayIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJxdkJBQUEsSUFBTUEsR0FBRyxHQUFHQyxNQUFNLEVBQWxCLEM7QUFDYUMsUTtBQUNaLG9CQUFZQyxTQUFaLEVBQXVCQyxRQUF2QixFQUFpQ0MsRUFBakMsRUFBbUQsS0FBZEMsT0FBYyx1RUFBSixFQUFJO0FBQ2xEO0FBQ0EsU0FBS0gsU0FBTCxHQUFpQkEsU0FBakI7QUFDQSxTQUFLQyxRQUFMLEdBQWdCQSxRQUFoQjtBQUNBLFNBQUtDLEVBQUwsR0FBVUEsRUFBVjtBQUNBLFNBQUtFLEtBQUwsR0FBYUQsT0FBTyxDQUFDQyxLQUFSLEdBQWdCRCxPQUFPLENBQUNDLEtBQXhCLEdBQWdDLElBQTdDO0FBQ0EsU0FBS0MsTUFBTCxHQUFjRixPQUFPLENBQUNFLE1BQVIsSUFBa0JDLFNBQWxCLEdBQThCSCxPQUFPLENBQUNFLE1BQXRDLEdBQStDLElBQTdEO0FBQ0EsUUFBSUUsSUFBSSxHQUFHSixPQUFPLENBQUNJLElBQVIsSUFBZ0JELFNBQWhCLEdBQTRCLFFBQTVCLEdBQXVDSCxPQUFPLENBQUNJLElBQTFEO0FBQ0EsU0FBS0MsUUFBTCxHQUFnQkwsT0FBTyxDQUFDSyxRQUFSLElBQW9CRixTQUFwQixHQUFnQyxFQUFoQyxHQUFxQ0gsT0FBTyxDQUFDSyxRQUE3RDtBQUNBLFFBQUlELElBQUksSUFBSSxRQUFaLEVBQXNCO0FBQ3JCLFdBQUtFLEtBQUwsR0FBYTtBQUNaLG1CQUFXTixPQUFPLENBQUNPLEdBQVIsR0FBYyxFQURiO0FBRVosaUJBQVMsU0FGRztBQUdaLHdCQUFnQixDQUhKO0FBSVosbUJBQVcsTUFKQztBQUtaLG1CQUFXLENBTEM7QUFNWix1QkFBZSxDQU5IO0FBT1osdUJBQWUsU0FQSCxFQUFiOztBQVNBLFdBQUtDLE1BQUwsR0FBYztBQUNiQyxTQUFDLEVBQUUsQ0FEVTtBQUViQyxTQUFDLEVBQUUsQ0FGVSxFQUFkOztBQUlBO0FBQ0QsU0FBS0MsY0FBTCxDQUFvQlgsT0FBTyxDQUFDWSxRQUE1QjtBQUNBLEc7QUFDY0MsVyxFQUFTO0FBQ3ZCLFVBQUlBLE9BQU8sSUFBSVYsU0FBZjtBQUNDO0FBQ0QsVUFBSVUsT0FBSixFQUFhO0FBQ1osYUFBS1osS0FBTCxHQUFhLElBQWI7QUFDQSxhQUFLQyxNQUFMLEdBQWMsSUFBZDtBQUNBLE9BSEQsTUFHTztBQUNOLGFBQUtELEtBQUwsR0FBYSxJQUFiO0FBQ0EsYUFBS0MsTUFBTCxHQUFjLElBQWQ7QUFDQTtBQUNELEs7O0FBRUZZLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQjtBQUNoQm5CLFVBQVEsRUFBRUEsUUFETSxFQUFqQiIsImZpbGUiOiI1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFwcCA9IGdldEFwcCgpO1xyXG5leHBvcnQgY2xhc3MgempNYXJrZXIge1xyXG5cdGNvbnN0cnVjdG9yKGxvbmdpdHVkZSwgbGF0aXR1ZGUsIGlkLCBvcHRpb25zID0ge30pIHtcclxuXHRcdC8vIGNvbnNvbGUubG9nKG9wdGlvbnMpXHJcblx0XHR0aGlzLmxvbmdpdHVkZSA9IGxvbmdpdHVkZTtcclxuXHRcdHRoaXMubGF0aXR1ZGUgPSBsYXRpdHVkZTtcclxuXHRcdHRoaXMuaWQgPSBpZDtcclxuXHRcdHRoaXMud2lkdGggPSBvcHRpb25zLndpZHRoID8gb3B0aW9ucy53aWR0aCA6ICc0OCc7XHJcblx0XHR0aGlzLmhlaWdodCA9IG9wdGlvbnMuaGVpZ2h0ICE9IHVuZGVmaW5lZCA/IG9wdGlvbnMuaGVpZ2h0IDogJzQ4JztcclxuXHRcdGxldCB0eXBlID0gb3B0aW9ucy50eXBlID09IHVuZGVmaW5lZCA/ICdzaW5nbGUnIDogb3B0aW9ucy50eXBlO1xyXG5cdFx0dGhpcy5pY29uUGF0aCA9IG9wdGlvbnMuaWNvblBhdGggPT0gdW5kZWZpbmVkID8gJycgOiBvcHRpb25zLmljb25QYXRoO1xyXG5cdFx0aWYgKHR5cGUgIT0gJ3NpbmdsZScpIHtcclxuXHRcdFx0dGhpcy5sYWJlbCA9IHtcclxuXHRcdFx0XHQnY29udGVudCc6IG9wdGlvbnMubnVtICsgJycsXHJcblx0XHRcdFx0J2NvbG9yJzogXCIjRkYwMDAwXCIsXHJcblx0XHRcdFx0J2JvcmRlclJhZGl1cyc6IDQsXHJcblx0XHRcdFx0J2JnQ29sb3InOiAnI2ZmZicsXHJcblx0XHRcdFx0J3BhZGRpbmcnOiA1LFxyXG5cdFx0XHRcdCdib3JkZXJXaWR0aCc6IDUsXHJcblx0XHRcdFx0J2JvcmRlckNvbG9yJzogJyNGRjAwMDAnXHJcblx0XHRcdH07XHJcblx0XHRcdHRoaXMuYW5jaG9yID0ge1xyXG5cdFx0XHRcdHg6IDUsXHJcblx0XHRcdFx0eTogMVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR0aGlzLnNldENoZWNrU3RhdHVzKG9wdGlvbnMuaXNTZWxlY3QpO1xyXG5cdH1cclxuXHRzZXRDaGVja1N0YXR1cyhpc0NoZWNrKSB7XHJcblx0XHRpZiAoaXNDaGVjayA9PSB1bmRlZmluZWQpXHJcblx0XHRcdHJldHVybjtcclxuXHRcdGlmIChpc0NoZWNrKSB7XHJcblx0XHRcdHRoaXMud2lkdGggPSAnNDgnO1xyXG5cdFx0XHR0aGlzLmhlaWdodCA9ICc0OCc7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLndpZHRoID0gJzQ4JztcclxuXHRcdFx0dGhpcy5oZWlnaHQgPSAnNDgnO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuXHR6ak1hcmtlcjogempNYXJrZXIsXHJcbn1cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///50\n");
  2985. /***/ }),
  2986. /* 51 */
  2987. /*!**************************************************!*\
  2988. !*** C:/Users/001/Desktop/运维端/static/js/util.js ***!
  2989. \**************************************************/
  2990. /*! no static exports found */
  2991. /***/ (function(module, exports, __webpack_require__) {
  2992. "use strict";
  2993. eval("/* WEBPACK VAR INJECTION */(function(wx) {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _config = __webpack_require__(/*! ./config */ 47);var formatTime = function formatTime(date) {var year = date.getFullYear();var month = date.getMonth() + 1;var day = date.getDate();var hour = date.getHours();var minute = date.getMinutes();var second = date.getSeconds();return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':');};var formatNumber = function formatNumber(n) {n = n.toString();return n[1] ? n : '0' + n;};\n\n\n\n/* \r\n 回调\r\n (latitude,longitude)=>{}\r\n */\nfunction getLocation() {var baseUtil = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';var callBack = arguments.length > 1 ? arguments[1] : undefined;var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var app = getApp();\n var lang = app.systemInfo.lang;\n wx.getLocation({\n type: 'gcj02',\n success: function success(res) {\n var latitude = res.latitude;\n var longitude = res.longitude;\n callBack(latitude, longitude);\n },\n fail: function fail() {\n if (baseUtil != '')\n baseUtil.showToast(_config.commonLabel[lang].locationFail);\n } });\n\n\n}\nfunction getXTrackingId() {\n var chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];\n var XTrackingId = \"\";\n for (var i = 0; i < 32; i++) {\n var id = parseInt(Math.random() * 61);\n XTrackingId += chars[id];\n }\n return XTrackingId;\n}\nmodule.exports = {\n formatTime: formatTime,\n getLocation: getLocation,\n getXTrackingId: getXTrackingId };\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL3V0aWwuanMiXSwibmFtZXMiOlsiZm9ybWF0VGltZSIsImRhdGUiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJtb250aCIsImdldE1vbnRoIiwiZGF5IiwiZ2V0RGF0ZSIsImhvdXIiLCJnZXRIb3VycyIsIm1pbnV0ZSIsImdldE1pbnV0ZXMiLCJzZWNvbmQiLCJnZXRTZWNvbmRzIiwibWFwIiwiZm9ybWF0TnVtYmVyIiwiam9pbiIsIm4iLCJ0b1N0cmluZyIsImdldExvY2F0aW9uIiwiYmFzZVV0aWwiLCJjYWxsQmFjayIsInR5cGUiLCJhcHAiLCJnZXRBcHAiLCJsYW5nIiwic3lzdGVtSW5mbyIsInd4Iiwic3VjY2VzcyIsInJlcyIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiZmFpbCIsInNob3dUb2FzdCIsImNvbW1vbkxhYmVsIiwibG9jYXRpb25GYWlsIiwiZ2V0WFRyYWNraW5nSWQiLCJjaGFycyIsIlhUcmFja2luZ0lkIiwiaSIsImlkIiwicGFyc2VJbnQiLCJNYXRoIiwicmFuZG9tIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBZUEsc0RBZkEsSUFBTUEsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQUMsSUFBSSxFQUFJLENBQ3pCLElBQU1DLElBQUksR0FBR0QsSUFBSSxDQUFDRSxXQUFMLEVBQWIsQ0FDQSxJQUFNQyxLQUFLLEdBQUdILElBQUksQ0FBQ0ksUUFBTCxLQUFrQixDQUFoQyxDQUNBLElBQU1DLEdBQUcsR0FBR0wsSUFBSSxDQUFDTSxPQUFMLEVBQVosQ0FDQSxJQUFNQyxJQUFJLEdBQUdQLElBQUksQ0FBQ1EsUUFBTCxFQUFiLENBQ0EsSUFBTUMsTUFBTSxHQUFHVCxJQUFJLENBQUNVLFVBQUwsRUFBZixDQUNBLElBQU1DLE1BQU0sR0FBR1gsSUFBSSxDQUFDWSxVQUFMLEVBQWYsQ0FFQSxPQUFPLENBQUNYLElBQUQsRUFBT0UsS0FBUCxFQUFjRSxHQUFk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Q0FMLGVBQVcsSUFBSUQsS0FBSyxDQUFDRyxFQUFELENBQXBCO0FBQ0Q7QUFDRCxTQUFPRixXQUFQO0FBQ0Q7QUFDRE0sTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2Y3QyxZQUFVLEVBQUVBLFVBREc7QUFFZm1CLGFBQVcsRUFBRUEsV0FGRTtBQUdmaUIsZ0JBQWMsRUFBRUEsY0FIRCxFQUFqQixDIiwiZmlsZSI6IjUxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZm9ybWF0VGltZSA9IGRhdGUgPT4ge1xyXG4gIGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKClcclxuICBjb25zdCBtb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDFcclxuICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKVxyXG4gIGNvbnN0IGhvdXIgPSBkYXRlLmdldEhvdXJzKClcclxuICBjb25zdCBtaW51dGUgPSBkYXRlLmdldE1pbnV0ZXMoKVxyXG4gIGNvbnN0IHNlY29uZCA9IGRhdGUuZ2V0U2Vjb25kcygpXHJcblxyXG4gIHJldHVybiBbeWVhciwgbW9udGgsIGRheV0ubWFwKGZvcm1hdE51bWJlcikuam9pbignLycpICsgJyAnICsgW2hvdXIsIG1pbnV0ZSwgc2Vjb25kXS5tYXAoZm9ybWF0TnVtYmVyKS5qb2luKCc6JylcclxufVxyXG5cclxuY29uc3QgZm9ybWF0TnVtYmVyID0gbiA9PiB7XHJcbiAgbiA9IG4udG9TdHJpbmcoKVxyXG4gIHJldHVybiBuWzFdID8gbiA6ICcwJyArIG5cclxufVxyXG5pbXBvcnQge1xyXG4gIGNvbW1vbkxhYmVsLFxyXG4gIGhvbWVMYWJlbFxyXG59IGZyb20gJy4vY29uZmlnJztcclxuLyogXHJcbuWbnuiwg1xyXG4obGF0aXR1ZGUsbG9uZ2l0dWRlKT0+e31cclxuKi9cclxuZnVuY3Rpb24gZ2V0TG9jYXRpb24oYmFzZVV0aWwgPSAnJywgY2FsbEJhY2ssIHR5cGUgPSAnJykge1xyXG4gIGxldCBhcHAgPSBnZXRBcHAoKTtcclxuICBsZXQgbGFuZyA9IGFwcC5zeXN0ZW1JbmZvLmxhbmc7XHJcbiAgd3guZ2V0TG9jYXRpb24oe1xyXG4gICAgdHlwZTogJ2djajAyJyxcclxuICAgIHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuICAgICAgbGV0IGxhdGl0dWRlID0gcmVzLmxhdGl0dWRlO1xyXG4gICAgICBsZXQgbG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZTtcclxuICAgICAgY2FsbEJhY2sobGF0aXR1ZGUsIGxvbmdpdHVkZSlcclxuICAgIH0sXHJcbiAgICBmYWlsOiAoKSA9PiB7XHJcbiAgICAgIGlmIChiYXNlVXRpbCAhPSAnJylcclxuICAgICAgICBiYXNlVXRpbC5zaG93VG9hc3QoY29tbW9uTGFiZWxbbGFuZ10ubG9jYXRpb25GYWlsKTtcclxuICAgIH1cclxuXHJcbiAgfSk7XHJcbn1cclxuZnVuY3Rpb24gZ2V0WFRyYWNraW5nSWQoKSB7XHJcbiAgbGV0IGNoYXJzID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onXTtcclxuICBsZXQgWFRyYWNraW5nSWQgPSBcIlwiO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xyXG4gICAgbGV0IGlkID0gcGFyc2VJbnQoTWF0aC5yYW5kb20oKSAqIDYxKTtcclxuICAgIFhUcmFja2luZ0lkICs9IGNoYXJzW2lkXTtcclxuICB9XHJcbiAgcmV0dXJuIFhUcmFja2luZ0lkO1xyXG59XHJcbm1vZHVsZS5leHBvcnRzID0ge1xyXG4gIGZvcm1hdFRpbWU6IGZvcm1hdFRpbWUsXHJcbiAgZ2V0TG9jYXRpb246IGdldExvY2F0aW9uLFxyXG4gIGdldFhUcmFja2luZ0lkOiBnZXRYVHJhY2tpbmdJZCxcclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///51\n");
  2994. /***/ }),
  2995. /* 52 */
  2996. /*!***********************************************************!*\
  2997. !*** C:/Users/001/Desktop/运维端/static/js/loadToastUtil.js ***!
  2998. \***********************************************************/
  2999. /*! no static exports found */
  3000. /***/ (function(module, exports, __webpack_require__) {
  3001. "use strict";
  3002. eval("/* WEBPACK VAR INJECTION */(function(__f__) {var _config = __webpack_require__(/*! ./config.js */ 47);\n\n\nvar app = getApp();\nvar crypto = __webpack_require__(/*! ./crypto.js */ 53);\nfunction baseRequest(data, callBack1) {\n var that = this;\n __f__(\"log\", data, \" at static/js/loadToastUtil.js:8\");\n app.request('getBikes', data, 'POST').then(function (res) {\n // console.log(res)\n callBack1(res.data);\n // return res.data\n });\n}\n// class loadToastUtil {\n\n// \tconstructor(that, baseUrl, loadToast) {\n// \t\tthis.that = that;\n// \t\tthis.baseUrl = baseUrl;\n// \t\tthis.loadToast = that.selectComponent(loadToast);\n// \t\tthis.requestObjArray = [];\n// \t\tconsole.log('构造方法调用成功');\n// \t\tconsole.log(`loadToast Key为:${loadToast}`);\n// \t}\n// \t/*展示网络加载框 */\n// \tshowLoading(type = '') {\n// \t\tthis.loadToast.showLoading(type);\n// \t\tconsole.log('111')\n// \t}\n// \tshowDialog(params, callBack) {\n// \t\tthis.loadToast.showDialog(params, callBack);\n// \t\tconsole.log('111')\n// \t}\n// \t/*隐藏网络加载框 */\n// \thiddenLoading() {\n// \t\tthis.loadToast.hiddenLoading();\n// \t}\n\n// \tabortRequest() {\n// \t\tthis.requestObjArray.forEach((item) => {\n// \t\t\titem.abort();\n// \t\t});\n// \t}\n// \t/*展示选择对话框 */\n// \tshowSelectDialog(params, callBack) {\n// \t\tthis.loadToast.showSelectDailog(params, callBack);\n// \t}\n// \t/* 展示吐司对话框 */\n// \tshowToast(content) {\n// \t\tthis.loadToast.showToast(content);\n// \t}\n// \tbaseToast(content) {\n// \t\tuni.showToast({\n// \t\t\ttitle: content,\n// \t\t\ticon: 'none',\n// \t\t\tduration: 3000\n// \t\t})\n// \t}\n// \tgetXTrackingId() {\n// \t\tlet chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',\n// \t\t\t'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',\n// \t\t\t'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'\n// \t\t];\n// \t\tlet XTrackingId = \"\";\n// \t\tfor (let i = 0; i < 32; i++) {\n// \t\t\tlet id = parseInt(Math.random() * 61);\n// \t\t\tXTrackingId += chars[id];\n// \t\t}\n// \t\treturn XTrackingId;\n// \t}\n// }\n// let toastUtil = new loadToastUtil();\n// export default toastUtil;\nmodule.exports = {\n baseRequest: baseRequest };\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2xvYWRUb2FzdFV0aWwuanMiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiY3J5cHRvIiwicmVxdWlyZSIsImJhc2VSZXF1ZXN0IiwiZGF0YSIsImNhbGxCYWNrMSIsInRoYXQiLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI2Q0FBQTs7O0FBR0EsSUFBTUEsR0FBRyxHQUFHQyxNQUFNLEVBQWxCO0FBQ0EsSUFBSUMsTUFBTSxHQUFHQyxtQkFBTyxDQUFDLHFCQUFELENBQXBCO0FBQ0EsU0FBU0MsV0FBVCxDQUFxQkMsSUFBckIsRUFBMkJDLFNBQTNCLEVBQXNDO0FBQ3BDLE1BQUlDLElBQUksR0FBRyxJQUFYO0FBQ0EsZUFBWUYsSUFBWjtBQUNBTCxLQUFHLENBQUNRLE9BQUosQ0FBWSxVQUFaLEVBQXdCSCxJQUF4QixFQUE4QixNQUE5QixFQUFzQ0ksSUFBdEMsQ0FBMkMsVUFBQUMsR0FBRyxFQUFJO0FBQ2pEO0FBQ0FKLGFBQVMsQ0FBQ0ksR0FBRyxDQUFDTCxJQUFMLENBQVQ7QUFDQTtBQUNBLEdBSkQ7QUFLQTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0FNLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQjtBQUNoQlIsYUFBVyxFQUFFQSxXQURHLEVBQWpCLEMiLCJmaWxlIjoiNTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdG5ld1ByZVVybFxyXG59IGZyb20gJy4vY29uZmlnLmpzJztcclxuY29uc3QgYXBwID0gZ2V0QXBwKCk7XHJcbnZhciBjcnlwdG8gPSByZXF1aXJlKCcuL2NyeXB0by5qcycpO1xyXG5mdW5jdGlvbiBiYXNlUmVxdWVzdChkYXRhLCBjYWxsQmFjazEpIHtcclxuXHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdGNvbnNvbGUubG9nKGRhdGEpXHJcblx0XHRhcHAucmVxdWVzdCgnZ2V0QmlrZXMnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRjYWxsQmFjazEocmVzLmRhdGEpO1xyXG5cdFx0XHQvLyByZXR1cm4gcmVzLmRhdGFcclxuXHRcdH0pXHJcblx0fVxyXG4vLyBjbGFzcyBsb2FkVG9hc3RVdGlsIHtcclxuXHRcclxuLy8gXHRjb25zdHJ1Y3Rvcih0aGF0LCBiYXNlVXJsLCBsb2FkVG9hc3QpIHtcclxuLy8gXHRcdHRoaXMudGhhdCA9IHRoYXQ7XHJcbi8vIFx0XHR0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xyXG4vLyBcdFx0dGhpcy5sb2FkVG9hc3QgPSB0aGF0LnNlbGVjdENvbXBvbmVudChsb2FkVG9hc3QpO1xyXG4vLyBcdFx0dGhpcy5yZXF1ZXN0T2JqQXJyYXkgPSBbXTtcclxuLy8gXHRcdGNvbnNvbGUubG9nKCfmnoTpgKDmlrnms5XosIPnlKjmiJDlip8nKTtcclxuLy8gXHRcdGNvbnNvbGUubG9nKGBsb2FkVG9hc3QgS2V55Li677yaJHtsb2FkVG9hc3R9YCk7XHJcbi8vIFx0fVxyXG4vLyBcdC8q5bGV56S6572R57uc5Yqg6L295qGGICAqL1xyXG4vLyBcdHNob3dMb2FkaW5nKHR5cGUgPSAnJykge1xyXG4vLyBcdFx0dGhpcy5sb2FkVG9hc3Quc2hvd0xvYWRpbmcodHlwZSk7XHJcbi8vIFx0XHRjb25zb2xlLmxvZygnMTExJylcclxuLy8gXHR9XHJcbi8vIFx0c2hvd0RpYWxvZyhwYXJhbXMsIGNhbGxCYWNrKSB7XHJcbi8vIFx0XHR0aGlzLmxvYWRUb2FzdC5zaG93RGlhbG9nKHBhcmFtcywgY2FsbEJhY2spO1xyXG4vLyBcdFx0Y29uc29sZS5sb2coJzExMScpXHJcbi8vIFx0fVxyXG4vLyBcdC8q6ZqQ6JeP572R57uc5Yqg6L295qGGICAqL1xyXG4vLyBcdGhpZGRlbkxvYWRpbmcoKSB7XHJcbi8vIFx0XHR0aGlzLmxvYWRUb2FzdC5oaWRkZW5Mb2FkaW5nKCk7XHJcbi8vIFx0fVxyXG5cclxuLy8gXHRhYm9ydFJlcXVlc3QoKSB7XHJcbi8vIFx0XHR0aGlzLnJlcXVlc3RPYmpBcnJheS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbi8vIFx0XHRcdGl0ZW0uYWJvcnQoKTtcclxuLy8gXHRcdH0pO1xyXG4vLyBcdH1cclxuLy8gXHQvKuWxleekuumAieaLqeWvueivneahhiAgKi9cclxuLy8gXHRzaG93U2VsZWN0RGlhbG9nKHBhcmFtcywgY2FsbEJhY2spIHtcclxuLy8gXHRcdHRoaXMubG9hZFRvYXN0LnNob3dTZWxlY3REYWlsb2cocGFyYW1zLCBjYWxsQmFjayk7XHJcbi8vIFx0fVxyXG4vLyBcdC8qIOWxleekuuWQkOWPuOWvueivneahhiAqL1xyXG4vLyBcdHNob3dUb2FzdChjb250ZW50KSB7XHJcbi8vIFx0XHR0aGlzLmxvYWRUb2FzdC5zaG93VG9hc3QoY29udGVudCk7XHJcbi8vIFx0fVxyXG4vLyBcdGJhc2VUb2FzdChjb250ZW50KSB7XHJcbi8vIFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuLy8gXHRcdFx0dGl0bGU6IGNvbnRlbnQsXHJcbi8vIFx0XHRcdGljb246ICdub25lJyxcclxuLy8gXHRcdFx0ZHVyYXRpb246IDMwMDBcclxuLy8gXHRcdH0pXHJcbi8vIFx0fVxyXG4vLyBcdGdldFhUcmFja2luZ0lkKCkge1xyXG4vLyBcdFx0bGV0IGNoYXJzID0gWycwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5JywgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsXHJcbi8vIFx0XHRcdCdMJywgJ00nLCAnTicsICdPJywgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLFxyXG4vLyBcdFx0XHQnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onXHJcbi8vIFx0XHRdO1xyXG4vLyBcdFx0bGV0IFhUcmFja2luZ0lkID0gXCJcIjtcclxuLy8gXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgMzI7IGkrKykge1xyXG4vLyBcdFx0XHRsZXQgaWQgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpICogNjEpO1xyXG4vLyBcdFx0XHRYVHJhY2tpbmdJZCArPSBjaGFyc1tpZF07XHJcbi8vIFx0XHR9XHJcbi8vIFx0XHRyZXR1cm4gWFRyYWNraW5nSWQ7XHJcbi8vIFx0fVxyXG4vLyB9XHJcbi8vIGxldCB0b2FzdFV0aWwgPSBuZXcgbG9hZFRvYXN0VXRpbCgpO1xyXG4vLyBleHBvcnQgZGVmYXVsdCB0b2FzdFV0aWw7XHJcbm1vZHVsZS5leHBvcnRzID0ge1xyXG5cdGJhc2VSZXF1ZXN0OiBiYXNlUmVxdWVzdCxcclxufVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///52\n");
  3003. /***/ }),
  3004. /* 53 */
  3005. /*!****************************************************!*\
  3006. !*** C:/Users/001/Desktop/运维端/static/js/crypto.js ***!
  3007. \****************************************************/
  3008. /*! no static exports found */
  3009. /***/ (function(module, exports, __webpack_require__) {
  3010. eval("var CryptoJS = __webpack_require__(/*! ./crypto-js */ 54);\nvar _key = '2lpz0d8shmcp0pnw';\nvar _iv = 'm5bklbsxomfr0c33';\nvar key = CryptoJS.enc.Utf8.parse(_key); //十六位十六进制数作为密钥\nvar iv = CryptoJS.enc.Utf8.parse(_iv); //十六位十六进制数作为密钥偏移量\n//解密方法\n/**\n * @return {string}\n */\nfunction Decrypt(word) {\n try {\n var decrypted = CryptoJS.AES.decrypt(word, key, {\n iv: iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.Pkcs7 });\n\n\n var str = CryptoJS.enc.Utf8.stringify(decrypted).toString();\n // console.log('CryptoJS===解密后=======',JSON.parse(str))\n return JSON.parse(str);\n } catch (error) {\n\n }\n\n}\n// console.log(Decrypt(word))\nmodule.exports = {\n // encrypted: encrypted,\n decrypted: Decrypt };//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2NyeXB0by5qcyJdLCJuYW1lcyI6WyJDcnlwdG9KUyIsInJlcXVpcmUiLCJfa2V5IiwiX2l2Iiwia2V5IiwiZW5jIiwiVXRmOCIsInBhcnNlIiwiaXYiLCJEZWNyeXB0Iiwid29yZCIsImRlY3J5cHRlZCIsIkFFUyIsImRlY3J5cHQiLCJtb2RlIiwiQ0JDIiwicGFkZGluZyIsInBhZCIsIlBrY3M3Iiwic3RyIiwic3RyaW5naWZ5IiwidG9TdHJpbmciLCJKU09OIiwiZXJyb3IiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxRQUFRLEdBQUdDLG1CQUFPLENBQUMscUJBQUQsQ0FBeEI7QUFDQSxJQUFNQyxJQUFJLEdBQUcsa0JBQWI7QUFDQSxJQUFNQyxHQUFHLEdBQUcsa0JBQVo7QUFDQSxJQUFNQyxHQUFHLEdBQUdKLFFBQVEsQ0FBQ0ssR0FBVCxDQUFhQyxJQUFiLENBQWtCQyxLQUFsQixDQUF3QkwsSUFBeEIsQ0FBWixDLENBQTRDO0FBQzVDLElBQU1NLEVBQUUsR0FBR1IsUUFBUSxDQUFDSyxHQUFULENBQWFDLElBQWIsQ0FBa0JDLEtBQWxCLENBQXdCSixHQUF4QixDQUFYLEMsQ0FBMkM7QUFDM0M7QUFDQTs7O0FBR0EsU0FBU00sT0FBVCxDQUFpQkMsSUFBakIsRUFBdUI7QUFDbkIsTUFBSTtBQUNBLFFBQUlDLFNBQVMsR0FBR1gsUUFBUSxDQUFDWSxHQUFULENBQWFDLE9BQWIsQ0FBcUJILElBQXJCLEVBQTJCTixHQUEzQixFQUFnQztBQUM1Q0ksUUFBRSxFQUFFQSxFQUR3QztBQUU1Q00sVUFBSSxFQUFFZCxRQUFRLENBQUNjLElBQVQsQ0FBY0MsR0FGd0I7QUFHNUNDLGFBQU8sRUFBRWhCLFFBQVEsQ0FBQ2lCLEdBQVQsQ0FBYUMsS0FIc0IsRUFBaEMsQ0FBaEI7OztBQU1BLFFBQUlDLEdBQUcsR0FBR25CLFFBQVEsQ0FBQ0ssR0FBVCxDQUFhQyxJQUFiLENBQWtCYyxTQUFsQixDQUE0QlQsU0FBNUIsRUFBdUNVLFFBQXZDLEVBQVY7QUFDQTtBQUNBLFdBQU9DLElBQUksQ0FBQ2YsS0FBTCxDQUFXWSxHQUFYLENBQVA7QUFDSCxHQVZELENBVUUsT0FBT0ksS0FBUCxFQUFjOztBQUVmOztBQUVKO0FBQ0Q7QUFDQUMsTUFBTSxDQUFDQyxPQUFQLEdBQWlCO0FBQ2I7QUFDQWQsV0FBUyxFQUFFRixPQUZFLEVBQWpCIiwiZmlsZSI6IjUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ3J5cHRvSlMgPSByZXF1aXJlKCcuL2NyeXB0by1qcycpO1xuY29uc3QgX2tleSA9ICcybHB6MGQ4c2htY3AwcG53JztcbmNvbnN0IF9pdiA9ICdtNWJrbGJzeG9tZnIwYzMzJztcbmNvbnN0IGtleSA9IENyeXB0b0pTLmVuYy5VdGY4LnBhcnNlKF9rZXkpOyAgLy/ljYHlha3kvY3ljYHlha3ov5vliLbmlbDkvZzkuLrlr4bpkqVcbmNvbnN0IGl2ID0gQ3J5cHRvSlMuZW5jLlV0ZjgucGFyc2UoX2l2KTsgICAvL+WNgeWFreS9jeWNgeWFrei/m+WItuaVsOS9nOS4uuWvhumSpeWBj+enu+mHj1xuLy/op6Plr4bmlrnms5Vcbi8qKlxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBEZWNyeXB0KHdvcmQpIHtcbiAgICB0cnkge1xuICAgICAgICB2YXIgZGVjcnlwdGVkID0gQ3J5cHRvSlMuQUVTLmRlY3J5cHQod29yZCwga2V5LCB7XG4gICAgICAgICAgICBpdjogaXYsXG4gICAgICAgICAgICBtb2RlOiBDcnlwdG9KUy5tb2RlLkNCQyxcbiAgICAgICAgICAgIHBhZGRpbmc6IENyeXB0b0pTLnBhZC5Qa2NzN1xuICAgICAgICB9KTtcbiAgICBcbiAgICAgICAgbGV0IHN0ciA9IENyeXB0b0pTLmVuYy5VdGY4LnN0cmluZ2lmeShkZWNyeXB0ZWQpLnRvU3RyaW5nKCk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdDcnlwdG9KUz09Peino+WvhuWQjj09PT09PT0nLEpTT04ucGFyc2Uoc3RyKSlcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIFxuICAgIH1cbiAgICBcbn1cbi8vIGNvbnNvbGUubG9nKERlY3J5cHQod29yZCkpXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICAvLyBlbmNyeXB0ZWQ6IGVuY3J5cHRlZCxcbiAgICBkZWNyeXB0ZWQ6IERlY3J5cHQsXG59Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///53\n");
  3011. /***/ }),
  3012. /* 54 */
  3013. /*!*******************************************************!*\
  3014. !*** C:/Users/001/Desktop/运维端/static/js/crypto-js.js ***!
  3015. \*******************************************************/
  3016. /*! no static exports found */
  3017. /***/ (function(module, exports, __webpack_require__) {
  3018. eval("/* WEBPACK VAR INJECTION */(function(__webpack_provided_window_dot_crypto, global, __webpack_provided_global_dot_crypto) {;\n(function (root, factory) {\n if (true) {\n // CommonJS\n module.exports = exports = factory();\n } else {}\n})(this, function () {\n\n /*globals window, global, require*/\n\n /**\n * CryptoJS core components.\n */\n var CryptoJS = CryptoJS || function (Math, undefined) {\n\n var crypto;\n\n // Native crypto from window (Browser)\n if (typeof window !== 'undefined' && __webpack_provided_window_dot_crypto) {\n crypto = __webpack_provided_window_dot_crypto;\n }\n\n // Native (experimental IE 11) crypto from window (Browser)\n if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n }\n\n // Native crypto from global (NodeJS)\n if (!crypto && typeof global !== 'undefined' && __webpack_provided_global_dot_crypto) {\n crypto = __webpack_provided_global_dot_crypto;\n }\n\n // Native crypto import via require (NodeJS)\n if (!crypto && \"function\" === 'function') {\n try {\n crypto = __webpack_require__(/*! crypto */ 56);\n } catch (err) {}\n }\n\n /*\n * Cryptographically secure pseudorandom number generator\n *\n * As Math.random() is cryptographically not safe to use\n */\n var cryptoSecureRandomInt = function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n }\n\n // Use randomBytes method (NodeJS)\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n\n throw new Error('Native crypto module could not be used to get secure random number.');\n };\n\n /*\n * Local polyfill of Object.create\n */\n\n var create = Object.create || function () {\n function F() {}\n\n return function (obj) {\n var subtype;\n\n F.prototype = obj;\n\n subtype = new F();\n\n F.prototype = null;\n\n return subtype;\n };\n }();\n\n /**\n * CryptoJS namespace.\n */\n var C = {};\n\n /**\n * Library namespace.\n */\n var C_lib = C.lib = {};\n\n /**\n * Base object for prototypal inheritance.\n */\n var Base = C_lib.Base = function () {\n\n\n return {\n /**\n * Creates a new object that inherits from this object.\n *\n * @param {Object} overrides Properties to copy into the new object.\n *\n * @return {Object} The new object.\n *\n * @static\n *\n * @example\n *\n * var MyType = CryptoJS.lib.Base.extend({\n * field: 'value',\n *\n * method: function () {\n * }\n * });\n */\n extend: function extend(overrides) {\n // Spawn\n var subtype = create(this);\n\n // Augment\n if (overrides) {\n subtype.mixIn(overrides);\n }\n\n // Create default initializer\n if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n subtype.init = function () {\n subtype.$super.init.apply(this, arguments);\n };\n }\n\n // Initializer's prototype is the subtype object\n subtype.init.prototype = subtype;\n\n // Reference supertype\n subtype.$super = this;\n\n return subtype;\n },\n\n /**\n * Extends this object and runs the init method.\n * Arguments to create() will be passed to init().\n *\n * @return {Object} The new object.\n *\n * @static\n *\n * @example\n *\n * var instance = MyType.create();\n */\n create: function create() {\n var instance = this.extend();\n instance.init.apply(instance, arguments);\n\n return instance;\n },\n\n /**\n * Initializes a newly created object.\n * Override this method to add some logic when your objects are created.\n *\n * @example\n *\n * var MyType = CryptoJS.lib.Base.extend({\n * init: function () {\n * // ...\n * }\n * });\n */\n init: function init() {},\n\n /**\n * Copies properties into this object.\n *\n * @param {Object} properties The properties to mix in.\n *\n * @example\n *\n * MyType.mixIn({\n * field: 'value'\n * });\n */\n mixIn: function mixIn(properties) {\n for (var propertyName in properties) {\n if (properties.hasOwnProperty(propertyName)) {\n this[propertyName] = properties[propertyName];\n }\n }\n\n // IE won't copy toString using the loop above\n if (properties.hasOwnProperty('toString')) {\n this.toString = properties.toString;\n }\n },\n\n /**\n * Creates a copy of this object.\n *\n * @return {Object} The clone.\n *\n * @example\n *\n * var clone = instance.clone();\n */\n clone: function clone() {\n return this.init.prototype.extend(this);\n } };\n\n }();\n\n /**\n * An array of 32-bit words.\n *\n * @property {Array} words The array of 32-bit words.\n * @property {number} sigBytes The number of significant bytes in this word array.\n */\n var WordArray = C_lib.WordArray = Base.extend({\n /**\n * Initializes a newly created word array.\n *\n * @param {Array} words (Optional) An array of 32-bit words.\n * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n *\n * @example\n *\n * var wordArray = CryptoJS.lib.WordArray.create();\n * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n */\n init: function init(words, sigBytes) {\n words = this.words = words || [];\n\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n },\n\n /**\n * Converts this word array to a string.\n *\n * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n *\n * @return {string} The stringified word array.\n *\n * @example\n *\n * var string = wordArray + '';\n * var string = wordArray.toString();\n * var string = wordArray.toString(CryptoJS.enc.Utf8);\n */\n toString: function toString(encoder) {\n return (encoder || Hex).stringify(this);\n },\n\n /**\n * Concatenates a word array to this word array.\n *\n * @param {WordArray} wordArray The word array to append.\n *\n * @return {WordArray} This word array.\n *\n * @example\n *\n * wordArray1.concat(wordArray2);\n */\n concat: function concat(wordArray) {\n // Shortcuts\n var thisWords = this.words;\n var thatWords = wordArray.words;\n var thisSigBytes = this.sigBytes;\n var thatSigBytes = wordArray.sigBytes;\n\n // Clamp excess bits\n this.clamp();\n\n // Concat\n if (thisSigBytes % 4) {\n // Copy one byte at a time\n for (var i = 0; i < thatSigBytes; i++) {\n var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;\n }\n } else {\n // Copy one word at a time\n for (var i = 0; i < thatSigBytes; i += 4) {\n thisWords[thisSigBytes + i >>> 2] = thatWords[i >>> 2];\n }\n }\n this.sigBytes += thatSigBytes;\n\n // Chainable\n return this;\n },\n\n /**\n * Removes insignificant bits.\n *\n * @example\n *\n * wordArray.clamp();\n */\n clamp: function clamp() {\n // Shortcuts\n var words = this.words;\n var sigBytes = this.sigBytes;\n\n // Clamp\n words[sigBytes >>> 2] &= 0xffffffff << 32 - sigBytes % 4 * 8;\n words.length = Math.ceil(sigBytes / 4);\n },\n\n /**\n * Creates a copy of this word array.\n *\n * @return {WordArray} The clone.\n *\n * @example\n *\n * var clone = wordArray.clone();\n */\n clone: function clone() {\n var clone = Base.clone.call(this);\n clone.words = this.words.slice(0);\n\n return clone;\n },\n\n /**\n * Creates a word array filled with random bytes.\n *\n * @param {number} nBytes The number of random bytes to generate.\n *\n * @return {WordArray} The random word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.lib.WordArray.random(16);\n */\n random: function random(nBytes) {\n var words = [];\n\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n\n return new WordArray.init(words, nBytes);\n } });\n\n\n /**\n * Encoder namespace.\n */\n var C_enc = C.enc = {};\n\n /**\n * Hex encoding strategy.\n */\n var Hex = C_enc.Hex = {\n /**\n * Converts a word array to a hex string.\n *\n * @param {WordArray} wordArray The word array.\n *\n * @return {string} The hex string.\n *\n * @static\n *\n * @example\n *\n * var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n */\n stringify: function stringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var hexChars = [];\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n\n return hexChars.join('');\n },\n\n /**\n * Converts a hex string to a word array.\n *\n * @param {string} hexStr The hex string.\n *\n * @return {WordArray} The word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.enc.Hex.parse(hexString);\n */\n parse: function parse(hexStr) {\n // Shortcut\n var hexStrLength = hexStr.length;\n\n // Convert\n var words = [];\n for (var i = 0; i < hexStrLength; i += 2) {\n words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;\n }\n\n return new WordArray.init(words, hexStrLength / 2);\n } };\n\n\n /**\n * Latin1 encoding strategy.\n */\n var Latin1 = C_enc.Latin1 = {\n /**\n * Converts a word array to a Latin1 string.\n *\n * @param {WordArray} wordArray The word array.\n *\n * @return {string} The Latin1 string.\n *\n * @static\n *\n * @example\n *\n * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n */\n stringify: function stringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var latin1Chars = [];\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n latin1Chars.push(String.fromCharCode(bite));\n }\n\n return latin1Chars.join('');\n },\n\n /**\n * Converts a Latin1 string to a word array.\n *\n * @param {string} latin1Str The Latin1 string.\n *\n * @return {WordArray} The word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n */\n parse: function parse(latin1Str) {\n // Shortcut\n var latin1StrLength = latin1Str.length;\n\n // Convert\n var words = [];\n for (var i = 0; i < latin1StrLength; i++) {\n words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << 24 - i % 4 * 8;\n }\n\n return new WordArray.init(words, latin1StrLength);\n } };\n\n\n /**\n * UTF-8 encoding strategy.\n */\n var Utf8 = C_enc.Utf8 = {\n /**\n * Converts a word array to a UTF-8 string.\n *\n * @param {WordArray} wordArray The word array.\n *\n * @return {string} The UTF-8 string.\n *\n * @static\n *\n * @example\n *\n * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n */\n stringify: function stringify(wordArray) {\n try {\n return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n } catch (e) {\n throw new Error('Malformed UTF-8 data');\n }\n },\n\n /**\n * Converts a UTF-8 string to a word array.\n *\n * @param {string} utf8Str The UTF-8 string.\n *\n * @return {WordArray} The word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n */\n parse: function parse(utf8Str) {\n return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n } };\n\n\n /**\n * Abstract buffered block algorithm template.\n *\n * The property blockSize must be implemented in a concrete subtype.\n *\n * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n */\n var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n /**\n * Resets this block algorithm's data buffer to its initial state.\n *\n * @example\n *\n * bufferedBlockAlgorithm.reset();\n */\n reset: function reset() {\n // Initial values\n this._data = new WordArray.init();\n this._nDataBytes = 0;\n },\n\n /**\n * Adds new data to this block algorithm's buffer.\n *\n * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n *\n * @example\n *\n * bufferedBlockAlgorithm._append('data');\n * bufferedBlockAlgorithm._append(wordArray);\n */\n _append: function _append(data) {\n // Convert string to WordArray, else assume WordArray already\n if (typeof data == 'string') {\n data = Utf8.parse(data);\n }\n\n // Append\n this._data.concat(data);\n this._nDataBytes += data.sigBytes;\n },\n\n /**\n * Processes available data blocks.\n *\n * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n *\n * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n *\n * @return {WordArray} The processed data.\n *\n * @example\n *\n * var processedData = bufferedBlockAlgorithm._process();\n * var processedData = bufferedBlockAlgorithm._process(!!'flush');\n */\n _process: function _process(doFlush) {\n var processedWords;\n\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n var dataSigBytes = data.sigBytes;\n var blockSize = this.blockSize;\n var blockSizeBytes = blockSize * 4;\n\n // Count blocks ready\n var nBlocksReady = dataSigBytes / blockSizeBytes;\n if (doFlush) {\n // Round up to include partial blocks\n nBlocksReady = Math.ceil(nBlocksReady);\n } else {\n // Round down to include only full blocks,\n // less the number of blocks that must remain in the buffer\n nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n }\n\n // Count words ready\n var nWordsReady = nBlocksReady * blockSize;\n\n // Count bytes ready\n var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n // Process blocks\n if (nWordsReady) {\n for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n // Perform concrete-algorithm logic\n this._doProcessBlock(dataWords, offset);\n }\n\n // Remove processed words\n processedWords = dataWords.splice(0, nWordsReady);\n data.sigBytes -= nBytesReady;\n }\n\n // Return processed words\n return new WordArray.init(processedWords, nBytesReady);\n },\n\n /**\n * Creates a copy of this object.\n *\n * @return {Object} The clone.\n *\n * @example\n *\n * var clone = bufferedBlockAlgorithm.clone();\n */\n clone: function clone() {\n var clone = Base.clone.call(this);\n clone._data = this._data.clone();\n\n return clone;\n },\n\n _minBufferSize: 0 });\n\n\n /**\n * Abstract hasher template.\n *\n * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n */\n var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n /**\n * Configuration options.\n */\n cfg: Base.extend(),\n\n /**\n * Initializes a newly created hasher.\n *\n * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n *\n * @example\n *\n * var hasher = CryptoJS.algo.SHA256.create();\n */\n init: function init(cfg) {\n // Apply config defaults\n this.cfg = this.cfg.extend(cfg);\n\n // Set initial values\n this.reset();\n },\n\n /**\n * Resets this hasher to its initial state.\n *\n * @example\n *\n * hasher.reset();\n */\n reset: function reset() {\n // Reset data buffer\n BufferedBlockAlgorithm.reset.call(this);\n\n // Perform concrete-hasher logic\n this._doReset();\n },\n\n /**\n * Updates this hasher with a message.\n *\n * @param {WordArray|string} messageUpdate The message to append.\n *\n * @return {Hasher} This hasher.\n *\n * @example\n *\n * hasher.update('message');\n * hasher.update(wordArray);\n */\n update: function update(messageUpdate) {\n // Append\n this._append(messageUpdate);\n\n // Update the hash\n this._process();\n\n // Chainable\n return this;\n },\n\n /**\n * Finalizes the hash computation.\n * Note that the finalize operation is effectively a destructive, read-once operation.\n *\n * @param {WordArray|string} messageUpdate (Optional) A final message update.\n *\n * @return {WordArray} The hash.\n *\n * @example\n *\n * var hash = hasher.finalize();\n * var hash = hasher.finalize('message');\n * var hash = hasher.finalize(wordArray);\n */\n finalize: function finalize(messageUpdate) {\n // Final message update\n if (messageUpdate) {\n this._append(messageUpdate);\n }\n\n // Perform concrete-hasher logic\n var hash = this._doFinalize();\n\n return hash;\n },\n\n blockSize: 512 / 32,\n\n /**\n * Creates a shortcut function to a hasher's object interface.\n *\n * @param {Hasher} hasher The hasher to create a helper for.\n *\n * @return {Function} The shortcut function.\n *\n * @static\n *\n * @example\n *\n * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n */\n _createHelper: function _createHelper(hasher) {\n return function (message, cfg) {\n return new hasher.init(cfg).finalize(message);\n };\n },\n\n /**\n * Creates a shortcut function to the HMAC's object interface.\n *\n * @param {Hasher} hasher The hasher to use in this HMAC helper.\n *\n * @return {Function} The shortcut function.\n *\n * @static\n *\n * @example\n *\n * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n */\n _createHmacHelper: function _createHmacHelper(hasher) {\n return function (message, key) {\n return new C_algo.HMAC.init(hasher, key).finalize(message);\n };\n } });\n\n\n /**\n * Algorithm namespace.\n */\n var C_algo = C.algo = {};\n\n return C;\n }(Math);\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var C_enc = C.enc;\n\n /**\n * Base64 encoding strategy.\n */\n var Base64 = C_enc.Base64 = {\n /**\n * Converts a word array to a Base64 string.\n *\n * @param {WordArray} wordArray The word array.\n *\n * @return {string} The Base64 string.\n *\n * @static\n *\n * @example\n *\n * var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n */\n stringify: function stringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n var map = this._map;\n\n // Clamp excess bits\n wordArray.clamp();\n\n // Convert\n var base64Chars = [];\n for (var i = 0; i < sigBytes; i += 3) {\n var byte1 = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n var byte2 = words[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 0xff;\n var byte3 = words[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 0xff;\n\n var triplet = byte1 << 16 | byte2 << 8 | byte3;\n\n for (var j = 0;\n j < 4 && i + j * 0.75 < sigBytes; j++) {\n base64Chars.push(map.charAt(triplet >>> 6 * (3 - j) & 0x3f));\n }\n }\n\n // Add padding\n var paddingChar = map.charAt(64);\n if (paddingChar) {\n while (base64Chars.length % 4) {\n base64Chars.push(paddingChar);\n }\n }\n\n return base64Chars.join('');\n },\n\n /**\n * Converts a Base64 string to a word array.\n *\n * @param {string} base64Str The Base64 string.\n *\n * @return {WordArray} The word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.enc.Base64.parse(base64String);\n */\n parse: function parse(base64Str) {\n // Shortcuts\n var base64StrLength = base64Str.length;\n var map = this._map;\n var reverseMap = this._reverseMap;\n\n if (!reverseMap) {\n reverseMap = this._reverseMap = [];\n for (var j = 0; j < map.length; j++) {\n reverseMap[map.charCodeAt(j)] = j;\n }\n }\n\n // Ignore padding\n var paddingChar = map.charAt(64);\n if (paddingChar) {\n var paddingIndex = base64Str.indexOf(paddingChar);\n if (paddingIndex !== -1) {\n base64StrLength = paddingIndex;\n }\n }\n\n // Convert\n return parseLoop(base64Str, base64StrLength, reverseMap);\n\n },\n\n _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' };\n\n\n function parseLoop(base64Str, base64StrLength, reverseMap) {\n var words = [];\n var nBytes = 0;\n for (var i = 0; i < base64StrLength; i++) {\n if (i % 4) {\n var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << i % 4 * 2;\n var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> 6 - i % 4 * 2;\n var bitsCombined = bits1 | bits2;\n words[nBytes >>> 2] |= bitsCombined << 24 - nBytes % 4 * 8;\n nBytes++;\n }\n }\n return WordArray.create(words, nBytes);\n }\n })();\n\n\n (function (Math) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var Hasher = C_lib.Hasher;\n var C_algo = C.algo;\n\n // Constants table\n var T = [];\n\n // Compute constants\n (function () {\n for (var i = 0; i < 64; i++) {\n T[i] = Math.abs(Math.sin(i + 1)) * 0x100000000 | 0;\n }\n })();\n\n /**\n * MD5 hash algorithm.\n */\n var MD5 = C_algo.MD5 = Hasher.extend({\n _doReset: function _doReset() {\n this._hash = new WordArray.init([\n 0x67452301, 0xefcdab89,\n 0x98badcfe, 0x10325476]);\n\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Swap endian\n for (var i = 0; i < 16; i++) {\n // Shortcuts\n var offset_i = offset + i;\n var M_offset_i = M[offset_i];\n\n M[offset_i] =\n (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff |\n (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;\n\n }\n\n // Shortcuts\n var H = this._hash.words;\n\n var M_offset_0 = M[offset + 0];\n var M_offset_1 = M[offset + 1];\n var M_offset_2 = M[offset + 2];\n var M_offset_3 = M[offset + 3];\n var M_offset_4 = M[offset + 4];\n var M_offset_5 = M[offset + 5];\n var M_offset_6 = M[offset + 6];\n var M_offset_7 = M[offset + 7];\n var M_offset_8 = M[offset + 8];\n var M_offset_9 = M[offset + 9];\n var M_offset_10 = M[offset + 10];\n var M_offset_11 = M[offset + 11];\n var M_offset_12 = M[offset + 12];\n var M_offset_13 = M[offset + 13];\n var M_offset_14 = M[offset + 14];\n var M_offset_15 = M[offset + 15];\n\n // Working varialbes\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n\n // Computation\n a = FF(a, b, c, d, M_offset_0, 7, T[0]);\n d = FF(d, a, b, c, M_offset_1, 12, T[1]);\n c = FF(c, d, a, b, M_offset_2, 17, T[2]);\n b = FF(b, c, d, a, M_offset_3, 22, T[3]);\n a = FF(a, b, c, d, M_offset_4, 7, T[4]);\n d = FF(d, a, b, c, M_offset_5, 12, T[5]);\n c = FF(c, d, a, b, M_offset_6, 17, T[6]);\n b = FF(b, c, d, a, M_offset_7, 22, T[7]);\n a = FF(a, b, c, d, M_offset_8, 7, T[8]);\n d = FF(d, a, b, c, M_offset_9, 12, T[9]);\n c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n a = FF(a, b, c, d, M_offset_12, 7, T[12]);\n d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n a = GG(a, b, c, d, M_offset_1, 5, T[16]);\n d = GG(d, a, b, c, M_offset_6, 9, T[17]);\n c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n b = GG(b, c, d, a, M_offset_0, 20, T[19]);\n a = GG(a, b, c, d, M_offset_5, 5, T[20]);\n d = GG(d, a, b, c, M_offset_10, 9, T[21]);\n c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n b = GG(b, c, d, a, M_offset_4, 20, T[23]);\n a = GG(a, b, c, d, M_offset_9, 5, T[24]);\n d = GG(d, a, b, c, M_offset_14, 9, T[25]);\n c = GG(c, d, a, b, M_offset_3, 14, T[26]);\n b = GG(b, c, d, a, M_offset_8, 20, T[27]);\n a = GG(a, b, c, d, M_offset_13, 5, T[28]);\n d = GG(d, a, b, c, M_offset_2, 9, T[29]);\n c = GG(c, d, a, b, M_offset_7, 14, T[30]);\n b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n a = HH(a, b, c, d, M_offset_5, 4, T[32]);\n d = HH(d, a, b, c, M_offset_8, 11, T[33]);\n c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n a = HH(a, b, c, d, M_offset_1, 4, T[36]);\n d = HH(d, a, b, c, M_offset_4, 11, T[37]);\n c = HH(c, d, a, b, M_offset_7, 16, T[38]);\n b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n a = HH(a, b, c, d, M_offset_13, 4, T[40]);\n d = HH(d, a, b, c, M_offset_0, 11, T[41]);\n c = HH(c, d, a, b, M_offset_3, 16, T[42]);\n b = HH(b, c, d, a, M_offset_6, 23, T[43]);\n a = HH(a, b, c, d, M_offset_9, 4, T[44]);\n d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n b = HH(b, c, d, a, M_offset_2, 23, T[47]);\n\n a = II(a, b, c, d, M_offset_0, 6, T[48]);\n d = II(d, a, b, c, M_offset_7, 10, T[49]);\n c = II(c, d, a, b, M_offset_14, 15, T[50]);\n b = II(b, c, d, a, M_offset_5, 21, T[51]);\n a = II(a, b, c, d, M_offset_12, 6, T[52]);\n d = II(d, a, b, c, M_offset_3, 10, T[53]);\n c = II(c, d, a, b, M_offset_10, 15, T[54]);\n b = II(b, c, d, a, M_offset_1, 21, T[55]);\n a = II(a, b, c, d, M_offset_8, 6, T[56]);\n d = II(d, a, b, c, M_offset_15, 10, T[57]);\n c = II(c, d, a, b, M_offset_6, 15, T[58]);\n b = II(b, c, d, a, M_offset_13, 21, T[59]);\n a = II(a, b, c, d, M_offset_4, 6, T[60]);\n d = II(d, a, b, c, M_offset_11, 10, T[61]);\n c = II(c, d, a, b, M_offset_2, 15, T[62]);\n b = II(b, c, d, a, M_offset_9, 21, T[63]);\n\n // Intermediate hash value\n H[0] = H[0] + a | 0;\n H[1] = H[1] + b | 0;\n H[2] = H[2] + c | 0;\n H[3] = H[3] + d | 0;\n },\n\n _doFinalize: function _doFinalize() {\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n\n var nBitsTotal = this._nDataBytes * 8;\n var nBitsLeft = data.sigBytes * 8;\n\n // Add padding\n dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n\n var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n var nBitsTotalL = nBitsTotal;\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] =\n (nBitsTotalH << 8 | nBitsTotalH >>> 24) & 0x00ff00ff |\n (nBitsTotalH << 24 | nBitsTotalH >>> 8) & 0xff00ff00;\n\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] =\n (nBitsTotalL << 8 | nBitsTotalL >>> 24) & 0x00ff00ff |\n (nBitsTotalL << 24 | nBitsTotalL >>> 8) & 0xff00ff00;\n\n\n data.sigBytes = (dataWords.length + 1) * 4;\n\n // Hash final blocks\n this._process();\n\n // Shortcuts\n var hash = this._hash;\n var H = hash.words;\n\n // Swap endian\n for (var i = 0; i < 4; i++) {\n // Shortcut\n var H_i = H[i];\n\n H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff |\n (H_i << 24 | H_i >>> 8) & 0xff00ff00;\n }\n\n // Return final computed hash\n return hash;\n },\n\n clone: function clone() {\n var clone = Hasher.clone.call(this);\n clone._hash = this._hash.clone();\n\n return clone;\n } });\n\n\n function FF(a, b, c, d, x, s, t) {\n var n = a + (b & c | ~b & d) + x + t;\n return (n << s | n >>> 32 - s) + b;\n }\n\n function GG(a, b, c, d, x, s, t) {\n var n = a + (b & d | c & ~d) + x + t;\n return (n << s | n >>> 32 - s) + b;\n }\n\n function HH(a, b, c, d, x, s, t) {\n var n = a + (b ^ c ^ d) + x + t;\n return (n << s | n >>> 32 - s) + b;\n }\n\n function II(a, b, c, d, x, s, t) {\n var n = a + (c ^ (b | ~d)) + x + t;\n return (n << s | n >>> 32 - s) + b;\n }\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.MD5('message');\n * var hash = CryptoJS.MD5(wordArray);\n */\n C.MD5 = Hasher._createHelper(MD5);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacMD5(message, key);\n */\n C.HmacMD5 = Hasher._createHmacHelper(MD5);\n })(Math);\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var Hasher = C_lib.Hasher;\n var C_algo = C.algo;\n\n // Reusable object\n var W = [];\n\n /**\n * SHA-1 hash algorithm.\n */\n var SHA1 = C_algo.SHA1 = Hasher.extend({\n _doReset: function _doReset() {\n this._hash = new WordArray.init([\n 0x67452301, 0xefcdab89,\n 0x98badcfe, 0x10325476,\n 0xc3d2e1f0]);\n\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Shortcut\n var H = this._hash.words;\n\n // Working variables\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n\n // Computation\n for (var i = 0; i < 80; i++) {\n if (i < 16) {\n W[i] = M[offset + i] | 0;\n } else {\n var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n W[i] = n << 1 | n >>> 31;\n }\n\n var t = (a << 5 | a >>> 27) + e + W[i];\n if (i < 20) {\n t += (b & c | ~b & d) + 0x5a827999;\n } else if (i < 40) {\n t += (b ^ c ^ d) + 0x6ed9eba1;\n } else if (i < 60) {\n t += (b & c | b & d | c & d) - 0x70e44324;\n } else /* if (i < 80) */{\n t += (b ^ c ^ d) - 0x359d3e2a;\n }\n\n e = d;\n d = c;\n c = b << 30 | b >>> 2;\n b = a;\n a = t;\n }\n\n // Intermediate hash value\n H[0] = H[0] + a | 0;\n H[1] = H[1] + b | 0;\n H[2] = H[2] + c | 0;\n H[3] = H[3] + d | 0;\n H[4] = H[4] + e | 0;\n },\n\n _doFinalize: function _doFinalize() {\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n\n var nBitsTotal = this._nDataBytes * 8;\n var nBitsLeft = data.sigBytes * 8;\n\n // Add padding\n dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;\n data.sigBytes = dataWords.length * 4;\n\n // Hash final blocks\n this._process();\n\n // Return final computed hash\n return this._hash;\n },\n\n clone: function clone() {\n var clone = Hasher.clone.call(this);\n clone._hash = this._hash.clone();\n\n return clone;\n } });\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.SHA1('message');\n * var hash = CryptoJS.SHA1(wordArray);\n */\n C.SHA1 = Hasher._createHelper(SHA1);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacSHA1(message, key);\n */\n C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n })();\n\n\n (function (Math) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var Hasher = C_lib.Hasher;\n var C_algo = C.algo;\n\n // Initialization and round constants tables\n var H = [];\n var K = [];\n\n // Compute constants\n (function () {\n function isPrime(n) {\n var sqrtN = Math.sqrt(n);\n for (var factor = 2; factor <= sqrtN; factor++) {\n if (!(n % factor)) {\n return false;\n }\n }\n\n return true;\n }\n\n function getFractionalBits(n) {\n return (n - (n | 0)) * 0x100000000 | 0;\n }\n\n var n = 2;\n var nPrime = 0;\n while (nPrime < 64) {\n if (isPrime(n)) {\n if (nPrime < 8) {\n H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n }\n K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n nPrime++;\n }\n\n n++;\n }\n })();\n\n // Reusable object\n var W = [];\n\n /**\n * SHA-256 hash algorithm.\n */\n var SHA256 = C_algo.SHA256 = Hasher.extend({\n _doReset: function _doReset() {\n this._hash = new WordArray.init(H.slice(0));\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Shortcut\n var H = this._hash.words;\n\n // Working variables\n var a = H[0];\n var b = H[1];\n var c = H[2];\n var d = H[3];\n var e = H[4];\n var f = H[5];\n var g = H[6];\n var h = H[7];\n\n // Computation\n for (var i = 0; i < 64; i++) {\n if (i < 16) {\n W[i] = M[offset + i] | 0;\n } else {\n var gamma0x = W[i - 15];\n var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (\n gamma0x << 14 | gamma0x >>> 18) ^\n gamma0x >>> 3;\n\n var gamma1x = W[i - 2];\n var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (\n gamma1x << 13 | gamma1x >>> 19) ^\n gamma1x >>> 10;\n\n W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n }\n\n var ch = e & f ^ ~e & g;\n var maj = a & b ^ a & c ^ b & c;\n\n var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);\n var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);\n\n var t1 = h + sigma1 + ch + K[i] + W[i];\n var t2 = sigma0 + maj;\n\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n\n // Intermediate hash value\n H[0] = H[0] + a | 0;\n H[1] = H[1] + b | 0;\n H[2] = H[2] + c | 0;\n H[3] = H[3] + d | 0;\n H[4] = H[4] + e | 0;\n H[5] = H[5] + f | 0;\n H[6] = H[6] + g | 0;\n H[7] = H[7] + h | 0;\n },\n\n _doFinalize: function _doFinalize() {\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n\n var nBitsTotal = this._nDataBytes * 8;\n var nBitsLeft = data.sigBytes * 8;\n\n // Add padding\n dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;\n data.sigBytes = dataWords.length * 4;\n\n // Hash final blocks\n this._process();\n\n // Return final computed hash\n return this._hash;\n },\n\n clone: function clone() {\n var clone = Hasher.clone.call(this);\n clone._hash = this._hash.clone();\n\n return clone;\n } });\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.SHA256('message');\n * var hash = CryptoJS.SHA256(wordArray);\n */\n C.SHA256 = Hasher._createHelper(SHA256);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacSHA256(message, key);\n */\n C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n })(Math);\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var C_enc = C.enc;\n\n /**\n * UTF-16 BE encoding strategy.\n */\n var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {\n /**\n * Converts a word array to a UTF-16 BE string.\n *\n * @param {WordArray} wordArray The word array.\n *\n * @return {string} The UTF-16 BE string.\n *\n * @static\n *\n * @example\n *\n * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);\n */\n stringify: function stringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var utf16Chars = [];\n for (var i = 0; i < sigBytes; i += 2) {\n var codePoint = words[i >>> 2] >>> 16 - i % 4 * 8 & 0xffff;\n utf16Chars.push(String.fromCharCode(codePoint));\n }\n\n return utf16Chars.join('');\n },\n\n /**\n * Converts a UTF-16 BE string to a word array.\n *\n * @param {string} utf16Str The UTF-16 BE string.\n *\n * @return {WordArray} The word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.enc.Utf16.parse(utf16String);\n */\n parse: function parse(utf16Str) {\n // Shortcut\n var utf16StrLength = utf16Str.length;\n\n // Convert\n var words = [];\n for (var i = 0; i < utf16StrLength; i++) {\n words[i >>> 1] |= utf16Str.charCodeAt(i) << 16 - i % 2 * 16;\n }\n\n return WordArray.create(words, utf16StrLength * 2);\n } };\n\n\n /**\n * UTF-16 LE encoding strategy.\n */\n C_enc.Utf16LE = {\n /**\n * Converts a word array to a UTF-16 LE string.\n *\n * @param {WordArray} wordArray The word array.\n *\n * @return {string} The UTF-16 LE string.\n *\n * @static\n *\n * @example\n *\n * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);\n */\n stringify: function stringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var utf16Chars = [];\n for (var i = 0; i < sigBytes; i += 2) {\n var codePoint = swapEndian(words[i >>> 2] >>> 16 - i % 4 * 8 & 0xffff);\n utf16Chars.push(String.fromCharCode(codePoint));\n }\n\n return utf16Chars.join('');\n },\n\n /**\n * Converts a UTF-16 LE string to a word array.\n *\n * @param {string} utf16Str The UTF-16 LE string.\n *\n * @return {WordArray} The word array.\n *\n * @static\n *\n * @example\n *\n * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);\n */\n parse: function parse(utf16Str) {\n // Shortcut\n var utf16StrLength = utf16Str.length;\n\n // Convert\n var words = [];\n for (var i = 0; i < utf16StrLength; i++) {\n words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << 16 - i % 2 * 16);\n }\n\n return WordArray.create(words, utf16StrLength * 2);\n } };\n\n\n function swapEndian(word) {\n return word << 8 & 0xff00ff00 | word >>> 8 & 0x00ff00ff;\n }\n })();\n\n\n (function () {\n // Check if typed arrays are supported\n if (typeof ArrayBuffer != 'function') {\n return;\n }\n\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n\n // Reference original init\n var superInit = WordArray.init;\n\n // Augment WordArray.init to handle typed arrays\n var subInit = WordArray.init = function (typedArray) {\n // Convert buffers to uint8\n if (typedArray instanceof ArrayBuffer) {\n typedArray = new Uint8Array(typedArray);\n }\n\n // Convert other array views to uint8\n if (\n typedArray instanceof Int8Array ||\n typeof Uint8ClampedArray !== \"undefined\" && typedArray instanceof Uint8ClampedArray ||\n typedArray instanceof Int16Array ||\n typedArray instanceof Uint16Array ||\n typedArray instanceof Int32Array ||\n typedArray instanceof Uint32Array ||\n typedArray instanceof Float32Array ||\n typedArray instanceof Float64Array)\n {\n typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);\n }\n\n // Handle Uint8Array\n if (typedArray instanceof Uint8Array) {\n // Shortcut\n var typedArrayByteLength = typedArray.byteLength;\n\n // Extract bytes\n var words = [];\n for (var i = 0; i < typedArrayByteLength; i++) {\n words[i >>> 2] |= typedArray[i] << 24 - i % 4 * 8;\n }\n\n // Initialize this word array\n superInit.call(this, words, typedArrayByteLength);\n } else {\n // Else call normal init\n superInit.apply(this, arguments);\n }\n };\n\n subInit.prototype = WordArray;\n })();\n\n\n /** @preserve\n (c) 2012 by C��dric Mesnil. All rights reserved.\n Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n\n\n\n (function (Math) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var Hasher = C_lib.Hasher;\n var C_algo = C.algo;\n\n // Constants table\n var _zl = WordArray.create([\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]);\n\n var _zr = WordArray.create([\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]);\n\n var _sl = WordArray.create([\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]);\n\n var _sr = WordArray.create([\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]);\n\n\n var _hl = WordArray.create([0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);\n var _hr = WordArray.create([0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);\n\n /**\n * RIPEMD160 hash algorithm.\n */\n var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({\n _doReset: function _doReset() {\n this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n\n // Swap endian\n for (var i = 0; i < 16; i++) {\n // Shortcuts\n var offset_i = offset + i;\n var M_offset_i = M[offset_i];\n\n // Swap\n M[offset_i] =\n (M_offset_i << 8 | M_offset_i >>> 24) & 0x00ff00ff |\n (M_offset_i << 24 | M_offset_i >>> 8) & 0xff00ff00;\n\n }\n // Shortcut\n var H = this._hash.words;\n var hl = _hl.words;\n var hr = _hr.words;\n var zl = _zl.words;\n var zr = _zr.words;\n var sl = _sl.words;\n var sr = _sr.words;\n\n // Working variables\n var al, bl, cl, dl, el;\n var ar, br, cr, dr, er;\n\n ar = al = H[0];\n br = bl = H[1];\n cr = cl = H[2];\n dr = dl = H[3];\n er = el = H[4];\n // Computation\n var t;\n for (var i = 0; i < 80; i += 1) {\n t = al + M[offset + zl[i]] | 0;\n if (i < 16) {\n t += f1(bl, cl, dl) + hl[0];\n } else if (i < 32) {\n t += f2(bl, cl, dl) + hl[1];\n } else if (i < 48) {\n t += f3(bl, cl, dl) + hl[2];\n } else if (i < 64) {\n t += f4(bl, cl, dl) + hl[3];\n } else {// if (i<80) {\n t += f5(bl, cl, dl) + hl[4];\n }\n t = t | 0;\n t = rotl(t, sl[i]);\n t = t + el | 0;\n al = el;\n el = dl;\n dl = rotl(cl, 10);\n cl = bl;\n bl = t;\n\n t = ar + M[offset + zr[i]] | 0;\n if (i < 16) {\n t += f5(br, cr, dr) + hr[0];\n } else if (i < 32) {\n t += f4(br, cr, dr) + hr[1];\n } else if (i < 48) {\n t += f3(br, cr, dr) + hr[2];\n } else if (i < 64) {\n t += f2(br, cr, dr) + hr[3];\n } else {// if (i<80) {\n t += f1(br, cr, dr) + hr[4];\n }\n t = t | 0;\n t = rotl(t, sr[i]);\n t = t + er | 0;\n ar = er;\n er = dr;\n dr = rotl(cr, 10);\n cr = br;\n br = t;\n }\n // Intermediate hash value\n t = H[1] + cl + dr | 0;\n H[1] = H[2] + dl + er | 0;\n H[2] = H[3] + el + ar | 0;\n H[3] = H[4] + al + br | 0;\n H[4] = H[0] + bl + cr | 0;\n H[0] = t;\n },\n\n _doFinalize: function _doFinalize() {\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n\n var nBitsTotal = this._nDataBytes * 8;\n var nBitsLeft = data.sigBytes * 8;\n\n // Add padding\n dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] =\n (nBitsTotal << 8 | nBitsTotal >>> 24) & 0x00ff00ff |\n (nBitsTotal << 24 | nBitsTotal >>> 8) & 0xff00ff00;\n\n data.sigBytes = (dataWords.length + 1) * 4;\n\n // Hash final blocks\n this._process();\n\n // Shortcuts\n var hash = this._hash;\n var H = hash.words;\n\n // Swap endian\n for (var i = 0; i < 5; i++) {\n // Shortcut\n var H_i = H[i];\n\n // Swap\n H[i] = (H_i << 8 | H_i >>> 24) & 0x00ff00ff |\n (H_i << 24 | H_i >>> 8) & 0xff00ff00;\n }\n\n // Return final computed hash\n return hash;\n },\n\n clone: function clone() {\n var clone = Hasher.clone.call(this);\n clone._hash = this._hash.clone();\n\n return clone;\n } });\n\n\n\n function f1(x, y, z) {\n return x ^ y ^ z;\n\n }\n\n function f2(x, y, z) {\n return x & y | ~x & z;\n }\n\n function f3(x, y, z) {\n return (x | ~y) ^ z;\n }\n\n function f4(x, y, z) {\n return x & z | y & ~z;\n }\n\n function f5(x, y, z) {\n return x ^ (y | ~z);\n\n }\n\n function rotl(x, n) {\n return x << n | x >>> 32 - n;\n }\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.RIPEMD160('message');\n * var hash = CryptoJS.RIPEMD160(wordArray);\n */\n C.RIPEMD160 = Hasher._createHelper(RIPEMD160);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacRIPEMD160(message, key);\n */\n C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);\n })(Math);\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var Base = C_lib.Base;\n var C_enc = C.enc;\n var Utf8 = C_enc.Utf8;\n var C_algo = C.algo;\n\n /**\n * HMAC algorithm.\n */\n var HMAC = C_algo.HMAC = Base.extend({\n /**\n * Initializes a newly created HMAC.\n *\n * @param {Hasher} hasher The hash algorithm to use.\n * @param {WordArray|string} key The secret key.\n *\n * @example\n *\n * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n */\n init: function init(hasher, key) {\n // Init hasher\n hasher = this._hasher = new hasher.init();\n\n // Convert string to WordArray, else assume WordArray already\n if (typeof key == 'string') {\n key = Utf8.parse(key);\n }\n\n // Shortcuts\n var hasherBlockSize = hasher.blockSize;\n var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n // Allow arbitrary length keys\n if (key.sigBytes > hasherBlockSizeBytes) {\n key = hasher.finalize(key);\n }\n\n // Clamp excess bits\n key.clamp();\n\n // Clone key for inner and outer pads\n var oKey = this._oKey = key.clone();\n var iKey = this._iKey = key.clone();\n\n // Shortcuts\n var oKeyWords = oKey.words;\n var iKeyWords = iKey.words;\n\n // XOR keys with pad constants\n for (var i = 0; i < hasherBlockSize; i++) {\n oKeyWords[i] ^= 0x5c5c5c5c;\n iKeyWords[i] ^= 0x36363636;\n }\n oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n // Set initial values\n this.reset();\n },\n\n /**\n * Resets this HMAC to its initial state.\n *\n * @example\n *\n * hmacHasher.reset();\n */\n reset: function reset() {\n // Shortcut\n var hasher = this._hasher;\n\n // Reset\n hasher.reset();\n hasher.update(this._iKey);\n },\n\n /**\n * Updates this HMAC with a message.\n *\n * @param {WordArray|string} messageUpdate The message to append.\n *\n * @return {HMAC} This HMAC instance.\n *\n * @example\n *\n * hmacHasher.update('message');\n * hmacHasher.update(wordArray);\n */\n update: function update(messageUpdate) {\n this._hasher.update(messageUpdate);\n\n // Chainable\n return this;\n },\n\n /**\n * Finalizes the HMAC computation.\n * Note that the finalize operation is effectively a destructive, read-once operation.\n *\n * @param {WordArray|string} messageUpdate (Optional) A final message update.\n *\n * @return {WordArray} The HMAC.\n *\n * @example\n *\n * var hmac = hmacHasher.finalize();\n * var hmac = hmacHasher.finalize('message');\n * var hmac = hmacHasher.finalize(wordArray);\n */\n finalize: function finalize(messageUpdate) {\n // Shortcut\n var hasher = this._hasher;\n\n // Compute HMAC\n var innerHash = hasher.finalize(messageUpdate);\n hasher.reset();\n var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n return hmac;\n } });\n\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var Base = C_lib.Base;\n var WordArray = C_lib.WordArray;\n var C_algo = C.algo;\n var SHA1 = C_algo.SHA1;\n var HMAC = C_algo.HMAC;\n\n /**\n * Password-Based Key Derivation Function 2 algorithm.\n */\n var PBKDF2 = C_algo.PBKDF2 = Base.extend({\n /**\n * Configuration options.\n *\n * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n * @property {Hasher} hasher The hasher to use. Default: SHA1\n * @property {number} iterations The number of iterations to perform. Default: 1\n */\n cfg: Base.extend({\n keySize: 128 / 32,\n hasher: SHA1,\n iterations: 1 }),\n\n\n /**\n * Initializes a newly created key derivation function.\n *\n * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n *\n * @example\n *\n * var kdf = CryptoJS.algo.PBKDF2.create();\n * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });\n * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });\n */\n init: function init(cfg) {\n this.cfg = this.cfg.extend(cfg);\n },\n\n /**\n * Computes the Password-Based Key Derivation Function 2.\n *\n * @param {WordArray|string} password The password.\n * @param {WordArray|string} salt A salt.\n *\n * @return {WordArray} The derived key.\n *\n * @example\n *\n * var key = kdf.compute(password, salt);\n */\n compute: function compute(password, salt) {\n // Shortcut\n var cfg = this.cfg;\n\n // Init HMAC\n var hmac = HMAC.create(cfg.hasher, password);\n\n // Initial values\n var derivedKey = WordArray.create();\n var blockIndex = WordArray.create([0x00000001]);\n\n // Shortcuts\n var derivedKeyWords = derivedKey.words;\n var blockIndexWords = blockIndex.words;\n var keySize = cfg.keySize;\n var iterations = cfg.iterations;\n\n // Generate key\n while (derivedKeyWords.length < keySize) {\n var block = hmac.update(salt).finalize(blockIndex);\n hmac.reset();\n\n // Shortcuts\n var blockWords = block.words;\n var blockWordsLength = blockWords.length;\n\n // Iterations\n var intermediate = block;\n for (var i = 1; i < iterations; i++) {\n intermediate = hmac.finalize(intermediate);\n hmac.reset();\n\n // Shortcut\n var intermediateWords = intermediate.words;\n\n // XOR intermediate with block\n for (var j = 0; j < blockWordsLength; j++) {\n blockWords[j] ^= intermediateWords[j];\n }\n }\n\n derivedKey.concat(block);\n blockIndexWords[0]++;\n }\n derivedKey.sigBytes = keySize * 4;\n\n return derivedKey;\n } });\n\n\n /**\n * Computes the Password-Based Key Derivation Function 2.\n *\n * @param {WordArray|string} password The password.\n * @param {WordArray|string} salt A salt.\n * @param {Object} cfg (Optional) The configuration options to use for this computation.\n *\n * @return {WordArray} The derived key.\n *\n * @static\n *\n * @example\n *\n * var key = CryptoJS.PBKDF2(password, salt);\n * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });\n * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });\n */\n C.PBKDF2 = function (password, salt, cfg) {\n return PBKDF2.create(cfg).compute(password, salt);\n };\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var Base = C_lib.Base;\n var WordArray = C_lib.WordArray;\n var C_algo = C.algo;\n var MD5 = C_algo.MD5;\n\n /**\n * This key derivation function is meant to conform with EVP_BytesToKey.\n * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n */\n var EvpKDF = C_algo.EvpKDF = Base.extend({\n /**\n * Configuration options.\n *\n * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n * @property {number} iterations The number of iterations to perform. Default: 1\n */\n cfg: Base.extend({\n keySize: 128 / 32,\n hasher: MD5,\n iterations: 1 }),\n\n\n /**\n * Initializes a newly created key derivation function.\n *\n * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n *\n * @example\n *\n * var kdf = CryptoJS.algo.EvpKDF.create();\n * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n */\n init: function init(cfg) {\n this.cfg = this.cfg.extend(cfg);\n },\n\n /**\n * Derives a key from a password.\n *\n * @param {WordArray|string} password The password.\n * @param {WordArray|string} salt A salt.\n *\n * @return {WordArray} The derived key.\n *\n * @example\n *\n * var key = kdf.compute(password, salt);\n */\n compute: function compute(password, salt) {\n var block;\n\n // Shortcut\n var cfg = this.cfg;\n\n // Init hasher\n var hasher = cfg.hasher.create();\n\n // Initial values\n var derivedKey = WordArray.create();\n\n // Shortcuts\n var derivedKeyWords = derivedKey.words;\n var keySize = cfg.keySize;\n var iterations = cfg.iterations;\n\n // Generate key\n while (derivedKeyWords.length < keySize) {\n if (block) {\n hasher.update(block);\n }\n block = hasher.update(password).finalize(salt);\n hasher.reset();\n\n // Iterations\n for (var i = 1; i < iterations; i++) {\n block = hasher.finalize(block);\n hasher.reset();\n }\n\n derivedKey.concat(block);\n }\n derivedKey.sigBytes = keySize * 4;\n\n return derivedKey;\n } });\n\n\n /**\n * Derives a key from a password.\n *\n * @param {WordArray|string} password The password.\n * @param {WordArray|string} salt A salt.\n * @param {Object} cfg (Optional) The configuration options to use for this computation.\n *\n * @return {WordArray} The derived key.\n *\n * @static\n *\n * @example\n *\n * var key = CryptoJS.EvpKDF(password, salt);\n * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n */\n C.EvpKDF = function (password, salt, cfg) {\n return EvpKDF.create(cfg).compute(password, salt);\n };\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var C_algo = C.algo;\n var SHA256 = C_algo.SHA256;\n\n /**\n * SHA-224 hash algorithm.\n */\n var SHA224 = C_algo.SHA224 = SHA256.extend({\n _doReset: function _doReset() {\n this._hash = new WordArray.init([\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4]);\n\n },\n\n _doFinalize: function _doFinalize() {\n var hash = SHA256._doFinalize.call(this);\n\n hash.sigBytes -= 4;\n\n return hash;\n } });\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.SHA224('message');\n * var hash = CryptoJS.SHA224(wordArray);\n */\n C.SHA224 = SHA256._createHelper(SHA224);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacSHA224(message, key);\n */\n C.HmacSHA224 = SHA256._createHmacHelper(SHA224);\n })();\n\n\n (function (undefined) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var Base = C_lib.Base;\n var X32WordArray = C_lib.WordArray;\n\n /**\n * x64 namespace.\n */\n var C_x64 = C.x64 = {};\n\n /**\n * A 64-bit word.\n */\n var X64Word = C_x64.Word = Base.extend({\n /**\n * Initializes a newly created 64-bit word.\n *\n * @param {number} high The high 32 bits.\n * @param {number} low The low 32 bits.\n *\n * @example\n *\n * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);\n */\n init: function init(high, low) {\n this.high = high;\n this.low = low;\n }\n\n /**\n * Bitwise NOTs this word.\n *\n * @return {X64Word} A new x64-Word object after negating.\n *\n * @example\n *\n * var negated = x64Word.not();\n */\n // not: function () {\n // var high = ~this.high;\n // var low = ~this.low;\n\n // return X64Word.create(high, low);\n // },\n\n /**\n * Bitwise ANDs this word with the passed word.\n *\n * @param {X64Word} word The x64-Word to AND with this word.\n *\n * @return {X64Word} A new x64-Word object after ANDing.\n *\n * @example\n *\n * var anded = x64Word.and(anotherX64Word);\n */\n // and: function (word) {\n // var high = this.high & word.high;\n // var low = this.low & word.low;\n\n // return X64Word.create(high, low);\n // },\n\n /**\n * Bitwise ORs this word with the passed word.\n *\n * @param {X64Word} word The x64-Word to OR with this word.\n *\n * @return {X64Word} A new x64-Word object after ORing.\n *\n * @example\n *\n * var ored = x64Word.or(anotherX64Word);\n */\n // or: function (word) {\n // var high = this.high | word.high;\n // var low = this.low | word.low;\n\n // return X64Word.create(high, low);\n // },\n\n /**\n * Bitwise XORs this word with the passed word.\n *\n * @param {X64Word} word The x64-Word to XOR with this word.\n *\n * @return {X64Word} A new x64-Word object after XORing.\n *\n * @example\n *\n * var xored = x64Word.xor(anotherX64Word);\n */\n // xor: function (word) {\n // var high = this.high ^ word.high;\n // var low = this.low ^ word.low;\n\n // return X64Word.create(high, low);\n // },\n\n /**\n * Shifts this word n bits to the left.\n *\n * @param {number} n The number of bits to shift.\n *\n * @return {X64Word} A new x64-Word object after shifting.\n *\n * @example\n *\n * var shifted = x64Word.shiftL(25);\n */\n // shiftL: function (n) {\n // if (n < 32) {\n // var high = (this.high << n) | (this.low >>> (32 - n));\n // var low = this.low << n;\n // } else {\n // var high = this.low << (n - 32);\n // var low = 0;\n // }\n\n // return X64Word.create(high, low);\n // },\n\n /**\n * Shifts this word n bits to the right.\n *\n * @param {number} n The number of bits to shift.\n *\n * @return {X64Word} A new x64-Word object after shifting.\n *\n * @example\n *\n * var shifted = x64Word.shiftR(7);\n */\n // shiftR: function (n) {\n // if (n < 32) {\n // var low = (this.low >>> n) | (this.high << (32 - n));\n // var high = this.high >>> n;\n // } else {\n // var low = this.high >>> (n - 32);\n // var high = 0;\n // }\n\n // return X64Word.create(high, low);\n // },\n\n /**\n * Rotates this word n bits to the left.\n *\n * @param {number} n The number of bits to rotate.\n *\n * @return {X64Word} A new x64-Word object after rotating.\n *\n * @example\n *\n * var rotated = x64Word.rotL(25);\n */\n // rotL: function (n) {\n // return this.shiftL(n).or(this.shiftR(64 - n));\n // },\n\n /**\n * Rotates this word n bits to the right.\n *\n * @param {number} n The number of bits to rotate.\n *\n * @return {X64Word} A new x64-Word object after rotating.\n *\n * @example\n *\n * var rotated = x64Word.rotR(7);\n */\n // rotR: function (n) {\n // return this.shiftR(n).or(this.shiftL(64 - n));\n // },\n\n /**\n * Adds this word with the passed word.\n *\n * @param {X64Word} word The x64-Word to add with this word.\n *\n * @return {X64Word} A new x64-Word object after adding.\n *\n * @example\n *\n * var added = x64Word.add(anotherX64Word);\n */\n // add: function (word) {\n // var low = (this.low + word.low) | 0;\n // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;\n // var high = (this.high + word.high + carry) | 0;\n\n // return X64Word.create(high, low);\n // }\n });\n\n /**\n * An array of 64-bit words.\n *\n * @property {Array} words The array of CryptoJS.x64.Word objects.\n * @property {number} sigBytes The number of significant bytes in this word array.\n */\n var X64WordArray = C_x64.WordArray = Base.extend({\n /**\n * Initializes a newly created word array.\n *\n * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.\n * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n *\n * @example\n *\n * var wordArray = CryptoJS.x64.WordArray.create();\n *\n * var wordArray = CryptoJS.x64.WordArray.create([\n * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n * ]);\n *\n * var wordArray = CryptoJS.x64.WordArray.create([\n * CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n * ], 10);\n */\n init: function init(words, sigBytes) {\n words = this.words = words || [];\n\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 8;\n }\n },\n\n /**\n * Converts this 64-bit word array to a 32-bit word array.\n *\n * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.\n *\n * @example\n *\n * var x32WordArray = x64WordArray.toX32();\n */\n toX32: function toX32() {\n // Shortcuts\n var x64Words = this.words;\n var x64WordsLength = x64Words.length;\n\n // Convert\n var x32Words = [];\n for (var i = 0; i < x64WordsLength; i++) {\n var x64Word = x64Words[i];\n x32Words.push(x64Word.high);\n x32Words.push(x64Word.low);\n }\n\n return X32WordArray.create(x32Words, this.sigBytes);\n },\n\n /**\n * Creates a copy of this word array.\n *\n * @return {X64WordArray} The clone.\n *\n * @example\n *\n * var clone = x64WordArray.clone();\n */\n clone: function clone() {\n var clone = Base.clone.call(this);\n\n // Clone \"words\" array\n var words = clone.words = this.words.slice(0);\n\n // Clone each X64Word object\n var wordsLength = words.length;\n for (var i = 0; i < wordsLength; i++) {\n words[i] = words[i].clone();\n }\n\n return clone;\n } });\n\n })();\n\n\n (function (Math) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var Hasher = C_lib.Hasher;\n var C_x64 = C.x64;\n var X64Word = C_x64.Word;\n var C_algo = C.algo;\n\n // Constants tables\n var RHO_OFFSETS = [];\n var PI_INDEXES = [];\n var ROUND_CONSTANTS = [];\n\n // Compute Constants\n (function () {\n // Compute rho offset constants\n var x = 1,\n y = 0;\n for (var t = 0; t < 24; t++) {\n RHO_OFFSETS[x + 5 * y] = (t + 1) * (t + 2) / 2 % 64;\n\n var newX = y % 5;\n var newY = (2 * x + 3 * y) % 5;\n x = newX;\n y = newY;\n }\n\n // Compute pi index constants\n for (var x = 0; x < 5; x++) {\n for (var y = 0; y < 5; y++) {\n PI_INDEXES[x + 5 * y] = y + (2 * x + 3 * y) % 5 * 5;\n }\n }\n\n // Compute round constants\n var LFSR = 0x01;\n for (var i = 0; i < 24; i++) {\n var roundConstantMsw = 0;\n var roundConstantLsw = 0;\n\n for (var j = 0; j < 7; j++) {\n if (LFSR & 0x01) {\n var bitPosition = (1 << j) - 1;\n if (bitPosition < 32) {\n roundConstantLsw ^= 1 << bitPosition;\n } else /* if (bitPosition >= 32) */{\n roundConstantMsw ^= 1 << bitPosition - 32;\n }\n }\n\n // Compute next LFSR\n if (LFSR & 0x80) {\n // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1\n LFSR = LFSR << 1 ^ 0x71;\n } else {\n LFSR <<= 1;\n }\n }\n\n ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);\n }\n })();\n\n // Reusable objects for temporary values\n var T = [];\n (function () {\n for (var i = 0; i < 25; i++) {\n T[i] = X64Word.create();\n }\n })();\n\n /**\n * SHA-3 hash algorithm.\n */\n var SHA3 = C_algo.SHA3 = Hasher.extend({\n /**\n * Configuration options.\n *\n * @property {number} outputLength\n * The desired number of bits in the output hash.\n * Only values permitted are: 224, 256, 384, 512.\n * Default: 512\n */\n cfg: Hasher.cfg.extend({\n outputLength: 512 }),\n\n\n _doReset: function _doReset() {\n var state = this._state = [];\n for (var i = 0; i < 25; i++) {\n state[i] = new X64Word.init();\n }\n\n this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Shortcuts\n var state = this._state;\n var nBlockSizeLanes = this.blockSize / 2;\n\n // Absorb\n for (var i = 0; i < nBlockSizeLanes; i++) {\n // Shortcuts\n var M2i = M[offset + 2 * i];\n var M2i1 = M[offset + 2 * i + 1];\n\n // Swap endian\n M2i =\n (M2i << 8 | M2i >>> 24) & 0x00ff00ff |\n (M2i << 24 | M2i >>> 8) & 0xff00ff00;\n\n M2i1 =\n (M2i1 << 8 | M2i1 >>> 24) & 0x00ff00ff |\n (M2i1 << 24 | M2i1 >>> 8) & 0xff00ff00;\n\n\n // Absorb message into state\n var lane = state[i];\n lane.high ^= M2i1;\n lane.low ^= M2i;\n }\n\n // Rounds\n for (var round = 0; round < 24; round++) {\n // Theta\n for (var x = 0; x < 5; x++) {\n // Mix column lanes\n var tMsw = 0,\n tLsw = 0;\n for (var y = 0; y < 5; y++) {\n var lane = state[x + 5 * y];\n tMsw ^= lane.high;\n tLsw ^= lane.low;\n }\n\n // Temporary values\n var Tx = T[x];\n Tx.high = tMsw;\n Tx.low = tLsw;\n }\n for (var x = 0; x < 5; x++) {\n // Shortcuts\n var Tx4 = T[(x + 4) % 5];\n var Tx1 = T[(x + 1) % 5];\n var Tx1Msw = Tx1.high;\n var Tx1Lsw = Tx1.low;\n\n // Mix surrounding columns\n var tMsw = Tx4.high ^ (Tx1Msw << 1 | Tx1Lsw >>> 31);\n var tLsw = Tx4.low ^ (Tx1Lsw << 1 | Tx1Msw >>> 31);\n for (var y = 0; y < 5; y++) {\n var lane = state[x + 5 * y];\n lane.high ^= tMsw;\n lane.low ^= tLsw;\n }\n }\n\n // Rho Pi\n for (var laneIndex = 1; laneIndex < 25; laneIndex++) {\n var tMsw;\n var tLsw;\n\n // Shortcuts\n var lane = state[laneIndex];\n var laneMsw = lane.high;\n var laneLsw = lane.low;\n var rhoOffset = RHO_OFFSETS[laneIndex];\n\n // Rotate lanes\n if (rhoOffset < 32) {\n tMsw = laneMsw << rhoOffset | laneLsw >>> 32 - rhoOffset;\n tLsw = laneLsw << rhoOffset | laneMsw >>> 32 - rhoOffset;\n } else /* if (rhoOffset >= 32) */{\n tMsw = laneLsw << rhoOffset - 32 | laneMsw >>> 64 - rhoOffset;\n tLsw = laneMsw << rhoOffset - 32 | laneLsw >>> 64 - rhoOffset;\n }\n\n // Transpose lanes\n var TPiLane = T[PI_INDEXES[laneIndex]];\n TPiLane.high = tMsw;\n TPiLane.low = tLsw;\n }\n\n // Rho pi at x = y = 0\n var T0 = T[0];\n var state0 = state[0];\n T0.high = state0.high;\n T0.low = state0.low;\n\n // Chi\n for (var x = 0; x < 5; x++) {\n for (var y = 0; y < 5; y++) {\n // Shortcuts\n var laneIndex = x + 5 * y;\n var lane = state[laneIndex];\n var TLane = T[laneIndex];\n var Tx1Lane = T[(x + 1) % 5 + 5 * y];\n var Tx2Lane = T[(x + 2) % 5 + 5 * y];\n\n // Mix rows\n lane.high = TLane.high ^ ~Tx1Lane.high & Tx2Lane.high;\n lane.low = TLane.low ^ ~Tx1Lane.low & Tx2Lane.low;\n }\n }\n\n // Iota\n var lane = state[0];\n var roundConstant = ROUND_CONSTANTS[round];\n lane.high ^= roundConstant.high;\n lane.low ^= roundConstant.low;\n }\n },\n\n _doFinalize: function _doFinalize() {\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n var nBitsTotal = this._nDataBytes * 8;\n var nBitsLeft = data.sigBytes * 8;\n var blockSizeBits = this.blockSize * 32;\n\n // Add padding\n dataWords[nBitsLeft >>> 5] |= 0x1 << 24 - nBitsLeft % 32;\n dataWords[(Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits >>> 5) - 1] |= 0x80;\n data.sigBytes = dataWords.length * 4;\n\n // Hash final blocks\n this._process();\n\n // Shortcuts\n var state = this._state;\n var outputLengthBytes = this.cfg.outputLength / 8;\n var outputLengthLanes = outputLengthBytes / 8;\n\n // Squeeze\n var hashWords = [];\n for (var i = 0; i < outputLengthLanes; i++) {\n // Shortcuts\n var lane = state[i];\n var laneMsw = lane.high;\n var laneLsw = lane.low;\n\n // Swap endian\n laneMsw =\n (laneMsw << 8 | laneMsw >>> 24) & 0x00ff00ff |\n (laneMsw << 24 | laneMsw >>> 8) & 0xff00ff00;\n\n laneLsw =\n (laneLsw << 8 | laneLsw >>> 24) & 0x00ff00ff |\n (laneLsw << 24 | laneLsw >>> 8) & 0xff00ff00;\n\n\n // Squeeze state to retrieve hash\n hashWords.push(laneLsw);\n hashWords.push(laneMsw);\n }\n\n // Return final computed hash\n return new WordArray.init(hashWords, outputLengthBytes);\n },\n\n clone: function clone() {\n var clone = Hasher.clone.call(this);\n\n var state = clone._state = this._state.slice(0);\n for (var i = 0; i < 25; i++) {\n state[i] = state[i].clone();\n }\n\n return clone;\n } });\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.SHA3('message');\n * var hash = CryptoJS.SHA3(wordArray);\n */\n C.SHA3 = Hasher._createHelper(SHA3);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacSHA3(message, key);\n */\n C.HmacSHA3 = Hasher._createHmacHelper(SHA3);\n })(Math);\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var Hasher = C_lib.Hasher;\n var C_x64 = C.x64;\n var X64Word = C_x64.Word;\n var X64WordArray = C_x64.WordArray;\n var C_algo = C.algo;\n\n function X64Word_create() {\n return X64Word.create.apply(X64Word, arguments);\n }\n\n // Constants\n var K = [\n X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd),\n X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc),\n X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019),\n X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118),\n X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe),\n X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2),\n X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1),\n X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694),\n X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3),\n X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65),\n X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483),\n X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5),\n X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210),\n X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4),\n X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725),\n X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70),\n X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926),\n X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df),\n X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8),\n X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b),\n X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001),\n X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30),\n X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910),\n X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8),\n X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53),\n X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8),\n X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb),\n X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3),\n X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60),\n X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec),\n X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9),\n X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b),\n X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207),\n X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178),\n X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6),\n X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b),\n X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493),\n X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c),\n X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a),\n X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)];\n\n\n // Reusable objects\n var W = [];\n (function () {\n for (var i = 0; i < 80; i++) {\n W[i] = X64Word_create();\n }\n })();\n\n /**\n * SHA-512 hash algorithm.\n */\n var SHA512 = C_algo.SHA512 = Hasher.extend({\n _doReset: function _doReset() {\n this._hash = new X64WordArray.init([\n new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b),\n new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1),\n new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f),\n new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)]);\n\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Shortcuts\n var H = this._hash.words;\n\n var H0 = H[0];\n var H1 = H[1];\n var H2 = H[2];\n var H3 = H[3];\n var H4 = H[4];\n var H5 = H[5];\n var H6 = H[6];\n var H7 = H[7];\n\n var H0h = H0.high;\n var H0l = H0.low;\n var H1h = H1.high;\n var H1l = H1.low;\n var H2h = H2.high;\n var H2l = H2.low;\n var H3h = H3.high;\n var H3l = H3.low;\n var H4h = H4.high;\n var H4l = H4.low;\n var H5h = H5.high;\n var H5l = H5.low;\n var H6h = H6.high;\n var H6l = H6.low;\n var H7h = H7.high;\n var H7l = H7.low;\n\n // Working variables\n var ah = H0h;\n var al = H0l;\n var bh = H1h;\n var bl = H1l;\n var ch = H2h;\n var cl = H2l;\n var dh = H3h;\n var dl = H3l;\n var eh = H4h;\n var el = H4l;\n var fh = H5h;\n var fl = H5l;\n var gh = H6h;\n var gl = H6l;\n var hh = H7h;\n var hl = H7l;\n\n // Rounds\n for (var i = 0; i < 80; i++) {\n var Wil;\n var Wih;\n\n // Shortcut\n var Wi = W[i];\n\n // Extend message\n if (i < 16) {\n Wih = Wi.high = M[offset + i * 2] | 0;\n Wil = Wi.low = M[offset + i * 2 + 1] | 0;\n } else {\n // Gamma0\n var gamma0x = W[i - 15];\n var gamma0xh = gamma0x.high;\n var gamma0xl = gamma0x.low;\n var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;\n var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);\n\n // Gamma1\n var gamma1x = W[i - 2];\n var gamma1xh = gamma1x.high;\n var gamma1xl = gamma1x.low;\n var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;\n var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7 = W[i - 7];\n var Wi7h = Wi7.high;\n var Wi7l = Wi7.low;\n\n var Wi16 = W[i - 16];\n var Wi16h = Wi16.high;\n var Wi16l = Wi16.low;\n\n Wil = gamma0l + Wi7l;\n Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);\n Wil = Wil + gamma1l;\n Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);\n Wil = Wil + Wi16l;\n Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);\n\n Wi.high = Wih;\n Wi.low = Wil;\n }\n\n var chh = eh & fh ^ ~eh & gh;\n var chl = el & fl ^ ~el & gl;\n var majh = ah & bh ^ ah & ch ^ bh & ch;\n var majl = al & bl ^ al & cl ^ bl & cl;\n\n var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);\n var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);\n var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);\n var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);\n\n // t1 = h + sigma1 + ch + K[i] + W[i]\n var Ki = K[i];\n var Kih = Ki.high;\n var Kil = Ki.low;\n\n var t1l = hl + sigma1l;\n var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);\n var t1l = t1l + chl;\n var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);\n var t1l = t1l + Kil;\n var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);\n var t1l = t1l + Wil;\n var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);\n\n // t2 = sigma0 + maj\n var t2l = sigma0l + majl;\n var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);\n\n // Update working variables\n hh = gh;\n hl = gl;\n gh = fh;\n gl = fl;\n fh = eh;\n fl = el;\n el = dl + t1l | 0;\n eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;\n dh = ch;\n dl = cl;\n ch = bh;\n cl = bl;\n bh = ah;\n bl = al;\n al = t1l + t2l | 0;\n ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;\n }\n\n // Intermediate hash value\n H0l = H0.low = H0l + al;\n H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);\n H1l = H1.low = H1l + bl;\n H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);\n H2l = H2.low = H2l + cl;\n H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);\n H3l = H3.low = H3l + dl;\n H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);\n H4l = H4.low = H4l + el;\n H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);\n H5l = H5.low = H5l + fl;\n H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);\n H6l = H6.low = H6l + gl;\n H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);\n H7l = H7.low = H7l + hl;\n H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);\n },\n\n _doFinalize: function _doFinalize() {\n // Shortcuts\n var data = this._data;\n var dataWords = data.words;\n\n var nBitsTotal = this._nDataBytes * 8;\n var nBitsLeft = data.sigBytes * 8;\n\n // Add padding\n dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;\n dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);\n dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;\n data.sigBytes = dataWords.length * 4;\n\n // Hash final blocks\n this._process();\n\n // Convert hash to 32-bit word array before returning\n var hash = this._hash.toX32();\n\n // Return final computed hash\n return hash;\n },\n\n clone: function clone() {\n var clone = Hasher.clone.call(this);\n clone._hash = this._hash.clone();\n\n return clone;\n },\n\n blockSize: 1024 / 32 });\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.SHA512('message');\n * var hash = CryptoJS.SHA512(wordArray);\n */\n C.SHA512 = Hasher._createHelper(SHA512);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacSHA512(message, key);\n */\n C.HmacSHA512 = Hasher._createHmacHelper(SHA512);\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_x64 = C.x64;\n var X64Word = C_x64.Word;\n var X64WordArray = C_x64.WordArray;\n var C_algo = C.algo;\n var SHA512 = C_algo.SHA512;\n\n /**\n * SHA-384 hash algorithm.\n */\n var SHA384 = C_algo.SHA384 = SHA512.extend({\n _doReset: function _doReset() {\n this._hash = new X64WordArray.init([\n new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507),\n new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939),\n new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511),\n new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)]);\n\n },\n\n _doFinalize: function _doFinalize() {\n var hash = SHA512._doFinalize.call(this);\n\n hash.sigBytes -= 16;\n\n return hash;\n } });\n\n\n /**\n * Shortcut function to the hasher's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n *\n * @return {WordArray} The hash.\n *\n * @static\n *\n * @example\n *\n * var hash = CryptoJS.SHA384('message');\n * var hash = CryptoJS.SHA384(wordArray);\n */\n C.SHA384 = SHA512._createHelper(SHA384);\n\n /**\n * Shortcut function to the HMAC's object interface.\n *\n * @param {WordArray|string} message The message to hash.\n * @param {WordArray|string} key The secret key.\n *\n * @return {WordArray} The HMAC.\n *\n * @static\n *\n * @example\n *\n * var hmac = CryptoJS.HmacSHA384(message, key);\n */\n C.HmacSHA384 = SHA512._createHmacHelper(SHA384);\n })();\n\n\n /**\n * Cipher core components.\n */\n CryptoJS.lib.Cipher || function (undefined) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var Base = C_lib.Base;\n var WordArray = C_lib.WordArray;\n var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n var C_enc = C.enc;\n var Utf8 = C_enc.Utf8;\n var Base64 = C_enc.Base64;\n var C_algo = C.algo;\n var EvpKDF = C_algo.EvpKDF;\n\n /**\n * Abstract base cipher template.\n *\n * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n */\n var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n /**\n * Configuration options.\n *\n * @property {WordArray} iv The IV to use for this operation.\n */\n cfg: Base.extend(),\n\n /**\n * Creates this cipher in encryption mode.\n *\n * @param {WordArray} key The key.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @return {Cipher} A cipher instance.\n *\n * @static\n *\n * @example\n *\n * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n */\n createEncryptor: function createEncryptor(key, cfg) {\n return this.create(this._ENC_XFORM_MODE, key, cfg);\n },\n\n /**\n * Creates this cipher in decryption mode.\n *\n * @param {WordArray} key The key.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @return {Cipher} A cipher instance.\n *\n * @static\n *\n * @example\n *\n * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n */\n createDecryptor: function createDecryptor(key, cfg) {\n return this.create(this._DEC_XFORM_MODE, key, cfg);\n },\n\n /**\n * Initializes a newly created cipher.\n *\n * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n * @param {WordArray} key The key.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @example\n *\n * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n */\n init: function init(xformMode, key, cfg) {\n // Apply config defaults\n this.cfg = this.cfg.extend(cfg);\n\n // Store transform mode and key\n this._xformMode = xformMode;\n this._key = key;\n\n // Set initial values\n this.reset();\n },\n\n /**\n * Resets this cipher to its initial state.\n *\n * @example\n *\n * cipher.reset();\n */\n reset: function reset() {\n // Reset data buffer\n BufferedBlockAlgorithm.reset.call(this);\n\n // Perform concrete-cipher logic\n this._doReset();\n },\n\n /**\n * Adds data to be encrypted or decrypted.\n *\n * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n *\n * @return {WordArray} The data after processing.\n *\n * @example\n *\n * var encrypted = cipher.process('data');\n * var encrypted = cipher.process(wordArray);\n */\n process: function process(dataUpdate) {\n // Append\n this._append(dataUpdate);\n\n // Process available blocks\n return this._process();\n },\n\n /**\n * Finalizes the encryption or decryption process.\n * Note that the finalize operation is effectively a destructive, read-once operation.\n *\n * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n *\n * @return {WordArray} The data after final processing.\n *\n * @example\n *\n * var encrypted = cipher.finalize();\n * var encrypted = cipher.finalize('data');\n * var encrypted = cipher.finalize(wordArray);\n */\n finalize: function finalize(dataUpdate) {\n // Final data update\n if (dataUpdate) {\n this._append(dataUpdate);\n }\n\n // Perform concrete-cipher logic\n var finalProcessedData = this._doFinalize();\n\n return finalProcessedData;\n },\n\n keySize: 128 / 32,\n\n ivSize: 128 / 32,\n\n _ENC_XFORM_MODE: 1,\n\n _DEC_XFORM_MODE: 2,\n\n /**\n * Creates shortcut functions to a cipher's object interface.\n *\n * @param {Cipher} cipher The cipher to create a helper for.\n *\n * @return {Object} An object with encrypt and decrypt shortcut functions.\n *\n * @static\n *\n * @example\n *\n * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n */\n _createHelper: function () {\n function selectCipherStrategy(key) {\n if (typeof key == 'string') {\n return PasswordBasedCipher;\n } else {\n return SerializableCipher;\n }\n }\n\n return function (cipher) {\n return {\n encrypt: function encrypt(message, key, cfg) {\n return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n },\n\n decrypt: function decrypt(ciphertext, key, cfg) {\n return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n } };\n\n };\n }() });\n\n\n /**\n * Abstract base stream cipher template.\n *\n * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n */\n var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n _doFinalize: function _doFinalize() {\n // Process partial blocks\n var finalProcessedBlocks = this._process(!!'flush');\n\n return finalProcessedBlocks;\n },\n\n blockSize: 1 });\n\n\n /**\n * Mode namespace.\n */\n var C_mode = C.mode = {};\n\n /**\n * Abstract base block cipher mode template.\n */\n var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n /**\n * Creates this mode for encryption.\n *\n * @param {Cipher} cipher A block cipher instance.\n * @param {Array} iv The IV words.\n *\n * @static\n *\n * @example\n *\n * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n */\n createEncryptor: function createEncryptor(cipher, iv) {\n return this.Encryptor.create(cipher, iv);\n },\n\n /**\n * Creates this mode for decryption.\n *\n * @param {Cipher} cipher A block cipher instance.\n * @param {Array} iv The IV words.\n *\n * @static\n *\n * @example\n *\n * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n */\n createDecryptor: function createDecryptor(cipher, iv) {\n return this.Decryptor.create(cipher, iv);\n },\n\n /**\n * Initializes a newly created mode.\n *\n * @param {Cipher} cipher A block cipher instance.\n * @param {Array} iv The IV words.\n *\n * @example\n *\n * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n */\n init: function init(cipher, iv) {\n this._cipher = cipher;\n this._iv = iv;\n } });\n\n\n /**\n * Cipher Block Chaining mode.\n */\n var CBC = C_mode.CBC = function () {\n /**\n * Abstract base CBC mode.\n */\n var CBC = BlockCipherMode.extend();\n\n /**\n * CBC encryptor.\n */\n CBC.Encryptor = CBC.extend({\n /**\n * Processes the data block at offset.\n *\n * @param {Array} words The data words to operate on.\n * @param {number} offset The offset where the block starts.\n *\n * @example\n *\n * mode.processBlock(data.words, offset);\n */\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n\n // XOR and encrypt\n xorBlock.call(this, words, offset, blockSize);\n cipher.encryptBlock(words, offset);\n\n // Remember this block to use with next block\n this._prevBlock = words.slice(offset, offset + blockSize);\n } });\n\n\n /**\n * CBC decryptor.\n */\n CBC.Decryptor = CBC.extend({\n /**\n * Processes the data block at offset.\n *\n * @param {Array} words The data words to operate on.\n * @param {number} offset The offset where the block starts.\n *\n * @example\n *\n * mode.processBlock(data.words, offset);\n */\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n\n // Remember this block to use with next block\n var thisBlock = words.slice(offset, offset + blockSize);\n\n // Decrypt and XOR\n cipher.decryptBlock(words, offset);\n xorBlock.call(this, words, offset, blockSize);\n\n // This block becomes the previous block\n this._prevBlock = thisBlock;\n } });\n\n\n function xorBlock(words, offset, blockSize) {\n var block;\n\n // Shortcut\n var iv = this._iv;\n\n // Choose mixing block\n if (iv) {\n block = iv;\n\n // Remove IV for subsequent blocks\n this._iv = undefined;\n } else {\n block = this._prevBlock;\n }\n\n // XOR blocks\n for (var i = 0; i < blockSize; i++) {\n words[offset + i] ^= block[i];\n }\n }\n\n return CBC;\n }();\n\n /**\n * Padding namespace.\n */\n var C_pad = C.pad = {};\n\n /**\n * PKCS #5/7 padding strategy.\n */\n var Pkcs7 = C_pad.Pkcs7 = {\n /**\n * Pads data using the algorithm defined in PKCS #5/7.\n *\n * @param {WordArray} data The data to pad.\n * @param {number} blockSize The multiple that the data should be padded to.\n *\n * @static\n *\n * @example\n *\n * CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n */\n pad: function pad(data, blockSize) {\n // Shortcut\n var blockSizeBytes = blockSize * 4;\n\n // Count padding bytes\n var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n // Create padding word\n var paddingWord = nPaddingBytes << 24 | nPaddingBytes << 16 | nPaddingBytes << 8 | nPaddingBytes;\n\n // Create padding\n var paddingWords = [];\n for (var i = 0; i < nPaddingBytes; i += 4) {\n paddingWords.push(paddingWord);\n }\n var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n // Add padding\n data.concat(padding);\n },\n\n /**\n * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n *\n * @param {WordArray} data The data to unpad.\n *\n * @static\n *\n * @example\n *\n * CryptoJS.pad.Pkcs7.unpad(wordArray);\n */\n unpad: function unpad(data) {\n // Get number of padding bytes from last byte\n var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;\n\n // Remove padding\n data.sigBytes -= nPaddingBytes;\n } };\n\n\n /**\n * Abstract base block cipher template.\n *\n * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n */\n var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n /**\n * Configuration options.\n *\n * @property {Mode} mode The block mode to use. Default: CBC\n * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n */\n cfg: Cipher.cfg.extend({\n mode: CBC,\n padding: Pkcs7 }),\n\n\n reset: function reset() {\n var modeCreator;\n\n // Reset cipher\n Cipher.reset.call(this);\n\n // Shortcuts\n var cfg = this.cfg;\n var iv = cfg.iv;\n var mode = cfg.mode;\n\n // Reset block mode\n if (this._xformMode == this._ENC_XFORM_MODE) {\n modeCreator = mode.createEncryptor;\n } else /* if (this._xformMode == this._DEC_XFORM_MODE) */{\n modeCreator = mode.createDecryptor;\n // Keep at least one block in the buffer for unpadding\n this._minBufferSize = 1;\n }\n\n if (this._mode && this._mode.__creator == modeCreator) {\n this._mode.init(this, iv && iv.words);\n } else {\n this._mode = modeCreator.call(mode, this, iv && iv.words);\n this._mode.__creator = modeCreator;\n }\n },\n\n _doProcessBlock: function _doProcessBlock(words, offset) {\n this._mode.processBlock(words, offset);\n },\n\n _doFinalize: function _doFinalize() {\n var finalProcessedBlocks;\n\n // Shortcut\n var padding = this.cfg.padding;\n\n // Finalize\n if (this._xformMode == this._ENC_XFORM_MODE) {\n // Pad data\n padding.pad(this._data, this.blockSize);\n\n // Process final blocks\n finalProcessedBlocks = this._process(!!'flush');\n } else /* if (this._xformMode == this._DEC_XFORM_MODE) */{\n // Process final blocks\n finalProcessedBlocks = this._process(!!'flush');\n\n // Unpad data\n padding.unpad(finalProcessedBlocks);\n }\n\n return finalProcessedBlocks;\n },\n\n blockSize: 128 / 32 });\n\n\n /**\n * A collection of cipher parameters.\n *\n * @property {WordArray} ciphertext The raw ciphertext.\n * @property {WordArray} key The key to this ciphertext.\n * @property {WordArray} iv The IV used in the ciphering operation.\n * @property {WordArray} salt The salt used with a key derivation function.\n * @property {Cipher} algorithm The cipher algorithm.\n * @property {Mode} mode The block mode used in the ciphering operation.\n * @property {Padding} padding The padding scheme used in the ciphering operation.\n * @property {number} blockSize The block size of the cipher.\n * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n */\n var CipherParams = C_lib.CipherParams = Base.extend({\n /**\n * Initializes a newly created cipher params object.\n *\n * @param {Object} cipherParams An object with any of the possible cipher parameters.\n *\n * @example\n *\n * var cipherParams = CryptoJS.lib.CipherParams.create({\n * ciphertext: ciphertextWordArray,\n * key: keyWordArray,\n * iv: ivWordArray,\n * salt: saltWordArray,\n * algorithm: CryptoJS.algo.AES,\n * mode: CryptoJS.mode.CBC,\n * padding: CryptoJS.pad.PKCS7,\n * blockSize: 4,\n * formatter: CryptoJS.format.OpenSSL\n * });\n */\n init: function init(cipherParams) {\n this.mixIn(cipherParams);\n },\n\n /**\n * Converts this cipher params object to a string.\n *\n * @param {Format} formatter (Optional) The formatting strategy to use.\n *\n * @return {string} The stringified cipher params.\n *\n * @throws Error If neither the formatter nor the default formatter is set.\n *\n * @example\n *\n * var string = cipherParams + '';\n * var string = cipherParams.toString();\n * var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n */\n toString: function toString(formatter) {\n return (formatter || this.formatter).stringify(this);\n } });\n\n\n /**\n * Format namespace.\n */\n var C_format = C.format = {};\n\n /**\n * OpenSSL formatting strategy.\n */\n var OpenSSLFormatter = C_format.OpenSSL = {\n /**\n * Converts a cipher params object to an OpenSSL-compatible string.\n *\n * @param {CipherParams} cipherParams The cipher params object.\n *\n * @return {string} The OpenSSL-compatible string.\n *\n * @static\n *\n * @example\n *\n * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n */\n stringify: function stringify(cipherParams) {\n var wordArray;\n\n // Shortcuts\n var ciphertext = cipherParams.ciphertext;\n var salt = cipherParams.salt;\n\n // Format\n if (salt) {\n wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n } else {\n wordArray = ciphertext;\n }\n\n return wordArray.toString(Base64);\n },\n\n /**\n * Converts an OpenSSL-compatible string to a cipher params object.\n *\n * @param {string} openSSLStr The OpenSSL-compatible string.\n *\n * @return {CipherParams} The cipher params object.\n *\n * @static\n *\n * @example\n *\n * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n */\n parse: function parse(openSSLStr) {\n var salt;\n\n // Parse base64\n var ciphertext = Base64.parse(openSSLStr);\n\n // Shortcut\n var ciphertextWords = ciphertext.words;\n\n // Test for salt\n if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n // Extract salt\n salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n // Remove salt from ciphertext\n ciphertextWords.splice(0, 4);\n ciphertext.sigBytes -= 16;\n }\n\n return CipherParams.create({\n ciphertext: ciphertext,\n salt: salt });\n\n } };\n\n\n /**\n * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n */\n var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n /**\n * Configuration options.\n *\n * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n */\n cfg: Base.extend({\n format: OpenSSLFormatter }),\n\n\n /**\n * Encrypts a message.\n *\n * @param {Cipher} cipher The cipher algorithm to use.\n * @param {WordArray|string} message The message to encrypt.\n * @param {WordArray} key The key.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @return {CipherParams} A cipher params object.\n *\n * @static\n *\n * @example\n *\n * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n */\n encrypt: function encrypt(cipher, message, key, cfg) {\n // Apply config defaults\n cfg = this.cfg.extend(cfg);\n\n // Encrypt\n var encryptor = cipher.createEncryptor(key, cfg);\n var ciphertext = encryptor.finalize(message);\n\n // Shortcut\n var cipherCfg = encryptor.cfg;\n\n // Create and return serializable cipher params\n return CipherParams.create({\n ciphertext: ciphertext,\n key: key,\n iv: cipherCfg.iv,\n algorithm: cipher,\n mode: cipherCfg.mode,\n padding: cipherCfg.padding,\n blockSize: cipher.blockSize,\n formatter: cfg.format });\n\n },\n\n /**\n * Decrypts serialized ciphertext.\n *\n * @param {Cipher} cipher The cipher algorithm to use.\n * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n * @param {WordArray} key The key.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @return {WordArray} The plaintext.\n *\n * @static\n *\n * @example\n *\n * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n */\n decrypt: function decrypt(cipher, ciphertext, key, cfg) {\n // Apply config defaults\n cfg = this.cfg.extend(cfg);\n\n // Convert string to CipherParams\n ciphertext = this._parse(ciphertext, cfg.format);\n\n // Decrypt\n var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n return plaintext;\n },\n\n /**\n * Converts serialized ciphertext to CipherParams,\n * else assumed CipherParams already and returns ciphertext unchanged.\n *\n * @param {CipherParams|string} ciphertext The ciphertext.\n * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n *\n * @return {CipherParams} The unserialized ciphertext.\n *\n * @static\n *\n * @example\n *\n * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n */\n _parse: function _parse(ciphertext, format) {\n if (typeof ciphertext == 'string') {\n return format.parse(ciphertext, this);\n } else {\n return ciphertext;\n }\n } });\n\n\n /**\n * Key derivation function namespace.\n */\n var C_kdf = C.kdf = {};\n\n /**\n * OpenSSL key derivation function.\n */\n var OpenSSLKdf = C_kdf.OpenSSL = {\n /**\n * Derives a key and IV from a password.\n *\n * @param {string} password The password to derive from.\n * @param {number} keySize The size in words of the key to generate.\n * @param {number} ivSize The size in words of the IV to generate.\n * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n *\n * @return {CipherParams} A cipher params object with the key, IV, and salt.\n *\n * @static\n *\n * @example\n *\n * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n */\n execute: function execute(password, keySize, ivSize, salt) {\n // Generate random salt\n if (!salt) {\n salt = WordArray.random(64 / 8);\n }\n\n // Derive key and IV\n var key = EvpKDF.create({\n keySize: keySize + ivSize }).\n compute(password, salt);\n\n // Separate key and IV\n var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n key.sigBytes = keySize * 4;\n\n // Return params\n return CipherParams.create({\n key: key,\n iv: iv,\n salt: salt });\n\n } };\n\n\n /**\n * A serializable cipher wrapper that derives the key from a password,\n * and returns ciphertext as a serializable cipher params object.\n */\n var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n /**\n * Configuration options.\n *\n * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n */\n cfg: SerializableCipher.cfg.extend({\n kdf: OpenSSLKdf }),\n\n\n /**\n * Encrypts a message using a password.\n *\n * @param {Cipher} cipher The cipher algorithm to use.\n * @param {WordArray|string} message The message to encrypt.\n * @param {string} password The password.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @return {CipherParams} A cipher params object.\n *\n * @static\n *\n * @example\n *\n * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n */\n encrypt: function encrypt(cipher, message, password, cfg) {\n // Apply config defaults\n cfg = this.cfg.extend(cfg);\n\n // Derive key and other params\n var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);\n\n // Add IV to config\n cfg.iv = derivedParams.iv;\n\n // Encrypt\n var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n // Mix in derived params\n ciphertext.mixIn(derivedParams);\n\n return ciphertext;\n },\n\n /**\n * Decrypts serialized ciphertext using a password.\n *\n * @param {Cipher} cipher The cipher algorithm to use.\n * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n * @param {string} password The password.\n * @param {Object} cfg (Optional) The configuration options to use for this operation.\n *\n * @return {WordArray} The plaintext.\n *\n * @static\n *\n * @example\n *\n * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n */\n decrypt: function decrypt(cipher, ciphertext, password, cfg) {\n // Apply config defaults\n cfg = this.cfg.extend(cfg);\n\n // Convert string to CipherParams\n ciphertext = this._parse(ciphertext, cfg.format);\n\n // Derive key and other params\n var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);\n\n // Add IV to config\n cfg.iv = derivedParams.iv;\n\n // Decrypt\n var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n return plaintext;\n } });\n\n }();\n\n\n /**\n * Cipher Feedback block mode.\n */\n CryptoJS.mode.CFB = function () {\n var CFB = CryptoJS.lib.BlockCipherMode.extend();\n\n CFB.Encryptor = CFB.extend({\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n\n generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n // Remember this block to use with next block\n this._prevBlock = words.slice(offset, offset + blockSize);\n } });\n\n\n CFB.Decryptor = CFB.extend({\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n\n // Remember this block to use with next block\n var thisBlock = words.slice(offset, offset + blockSize);\n\n generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n // This block becomes the previous block\n this._prevBlock = thisBlock;\n } });\n\n\n function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {\n var keystream;\n\n // Shortcut\n var iv = this._iv;\n\n // Generate keystream\n if (iv) {\n keystream = iv.slice(0);\n\n // Remove IV for subsequent blocks\n this._iv = undefined;\n } else {\n keystream = this._prevBlock;\n }\n cipher.encryptBlock(keystream, 0);\n\n // Encrypt\n for (var i = 0; i < blockSize; i++) {\n words[offset + i] ^= keystream[i];\n }\n }\n\n return CFB;\n }();\n\n\n /**\n * Electronic Codebook block mode.\n */\n CryptoJS.mode.ECB = function () {\n var ECB = CryptoJS.lib.BlockCipherMode.extend();\n\n ECB.Encryptor = ECB.extend({\n processBlock: function processBlock(words, offset) {\n this._cipher.encryptBlock(words, offset);\n } });\n\n\n ECB.Decryptor = ECB.extend({\n processBlock: function processBlock(words, offset) {\n this._cipher.decryptBlock(words, offset);\n } });\n\n\n return ECB;\n }();\n\n\n /**\n * ANSI X.923 padding strategy.\n */\n CryptoJS.pad.AnsiX923 = {\n pad: function pad(data, blockSize) {\n // Shortcuts\n var dataSigBytes = data.sigBytes;\n var blockSizeBytes = blockSize * 4;\n\n // Count padding bytes\n var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;\n\n // Compute last byte position\n var lastBytePos = dataSigBytes + nPaddingBytes - 1;\n\n // Pad\n data.clamp();\n data.words[lastBytePos >>> 2] |= nPaddingBytes << 24 - lastBytePos % 4 * 8;\n data.sigBytes += nPaddingBytes;\n },\n\n unpad: function unpad(data) {\n // Get number of padding bytes from last byte\n var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;\n\n // Remove padding\n data.sigBytes -= nPaddingBytes;\n } };\n\n\n\n /**\n * ISO 10126 padding strategy.\n */\n CryptoJS.pad.Iso10126 = {\n pad: function pad(data, blockSize) {\n // Shortcut\n var blockSizeBytes = blockSize * 4;\n\n // Count padding bytes\n var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n // Pad\n data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).\n concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));\n },\n\n unpad: function unpad(data) {\n // Get number of padding bytes from last byte\n var nPaddingBytes = data.words[data.sigBytes - 1 >>> 2] & 0xff;\n\n // Remove padding\n data.sigBytes -= nPaddingBytes;\n } };\n\n\n\n /**\n * ISO/IEC 9797-1 Padding Method 2.\n */\n CryptoJS.pad.Iso97971 = {\n pad: function pad(data, blockSize) {\n // Add 0x80 byte\n data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));\n\n // Zero pad the rest\n CryptoJS.pad.ZeroPadding.pad(data, blockSize);\n },\n\n unpad: function unpad(data) {\n // Remove zero padding\n CryptoJS.pad.ZeroPadding.unpad(data);\n\n // Remove one more byte -- the 0x80 byte\n data.sigBytes--;\n } };\n\n\n\n /**\n * Output Feedback block mode.\n */\n CryptoJS.mode.OFB = function () {\n var OFB = CryptoJS.lib.BlockCipherMode.extend();\n\n var Encryptor = OFB.Encryptor = OFB.extend({\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n var iv = this._iv;\n var keystream = this._keystream;\n\n // Generate keystream\n if (iv) {\n keystream = this._keystream = iv.slice(0);\n\n // Remove IV for subsequent blocks\n this._iv = undefined;\n }\n cipher.encryptBlock(keystream, 0);\n\n // Encrypt\n for (var i = 0; i < blockSize; i++) {\n words[offset + i] ^= keystream[i];\n }\n } });\n\n\n OFB.Decryptor = Encryptor;\n\n return OFB;\n }();\n\n\n /**\n * A noop padding strategy.\n */\n CryptoJS.pad.NoPadding = {\n pad: function pad() {},\n\n unpad: function unpad() {} };\n\n\n\n (function (undefined) {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var CipherParams = C_lib.CipherParams;\n var C_enc = C.enc;\n var Hex = C_enc.Hex;\n var C_format = C.format;\n\n var HexFormatter = C_format.Hex = {\n /**\n * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.\n *\n * @param {CipherParams} cipherParams The cipher params object.\n *\n * @return {string} The hexadecimally encoded string.\n *\n * @static\n *\n * @example\n *\n * var hexString = CryptoJS.format.Hex.stringify(cipherParams);\n */\n stringify: function stringify(cipherParams) {\n return cipherParams.ciphertext.toString(Hex);\n },\n\n /**\n * Converts a hexadecimally encoded ciphertext string to a cipher params object.\n *\n * @param {string} input The hexadecimally encoded string.\n *\n * @return {CipherParams} The cipher params object.\n *\n * @static\n *\n * @example\n *\n * var cipherParams = CryptoJS.format.Hex.parse(hexString);\n */\n parse: function parse(input) {\n var ciphertext = Hex.parse(input);\n return CipherParams.create({\n ciphertext: ciphertext });\n\n } };\n\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var BlockCipher = C_lib.BlockCipher;\n var C_algo = C.algo;\n\n // Lookup tables\n var SBOX = [];\n var INV_SBOX = [];\n var SUB_MIX_0 = [];\n var SUB_MIX_1 = [];\n var SUB_MIX_2 = [];\n var SUB_MIX_3 = [];\n var INV_SUB_MIX_0 = [];\n var INV_SUB_MIX_1 = [];\n var INV_SUB_MIX_2 = [];\n var INV_SUB_MIX_3 = [];\n\n // Compute lookup tables\n (function () {\n // Compute double table\n var d = [];\n for (var i = 0; i < 256; i++) {\n if (i < 128) {\n d[i] = i << 1;\n } else {\n d[i] = i << 1 ^ 0x11b;\n }\n }\n\n // Walk GF(2^8)\n var x = 0;\n var xi = 0;\n for (var i = 0; i < 256; i++) {\n // Compute sbox\n var sx = xi ^ xi << 1 ^ xi << 2 ^ xi << 3 ^ xi << 4;\n sx = sx >>> 8 ^ sx & 0xff ^ 0x63;\n SBOX[x] = sx;\n INV_SBOX[sx] = x;\n\n // Compute multiplication\n var x2 = d[x];\n var x4 = d[x2];\n var x8 = d[x4];\n\n // Compute sub bytes, mix columns tables\n var t = d[sx] * 0x101 ^ sx * 0x1010100;\n SUB_MIX_0[x] = t << 24 | t >>> 8;\n SUB_MIX_1[x] = t << 16 | t >>> 16;\n SUB_MIX_2[x] = t << 8 | t >>> 24;\n SUB_MIX_3[x] = t;\n\n // Compute inv sub bytes, inv mix columns tables\n var t = x8 * 0x1010101 ^ x4 * 0x10001 ^ x2 * 0x101 ^ x * 0x1010100;\n INV_SUB_MIX_0[sx] = t << 24 | t >>> 8;\n INV_SUB_MIX_1[sx] = t << 16 | t >>> 16;\n INV_SUB_MIX_2[sx] = t << 8 | t >>> 24;\n INV_SUB_MIX_3[sx] = t;\n\n // Compute next counter\n if (!x) {\n x = xi = 1;\n } else {\n x = x2 ^ d[d[d[x8 ^ x2]]];\n xi ^= d[d[xi]];\n }\n }\n })();\n\n // Precomputed Rcon lookup\n var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n /**\n * AES block cipher algorithm.\n */\n var AES = C_algo.AES = BlockCipher.extend({\n _doReset: function _doReset() {\n var t;\n\n // Skip reset of nRounds has been set before and key did not change\n if (this._nRounds && this._keyPriorReset === this._key) {\n return;\n }\n\n // Shortcuts\n var key = this._keyPriorReset = this._key;\n var keyWords = key.words;\n var keySize = key.sigBytes / 4;\n\n // Compute number of rounds\n var nRounds = this._nRounds = keySize + 6;\n\n // Compute number of key schedule rows\n var ksRows = (nRounds + 1) * 4;\n\n // Compute key schedule\n var keySchedule = this._keySchedule = [];\n for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n if (ksRow < keySize) {\n keySchedule[ksRow] = keyWords[ksRow];\n } else {\n t = keySchedule[ksRow - 1];\n\n if (!(ksRow % keySize)) {\n // Rot word\n t = t << 8 | t >>> 24;\n\n // Sub word\n t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 0xff] << 16 | SBOX[t >>> 8 & 0xff] << 8 | SBOX[t & 0xff];\n\n // Mix Rcon\n t ^= RCON[ksRow / keySize | 0] << 24;\n } else if (keySize > 6 && ksRow % keySize == 4) {\n // Sub word\n t = SBOX[t >>> 24] << 24 | SBOX[t >>> 16 & 0xff] << 16 | SBOX[t >>> 8 & 0xff] << 8 | SBOX[t & 0xff];\n }\n\n keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n }\n }\n\n // Compute inv key schedule\n var invKeySchedule = this._invKeySchedule = [];\n for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n var ksRow = ksRows - invKsRow;\n\n if (invKsRow % 4) {\n var t = keySchedule[ksRow];\n } else {\n var t = keySchedule[ksRow - 4];\n }\n\n if (invKsRow < 4 || ksRow <= 4) {\n invKeySchedule[invKsRow] = t;\n } else {\n invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[t >>> 16 & 0xff]] ^\n INV_SUB_MIX_2[SBOX[t >>> 8 & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n }\n }\n },\n\n encryptBlock: function encryptBlock(M, offset) {\n this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n },\n\n decryptBlock: function decryptBlock(M, offset) {\n // Swap 2nd and 4th rows\n var t = M[offset + 1];\n M[offset + 1] = M[offset + 3];\n M[offset + 3] = t;\n\n this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n // Inv swap 2nd and 4th rows\n var t = M[offset + 1];\n M[offset + 1] = M[offset + 3];\n M[offset + 3] = t;\n },\n\n _doCryptBlock: function _doCryptBlock(M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n // Shortcut\n var nRounds = this._nRounds;\n\n // Get input, add round key\n var s0 = M[offset] ^ keySchedule[0];\n var s1 = M[offset + 1] ^ keySchedule[1];\n var s2 = M[offset + 2] ^ keySchedule[2];\n var s3 = M[offset + 3] ^ keySchedule[3];\n\n // Key schedule row counter\n var ksRow = 4;\n\n // Rounds\n for (var round = 1; round < nRounds; round++) {\n // Shift rows, sub bytes, mix columns, add round key\n var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[s1 >>> 16 & 0xff] ^ SUB_MIX_2[s2 >>> 8 & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[s2 >>> 16 & 0xff] ^ SUB_MIX_2[s3 >>> 8 & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[s3 >>> 16 & 0xff] ^ SUB_MIX_2[s0 >>> 8 & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[s0 >>> 16 & 0xff] ^ SUB_MIX_2[s1 >>> 8 & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n // Update state\n s0 = t0;\n s1 = t1;\n s2 = t2;\n s3 = t3;\n }\n\n // Shift rows, sub bytes, add round key\n var t0 = (SBOX[s0 >>> 24] << 24 | SBOX[s1 >>> 16 & 0xff] << 16 | SBOX[s2 >>> 8 & 0xff] << 8 | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n var t1 = (SBOX[s1 >>> 24] << 24 | SBOX[s2 >>> 16 & 0xff] << 16 | SBOX[s3 >>> 8 & 0xff] << 8 | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n var t2 = (SBOX[s2 >>> 24] << 24 | SBOX[s3 >>> 16 & 0xff] << 16 | SBOX[s0 >>> 8 & 0xff] << 8 | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n var t3 = (SBOX[s3 >>> 24] << 24 | SBOX[s0 >>> 16 & 0xff] << 16 | SBOX[s1 >>> 8 & 0xff] << 8 | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n // Set output\n M[offset] = t0;\n M[offset + 1] = t1;\n M[offset + 2] = t2;\n M[offset + 3] = t3;\n },\n\n keySize: 256 / 32 });\n\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n */\n C.AES = BlockCipher._createHelper(AES);\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var WordArray = C_lib.WordArray;\n var BlockCipher = C_lib.BlockCipher;\n var C_algo = C.algo;\n\n // Permuted Choice 1 constants\n var PC1 = [\n 57, 49, 41, 33, 25, 17, 9, 1,\n 58, 50, 42, 34, 26, 18, 10, 2,\n 59, 51, 43, 35, 27, 19, 11, 3,\n 60, 52, 44, 36, 63, 55, 47, 39,\n 31, 23, 15, 7, 62, 54, 46, 38,\n 30, 22, 14, 6, 61, 53, 45, 37,\n 29, 21, 13, 5, 28, 20, 12, 4];\n\n\n // Permuted Choice 2 constants\n var PC2 = [\n 14, 17, 11, 24, 1, 5,\n 3, 28, 15, 6, 21, 10,\n 23, 19, 12, 4, 26, 8,\n 16, 7, 27, 20, 13, 2,\n 41, 52, 31, 37, 47, 55,\n 30, 40, 51, 45, 33, 48,\n 44, 49, 39, 56, 34, 53,\n 46, 42, 50, 36, 29, 32];\n\n\n // Cumulative bit shift constants\n var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];\n\n // SBOXes and round permutation constants\n var SBOX_P = [{\n 0x0: 0x808200,\n 0x10000000: 0x8000,\n 0x20000000: 0x808002,\n 0x30000000: 0x2,\n 0x40000000: 0x200,\n 0x50000000: 0x808202,\n 0x60000000: 0x800202,\n 0x70000000: 0x800000,\n 0x80000000: 0x202,\n 0x90000000: 0x800200,\n 0xa0000000: 0x8200,\n 0xb0000000: 0x808000,\n 0xc0000000: 0x8002,\n 0xd0000000: 0x800002,\n 0xe0000000: 0x0,\n 0xf0000000: 0x8202,\n 0x8000000: 0x0,\n 0x18000000: 0x808202,\n 0x28000000: 0x8202,\n 0x38000000: 0x8000,\n 0x48000000: 0x808200,\n 0x58000000: 0x200,\n 0x68000000: 0x808002,\n 0x78000000: 0x2,\n 0x88000000: 0x800200,\n 0x98000000: 0x8200,\n 0xa8000000: 0x808000,\n 0xb8000000: 0x800202,\n 0xc8000000: 0x800002,\n 0xd8000000: 0x8002,\n 0xe8000000: 0x202,\n 0xf8000000: 0x800000,\n 0x1: 0x8000,\n 0x10000001: 0x2,\n 0x20000001: 0x808200,\n 0x30000001: 0x800000,\n 0x40000001: 0x808002,\n 0x50000001: 0x8200,\n 0x60000001: 0x200,\n 0x70000001: 0x800202,\n 0x80000001: 0x808202,\n 0x90000001: 0x808000,\n 0xa0000001: 0x800002,\n 0xb0000001: 0x8202,\n 0xc0000001: 0x202,\n 0xd0000001: 0x800200,\n 0xe0000001: 0x8002,\n 0xf0000001: 0x0,\n 0x8000001: 0x808202,\n 0x18000001: 0x808000,\n 0x28000001: 0x800000,\n 0x38000001: 0x200,\n 0x48000001: 0x8000,\n 0x58000001: 0x800002,\n 0x68000001: 0x2,\n 0x78000001: 0x8202,\n 0x88000001: 0x8002,\n 0x98000001: 0x800202,\n 0xa8000001: 0x202,\n 0xb8000001: 0x808200,\n 0xc8000001: 0x800200,\n 0xd8000001: 0x0,\n 0xe8000001: 0x8200,\n 0xf8000001: 0x808002 },\n\n {\n 0x0: 0x40084010,\n 0x1000000: 0x4000,\n 0x2000000: 0x80000,\n 0x3000000: 0x40080010,\n 0x4000000: 0x40000010,\n 0x5000000: 0x40084000,\n 0x6000000: 0x40004000,\n 0x7000000: 0x10,\n 0x8000000: 0x84000,\n 0x9000000: 0x40004010,\n 0xa000000: 0x40000000,\n 0xb000000: 0x84010,\n 0xc000000: 0x80010,\n 0xd000000: 0x0,\n 0xe000000: 0x4010,\n 0xf000000: 0x40080000,\n 0x800000: 0x40004000,\n 0x1800000: 0x84010,\n 0x2800000: 0x10,\n 0x3800000: 0x40004010,\n 0x4800000: 0x40084010,\n 0x5800000: 0x40000000,\n 0x6800000: 0x80000,\n 0x7800000: 0x40080010,\n 0x8800000: 0x80010,\n 0x9800000: 0x0,\n 0xa800000: 0x4000,\n 0xb800000: 0x40080000,\n 0xc800000: 0x40000010,\n 0xd800000: 0x84000,\n 0xe800000: 0x40084000,\n 0xf800000: 0x4010,\n 0x10000000: 0x0,\n 0x11000000: 0x40080010,\n 0x12000000: 0x40004010,\n 0x13000000: 0x40084000,\n 0x14000000: 0x40080000,\n 0x15000000: 0x10,\n 0x16000000: 0x84010,\n 0x17000000: 0x4000,\n 0x18000000: 0x4010,\n 0x19000000: 0x80000,\n 0x1a000000: 0x80010,\n 0x1b000000: 0x40000010,\n 0x1c000000: 0x84000,\n 0x1d000000: 0x40004000,\n 0x1e000000: 0x40000000,\n 0x1f000000: 0x40084010,\n 0x10800000: 0x84010,\n 0x11800000: 0x80000,\n 0x12800000: 0x40080000,\n 0x13800000: 0x4000,\n 0x14800000: 0x40004000,\n 0x15800000: 0x40084010,\n 0x16800000: 0x10,\n 0x17800000: 0x40000000,\n 0x18800000: 0x40084000,\n 0x19800000: 0x40000010,\n 0x1a800000: 0x40004010,\n 0x1b800000: 0x80010,\n 0x1c800000: 0x0,\n 0x1d800000: 0x4010,\n 0x1e800000: 0x40080010,\n 0x1f800000: 0x84000 },\n\n {\n 0x0: 0x104,\n 0x100000: 0x0,\n 0x200000: 0x4000100,\n 0x300000: 0x10104,\n 0x400000: 0x10004,\n 0x500000: 0x4000004,\n 0x600000: 0x4010104,\n 0x700000: 0x4010000,\n 0x800000: 0x4000000,\n 0x900000: 0x4010100,\n 0xa00000: 0x10100,\n 0xb00000: 0x4010004,\n 0xc00000: 0x4000104,\n 0xd00000: 0x10000,\n 0xe00000: 0x4,\n 0xf00000: 0x100,\n 0x80000: 0x4010100,\n 0x180000: 0x4010004,\n 0x280000: 0x0,\n 0x380000: 0x4000100,\n 0x480000: 0x4000004,\n 0x580000: 0x10000,\n 0x680000: 0x10004,\n 0x780000: 0x104,\n 0x880000: 0x4,\n 0x980000: 0x100,\n 0xa80000: 0x4010000,\n 0xb80000: 0x10104,\n 0xc80000: 0x10100,\n 0xd80000: 0x4000104,\n 0xe80000: 0x4010104,\n 0xf80000: 0x4000000,\n 0x1000000: 0x4010100,\n 0x1100000: 0x10004,\n 0x1200000: 0x10000,\n 0x1300000: 0x4000100,\n 0x1400000: 0x100,\n 0x1500000: 0x4010104,\n 0x1600000: 0x4000004,\n 0x1700000: 0x0,\n 0x1800000: 0x4000104,\n 0x1900000: 0x4000000,\n 0x1a00000: 0x4,\n 0x1b00000: 0x10100,\n 0x1c00000: 0x4010000,\n 0x1d00000: 0x104,\n 0x1e00000: 0x10104,\n 0x1f00000: 0x4010004,\n 0x1080000: 0x4000000,\n 0x1180000: 0x104,\n 0x1280000: 0x4010100,\n 0x1380000: 0x0,\n 0x1480000: 0x10004,\n 0x1580000: 0x4000100,\n 0x1680000: 0x100,\n 0x1780000: 0x4010004,\n 0x1880000: 0x10000,\n 0x1980000: 0x4010104,\n 0x1a80000: 0x10104,\n 0x1b80000: 0x4000004,\n 0x1c80000: 0x4000104,\n 0x1d80000: 0x4010000,\n 0x1e80000: 0x4,\n 0x1f80000: 0x10100 },\n\n {\n 0x0: 0x80401000,\n 0x10000: 0x80001040,\n 0x20000: 0x401040,\n 0x30000: 0x80400000,\n 0x40000: 0x0,\n 0x50000: 0x401000,\n 0x60000: 0x80000040,\n 0x70000: 0x400040,\n 0x80000: 0x80000000,\n 0x90000: 0x400000,\n 0xa0000: 0x40,\n 0xb0000: 0x80001000,\n 0xc0000: 0x80400040,\n 0xd0000: 0x1040,\n 0xe0000: 0x1000,\n 0xf0000: 0x80401040,\n 0x8000: 0x80001040,\n 0x18000: 0x40,\n 0x28000: 0x80400040,\n 0x38000: 0x80001000,\n 0x48000: 0x401000,\n 0x58000: 0x80401040,\n 0x68000: 0x0,\n 0x78000: 0x80400000,\n 0x88000: 0x1000,\n 0x98000: 0x80401000,\n 0xa8000: 0x400000,\n 0xb8000: 0x1040,\n 0xc8000: 0x80000000,\n 0xd8000: 0x400040,\n 0xe8000: 0x401040,\n 0xf8000: 0x80000040,\n 0x100000: 0x400040,\n 0x110000: 0x401000,\n 0x120000: 0x80000040,\n 0x130000: 0x0,\n 0x140000: 0x1040,\n 0x150000: 0x80400040,\n 0x160000: 0x80401000,\n 0x170000: 0x80001040,\n 0x180000: 0x80401040,\n 0x190000: 0x80000000,\n 0x1a0000: 0x80400000,\n 0x1b0000: 0x401040,\n 0x1c0000: 0x80001000,\n 0x1d0000: 0x400000,\n 0x1e0000: 0x40,\n 0x1f0000: 0x1000,\n 0x108000: 0x80400000,\n 0x118000: 0x80401040,\n 0x128000: 0x0,\n 0x138000: 0x401000,\n 0x148000: 0x400040,\n 0x158000: 0x80000000,\n 0x168000: 0x80001040,\n 0x178000: 0x40,\n 0x188000: 0x80000040,\n 0x198000: 0x1000,\n 0x1a8000: 0x80001000,\n 0x1b8000: 0x80400040,\n 0x1c8000: 0x1040,\n 0x1d8000: 0x80401000,\n 0x1e8000: 0x400000,\n 0x1f8000: 0x401040 },\n\n {\n 0x0: 0x80,\n 0x1000: 0x1040000,\n 0x2000: 0x40000,\n 0x3000: 0x20000000,\n 0x4000: 0x20040080,\n 0x5000: 0x1000080,\n 0x6000: 0x21000080,\n 0x7000: 0x40080,\n 0x8000: 0x1000000,\n 0x9000: 0x20040000,\n 0xa000: 0x20000080,\n 0xb000: 0x21040080,\n 0xc000: 0x21040000,\n 0xd000: 0x0,\n 0xe000: 0x1040080,\n 0xf000: 0x21000000,\n 0x800: 0x1040080,\n 0x1800: 0x21000080,\n 0x2800: 0x80,\n 0x3800: 0x1040000,\n 0x4800: 0x40000,\n 0x5800: 0x20040080,\n 0x6800: 0x21040000,\n 0x7800: 0x20000000,\n 0x8800: 0x20040000,\n 0x9800: 0x0,\n 0xa800: 0x21040080,\n 0xb800: 0x1000080,\n 0xc800: 0x20000080,\n 0xd800: 0x21000000,\n 0xe800: 0x1000000,\n 0xf800: 0x40080,\n 0x10000: 0x40000,\n 0x11000: 0x80,\n 0x12000: 0x20000000,\n 0x13000: 0x21000080,\n 0x14000: 0x1000080,\n 0x15000: 0x21040000,\n 0x16000: 0x20040080,\n 0x17000: 0x1000000,\n 0x18000: 0x21040080,\n 0x19000: 0x21000000,\n 0x1a000: 0x1040000,\n 0x1b000: 0x20040000,\n 0x1c000: 0x40080,\n 0x1d000: 0x20000080,\n 0x1e000: 0x0,\n 0x1f000: 0x1040080,\n 0x10800: 0x21000080,\n 0x11800: 0x1000000,\n 0x12800: 0x1040000,\n 0x13800: 0x20040080,\n 0x14800: 0x20000000,\n 0x15800: 0x1040080,\n 0x16800: 0x80,\n 0x17800: 0x21040000,\n 0x18800: 0x40080,\n 0x19800: 0x21040080,\n 0x1a800: 0x0,\n 0x1b800: 0x21000000,\n 0x1c800: 0x1000080,\n 0x1d800: 0x40000,\n 0x1e800: 0x20040000,\n 0x1f800: 0x20000080 },\n\n {\n 0x0: 0x10000008,\n 0x100: 0x2000,\n 0x200: 0x10200000,\n 0x300: 0x10202008,\n 0x400: 0x10002000,\n 0x500: 0x200000,\n 0x600: 0x200008,\n 0x700: 0x10000000,\n 0x800: 0x0,\n 0x900: 0x10002008,\n 0xa00: 0x202000,\n 0xb00: 0x8,\n 0xc00: 0x10200008,\n 0xd00: 0x202008,\n 0xe00: 0x2008,\n 0xf00: 0x10202000,\n 0x80: 0x10200000,\n 0x180: 0x10202008,\n 0x280: 0x8,\n 0x380: 0x200000,\n 0x480: 0x202008,\n 0x580: 0x10000008,\n 0x680: 0x10002000,\n 0x780: 0x2008,\n 0x880: 0x200008,\n 0x980: 0x2000,\n 0xa80: 0x10002008,\n 0xb80: 0x10200008,\n 0xc80: 0x0,\n 0xd80: 0x10202000,\n 0xe80: 0x202000,\n 0xf80: 0x10000000,\n 0x1000: 0x10002000,\n 0x1100: 0x10200008,\n 0x1200: 0x10202008,\n 0x1300: 0x2008,\n 0x1400: 0x200000,\n 0x1500: 0x10000000,\n 0x1600: 0x10000008,\n 0x1700: 0x202000,\n 0x1800: 0x202008,\n 0x1900: 0x0,\n 0x1a00: 0x8,\n 0x1b00: 0x10200000,\n 0x1c00: 0x2000,\n 0x1d00: 0x10002008,\n 0x1e00: 0x10202000,\n 0x1f00: 0x200008,\n 0x1080: 0x8,\n 0x1180: 0x202000,\n 0x1280: 0x200000,\n 0x1380: 0x10000008,\n 0x1480: 0x10002000,\n 0x1580: 0x2008,\n 0x1680: 0x10202008,\n 0x1780: 0x10200000,\n 0x1880: 0x10202000,\n 0x1980: 0x10200008,\n 0x1a80: 0x2000,\n 0x1b80: 0x202008,\n 0x1c80: 0x200008,\n 0x1d80: 0x0,\n 0x1e80: 0x10000000,\n 0x1f80: 0x10002008 },\n\n {\n 0x0: 0x100000,\n 0x10: 0x2000401,\n 0x20: 0x400,\n 0x30: 0x100401,\n 0x40: 0x2100401,\n 0x50: 0x0,\n 0x60: 0x1,\n 0x70: 0x2100001,\n 0x80: 0x2000400,\n 0x90: 0x100001,\n 0xa0: 0x2000001,\n 0xb0: 0x2100400,\n 0xc0: 0x2100000,\n 0xd0: 0x401,\n 0xe0: 0x100400,\n 0xf0: 0x2000000,\n 0x8: 0x2100001,\n 0x18: 0x0,\n 0x28: 0x2000401,\n 0x38: 0x2100400,\n 0x48: 0x100000,\n 0x58: 0x2000001,\n 0x68: 0x2000000,\n 0x78: 0x401,\n 0x88: 0x100401,\n 0x98: 0x2000400,\n 0xa8: 0x2100000,\n 0xb8: 0x100001,\n 0xc8: 0x400,\n 0xd8: 0x2100401,\n 0xe8: 0x1,\n 0xf8: 0x100400,\n 0x100: 0x2000000,\n 0x110: 0x100000,\n 0x120: 0x2000401,\n 0x130: 0x2100001,\n 0x140: 0x100001,\n 0x150: 0x2000400,\n 0x160: 0x2100400,\n 0x170: 0x100401,\n 0x180: 0x401,\n 0x190: 0x2100401,\n 0x1a0: 0x100400,\n 0x1b0: 0x1,\n 0x1c0: 0x0,\n 0x1d0: 0x2100000,\n 0x1e0: 0x2000001,\n 0x1f0: 0x400,\n 0x108: 0x100400,\n 0x118: 0x2000401,\n 0x128: 0x2100001,\n 0x138: 0x1,\n 0x148: 0x2000000,\n 0x158: 0x100000,\n 0x168: 0x401,\n 0x178: 0x2100400,\n 0x188: 0x2000001,\n 0x198: 0x2100000,\n 0x1a8: 0x0,\n 0x1b8: 0x2100401,\n 0x1c8: 0x100401,\n 0x1d8: 0x400,\n 0x1e8: 0x2000400,\n 0x1f8: 0x100001 },\n\n {\n 0x0: 0x8000820,\n 0x1: 0x20000,\n 0x2: 0x8000000,\n 0x3: 0x20,\n 0x4: 0x20020,\n 0x5: 0x8020820,\n 0x6: 0x8020800,\n 0x7: 0x800,\n 0x8: 0x8020000,\n 0x9: 0x8000800,\n 0xa: 0x20800,\n 0xb: 0x8020020,\n 0xc: 0x820,\n 0xd: 0x0,\n 0xe: 0x8000020,\n 0xf: 0x20820,\n 0x80000000: 0x800,\n 0x80000001: 0x8020820,\n 0x80000002: 0x8000820,\n 0x80000003: 0x8000000,\n 0x80000004: 0x8020000,\n 0x80000005: 0x20800,\n 0x80000006: 0x20820,\n 0x80000007: 0x20,\n 0x80000008: 0x8000020,\n 0x80000009: 0x820,\n 0x8000000a: 0x20020,\n 0x8000000b: 0x8020800,\n 0x8000000c: 0x0,\n 0x8000000d: 0x8020020,\n 0x8000000e: 0x8000800,\n 0x8000000f: 0x20000,\n 0x10: 0x20820,\n 0x11: 0x8020800,\n 0x12: 0x20,\n 0x13: 0x800,\n 0x14: 0x8000800,\n 0x15: 0x8000020,\n 0x16: 0x8020020,\n 0x17: 0x20000,\n 0x18: 0x0,\n 0x19: 0x20020,\n 0x1a: 0x8020000,\n 0x1b: 0x8000820,\n 0x1c: 0x8020820,\n 0x1d: 0x20800,\n 0x1e: 0x820,\n 0x1f: 0x8000000,\n 0x80000010: 0x20000,\n 0x80000011: 0x800,\n 0x80000012: 0x8020020,\n 0x80000013: 0x20820,\n 0x80000014: 0x20,\n 0x80000015: 0x8020000,\n 0x80000016: 0x8000000,\n 0x80000017: 0x8000820,\n 0x80000018: 0x8020820,\n 0x80000019: 0x8000020,\n 0x8000001a: 0x8000800,\n 0x8000001b: 0x0,\n 0x8000001c: 0x20800,\n 0x8000001d: 0x820,\n 0x8000001e: 0x20020,\n 0x8000001f: 0x8020800 }];\n\n\n\n // Masks that select the SBOX input\n var SBOX_MASK = [\n 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000,\n 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f];\n\n\n /**\n * DES block cipher algorithm.\n */\n var DES = C_algo.DES = BlockCipher.extend({\n _doReset: function _doReset() {\n // Shortcuts\n var key = this._key;\n var keyWords = key.words;\n\n // Select 56 bits according to PC1\n var keyBits = [];\n for (var i = 0; i < 56; i++) {\n var keyBitPos = PC1[i] - 1;\n keyBits[i] = keyWords[keyBitPos >>> 5] >>> 31 - keyBitPos % 32 & 1;\n }\n\n // Assemble 16 subkeys\n var subKeys = this._subKeys = [];\n for (var nSubKey = 0; nSubKey < 16; nSubKey++) {\n // Create subkey\n var subKey = subKeys[nSubKey] = [];\n\n // Shortcut\n var bitShift = BIT_SHIFTS[nSubKey];\n\n // Select 48 bits according to PC2\n for (var i = 0; i < 24; i++) {\n // Select from the left 28 key bits\n subKey[i / 6 | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << 31 - i % 6;\n\n // Select from the right 28 key bits\n subKey[4 + (i / 6 | 0)] |= keyBits[28 + (PC2[i + 24] - 1 + bitShift) % 28] << 31 - i % 6;\n }\n\n // Since each subkey is applied to an expanded 32-bit input,\n // the subkey can be broken into 8 values scaled to 32-bits,\n // which allows the key to be used without expansion\n subKey[0] = subKey[0] << 1 | subKey[0] >>> 31;\n for (var i = 1; i < 7; i++) {\n subKey[i] = subKey[i] >>> (i - 1) * 4 + 3;\n }\n subKey[7] = subKey[7] << 5 | subKey[7] >>> 27;\n }\n\n // Compute inverse subkeys\n var invSubKeys = this._invSubKeys = [];\n for (var i = 0; i < 16; i++) {\n invSubKeys[i] = subKeys[15 - i];\n }\n },\n\n encryptBlock: function encryptBlock(M, offset) {\n this._doCryptBlock(M, offset, this._subKeys);\n },\n\n decryptBlock: function decryptBlock(M, offset) {\n this._doCryptBlock(M, offset, this._invSubKeys);\n },\n\n _doCryptBlock: function _doCryptBlock(M, offset, subKeys) {\n // Get input\n this._lBlock = M[offset];\n this._rBlock = M[offset + 1];\n\n // Initial permutation\n exchangeLR.call(this, 4, 0x0f0f0f0f);\n exchangeLR.call(this, 16, 0x0000ffff);\n exchangeRL.call(this, 2, 0x33333333);\n exchangeRL.call(this, 8, 0x00ff00ff);\n exchangeLR.call(this, 1, 0x55555555);\n\n // Rounds\n for (var round = 0; round < 16; round++) {\n // Shortcuts\n var subKey = subKeys[round];\n var lBlock = this._lBlock;\n var rBlock = this._rBlock;\n\n // Feistel function\n var f = 0;\n for (var i = 0; i < 8; i++) {\n f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];\n }\n this._lBlock = rBlock;\n this._rBlock = lBlock ^ f;\n }\n\n // Undo swap from last round\n var t = this._lBlock;\n this._lBlock = this._rBlock;\n this._rBlock = t;\n\n // Final permutation\n exchangeLR.call(this, 1, 0x55555555);\n exchangeRL.call(this, 8, 0x00ff00ff);\n exchangeRL.call(this, 2, 0x33333333);\n exchangeLR.call(this, 16, 0x0000ffff);\n exchangeLR.call(this, 4, 0x0f0f0f0f);\n\n // Set output\n M[offset] = this._lBlock;\n M[offset + 1] = this._rBlock;\n },\n\n keySize: 64 / 32,\n\n ivSize: 64 / 32,\n\n blockSize: 64 / 32 });\n\n\n // Swap bits across the left and right words\n function exchangeLR(offset, mask) {\n var t = (this._lBlock >>> offset ^ this._rBlock) & mask;\n this._rBlock ^= t;\n this._lBlock ^= t << offset;\n }\n\n function exchangeRL(offset, mask) {\n var t = (this._rBlock >>> offset ^ this._lBlock) & mask;\n this._lBlock ^= t;\n this._rBlock ^= t << offset;\n }\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg);\n */\n C.DES = BlockCipher._createHelper(DES);\n\n /**\n * Triple-DES block cipher algorithm.\n */\n var TripleDES = C_algo.TripleDES = BlockCipher.extend({\n _doReset: function _doReset() {\n // Shortcuts\n var key = this._key;\n var keyWords = key.words;\n // Make sure the key length is valid (64, 128 or >= 192 bit)\n if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {\n throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.');\n }\n\n // Extend the key according to the keying options defined in 3DES standard\n var key1 = keyWords.slice(0, 2);\n var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);\n var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);\n\n // Create DES instances\n this._des1 = DES.createEncryptor(WordArray.create(key1));\n this._des2 = DES.createEncryptor(WordArray.create(key2));\n this._des3 = DES.createEncryptor(WordArray.create(key3));\n },\n\n encryptBlock: function encryptBlock(M, offset) {\n this._des1.encryptBlock(M, offset);\n this._des2.decryptBlock(M, offset);\n this._des3.encryptBlock(M, offset);\n },\n\n decryptBlock: function decryptBlock(M, offset) {\n this._des3.decryptBlock(M, offset);\n this._des2.encryptBlock(M, offset);\n this._des1.decryptBlock(M, offset);\n },\n\n keySize: 192 / 32,\n\n ivSize: 64 / 32,\n\n blockSize: 64 / 32 });\n\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);\n */\n C.TripleDES = BlockCipher._createHelper(TripleDES);\n })();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var StreamCipher = C_lib.StreamCipher;\n var C_algo = C.algo;\n\n /**\n * RC4 stream cipher algorithm.\n */\n var RC4 = C_algo.RC4 = StreamCipher.extend({\n _doReset: function _doReset() {\n // Shortcuts\n var key = this._key;\n var keyWords = key.words;\n var keySigBytes = key.sigBytes;\n\n // Init sbox\n var S = this._S = [];\n for (var i = 0; i < 256; i++) {\n S[i] = i;\n }\n\n // Key setup\n for (var i = 0, j = 0; i < 256; i++) {\n var keyByteIndex = i % keySigBytes;\n var keyByte = keyWords[keyByteIndex >>> 2] >>> 24 - keyByteIndex % 4 * 8 & 0xff;\n\n j = (j + S[i] + keyByte) % 256;\n\n // Swap\n var t = S[i];\n S[i] = S[j];\n S[j] = t;\n }\n\n // Counters\n this._i = this._j = 0;\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n M[offset] ^= generateKeystreamWord.call(this);\n },\n\n keySize: 256 / 32,\n\n ivSize: 0 });\n\n\n function generateKeystreamWord() {\n // Shortcuts\n var S = this._S;\n var i = this._i;\n var j = this._j;\n\n // Generate keystream word\n var keystreamWord = 0;\n for (var n = 0; n < 4; n++) {\n i = (i + 1) % 256;\n j = (j + S[i]) % 256;\n\n // Swap\n var t = S[i];\n S[i] = S[j];\n S[j] = t;\n\n keystreamWord |= S[(S[i] + S[j]) % 256] << 24 - n * 8;\n }\n\n // Update counters\n this._i = i;\n this._j = j;\n\n return keystreamWord;\n }\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg);\n */\n C.RC4 = StreamCipher._createHelper(RC4);\n\n /**\n * Modified RC4 stream cipher algorithm.\n */\n var RC4Drop = C_algo.RC4Drop = RC4.extend({\n /**\n * Configuration options.\n *\n * @property {number} drop The number of keystream words to drop. Default 192\n */\n cfg: RC4.cfg.extend({\n drop: 192 }),\n\n\n _doReset: function _doReset() {\n RC4._doReset.call(this);\n\n // Drop\n for (var i = this.cfg.drop; i > 0; i--) {\n generateKeystreamWord.call(this);\n }\n } });\n\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);\n */\n C.RC4Drop = StreamCipher._createHelper(RC4Drop);\n })();\n\n\n /** @preserve\n * Counter block mode compatible with Dr Brian Gladman fileenc.c\n * derived from CryptoJS.mode.CTR\n * Jan Hruby jhruby.web@gmail.com\n */\n CryptoJS.mode.CTRGladman = function () {\n var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();\n\n function incWord(word) {\n if ((word >> 24 & 0xff) === 0xff) {//overflow\n var b1 = word >> 16 & 0xff;\n var b2 = word >> 8 & 0xff;\n var b3 = word & 0xff;\n\n if (b1 === 0xff) // overflow b1\n {\n b1 = 0;\n if (b2 === 0xff) {\n b2 = 0;\n if (b3 === 0xff) {\n b3 = 0;\n } else {\n ++b3;\n }\n } else {\n ++b2;\n }\n } else {\n ++b1;\n }\n\n word = 0;\n word += b1 << 16;\n word += b2 << 8;\n word += b3;\n } else {\n word += 0x01 << 24;\n }\n return word;\n }\n\n function incCounter(counter) {\n if ((counter[0] = incWord(counter[0])) === 0) {\n // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8\n counter[1] = incWord(counter[1]);\n }\n return counter;\n }\n\n var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n var iv = this._iv;\n var counter = this._counter;\n\n // Generate keystream\n if (iv) {\n counter = this._counter = iv.slice(0);\n\n // Remove IV for subsequent blocks\n this._iv = undefined;\n }\n\n incCounter(counter);\n\n var keystream = counter.slice(0);\n cipher.encryptBlock(keystream, 0);\n\n // Encrypt\n for (var i = 0; i < blockSize; i++) {\n words[offset + i] ^= keystream[i];\n }\n } });\n\n\n CTRGladman.Decryptor = Encryptor;\n\n return CTRGladman;\n }();\n\n\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var StreamCipher = C_lib.StreamCipher;\n var C_algo = C.algo;\n\n // Reusable objects\n var S = [];\n var C_ = [];\n var G = [];\n\n /**\n * Rabbit stream cipher algorithm\n */\n var Rabbit = C_algo.Rabbit = StreamCipher.extend({\n _doReset: function _doReset() {\n // Shortcuts\n var K = this._key.words;\n var iv = this.cfg.iv;\n\n // Swap endian\n for (var i = 0; i < 4; i++) {\n K[i] = (K[i] << 8 | K[i] >>> 24) & 0x00ff00ff |\n (K[i] << 24 | K[i] >>> 8) & 0xff00ff00;\n }\n\n // Generate initial state values\n var X = this._X = [\n K[0], K[3] << 16 | K[2] >>> 16,\n K[1], K[0] << 16 | K[3] >>> 16,\n K[2], K[1] << 16 | K[0] >>> 16,\n K[3], K[2] << 16 | K[1] >>> 16];\n\n\n // Generate initial counter values\n var C = this._C = [\n K[2] << 16 | K[2] >>> 16, K[0] & 0xffff0000 | K[1] & 0x0000ffff,\n K[3] << 16 | K[3] >>> 16, K[1] & 0xffff0000 | K[2] & 0x0000ffff,\n K[0] << 16 | K[0] >>> 16, K[2] & 0xffff0000 | K[3] & 0x0000ffff,\n K[1] << 16 | K[1] >>> 16, K[3] & 0xffff0000 | K[0] & 0x0000ffff];\n\n\n // Carry bit\n this._b = 0;\n\n // Iterate the system four times\n for (var i = 0; i < 4; i++) {\n nextState.call(this);\n }\n\n // Modify the counters\n for (var i = 0; i < 8; i++) {\n C[i] ^= X[i + 4 & 7];\n }\n\n // IV setup\n if (iv) {\n // Shortcuts\n var IV = iv.words;\n var IV_0 = IV[0];\n var IV_1 = IV[1];\n\n // Generate four subvectors\n var i0 = (IV_0 << 8 | IV_0 >>> 24) & 0x00ff00ff | (IV_0 << 24 | IV_0 >>> 8) & 0xff00ff00;\n var i2 = (IV_1 << 8 | IV_1 >>> 24) & 0x00ff00ff | (IV_1 << 24 | IV_1 >>> 8) & 0xff00ff00;\n var i1 = i0 >>> 16 | i2 & 0xffff0000;\n var i3 = i2 << 16 | i0 & 0x0000ffff;\n\n // Modify counter values\n C[0] ^= i0;\n C[1] ^= i1;\n C[2] ^= i2;\n C[3] ^= i3;\n C[4] ^= i0;\n C[5] ^= i1;\n C[6] ^= i2;\n C[7] ^= i3;\n\n // Iterate the system four times\n for (var i = 0; i < 4; i++) {\n nextState.call(this);\n }\n }\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Shortcut\n var X = this._X;\n\n // Iterate the system\n nextState.call(this);\n\n // Generate four keystream words\n S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;\n S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;\n S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;\n S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;\n\n for (var i = 0; i < 4; i++) {\n // Swap endian\n S[i] = (S[i] << 8 | S[i] >>> 24) & 0x00ff00ff |\n (S[i] << 24 | S[i] >>> 8) & 0xff00ff00;\n\n // Encrypt\n M[offset + i] ^= S[i];\n }\n },\n\n blockSize: 128 / 32,\n\n ivSize: 64 / 32 });\n\n\n function nextState() {\n // Shortcuts\n var X = this._X;\n var C = this._C;\n\n // Save old counter values\n for (var i = 0; i < 8; i++) {\n C_[i] = C[i];\n }\n\n // Calculate new counter values\n C[0] = C[0] + 0x4d34d34d + this._b | 0;\n C[1] = C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;\n C[2] = C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;\n C[3] = C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;\n C[4] = C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;\n C[5] = C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;\n C[6] = C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;\n C[7] = C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;\n this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;\n\n // Calculate the g-values\n for (var i = 0; i < 8; i++) {\n var gx = X[i] + C[i];\n\n // Construct high and low argument for squaring\n var ga = gx & 0xffff;\n var gb = gx >>> 16;\n\n // Calculate high and low result of squaring\n var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;\n var gl = ((gx & 0xffff0000) * gx | 0) + ((gx & 0x0000ffff) * gx | 0);\n\n // High XOR low\n G[i] = gh ^ gl;\n }\n\n // Calculate new state values\n X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;\n X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;\n X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;\n X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;\n X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;\n X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;\n X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;\n X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;\n }\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);\n */\n C.Rabbit = StreamCipher._createHelper(Rabbit);\n })();\n\n\n /**\n * Counter block mode.\n */\n CryptoJS.mode.CTR = function () {\n var CTR = CryptoJS.lib.BlockCipherMode.extend();\n\n var Encryptor = CTR.Encryptor = CTR.extend({\n processBlock: function processBlock(words, offset) {\n // Shortcuts\n var cipher = this._cipher;\n var blockSize = cipher.blockSize;\n var iv = this._iv;\n var counter = this._counter;\n\n // Generate keystream\n if (iv) {\n counter = this._counter = iv.slice(0);\n\n // Remove IV for subsequent blocks\n this._iv = undefined;\n }\n var keystream = counter.slice(0);\n cipher.encryptBlock(keystream, 0);\n\n // Increment counter\n counter[blockSize - 1] = counter[blockSize - 1] + 1 | 0;\n\n // Encrypt\n for (var i = 0; i < blockSize; i++) {\n words[offset + i] ^= keystream[i];\n }\n } });\n\n\n CTR.Decryptor = Encryptor;\n\n return CTR;\n }();\n\n\n (function () {\n // Shortcuts\n var C = CryptoJS;\n var C_lib = C.lib;\n var StreamCipher = C_lib.StreamCipher;\n var C_algo = C.algo;\n\n // Reusable objects\n var S = [];\n var C_ = [];\n var G = [];\n\n /**\n * Rabbit stream cipher algorithm.\n *\n * This is a legacy version that neglected to convert the key to little-endian.\n * This error doesn't affect the cipher's security,\n * but it does affect its compatibility with other implementations.\n */\n var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({\n _doReset: function _doReset() {\n // Shortcuts\n var K = this._key.words;\n var iv = this.cfg.iv;\n\n // Generate initial state values\n var X = this._X = [\n K[0], K[3] << 16 | K[2] >>> 16,\n K[1], K[0] << 16 | K[3] >>> 16,\n K[2], K[1] << 16 | K[0] >>> 16,\n K[3], K[2] << 16 | K[1] >>> 16];\n\n\n // Generate initial counter values\n var C = this._C = [\n K[2] << 16 | K[2] >>> 16, K[0] & 0xffff0000 | K[1] & 0x0000ffff,\n K[3] << 16 | K[3] >>> 16, K[1] & 0xffff0000 | K[2] & 0x0000ffff,\n K[0] << 16 | K[0] >>> 16, K[2] & 0xffff0000 | K[3] & 0x0000ffff,\n K[1] << 16 | K[1] >>> 16, K[3] & 0xffff0000 | K[0] & 0x0000ffff];\n\n\n // Carry bit\n this._b = 0;\n\n // Iterate the system four times\n for (var i = 0; i < 4; i++) {\n nextState.call(this);\n }\n\n // Modify the counters\n for (var i = 0; i < 8; i++) {\n C[i] ^= X[i + 4 & 7];\n }\n\n // IV setup\n if (iv) {\n // Shortcuts\n var IV = iv.words;\n var IV_0 = IV[0];\n var IV_1 = IV[1];\n\n // Generate four subvectors\n var i0 = (IV_0 << 8 | IV_0 >>> 24) & 0x00ff00ff | (IV_0 << 24 | IV_0 >>> 8) & 0xff00ff00;\n var i2 = (IV_1 << 8 | IV_1 >>> 24) & 0x00ff00ff | (IV_1 << 24 | IV_1 >>> 8) & 0xff00ff00;\n var i1 = i0 >>> 16 | i2 & 0xffff0000;\n var i3 = i2 << 16 | i0 & 0x0000ffff;\n\n // Modify counter values\n C[0] ^= i0;\n C[1] ^= i1;\n C[2] ^= i2;\n C[3] ^= i3;\n C[4] ^= i0;\n C[5] ^= i1;\n C[6] ^= i2;\n C[7] ^= i3;\n\n // Iterate the system four times\n for (var i = 0; i < 4; i++) {\n nextState.call(this);\n }\n }\n },\n\n _doProcessBlock: function _doProcessBlock(M, offset) {\n // Shortcut\n var X = this._X;\n\n // Iterate the system\n nextState.call(this);\n\n // Generate four keystream words\n S[0] = X[0] ^ X[5] >>> 16 ^ X[3] << 16;\n S[1] = X[2] ^ X[7] >>> 16 ^ X[5] << 16;\n S[2] = X[4] ^ X[1] >>> 16 ^ X[7] << 16;\n S[3] = X[6] ^ X[3] >>> 16 ^ X[1] << 16;\n\n for (var i = 0; i < 4; i++) {\n // Swap endian\n S[i] = (S[i] << 8 | S[i] >>> 24) & 0x00ff00ff |\n (S[i] << 24 | S[i] >>> 8) & 0xff00ff00;\n\n // Encrypt\n M[offset + i] ^= S[i];\n }\n },\n\n blockSize: 128 / 32,\n\n ivSize: 64 / 32 });\n\n\n function nextState() {\n // Shortcuts\n var X = this._X;\n var C = this._C;\n\n // Save old counter values\n for (var i = 0; i < 8; i++) {\n C_[i] = C[i];\n }\n\n // Calculate new counter values\n C[0] = C[0] + 0x4d34d34d + this._b | 0;\n C[1] = C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0) | 0;\n C[2] = C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0) | 0;\n C[3] = C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0) | 0;\n C[4] = C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0) | 0;\n C[5] = C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0) | 0;\n C[6] = C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0) | 0;\n C[7] = C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0) | 0;\n this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;\n\n // Calculate the g-values\n for (var i = 0; i < 8; i++) {\n var gx = X[i] + C[i];\n\n // Construct high and low argument for squaring\n var ga = gx & 0xffff;\n var gb = gx >>> 16;\n\n // Calculate high and low result of squaring\n var gh = ((ga * ga >>> 17) + ga * gb >>> 15) + gb * gb;\n var gl = ((gx & 0xffff0000) * gx | 0) + ((gx & 0x0000ffff) * gx | 0);\n\n // High XOR low\n G[i] = gh ^ gl;\n }\n\n // Calculate new state values\n X[0] = G[0] + (G[7] << 16 | G[7] >>> 16) + (G[6] << 16 | G[6] >>> 16) | 0;\n X[1] = G[1] + (G[0] << 8 | G[0] >>> 24) + G[7] | 0;\n X[2] = G[2] + (G[1] << 16 | G[1] >>> 16) + (G[0] << 16 | G[0] >>> 16) | 0;\n X[3] = G[3] + (G[2] << 8 | G[2] >>> 24) + G[1] | 0;\n X[4] = G[4] + (G[3] << 16 | G[3] >>> 16) + (G[2] << 16 | G[2] >>> 16) | 0;\n X[5] = G[5] + (G[4] << 8 | G[4] >>> 24) + G[3] | 0;\n X[6] = G[6] + (G[5] << 16 | G[5] >>> 16) + (G[4] << 16 | G[4] >>> 16) | 0;\n X[7] = G[7] + (G[6] << 8 | G[6] >>> 24) + G[5] | 0;\n }\n\n /**\n * Shortcut functions to the cipher's object interface.\n *\n * @example\n *\n * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);\n * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);\n */\n C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);\n })();\n\n\n /**\n * Zero padding strategy.\n */\n CryptoJS.pad.ZeroPadding = {\n pad: function pad(data, blockSize) {\n // Shortcut\n var blockSizeBytes = blockSize * 4;\n\n // Pad\n data.clamp();\n data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);\n },\n\n unpad: function unpad(data) {\n // Shortcut\n var dataWords = data.words;\n\n // Unpad\n var i = data.sigBytes - 1;\n for (var i = data.sigBytes - 1; i >= 0; i--) {\n if (dataWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff) {\n data.sigBytes = i + 1;\n break;\n }\n }\n } };\n\n\n\n return CryptoJS;\n\n});\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/crypto.js */ 55)[\"default\"], __webpack_require__(/*! (webpack)/buildin/global.js */ 11), __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/crypto.js */ 55)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RhdGljL2pzL2NyeXB0by1qcy5qcyJdLCJuYW1lcyI6WyJyb290IiwiZmFjdG9yeSIsIm1vZHVsZSIsImV4cG9ydHMiLCJDcnlwdG9KUyIsIk1hdGgiLCJ1bmRlZmluZWQiLCJjcnlwdG8iLCJ3aW5kb3ciLCJtc0NyeXB0byIsImdsb2JhbCIsInJlcXVpcmUiLCJlcnIiLCJjcnlwdG9TZWN1cmVSYW5kb21JbnQiLCJnZXRSYW5kb21WYWx1ZXMiLCJVaW50MzJBcnJheSIsInJhbmRvbUJ5dGVzIiwicmVhZEludDMyTEUiLCJFcnJvciIsImNyZWF0ZSIsIk9iamVjdCIsIkYiLCJvYmoiLCJzdWJ0eXBlIiwicHJvdG90eXBlIiwiQyIsIkNfbGliIiwibGliIiwiQmFzZSIsImV4dGVuZCIsIm92ZXJyaWRlcyIsIm1peEluIiwiaGFzT3duUHJvcGVydHkiLCJpbml0IiwiJHN1cGVyIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJpbnN0YW5jZSIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eU5hbWUiLCJ0b1N0cmluZyIsImNsb25lIiwiV29yZEFycmF5Iiwid29yZHMiLCJzaWdCeXRlcyIsImxlbmd0aCIsImVuY29kZXIiLCJIZXgiLCJzdHJpbmdpZnkiLCJjb25jYXQiLCJ3b3JkQXJyYXkiLCJ0aGlzV29yZHMiLCJ0aGF0V29yZHMiLCJ0aGlzU2lnQnl0ZXMiLCJ0aGF0U2lnQnl0ZXMiLCJjbGFtcCIsImkiLCJ0aGF0Qnl0ZSIsImNlaWwiLCJjYWxsIiwic2xpY2UiLCJyYW5kb20iLCJuQnl0ZXMiLCJwdXNoIiwiQ19lbmMiLCJlbmMiLCJoZXhDaGFycyIsImJpdGUiLCJqb2luIiwicGFyc2UiLCJoZXhTdHIiLCJoZXhTdHJMZW5ndGgiLCJwYXJzZUludCIsInN1YnN0ciIsIkxhdGluMSIsImxhdGluMUNoYXJzIiwiU3RyaW5nIiwiZnJvbUNoYXJDb2RlIiwibGF0aW4xU3RyIiwibGF0aW4xU3RyTGVuZ3RoIiwiY2hhckNvZGVBdCIsIlV0ZjgiLCJkZWNvZGVVUklDb21wb25lbnQiLCJlc2NhcGUiLCJlIiwidXRmOFN0ciIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiQnVmZmVyZWRCbG9ja0FsZ29yaXRobSIsInJlc2V0IiwiX2RhdGEiLCJfbkRhdGFCeXRlcyIsIl9hcHBlbmQiLCJkYXRhIiwiX3Byb2Nlc3MiLCJkb0ZsdXNoIiwicHJvY2Vzc2VkV29yZHMiLCJkYXRhV29yZHMiLCJkYXRhU2lnQnl0ZXMiLCJibG9ja1NpemUiLCJibG9ja1NpemVCeXRlcyIsIm5CbG9ja3NSZWFkeSIsIm1heCIsIl9taW5CdWZmZXJTaXplIiwibldvcmRzUmVhZHkiLCJuQnl0ZXNSZWFkeSIsIm1pbiIsIm9mZnNldCIsIl9kb1Byb2Nlc3NCbG9jayIsInNwbGljZSIsIkhhc2hlciIsImNmZyIsIl9kb1Jlc2V0IiwidXBkYXRlIiwibWVzc2FnZVVwZGF0ZSIsImZpbmFsaXplIiwiaGFzaCIsIl9kb0ZpbmFsaXplIiwiX2NyZWF0ZUhlbHBlciIsImhhc2hlciIsIm1lc3NhZ2UiLCJfY3JlYXRlSG1hY0hlbHBlciIsImtleSIsIkNfYWxnbyIsIkhNQUMiLCJhbGdvIiwiQmFzZTY0IiwibWFwIiwiX21hcCIsImJhc2U2NENoYXJzIiwiYnl0ZTEiLCJieXRlMiIsImJ5dGUzIiwidHJpcGxldCIsImoiLCJjaGFyQXQiLCJwYWRkaW5nQ2hhciIsImJhc2U2NFN0ciIsImJhc2U2NFN0ckxlbmd0aCIsInJldmVyc2VNYXAiLCJfcmV2ZXJzZU1hcCIsInBhZGRpbmdJbmRleCIsImluZGV4T2YiLCJwYXJzZUxvb3AiLCJiaXRzMSIsImJpdHMyIiwiYml0c0NvbWJpbmVkIiwiVCIsImFicyIsInNpbiIsIk1ENSIsIl9oYXNoIiwiTSIsIm9mZnNldF9pIiwiTV9vZmZzZXRfaSIsIkgiLCJNX29mZnNldF8wIiwiTV9vZmZzZXRfMSIsIk1fb2Zmc2V0XzIiLCJNX29mZnNldF8zIiwiTV9vZmZzZXRfNCIsIk1fb2Zmc2V0XzUiLCJNX29mZnNldF82IiwiTV9vZmZzZXRfNyIsIk1fb2Zmc2V0XzgiLCJNX29mZnNldF85IiwiTV9vZmZzZXRfMTAiLCJNX29mZnNldF8xMSIsIk1fb2Zmc2V0XzEyIiwiTV9vZmZzZXRfMTMiLCJNX29mZnNldF8xNCIsIk1fb2Zmc2V0XzE1IiwiYSIsImIiLCJjIiwiZCIsIkZGIiwiR0ciLCJISCIsIklJIiwibkJpdHNUb3RhbCIsIm5CaXRzTGVmdCIsIm5CaXRzVG90YWxIIiwiZmxvb3IiLCJuQml0c1RvdGFsTCIsIkhfaSIsIngiLCJzIiwidCIsIm4iLCJIbWFjTUQ1IiwiVyIsIlNIQTEiLCJIbWFjU0hBMSIsIksiLCJpc1ByaW1lIiwic3FydE4iLCJzcXJ0IiwiZmFjdG9yIiwiZ2V0RnJhY3Rpb25hbEJpdHMiLCJuUHJpbWUiLCJwb3ciLCJTSEEyNTYiLCJmIiwiZyIsImgiLCJnYW1tYTB4IiwiZ2FtbWEwIiwiZ2FtbWExeCIsImdhbW1hMSIsImNoIiwibWFqIiwic2lnbWEwIiwic2lnbWExIiwidDEiLCJ0MiIsIkhtYWNTSEEyNTYiLCJVdGYxNkJFIiwiVXRmMTYiLCJ1dGYxNkNoYXJzIiwiY29kZVBvaW50IiwidXRmMTZTdHIiLCJ1dGYxNlN0ckxlbmd0aCIsIlV0ZjE2TEUiLCJzd2FwRW5kaWFuIiwid29yZCIsIkFycmF5QnVmZmVyIiwic3VwZXJJbml0Iiwic3ViSW5pdCIsInR5cGVkQXJyYXkiLCJVaW50OEFycmF5IiwiSW50OEFycmF5IiwiVWludDhDbGFtcGVkQXJyYXkiLCJJbnQxNkFycmF5IiwiVWludDE2QXJyYXkiLCJJbnQzMkFycmF5IiwiRmxvYXQzMkFycmF5IiwiRmxvYXQ2NEFycmF5IiwiYnVmZmVyIiwiYnl0ZU9mZnNldCIsImJ5dGVMZW5ndGgiLCJ0eXBlZEFycmF5Qnl0ZUxlbmd0aCIsIl96bCIsIl96ciIsIl9zbCIsIl9zciIsIl9obCIsIl9ociIsIlJJUEVNRDE2MCIsImhsIiwiaHIiLCJ6bCIsInpyIiwic2wiLCJzciIsImFsIiwiYmwiLCJjbCIsImRsIiwiZWwiLCJhciIsImJyIiwiY3IiLCJkciIsImVyIiwiZjEiLCJmMiIsImYzIiwiZjQiLCJmNSIsInJvdGwiLCJ5IiwieiIsIkhtYWNSSVBFTUQxNjAiLCJfaGFzaGVyIiwiaGFzaGVyQmxvY2tTaXplIiwiaGFzaGVyQmxvY2tTaXplQnl0ZXMiLCJvS2V5IiwiX29LZXkiLCJpS2V5IiwiX2lLZXkiLCJvS2V5V29yZHMiLCJpS2V5V29yZHMiLCJpbm5lckhhc2giLCJobWFjIiwiUEJLREYyIiwia2V5U2l6ZSIsIml0ZXJhdGlvbnMiLCJjb21wdXRlIiwicGFzc3dvcmQiLCJzYWx0IiwiZGVyaXZlZEtleSIsImJsb2NrSW5kZXgiLCJkZXJpdmVkS2V5V29yZHMiLCJibG9ja0luZGV4V29yZHMiLCJibG9jayIsImJsb2NrV29yZHMiLCJibG9ja1dvcmRzTGVuZ3RoIiwiaW50ZXJtZWRpYXRlIiwiaW50ZXJtZWRpYXRlV29yZHMiLCJFdnBLREYiLCJTSEEyMjQiLCJIbWFjU0hBMjI0IiwiWDMyV29yZEFycmF5IiwiQ194NjQiLCJ4NjQiLCJYNjRXb3JkIiwiV29yZCIsImhpZ2giLCJsb3ciLCJYNjRXb3JkQXJyYXkiLCJ0b1gzMiIsIng2NFdvcmRzIiwieDY0V29yZHNMZW5ndGgiLCJ4MzJXb3JkcyIsIng2NFdvcmQiLCJ3b3Jkc0xlbmd0aCIsIlJIT19PRkZTRVRTIiwiUElfSU5ERVhFUyIsIlJPVU5EX0NPTlNUQU5UUyIsIm5ld1giLCJuZXdZIiwiTEZTUiIsInJvdW5kQ29uc3RhbnRNc3ciLCJyb3VuZENvbnN0YW50THN3IiwiYml0UG9zaXRpb24iLCJTSEEzIiwib3V0cHV0TGVuZ3RoIiwic3RhdGUiLCJfc3RhdGUiLCJuQmxvY2tTaXplTGFuZXMiLCJNMmkiLCJNMmkxIiwibGFuZSIsInJvdW5kIiwidE1zdyIsInRMc3ciLCJUeCIsIlR4NCIsIlR4MSIsIlR4MU1zdyIsIlR4MUxzdyIsImxhbmVJbmRleCIsImxhbmVNc3ciLCJsYW5lTHN3IiwicmhvT2Zmc2V0IiwiVFBpTGFuZSIsIlQwIiwic3RhdGUwIiwiVExhbmUiLCJUeDFMYW5lIiwiVHgyTGFuZSIsInJvdW5kQ29uc3RhbnQiLCJibG9ja1NpemVCaXRzIiwib3V0cHV0TGVuZ3RoQnl0ZXMiLCJvdXRwdXRMZW5ndGhMYW5lcyIsImhhc2hXb3JkcyIsIkhtYWNTSEEzIiwiWDY0V29yZF9jcmVhdGUiLCJTSEE1MTIiLCJIMCIsIkgxIiwiSDIiLCJIMyIsIkg0IiwiSDUiLCJINiIsIkg3IiwiSDBoIiwiSDBsIiwiSDFoIiwiSDFsIiwiSDJoIiwiSDJsIiwiSDNoIiwiSDNsIiwiSDRoIiwiSDRsIiwiSDVoIiwiSDVsIiwiSDZoIiwiSDZsIiwiSDdoIiwiSDdsIiwiYWgiLCJiaCIsImRoIiwiZWgiLCJmaCIsImZsIiwiZ2giLCJnbCIsImhoIiwiV2lsIiwiV2loIiwiV2kiLCJnYW1tYTB4aCIsImdhbW1hMHhsIiwiZ2FtbWEwaCIsImdhbW1hMGwiLCJnYW1tYTF4aCIsImdhbW1hMXhsIiwiZ2FtbWExaCIsImdhbW1hMWwiLCJXaTciLCJXaTdoIiwiV2k3bCIsIldpMTYiLCJXaTE2aCIsIldpMTZsIiwiY2hoIiwiY2hsIiwibWFqaCIsIm1hamwiLCJzaWdtYTBoIiwic2lnbWEwbCIsInNpZ21hMWgiLCJzaWdtYTFsIiwiS2kiLCJLaWgiLCJLaWwiLCJ0MWwiLCJ0MWgiLCJ0MmwiLCJ0MmgiLCJIbWFjU0hBNTEyIiwiU0hBMzg0IiwiSG1hY1NIQTM4NCIsIkNpcGhlciIsImNyZWF0ZUVuY3J5cHRvciIsIl9FTkNfWEZPUk1fTU9ERSIsImNyZWF0ZURlY3J5cHRvciIsIl9ERUNfWEZPUk1fTU9ERSIsInhmb3JtTW9kZSIsIl94Zm9ybU1vZGUiLCJfa2V5IiwicHJvY2VzcyIsImRhdGFVcGRhdGUiLCJmaW5hbFByb2Nlc3NlZERhdGEiLCJpdlNpemUiLCJzZWxlY3RDaXBoZXJTdHJhdGVneSIsIlBhc3N3b3JkQmFzZWRDaXBoZXIiLCJTZXJpYWxpemFibGVDaXBoZXIiLCJjaXBoZXIiLCJlbmNyeXB0IiwiZGVjcnlwdCIsImNpcGhlcnRleHQiLCJTdHJlYW1DaXBoZXIiLCJmaW5hbFByb2Nlc3NlZEJsb2NrcyIsIkNfbW9kZSIsIm1vZGUiLCJCbG9ja0NpcGhlck1vZGUiLCJpdiIsIkVuY3J5cHRvciIsIkRlY3J5cHRvciIsIl9jaXBoZXIiLCJfaXYiLCJDQkMiLCJwcm9jZXNzQmxvY2siLCJ4b3JCbG9jayIsImVuY3J5cHRCbG9jayIsIl9wcmV2QmxvY2siLCJ0aGlzQmxvY2siLCJkZWNyeXB0QmxvY2siLCJDX3BhZCIsInBhZCIsIlBrY3M3IiwiblBhZGRpbmdCeXRlcyIsInBhZGRpbmdXb3JkIiwicGFkZGluZ1dvcmRzIiwicGFkZGluZyIsInVucGFkIiwiQmxvY2tDaXBoZXIiLCJtb2RlQ3JlYXRvciIsIl9tb2RlIiwiX19jcmVhdG9yIiwiQ2lwaGVyUGFyYW1zIiwiY2lwaGVyUGFyYW1zIiwiZm9ybWF0dGVyIiwiQ19mb3JtYXQiLCJmb3JtYXQiLCJPcGVuU1NMRm9ybWF0dGVyIiwiT3BlblNTTCIsIm9wZW5TU0xTdHIiLCJjaXBoZXJ0ZXh0V29yZHMiLCJlbmNyeXB0b3IiLCJjaXBoZXJDZmciLCJhbGdvcml0aG0iLCJfcGFyc2UiLCJwbGFpbnRleHQiLCJDX2tkZiIsImtkZiIsIk9wZW5TU0xLZGYiLCJleGVjdXRlIiwiZGVyaXZlZFBhcmFtcyIsIkNGQiIsImdlbmVyYXRlS2V5c3RyZWFtQW5kRW5jcnlwdCIsImtleXN0cmVhbSIsIkVDQiIsIkFuc2lYOTIzIiwibGFzdEJ5dGVQb3MiLCJJc28xMDEyNiIsIklzbzk3OTcxIiwiWmVyb1BhZGRpbmciLCJPRkIiLCJfa2V5c3RyZWFtIiwiTm9QYWRkaW5nIiwiSGV4Rm9ybWF0dGVyIiwiaW5wdXQiLCJTQk9YIiwiSU5WX1NCT1giLCJTVUJfTUlYXzAiLCJTVUJfTUlYXzEiLCJTVUJfTUlYXzIiLCJTVUJfTUlYXzMiLCJJTlZfU1VCX01JWF8wIiwiSU5WX1NVQl9NSVhfMSIsIklOVl9TVUJfTUlYXzIiLCJJTlZfU1VCX01JWF8zIiwieGkiLCJzeCIsIngyIiwieDQiLCJ4OCIsIlJDT04iLCJBRVMiLCJfblJvdW5kcyIsIl9rZXlQcmlvclJlc2V0Iiwia2V5V29yZHMiLCJuUm91bmRzIiwia3NSb3dzIiwia2V5U2NoZWR1bGUiLCJfa2V5U2NoZWR1bGUiLCJrc1JvdyIsImludktleVNjaGVkdWxlIiwiX2ludktleVNjaGVkdWxlIiwiaW52S3NSb3ciLCJfZG9DcnlwdEJsb2NrIiwiczAiLCJzMSIsInMyIiwiczMiLCJ0MCIsInQzIiwiUEMxIiwiUEMyIiwiQklUX1NISUZUUyIsIlNCT1hfUCIsIlNCT1hfTUFTSyIsIkRFUyIsImtleUJpdHMiLCJrZXlCaXRQb3MiLCJzdWJLZXlzIiwiX3N1YktleXMiLCJuU3ViS2V5Iiwic3ViS2V5IiwiYml0U2hpZnQiLCJpbnZTdWJLZXlzIiwiX2ludlN1YktleXMiLCJfbEJsb2NrIiwiX3JCbG9jayIsImV4Y2hhbmdlTFIiLCJleGNoYW5nZVJMIiwibEJsb2NrIiwickJsb2NrIiwibWFzayIsIlRyaXBsZURFUyIsImtleTEiLCJrZXkyIiwia2V5MyIsIl9kZXMxIiwiX2RlczIiLCJfZGVzMyIsIlJDNCIsImtleVNpZ0J5dGVzIiwiUyIsIl9TIiwia2V5Qnl0ZUluZGV4Iiwia2V5Qnl0ZSIsIl9pIiwiX2oiLCJnZW5lcmF0ZUtleXN0cmVhbVdvcmQiLCJrZXlzdHJlYW1Xb3JkIiwiUkM0RHJvcCIsImRyb3AiLCJDVFJHbGFkbWFuIiwiaW5jV29yZCIsImIxIiwiYjIiLCJiMyIsImluY0NvdW50ZXIiLCJjb3VudGVyIiwiX2NvdW50ZXIiLCJDXyIsIkciLCJSYWJiaXQiLCJYIiwiX1giLCJfQyIsIl9iIiwibmV4dFN0YXRlIiwiSVYiLCJJVl8wIiwiSVZfMSIsImkwIiwiaTIiLCJpMSIsImkzIiwiZ3giLCJnYSIsImdiIiwiQ1RSIiwiUmFiYml0TGVnYWN5Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNDLFdBQVNBLElBQVQsRUFBZUMsT0FBZixFQUF3QjtBQUN2QixNQUFJLElBQUosRUFBaUM7QUFDL0I7QUFDQUMsVUFBTSxDQUFDQyxPQUFQLEdBQWlCQSxPQUFPLEdBQUdGLE9BQU8sRUFBbEM7QUFDRCxHQUhELE1BR08sRUFN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VUFBRCxFQUFhLFVBQWIsQ0FGUixFQUVrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBRmhEO0FBR05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FIUixFQUdrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBSGhEO0FBSU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FKUixFQUlrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBSmhEO0FBS05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FMUixFQUtrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBTGhEO0FBTU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FOUixFQU1rQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBTmhEO0FBT05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FQUixFQU9rQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBUGhEO0FBUU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FSUixFQVFrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBUmhEO0FBU05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FUUixFQVNrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBVGhEO0FBVU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FWUixFQVVrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBVmhEO0FBV05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FYUixFQVdrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBWGhEO0FBWU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FaUixFQVlrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBWmhEO0FBYU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FiUixFQWFrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBYmhEO0FBY05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FkUixFQWNrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBZGhEO0FBZU5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FmUixFQWVrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBZmhEO0FBZ0JOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBaEJSLEVBZ0JrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBaEJoRDtBQWlCTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQWpCUixFQWlCa0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQWpCaEQ7QUFrQk5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FsQlIsRUFrQmtDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FsQmhEO0FBbUJOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBbkJSLEVBbUJrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBbkJoRDtBQW9CTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQXBCUixFQW9Ca0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQXBCaEQ7QUFxQk5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FyQlIsRUFxQmtDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FyQmhEO0FBc0JOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBdEJSLEVBc0JrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBdEJoRDtBQXVCTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQXZCUixFQXVCa0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQXZCaEQ7QUF3Qk5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0F4QlIsRUF3QmtDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0F4QmhEO0FBeUJOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBekJSLEVBeUJrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBekJoRDtBQTBCTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQTFCUixFQTBCa0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQTFCaEQ7QUEyQk5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0EzQlIsRUEyQmtDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0EzQmhEO0FBNEJOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBNUJSLEVBNEJrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBNUJoRDtBQTZCTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQTdCUixFQTZCa0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQTdCaEQ7QUE4Qk5BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0E5QlIsRUE4QmtDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0E5QmhEO0FBK0JOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBL0JSLEVBK0JrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBL0JoRDtBQWdDTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQWhDUixFQWdDa0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQWhDaEQ7QUFpQ05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FqQ1IsRUFpQ2tDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FqQ2hEO0FBa0NOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBbENSLEVBa0NrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBbENoRDtBQW1DTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQW5DUixFQW1Da0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQW5DaEQ7QUFvQ05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FwQ1IsRUFvQ2tDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0FwQ2hEO0FBcUNOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBckNSLEVBcUNrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBckNoRDtBQXNDTkEsa0JBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQXRDUixFQXNDa0NBLGNBQWMsQ0FBQyxVQUFELEVBQWEsVUFBYixDQXRDaEQ7QUF1Q05BLGtCQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0F2Q1IsRUF1Q2tDQSxjQUFjLENBQUMsVUFBRCxFQUFhLFVBQWIsQ0F2Q2hEO0FBd0NOQSxrQkFBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBeENSLEVBd0NrQ0EsY0FBYyxDQUFDLFVBQUQsRUFBYSxVQUFiLENBeENoRCxDQUFSOzs7QUEyQ0E7QUFDQSxRQUFJdkssQ0FBQyxHQUFHLEVBQVI7QUFDQyxpQkFBVztBQUNWLFdBQUssSUFBSXZJLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUcsRUFBcEIsRUFBd0JBLENBQUMsRUFBekIsRUFBNkI7QUFDM0J1SSxTQUFDLENBQUN2SSxDQUFELENBQUQsR0FBTzhTLGNBQWMsRUFBckI7QUFDRDtBQUNGLEtBSkEsR0FBRDs7QUFNQTs7O0FBR0EsUUFBSUMsTUFBTSxHQUFHNU8sTUFBTSxDQUFDNE8sTUFBUCxHQUFnQnpQLE1BQU0sQ0FBQ2pGLE1BQVAsQ0FBYztBQUN6Q21GLGNBQVEsRUFBRSxvQkFBVztBQUNuQixhQUFLdUMsS0FBTCxHQUFhLElBQUkrSixZQUFZLENBQUNyUixJQUFqQixDQUFzQjtBQUNqQyxZQUFJaVIsT0FBTyxDQUFDalIsSUFBWixDQUFpQixVQUFqQixFQUE2QixVQUE3QixDQURpQyxFQUNTLElBQUlpUixPQUFPLENBQUNqUixJQUFaLENBQWlCLFVBQWpCLEVBQTZCLFVBQTdCLENBRFQ7QUFFakMsWUFBSWlSLE9BQU8sQ0FBQ2pSLElBQVosQ0FBaUIsVUFBakIsRUFBNkIsVUFBN0IsQ0FGaUMsRUFFUyxJQUFJaVIsT0FBTyxDQUFDalIsSUFBWixDQUFpQixVQUFqQixFQUE2QixVQUE3QixDQUZUO0FBR2pDLFlBQUlpUixPQUFPLENBQUNqUixJQUFaLENBQWlCLFVBQWpCLEVBQTZCLFVBQTdCLENBSGlDLEVBR1MsSUFBSWlSLE9BQU8sQ0FBQ2pSLElBQVosQ0FBaUIsVUFBakIsRUFBNkIsVUFBN0IsQ0FIVDtBQUlqQyxZQUFJaVIsT0FBTyxDQUFDalIsSUFBWixDQUFpQixVQUFqQixFQUE2QixVQUE3QixDQUppQyxFQUlTLElBQUlpUixPQUFPLENBQUNqUixJQUFaLENBQWlCLFVBQWpCLEVBQTZCLFVBQTdCLENBSlQsQ0FBdEIsQ0FBYjs7QUFNRCxPQVJ3Qzs7QUFVekMyRSxxQkFBZSxFQUFFLHlCQUFTNEMsQ0FBVCxFQUFZN0MsTUFBWixFQUFvQjtBQUNuQztBQUNBLFlBQUlnRCxDQUFDLEdBQUcsS0FBS0osS0FBTCxDQUFXNUcsS0FBbkI7O0FBRUEsWUFBSTZULEVBQUUsR0FBRzdNLENBQUMsQ0FBQyxDQUFELENBQVY7QUFDQSxZQUFJOE0sRUFBRSxHQUFHOU0sQ0FBQyxDQUFDLENBQUQsQ0FBVjtBQUNBLFlBQUkrTSxFQUFFLEdBQUcvTSxDQUFDLENBQUMsQ0FBRCxDQUFWO0FBQ0EsWUFBSWdOLEVBQUUsR0FBR2hOLENBQUMsQ0FBQyxDQUFELENBQVY7QUFDQSxZQUFJaU4sRUFBRSxHQUFHak4sQ0FBQyxDQUFDLENBQUQsQ0FBVjtBQUNBLFlBQUlrTixFQUFFLEdBQUdsTixDQUFDLENBQUMsQ0FBRCxDQUFWO0FBQ0EsWUFBSW1OLEVBQUUsR0FBR25OLENBQUMsQ0FBQyxDQUFELENBQVY7QUFDQSxZQUFJb04sRUFBRSxHQUFHcE4sQ0FBQyxDQUFDLENBQUQsQ0FBVjs7QUFFQSxZQUFJcU4sR0FBRyxHQUFHUixFQUFFLENBQUNwRCxJQUFiO0FBQ0EsWUFBSTZELEdBQUcsR0FBR1QsRUFBRSxDQUFDbkQsR0FBYjtBQUNBLFlBQUk2RCxHQUFHLEdBQUdULEVBQUUsQ0FBQ3JELElBQWI7QUFDQSxZQUFJK0QsR0FBRyxHQUFHVixFQUFFLENBQUNwRCxHQUFiO0FBQ0EsWUFBSStELEdBQUcsR0FBR1YsRUFBRSxDQUFDdEQsSUFBYjtBQUNBLFlBQUlpRSxHQUFHLEdBQUdYLEVBQUUsQ0FBQ3JELEdBQWI7QUFDQSxZQUFJaUUsR0FBRyxHQUFHWCxFQUFFLENBQUN2RCxJQUFiO0FBQ0EsWUFBSW1FLEdBQUcsR0FBR1osRUFBRSxDQUFDdEQsR0FBYjtBQUNBLFlBQUltRSxHQUFHLEdBQUdaLEVBQUUsQ0FBQ3hELElBQWI7QUFDQSxZQUFJcUUsR0FBRyxHQUFHYixFQUFFLENBQUN2RCxHQUFiO0FBQ0EsWUFBSXFFLEdBQUcsR0FBR2IsRUFBRSxDQUFDekQsSUFBYjtBQUNBLFlBQUl1RSxHQUFHLEdBQUdkLEVBQUUsQ0FBQ3hELEdBQWI7QUFDQSxZQUFJdUUsR0FBRyxHQUFHZCxFQUFFLENBQUMxRCxJQUFiO0FBQ0EsWUFBSXlFLEdBQUcsR0FBR2YsRUFBRSxDQUFDekQsR0FBYjtBQUNBLFlBQUl5RSxHQUFHLEdBQUdmLEVBQUUsQ0FBQzNELElBQWI7QUFDQSxZQUFJMkUsR0FBRyxHQUFHaEIsRUFBRSxDQUFDMUQsR0FBYjs7QUFFQTtBQUNBLFlBQUkyRSxFQUFFLEdBQUdoQixHQUFUO0FBQ0EsWUFBSWpILEVBQUUsR0FBR2tILEdBQVQ7QUFDQSxZQUFJZ0IsRUFBRSxHQUFHZixHQUFUO0FBQ0EsWUFBSWxILEVBQUUsR0FBR21ILEdBQVQ7QUFDQSxZQUFJakssRUFBRSxHQUFHa0ssR0FBVDtBQUNBLFlBQUluSCxFQUFFLEdBQUdvSCxHQUFUO0FBQ0EsWUFBSWEsRUFBRSxHQUFHWixHQUFUO0FBQ0EsWUFBSXBILEVBQUUsR0FBR3FILEdBQVQ7QUFDQSxZQUFJWSxFQUFFLEdBQUdYLEdBQVQ7QUFDQSxZQUFJckgsRUFBRSxHQUFHc0gsR0FBVDtBQUNBLFlBQUlXLEVBQUUsR0FBR1YsR0FBVDtBQUNBLFlBQUlXLEVBQUUsR0FBR1YsR0FBVDtBQUNBLFlBQUlXLEVBQUUsR0FBR1YsR0FBVDtBQUNBLFlBQUlXLEVBQUUsR0FBR1YsR0FBVDtBQUNBLFlBQUlXLEVBQUUsR0FBR1YsR0FBVDtBQUNBLFlBQUlySSxFQUFFLEdBQUdzSSxHQUFUOztBQUVBO0FBQ0EsYUFBSyxJQUFJdlUsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxFQUFwQixFQUF3QkEsQ0FBQyxFQUF6QixFQUE2QjtBQUMzQixjQUFJaVYsR0FBSjtBQUNBLGNBQUlDLEdBQUo7O0FBRUE7QUFDQSxjQUFJQyxFQUFFLEdBQUc1TSxDQUFDLENBQUN2SSxDQUFELENBQVY7O0FBRUE7QUFDQSxjQUFJQSxDQUFDLEdBQUcsRUFBUixFQUFZO0FBQ1ZrVixlQUFHLEdBQUdDLEVBQUUsQ0FBQ3ZGLElBQUgsR0FBVTVKLENBQUMsQ0FBQzdDLE1BQU0sR0FBR25ELENBQUMsR0FBRyxDQUFkLENBQUQsR0FBb0IsQ0FBcEM7QUFDQWlWLGVBQUcsR0FBR0UsRUFBRSxDQUFDdEYsR0FBSCxHQUFTN0osQ0FBQyxDQUFDN0MsTUFBTSxHQUFHbkQsQ0FBQyxHQUFHLENBQWIsR0FBaUIsQ0FBbEIsQ0FBRCxHQUF3QixDQUF2QztBQUNELFdBSEQsTUFHTztBQUNMO0FBQ0EsZ0JBQUlzSixPQUFPLEdBQUdmLENBQUMsQ0FBQ3ZJLENBQUMsR0FBRyxFQUFMLENBQWY7QUFDQSxnQkFBSW9WLFFBQVEsR0FBRzlMLE9BQU8sQ0FBQ3NHLElBQXZCO0FBQ0EsZ0JBQUl5RixRQUFRLEdBQUcvTCxPQUFPLENBQUN1RyxHQUF2QjtBQUNBLGdCQUFJeUYsT0FBTyxHQUFHLENBQUVGLFFBQVEsS0FBSyxDQUFkLEdBQW9CQyxRQUFRLElBQUksRUFBakMsS0FBMENELFFBQVEsS0FBSyxDQUFkLEdBQW9CQyxRQUFRLElBQUksRUFBekUsSUFBaUZELFFBQVEsS0FBSyxDQUE1RztBQUNBLGdCQUFJRyxPQUFPLEdBQUcsQ0FBRUYsUUFBUSxLQUFLLENBQWQsR0FBb0JELFFBQVEsSUFBSSxFQUFqQyxLQUEwQ0MsUUFBUSxLQUFLLENBQWQsR0FBb0JELFFBQVEsSUFBSSxFQUF6RSxLQUFrRkMsUUFBUSxLQUFLLENBQWQsR0FBb0JELFFBQVEsSUFBSSxFQUFqSCxDQUFkOztBQUVBO0FBQ0EsZ0JBQUk1TCxPQUFPLEdBQUdqQixDQUFDLENBQUN2SSxDQUFDLEdBQUcsQ0FBTCxDQUFmO0FBQ0EsZ0JBQUl3VixRQUFRLEdBQUdoTSxPQUFPLENBQUNvRyxJQUF2QjtBQUNBLGdCQUFJNkYsUUFBUSxHQUFHak0sT0FBTyxDQUFDcUcsR0FBdkI7QUFDQSxnQkFBSTZGLE9BQU8sR0FBRyxDQUFFRixRQUFRLEtBQUssRUFBZCxHQUFxQkMsUUFBUSxJQUFJLEVBQWxDLEtBQTJDRCxRQUFRLElBQUksQ0FBYixHQUFtQkMsUUFBUSxLQUFLLEVBQTFFLElBQWtGRCxRQUFRLEtBQUssQ0FBN0c7QUFDQSxnQkFBSUcsT0FBTyxHQUFHLENBQUVGLFFBQVEsS0FBSyxFQUFkLEdBQXFCRCxRQUFRLElBQUksRUFBbEMsS0FBMkNDLFFBQVEsSUFBSSxDQUFiLEdBQW1CRCxRQUFRLEtBQUssRUFBMUUsS0FBbUZDLFFBQVEsS0FBSyxDQUFkLEdBQW9CRCxRQUFRLElBQUksRUFBbEgsQ0FBZDs7QUFFQTtBQUNBLGdCQUFJSSxHQUFHLEdBQUdyTixDQUFDLENBQUN2SSxDQUFDLEdBQUcsQ0FBTCxDQUFYO0FBQ0EsZ0JBQUk2VixJQUFJLEdBQUdELEdBQUcsQ0FBQ2hHLElBQWY7QUFDQSxnQkFBSWtHLElBQUksR0FBR0YsR0FBRyxDQUFDL0YsR0FBZjs7QUFFQSxnQkFBSWtHLElBQUksR0FBR3hOLENBQUMsQ0FBQ3ZJLENBQUMsR0FBRyxFQUFMLENBQVo7QUFDQSxnQkFBSWdXLEtBQUssR0FBR0QsSUFBSSxDQUFDbkcsSUFBakI7QUFDQSxnQkFBSXFHLEtBQUssR0FBR0YsSUFBSSxDQUFDbEcsR0FBakI7O0FBRUFvRixlQUFHLEdBQUdNLE9BQU8sR0FBR08sSUFBaEI7QUFDQVosZUFBRyxHQUFHSSxPQUFPLEdBQUdPLElBQVYsSUFBbUJaLEdBQUcsS0FBSyxDQUFULEdBQWVNLE9BQU8sS0FBSyxDQUEzQixHQUFnQyxDQUFoQyxHQUFvQyxDQUF0RCxDQUFOO0FBQ0FOLGVBQUcsR0FBR0EsR0FBRyxHQUFHVSxPQUFaO0FBQ0FULGVBQUcsR0FBR0EsR0FBRyxHQUFHUSxPQUFOLElBQWtCVCxHQUFHLEtBQUssQ0FBVCxHQUFlVSxPQUFPLEtBQUssQ0FBM0IsR0FBZ0MsQ0FBaEMsR0FBb0MsQ0FBckQsQ0FBTjtBQUNBVixlQUFHLEdBQUdBLEdBQUcsR0FBR2dCLEtBQVo7QUFDQWYsZUFBRyxHQUFHQSxHQUFHLEdBQUdjLEtBQU4sSUFBZ0JmLEdBQUcsS0FBSyxDQUFULEdBQWVnQixLQUFLLEtBQUssQ0FBekIsR0FBOEIsQ0FBOUIsR0FBa0MsQ0FBakQsQ0FBTjs7QUFFQWQsY0FBRSxDQUFDdkYsSUFBSCxHQUFVc0YsR0FBVjtBQUNBQyxjQUFFLENBQUN0RixHQUFILEdBQVNvRixHQUFUO0FBQ0Q7O0FBRUQsY0FBSWlCLEdBQUcsR0FBSXZCLEVBQUUsR0FBR0MsRUFBTixHQUFhLENBQUNELEVBQUQsR0FBTUcsRUFBN0I7QUFDQSxjQUFJcUIsR0FBRyxHQUFJeEosRUFBRSxHQUFHa0ksRUFBTixHQUFhLENBQUNsSSxFQUFELEdBQU1vSSxFQUE3QjtBQUNBLGNBQUlxQixJQUFJLEdBQUk1QixFQUFFLEdBQUdDLEVBQU4sR0FBYUQsRUFBRSxHQUFHOUssRUFBbEIsR0FBeUIrSyxFQUFFLEdBQUcvSyxFQUF6QztBQUNBLGNBQUkyTSxJQUFJLEdBQUk5SixFQUFFLEdBQUdDLEVBQU4sR0FBYUQsRUFBRSxHQUFHRSxFQUFsQixHQUF5QkQsRUFBRSxHQUFHQyxFQUF6Qzs7QUFFQSxjQUFJNkosT0FBTyxHQUFHLENBQUU5QixFQUFFLEtBQUssRUFBUixHQUFlakksRUFBRSxJQUFJLENBQXRCLEtBQThCaUksRUFBRSxJQUFJLEVBQVAsR0FBY2pJLEVBQUUsS0FBSyxDQUFsRCxLQUEwRGlJLEVBQUUsSUFBSSxFQUFQLEdBQWNqSSxFQUFFLEtBQUssQ0FBOUUsQ0FBZDtBQUNBLGNBQUlnSyxPQUFPLEdBQUcsQ0FBRWhLLEVBQUUsS0FBSyxFQUFSLEdBQWVpSSxFQUFFLElBQUksQ0FBdEIsS0FBOEJqSSxFQUFFLElBQUksRUFBUCxHQUFjaUksRUFBRSxLQUFLLENBQWxELEtBQTBEakksRUFBRSxJQUFJLEVBQVAsR0FBY2lJLEVBQUUsS0FBSyxDQUE5RSxDQUFkO0FBQ0EsY0FBSWdDLE9BQU8sR0FBRyxDQUFFN0IsRUFBRSxLQUFLLEVBQVIsR0FBZWhJLEVBQUUsSUFBSSxFQUF0QixLQUErQmdJLEVBQUUsS0FBSyxFQUFSLEdBQWVoSSxFQUFFLElBQUksRUFBbkQsS0FBNERnSSxFQUFFLElBQUksRUFBUCxHQUFjaEksRUFBRSxLQUFLLENBQWhGLENBQWQ7QUFDQSxjQUFJOEosT0FBTyxHQUFHLENBQUU5SixFQUFFLEtBQUssRUFBUixHQUFlZ0ksRUFBRSxJQUFJLEVBQXRCLEtBQStCaEksRUFBRSxLQUFLLEVBQVIsR0FBZWdJLEVBQUUsSUFBSSxFQUFuRCxLQUE0RGhJLEVBQUUsSUFBSSxFQUFQLEdBQWNnSSxFQUFFLEtBQUssQ0FBaEYsQ0FBZDs7QUFFQTtBQUNBLGNBQUkrQixFQUFFLEdBQUdoTyxDQUFDLENBQUMxSSxDQUFELENBQVY7QUFDQSxjQUFJMlcsR0FBRyxHQUFHRCxFQUFFLENBQUM5RyxJQUFiO0FBQ0EsY0FBSWdILEdBQUcsR0FBR0YsRUFBRSxDQUFDN0csR0FBYjs7QUFFQSxjQUFJZ0gsR0FBRyxHQUFHNUssRUFBRSxHQUFHd0ssT0FBZjtBQUNBLGNBQUlLLEdBQUcsR0FBRzlCLEVBQUUsR0FBR3dCLE9BQUwsSUFBaUJLLEdBQUcsS0FBSyxDQUFULEdBQWU1SyxFQUFFLEtBQUssQ0FBdEIsR0FBMkIsQ0FBM0IsR0FBK0IsQ0FBL0MsQ0FBVjtBQUNBLGNBQUk0SyxHQUFHLEdBQUdBLEdBQUcsR0FBR1YsR0FBaEI7QUFDQSxjQUFJVyxHQUFHLEdBQUdBLEdBQUcsR0FBR1osR0FBTixJQUFjVyxHQUFHLEtBQUssQ0FBVCxHQUFlVixHQUFHLEtBQUssQ0FBdkIsR0FBNEIsQ0FBNUIsR0FBZ0MsQ0FBN0MsQ0FBVjtBQUNBLGNBQUlVLEdBQUcsR0FBR0EsR0FBRyxHQUFHRCxHQUFoQjtBQUNBLGNBQUlFLEdBQUcsR0FBR0EsR0FBRyxHQUFHSCxHQUFOLElBQWNFLEdBQUcsS0FBSyxDQUFULEdBQWVELEdBQUcsS0FBSyxDQUF2QixHQUE0QixDQUE1QixHQUFnQyxDQUE3QyxDQUFWO0FBQ0EsY0FBSUMsR0FBRyxHQUFHQSxHQUFHLEdBQUc1QixHQUFoQjtBQUNBLGNBQUk2QixHQUFHLEdBQUdBLEdBQUcsR0FBRzVCLEdBQU4sSUFBYzJCLEdBQUcsS0FBSyxDQUFULEdBQWU1QixHQUFHLEtBQUssQ0FBdkIsR0FBNEIsQ0FBNUIsR0FBZ0MsQ0FBN0MsQ0FBVjs7QUFFQTtBQUNBLGNBQUk4QixHQUFHLEdBQUdSLE9BQU8sR0FBR0YsSUFBcEI7QUFDQSxjQUFJVyxHQUFHLEdBQUdWLE9BQU8sR0FBR0YsSUFBVixJQUFtQlcsR0FBRyxLQUFLLENBQVQsR0FBZVIsT0FBTyxLQUFLLENBQTNCLEdBQWdDLENBQWhDLEdBQW9DLENBQXRELENBQVY7O0FBRUE7QUFDQXZCLFlBQUUsR0FBR0YsRUFBTDtBQUNBN0ksWUFBRSxHQUFHOEksRUFBTDtBQUNBRCxZQUFFLEdBQUdGLEVBQUw7QUFDQUcsWUFBRSxHQUFHRixFQUFMO0FBQ0FELFlBQUUsR0FBR0QsRUFBTDtBQUNBRSxZQUFFLEdBQUdsSSxFQUFMO0FBQ0FBLFlBQUUsR0FBSUQsRUFBRSxHQUFHbUssR0FBTixHQUFhLENBQWxCO0FBQ0FsQyxZQUFFLEdBQUlELEVBQUUsR0FBR29DLEdBQUwsSUFBYW5LLEVBQUUsS0FBSyxDQUFSLEdBQWNELEVBQUUsS0FBSyxDQUFyQixHQUEwQixDQUExQixHQUE4QixDQUExQyxDQUFELEdBQWlELENBQXREO0FBQ0FnSSxZQUFFLEdBQUdoTCxFQUFMO0FBQ0FnRCxZQUFFLEdBQUdELEVBQUw7QUFDQS9DLFlBQUUsR0FBRytLLEVBQUw7QUFDQWhJLFlBQUUsR0FBR0QsRUFBTDtBQUNBaUksWUFBRSxHQUFHRCxFQUFMO0FBQ0FoSSxZQUFFLEdBQUdELEVBQUw7QUFDQUEsWUFBRSxHQUFJc0ssR0FBRyxHQUFHRSxHQUFQLEdBQWMsQ0FBbkI7QUFDQXZDLFlBQUUsR0FBSXNDLEdBQUcsR0FBR0UsR0FBTixJQUFjekssRUFBRSxLQUFLLENBQVIsR0FBY3NLLEdBQUcsS0FBSyxDQUF0QixHQUEyQixDQUEzQixHQUErQixDQUE1QyxDQUFELEdBQW1ELENBQXhEO0FBQ0Q7O0FBRUQ7QUFDQXBELFdBQUcsR0FBR1QsRUFBRSxDQUFDbkQsR0FBSCxHQUFVNEQsR0FBRyxHQUFHbEgsRUFBdEI7QUFDQXlHLFVBQUUsQ0FBQ3BELElBQUgsR0FBVzRELEdBQUcsR0FBR2dCLEVBQU4sSUFBYWYsR0FBRyxLQUFLLENBQVQsR0FBZWxILEVBQUUsS0FBSyxDQUF0QixHQUEyQixDQUEzQixHQUErQixDQUEzQyxDQUFYO0FBQ0FvSCxXQUFHLEdBQUdWLEVBQUUsQ0FBQ3BELEdBQUgsR0FBVThELEdBQUcsR0FBR25ILEVBQXRCO0FBQ0F5RyxVQUFFLENBQUNyRCxJQUFILEdBQVc4RCxHQUFHLEdBQUdlLEVBQU4sSUFBYWQsR0FBRyxLQUFLLENBQVQsR0FBZW5ILEVBQUUsS0FBSyxDQUF0QixHQUEyQixDQUEzQixHQUErQixDQUEzQyxDQUFYO0FBQ0FxSCxXQUFHLEdBQUdYLEVBQUUsQ0FBQ3JELEdBQUgsR0FBVWdFLEdBQUcsR0FBR3BILEVBQXRCO0FBQ0F5RyxVQUFFLENBQUN0RCxJQUFILEdBQVdnRSxHQUFHLEdBQUdsSyxFQUFOLElBQWFtSyxHQUFHLEtBQUssQ0FBVCxHQUFlcEgsRUFBRSxLQUFLLENBQXRCLEdBQTJCLENBQTNCLEdBQStCLENBQTNDLENBQVg7QUFDQXNILFdBQUcsR0FBR1osRUFBRSxDQUFDdEQsR0FBSCxHQUFVa0UsR0FBRyxHQUFHckgsRUFBdEI7QUFDQXlHLFVBQUUsQ0FBQ3ZELElBQUgsR0FBV2tFLEdBQUcsR0FBR1ksRUFBTixJQUFhWCxHQUFHLEtBQUssQ0FBVCxHQUFlckgsRUFBRSxLQUFLLENBQXRCLEdBQTJCLENBQTNCLEdBQStCLENBQTNDLENBQVg7QUFDQXVILFdBQUcsR0FBR2IsRUFBRSxDQUFDdkQsR0FBSCxHQUFVb0UsR0FBRyxHQUFHdEgsRUFBdEI7QUFDQXlHLFVBQUUsQ0FBQ3hELElBQUgsR0FBV29FLEdBQUcsR0FBR1csRUFBTixJQUFhVixHQUFHLEtBQUssQ0FBVCxHQUFldEgsRUFBRSxLQUFLLENBQXRCLEdBQTJCLENBQTNCLEdBQStCLENBQTNDLENBQVg7QUFDQXdILFdBQUcsR0FBR2QsRUFBRSxDQUFDeEQsR0FBSCxHQUFVc0UsR0FBRyxHQUFHVSxFQUF0QjtBQUNBeEIsVUFBRSxDQUFDekQsSUFBSCxHQUFXc0UsR0FBRyxHQUFHVSxFQUFOLElBQWFULEdBQUcsS0FBSyxDQUFULEdBQWVVLEVBQUUsS0FBSyxDQUF0QixHQUEyQixDQUEzQixHQUErQixDQUEzQyxDQUFYO0FBQ0FSLFdBQUcsR0FBR2YsRUFBRSxDQUFDekQsR0FBSCxHQUFVd0UsR0FBRyxHQUFHVSxFQUF0QjtBQUNBekIsVUFBRSxDQUFDMUQsSUFBSCxHQUFXd0UsR0FBRyxHQUFHVSxFQUFOLElBQWFULEdBQUcsS0FBSyxDQUFULEdBQWVVLEVBQUUsS0FBSyxDQUF0QixHQUEyQixDQUEzQixHQUErQixDQUEzQyxDQUFYO0FBQ0FSLFdBQUcsR0FBR2hCLEVBQUUsQ0FBQzFELEdBQUgsR0FBVTBFLEdBQUcsR0FBR3RJLEVBQXRCO0FBQ0FzSCxVQUFFLENBQUMzRCxJQUFILEdBQVcwRSxHQUFHLEdBQUdVLEVBQU4sSUFBYVQsR0FBRyxLQUFLLENBQVQsR0FBZXRJLEVBQUUsS0FBSyxDQUF0QixHQUEyQixDQUEzQixHQUErQixDQUEzQyxDQUFYO0FBQ0QsT0F6S3dDOztBQTJLekNwSSxpQkFBVyxFQUFFLHVCQUFXO0FBQ3RCO0FBQ0EsWUFBSXhCLElBQUksR0FBRyxLQUFLSCxLQUFoQjtBQUNBLFlBQUlPLFNBQVMsR0FBR0osSUFBSSxDQUFDbEQsS0FBckI7O0FBRUEsWUFBSXlJLFVBQVUsR0FBRyxLQUFLekYsV0FBTCxHQUFtQixDQUFwQztBQUNBLFlBQUkwRixTQUFTLEdBQUd4RixJQUFJLENBQUNqRCxRQUFMLEdBQWdCLENBQWhDOztBQUVBO0FBQ0FxRCxpQkFBUyxDQUFDb0YsU0FBUyxLQUFLLENBQWYsQ0FBVCxJQUE4QixRQUFTLEtBQUtBLFNBQVMsR0FBRyxFQUF4RDtBQUNBcEYsaUJBQVMsQ0FBQyxDQUFHb0YsU0FBUyxHQUFHLEdBQWIsS0FBc0IsRUFBdkIsSUFBOEIsQ0FBL0IsSUFBb0MsRUFBckMsQ0FBVCxHQUFvRGhMLElBQUksQ0FBQ2tMLEtBQUwsQ0FBV0gsVUFBVSxHQUFHLFdBQXhCLENBQXBEO0FBQ0FuRixpQkFBUyxDQUFDLENBQUdvRixTQUFTLEdBQUcsR0FBYixLQUFzQixFQUF2QixJQUE4QixDQUEvQixJQUFvQyxFQUFyQyxDQUFULEdBQW9ERCxVQUFwRDtBQUNBdkYsWUFBSSxDQUFDakQsUUFBTCxHQUFnQnFELFNBQVMsQ0FBQ3BELE1BQVYsR0FBbUIsQ0FBbkM7O0FBRUE7QUFDQSxhQUFLaUQsUUFBTDs7QUFFQTtBQUNBLFlBQUlzQixJQUFJLEdBQUcsS0FBS21DLEtBQUwsQ0FBV2dLLEtBQVgsRUFBWDs7QUFFQTtBQUNBLGVBQU9uTSxJQUFQO0FBQ0QsT0FqTXdDOztBQW1NekMzRSxXQUFLLEVBQUUsaUJBQVc7QUFDaEIsWUFBSUEsS0FBSyxHQUFHcUUsTUFBTSxDQUFDckUsS0FBUCxDQUFha0IsSUFBYixDQUFrQixJQUFsQixDQUFaO0FBQ0FsQixhQUFLLENBQUM4RyxLQUFOLEdBQWMsS0FBS0EsS0FBTCxDQUFXOUcsS0FBWCxFQUFkOztBQUVBLGVBQU9BLEtBQVA7QUFDRCxPQXhNd0M7O0FBME16QzBELGVBQVMsRUFBRSxPQUFPLEVBMU11QixFQUFkLENBQTdCOzs7QUE2TUE7Ozs7Ozs7Ozs7Ozs7O0FBY0ExRSxLQUFDLENBQUM4VSxNQUFGLEdBQVd6UCxNQUFNLENBQUNRLGFBQVAsQ0FBcUJpUCxNQUFyQixDQUFYOztBQUVBOzs7Ozs7Ozs7Ozs7OztBQWNBOVUsS0FBQyxDQUFDZ1osVUFBRixHQUFlM1QsTUFBTSxDQUFDVyxpQkFBUCxDQUF5QjhPLE1BQXpCLENBQWY7QUFDRCxHQWpUQSxHQUFEOzs7QUFvVEMsZUFBVztBQUNWO0FBQ0EsUUFBSTlVLENBQUMsR0FBR3JCLFFBQVI7QUFDQSxRQUFJNFMsS0FBSyxHQUFHdlIsQ0FBQyxDQUFDd1IsR0FBZDtBQUNBLFFBQUlDLE9BQU8sR0FBR0YsS0FBSyxDQUFDRyxJQUFwQjtBQUNBLFFBQUlHLFlBQVksR0FBR04sS0FBSyxDQUFDdFEsU0FBekI7QUFDQSxRQUFJaUYsTUFBTSxHQUFHbEcsQ0FBQyxDQUFDb0csSUFBZjtBQUNBLFFBQUkwTyxNQUFNLEdBQUc1TyxNQUFNLENBQUM0TyxNQUFwQjs7QUFFQTs7O0FBR0EsUUFBSW1FLE1BQU0sR0FBRy9TLE1BQU0sQ0FBQytTLE1BQVAsR0FBZ0JuRSxNQUFNLENBQUMxVSxNQUFQLENBQWM7QUFDekNtRixjQUFRLEVBQUUsb0JBQVc7QUFDbkIsYUFBS3VDLEtBQUwsR0FBYSxJQUFJK0osWUFBWSxDQUFDclIsSUFBakIsQ0FBc0I7QUFDakMsWUFBSWlSLE9BQU8sQ0FBQ2pSLElBQVosQ0FBaUIsVUFBakIsRUFBNkIsVUFBN0IsQ0FEaUMsRUFDUyxJQUFJaVIsT0FBTyxDQUFDalIsSUFBWixDQUFpQixVQUFqQixFQUE2QixVQUE3QixDQURUO0FBRWpDLFlBQUlpUixPQUFPLENBQUNqUixJQUFaLENBQWlCLFVBQWpCLEVBQTZCLFVBQTdCLENBRmlDLEVBRVMsSUFBSWlSLE9BQU8sQ0FBQ2pSLElBQVosQ0FBaUIsVUFBakIsRUFBNkIsVUFBN0IsQ0FGVDtBQUdqQyxZQUFJaVIsT0FBTyxDQUFDalIsSUFBWixDQUFpQixVQUFqQixFQUE2QixVQUE3QixDQUhpQyxFQUdTLElBQUlpUixPQUFPLENBQUNqUixJQUFaLENBQWlCLFVBQWpCLEVBQTZCLFVBQTdCLENBSFQ7QUFJakMsWUFBSWlSLE9BQU8sQ0FBQ2pSLElBQVosQ0FBaUIsVUFBakIsRUFBNkIsVUFBN0IsQ0FKaUMsRUFJUyxJQUFJaVIsT0FBTyxDQUFDalIsSUFBWixDQUFpQixVQUFqQixFQUE2QixVQUE3QixDQUpULENBQXRCLENBQWI7O0FBTUQsT0FSd0M7O0FBVXpDb0YsaUJBQVcsRUFBRSx1QkFBVztBQUN0QixZQUFJRCxJQUFJLEdBQUdtUCxNQUFNLENBQUNsUCxXQUFQLENBQW1CMUQsSUFBbkIsQ0FBd0IsSUFBeEIsQ0FBWDs7QUFFQXlELFlBQUksQ0FBQ3hFLFFBQUwsSUFBaUIsRUFBakI7O0FBRUEsZUFBT3dFLElBQVA7QUFDRCxPQWhCd0MsRUFBZCxDQUE3Qjs7O0FBbUJBOzs7Ozs7Ozs7Ozs7OztBQWNBM0YsS0FBQyxDQUFDaVosTUFBRixHQUFXbkUsTUFBTSxDQUFDalAsYUFBUCxDQUFxQm9ULE1BQXJCLENBQVg7O0FBRUE7Ozs7Ozs7Ozs7Ozs7O0FBY0FqWixLQUFDLENBQUNrWixVQUFGLEdBQWVwRSxNQUFNLENBQUM5TyxpQkFBUCxDQUF5QmlULE1BQXpCLENBQWY7QUFDRCxHQTlEQSxHQUFEOzs7QUFpRUE7OztBQUdBdGEsVUFBUSxDQUFDdUIsR0FBVCxDQUFhaVosTUFBYixJQUF3QixVQUFTdGEsU0FBVCxFQUFvQjtBQUMxQztBQUNBLFFBQUltQixDQUFDLEdBQUdyQixRQUFSO0FBQ0EsUUFBSXNCLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxHQUFkO0FBQ0EsUUFBSUMsSUFBSSxHQUFHRixLQUFLLENBQUNFLElBQWpCO0FBQ0EsUUFBSWMsU0FBUyxHQUFHaEIsS0FBSyxDQUFDZ0IsU0FBdEI7QUFDQSxRQUFJOEMsc0JBQXNCLEdBQUc5RCxLQUFLLENBQUM4RCxzQkFBbkM7QUFDQSxRQUFJeEIsS0FBSyxHQUFHdkMsQ0FBQyxDQUFDd0MsR0FBZDtBQUNBLFFBQUlnQixJQUFJLEdBQUdqQixLQUFLLENBQUNpQixJQUFqQjtBQUNBLFFBQUk2QyxNQUFNLEdBQUc5RCxLQUFLLENBQUM4RCxNQUFuQjtBQUNBLFFBQUlILE1BQU0sR0FBR2xHLENBQUMsQ0FBQ29HLElBQWY7QUFDQSxRQUFJK0ssTUFBTSxHQUFHakwsTUFBTSxDQUFDaUwsTUFBcEI7O0FBRUE7Ozs7Ozs7O0FBUUEsUUFBSWdJLE1BQU0sR0FBR2xaLEtBQUssQ0FBQ2taLE1BQU4sR0FBZXBWLHNCQUFzQixDQUFDM0QsTUFBdkIsQ0FBOEI7QUFDeEQ7Ozs7O0FBS0FrRixTQUFHLEVBQUVuRixJQUFJLENBQUNDLE1BQUwsRUFObUQ7O0FBUXhEOzs7Ozs7Ozs7Ozs7OztBQWNBZ1oscUJBQWUsRUFBRSx5QkFBU25ULEdBQVQsRUFBY1gsR0FBZCxFQUFtQjtBQUNsQyxlQUFPLEtBQUs1RixNQUFMLENBQVksS0FBSzJaLGVBQWpCLEVBQWtDcFQsR0FBbEMsRUFBdUNYLEdBQXZDLENBQVA7QUFDRCxPQXhCdUQ7O0FBMEJ4RDs7Ozs7Ozs7Ozs7Ozs7QUFjQWdVLHFCQUFlLEVBQUUseUJBQVNyVCxHQUFULEVBQWNYLEdBQWQsRUFBbUI7QUFDbEMsZUFBTyxLQUFLNUYsTUFBTCxDQUFZLEtBQUs2WixlQUFqQixFQUFrQ3RULEdBQWxDLEVBQXVDWCxHQUF2QyxDQUFQO0FBQ0QsT0ExQ3VEOztBQTRDeEQ7Ozs7Ozs7Ozs7O0FBV0E5RSxVQUFJLEVBQUUsY0FBU2daLFNBQVQsRUFBb0J2VCxHQUFwQixFQUF5QlgsR0FBekIsRUFBOEI7QUFDbEM7QUFDQSxhQUFLQSxHQUFMLEdBQVcsS0FBS0EsR0FBTCxDQUFTbEYsTUFBVCxDQUFnQmtGLEdBQWhCLENBQVg7O0FBRUE7QUFDQSxhQUFLbVUsVUFBTCxHQUFrQkQsU0FBbEI7QUFDQSxhQUFLRSxJQUFMLEdBQVl6VCxHQUFaOztBQUVBO0FBQ0EsYUFBS2pDLEtBQUw7QUFDRCxPQWpFdUQ7O0FBbUV4RDs7Ozs7OztBQU9BQSxXQUFLLEVBQUUsaUJBQVc7QUFDaEI7QUFDQUQsOEJBQXNCLENBQUNDLEtBQXZCLENBQTZCOUIsSUFBN0IsQ0FBa0MsSUFBbEM7O0FBRUE7QUFDQSxhQUFLcUQsUUFBTDtBQUNELE9BaEZ1RDs7QUFrRnhEOzs7Ozs7Ozs7Ozs7QUFZQW9VLGFBQU8sRUFBRSxpQkFBU0MsVUFBVCxFQUFxQjtBQUM1QjtBQUNBLGFBQUt6VixPQUFMLENBQWF5VixVQUFiOztBQUVBO0FBQ0EsZUFBTyxLQUFLdlYsUUFBTCxFQUFQO0FBQ0QsT0FwR3VEOztBQXNHeEQ7Ozs7Ozs7Ozs7Ozs7O0FBY0FxQixjQUFRLEVBQUUsa0JBQVNrVSxVQUFULEVBQXFCO0FBQzdCO0FBQ0EsWUFBSUEsVUFBSixFQUFnQjtBQUNkLGVBQUt6VixPQUFMLENBQWF5VixVQUFiO0FBQ0Q7O0FBRUQ7QUFDQSxZQUFJQyxrQkFBa0IsR0FBRyxLQUFLalUsV0FBTCxFQUF6Qjs7QUFFQSxlQUFPaVUsa0JBQVA7QUFDRCxPQTlIdUQ7O0FBZ0l4RHhKLGFBQU8sRUFBRSxNQUFNLEVBaEl5Qzs7QUFrSXhEeUosWUFBTSxFQUFFLE1BQU0sRUFsSTBDOztBQW9JeERULHFCQUFlLEVBQUUsQ0FwSXVDOztBQXNJeERFLHFCQUFlLEVBQUUsQ0F0SXVDOztBQXdJeEQ7Ozs7Ozs7Ozs7Ozs7QUFhQTFULG1CQUFhLEVBQUcsWUFBVztBQUN6QixpQkFBU2tVLG9CQUFULENBQThCOVQsR0FBOUIsRUFBbUM7QUFDakMsY0FBSSxPQUFPQSxHQUFQLElBQWMsUUFBbEIsRUFBNEI7QUFDMUIsbUJBQU8rVCxtQkFBUDtBQUNELFdBRkQsTUFFTztBQUNMLG1CQUFPQyxrQkFBUDtBQUNEO0FBQ0Y7O0FBRUQsZUFBTyxVQUFTQyxNQUFULEVBQWlCO0FBQ3RCLGlCQUFPO0FBQ0xDLG1CQUFPLEVBQUUsaUJBQVNwVSxPQUFULEVBQWtCRSxHQUFsQixFQUF1QlgsR0FBdkIsRUFBNEI7QUFDbkMscUJBQU95VSxvQkFBb0IsQ0FBQzlULEdBQUQsQ0FBcEIsQ0FBMEJrVSxPQUExQixDQUFrQ0QsTUFBbEMsRUFBMENuVSxPQUExQyxFQUFtREUsR0FBbkQsRUFBd0RYLEdBQXhELENBQVA7QUFDRCxhQUhJOztBQUtMOFUsbUJBQU8sRUFBRSxpQkFBU0MsVUFBVCxFQUFxQnBVLEdBQXJCLEVBQTBCWCxHQUExQixFQUErQjtBQUN0QyxxQkFBT3lVLG9CQUFvQixDQUFDOVQsR0FBRCxDQUFwQixDQUEwQm1VLE9BQTFCLENBQWtDRixNQUFsQyxFQUEwQ0csVUFBMUMsRUFBc0RwVSxHQUF0RCxFQUEyRFgsR0FBM0QsQ0FBUDtBQUNELGFBUEksRUFBUDs7QUFTRCxTQVZEO0FBV0QsT0FwQmUsRUFySndDLEVBQTlCLENBQTVCOzs7QUE0S0E7Ozs7O0FBS0EsUUFBSWdWLFlBQVksR0FBR3JhLEtBQUssQ0FBQ3FhLFlBQU4sR0FBcUJuQixNQUFNLENBQUMvWSxNQUFQLENBQWM7QUFDcER3RixpQkFBVyxFQUFFLHVCQUFXO0FBQ3RCO0FBQ0EsWUFBSTJVLG9CQUFvQixHQUFHLEtBQUtsVyxRQUFMLENBQWMsQ0FBQyxDQUFDLE9BQWhCLENBQTNCOztBQUVBLGVBQU9rVyxvQkFBUDtBQUNELE9BTm1EOztBQVFwRDdWLGVBQVMsRUFBRSxDQVJ5QyxFQUFkLENBQXhDOzs7QUFXQTs7O0FBR0EsUUFBSThWLE1BQU0sR0FBR3hhLENBQUMsQ0FBQ3lhLElBQUYsR0FBUyxFQUF0Qjs7QUFFQTs7O0FBR0EsUUFBSUMsZUFBZSxHQUFHemEsS0FBSyxDQUFDeWEsZUFBTixHQUF3QnZhLElBQUksQ0FBQ0MsTUFBTCxDQUFZO0FBQ3hEOzs7Ozs7Ozs7Ozs7QUFZQWdaLHFCQUFlLEVBQUUseUJBQVNjLE1BQVQsRUFBaUJTLEVBQWpCLEVBQXFCO0FBQ3BDLGVBQU8sS0FBS0MsU0FBTCxDQUFlbGIsTUFBZixDQUFzQndhLE1BQXRCLEVBQThCUyxFQUE5QixDQUFQO0FBQ0QsT0FmdUQ7O0FBaUJ4RDs7Ozs7Ozs7Ozs7O0FBWUFyQixxQkFBZSxFQUFFLHlCQUFTWSxNQUFULEVBQWlCUyxFQUFqQixFQUFxQjtBQUNwQyxlQUFPLEtBQUtFLFNBQUwsQ0FBZW5iLE1BQWYsQ0FBc0J3YSxNQUF0QixFQUE4QlMsRUFBOUIsQ0FBUDtBQUNELE9BL0J1RDs7QUFpQ3hEOzs7Ozs7Ozs7O0FBVUFuYSxVQUFJLEVBQUUsY0FBUzBaLE1BQVQsRUFBaUJTLEVBQWpCLEVBQXFCO0FBQ3pCLGFBQUtHLE9BQUwsR0FBZVosTUFBZjtBQUNBLGFBQUthLEdBQUwsR0FBV0osRUFBWDtBQUNELE9BOUN1RCxFQUFaLENBQTlDOzs7QUFpREE7OztBQUdBLFFBQUlLLEdBQUcsR0FBR1IsTUFBTSxDQUFDUSxHQUFQLEdBQWMsWUFBVztBQUNqQzs7O0FBR0EsVUFBSUEsR0FBRyxHQUFHTixlQUFlLENBQUN0YSxNQUFoQixFQUFWOztBQUVBOzs7QUFHQTRhLFNBQUcsQ0FBQ0osU0FBSixHQUFnQkksR0FBRyxDQUFDNWEsTUFBSixDQUFXO0FBQ3pCOzs7Ozs7Ozs7O0FBVUE2YSxvQkFBWSxFQUFFLHNCQUFTL1osS0FBVCxFQUFnQmdFLE1BQWhCLEVBQXdCO0FBQ3BDO0FBQ0EsY0FBSWdWLE1BQU0sR0FBRyxLQUFLWSxPQUFsQjtBQUNBLGNBQUlwVyxTQUFTLEdBQUd3VixNQUFNLENBQUN4VixTQUF2Qjs7QUFFQTtBQUNBd1csa0JBQVEsQ0FBQ2haLElBQVQsQ0FBYyxJQUFkLEVBQW9CaEIsS0FBcEIsRUFBMkJnRSxNQUEzQixFQUFtQ1IsU0FBbkM7QUFDQXdWLGdCQUFNLENBQUNpQixZQUFQLENBQW9CamEsS0FBcEIsRUFBMkJnRSxNQUEzQjs7QUFFQTtBQUNBLGVBQUtrVyxVQUFMLEdBQWtCbGEsS0FBSyxDQUFDaUIsS0FBTixDQUFZK0MsTUFBWixFQUFvQkEsTUFBTSxHQUFHUixTQUE3QixDQUFsQjtBQUNELFNBdEJ3QixFQUFYLENBQWhCOzs7QUF5QkE7OztBQUdBc1csU0FBRyxDQUFDSCxTQUFKLEdBQWdCRyxHQUFHLENBQUM1YSxNQUFKLENBQVc7QUFDekI7Ozs7Ozs7Ozs7QUFVQTZhLG9CQUFZLEVBQUUsc0JBQVMvWixLQUFULEVBQWdCZ0UsTUFBaEIsRUFBd0I7QUFDcEM7QUFDQSxjQUFJZ1YsTUFBTSxHQUFHLEtBQUtZLE9BQWxCO0FBQ0EsY0FBSXBXLFNBQVMsR0FBR3dWLE1BQU0sQ0FBQ3hWLFNBQXZCOztBQUVBO0FBQ0EsY0FBSTJXLFNBQVMsR0FBR25hLEtBQUssQ0FBQ2lCLEtBQU4sQ0FBWStDLE1BQVosRUFBb0JBLE1BQU0sR0FBR1IsU0FBN0IsQ0FBaEI7O0FBRUE7QUFDQXdWLGdCQUFNLENBQUNvQixZQUFQLENBQW9CcGEsS0FBcEIsRUFBMkJnRSxNQUEzQjtBQUNBZ1csa0JBQVEsQ0FBQ2haLElBQVQsQ0FBYyxJQUFkLEVBQW9CaEIsS0FBcEIsRUFBMkJnRSxNQUEzQixFQUFtQ1IsU0FBbkM7O0FBRUE7QUFDQSxlQUFLMFcsVUFBTCxHQUFrQkMsU0FBbEI7QUFDRCxTQXpCd0IsRUFBWCxDQUFoQjs7O0FBNEJBLGVBQVNILFFBQVQsQ0FBa0JoYSxLQUFsQixFQUF5QmdFLE1BQXpCLEVBQWlDUixTQUFqQyxFQUE0QztBQUMxQyxZQUFJb00sS0FBSjs7QUFFQTtBQUNBLFlBQUk2SixFQUFFLEdBQUcsS0FBS0ksR0FBZDs7QUFFQTtBQUNBLFlBQUlKLEVBQUosRUFBUTtBQUNON0osZUFBSyxHQUFHNkosRUFBUjs7QUFFQTtBQUNBLGVBQUtJLEdBQUwsR0FBV2xjLFNBQVg7QUFDRCxTQUxELE1BS087QUFDTGlTLGVBQUssR0FBRyxLQUFLc0ssVUFBYjtBQUNEOztBQUVEO0FBQ0EsYUFBSyxJQUFJclosQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRzJDLFNBQXBCLEVBQStCM0MsQ0FBQyxFQUFoQyxFQUFvQztBQUNsQ2IsZUFBSyxDQUFDZ0UsTUFBTSxHQUFHbkQsQ0FBVixDQUFMLElBQXFCK08sS0FBSyxDQUFDL08sQ0FBRCxDQUExQjtBQUNEO0FBQ0Y7O0FBRUQsYUFBT2laLEdBQVA7QUFDRCxLQXhGdUIsRUFBeEI7O0FBMEZBOzs7QUFHQSxRQUFJTyxLQUFLLEdBQUd2YixDQUFDLENBQUN3YixHQUFGLEdBQVEsRUFBcEI7O0FBRUE7OztBQUdBLFFBQUlDLEtBQUssR0FBR0YsS0FBSyxDQUFDRSxLQUFOLEdBQWM7QUFDeEI7Ozs7Ozs7Ozs7OztBQVlBRCxTQUFHLEVBQUUsYUFBU3BYLElBQVQsRUFBZU0sU0FBZixFQUEwQjtBQUM3QjtBQUNBLFlBQUlDLGNBQWMsR0FBR0QsU0FBUyxHQUFHLENBQWpDOztBQUVBO0FBQ0EsWUFBSWdYLGFBQWEsR0FBRy9XLGNBQWMsR0FBR1AsSUFBSSxDQUFDakQsUUFBTCxHQUFnQndELGNBQXJEOztBQUVBO0FBQ0EsWUFBSWdYLFdBQVcsR0FBSUQsYUFBYSxJQUFJLEVBQWxCLEdBQXlCQSxhQUFhLElBQUksRUFBMUMsR0FBaURBLGFBQWEsSUFBSSxDQUFsRSxHQUF1RUEsYUFBekY7O0FBRUE7QUFDQSxZQUFJRSxZQUFZLEdBQUcsRUFBbkI7QUFDQSxhQUFLLElBQUk3WixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHMlosYUFBcEIsRUFBbUMzWixDQUFDLElBQUksQ0FBeEMsRUFBMkM7QUFDekM2WixzQkFBWSxDQUFDdFosSUFBYixDQUFrQnFaLFdBQWxCO0FBQ0Q7QUFDRCxZQUFJRSxPQUFPLEdBQUc1YSxTQUFTLENBQUN2QixNQUFWLENBQWlCa2MsWUFBakIsRUFBK0JGLGFBQS9CLENBQWQ7O0FBRUE7QUFDQXRYLFlBQUksQ0FBQzVDLE1BQUwsQ0FBWXFhLE9BQVo7QUFDRCxPQWhDdUI7O0FBa0N4Qjs7Ozs7Ozs7Ozs7QUFXQUMsV0FBSyxFQUFFLGVBQVMxWCxJQUFULEVBQWU7QUFDcEI7QUFDQSxZQUFJc1gsYUFBYSxHQUFHdFgsSUFBSSxDQUFDbEQsS0FBTCxDQUFZa0QsSUFBSSxDQUFDakQsUUFBTCxHQUFnQixDQUFqQixLQUF3QixDQUFuQyxJQUF3QyxJQUE1RDs7QUFFQTtBQUNBaUQsWUFBSSxDQUFDakQsUUFBTCxJQUFpQnVhLGFBQWpCO0FBQ0QsT0FuRHVCLEVBQTFCOzs7QUFzREE7Ozs7O0FBS0EsUUFBSUssV0FBVyxHQUFHOWIsS0FBSyxDQUFDOGIsV0FBTixHQUFvQjVDLE1BQU0sQ0FBQy9ZLE1BQVAsQ0FBYztBQUNsRDs7Ozs7O0FBTUFrRixTQUFHLEVBQUU2VCxNQUFNLENBQUM3VCxHQUFQLENBQVdsRixNQUFYLENBQWtCO0FBQ3JCcWEsWUFBSSxFQUFFTyxHQURlO0FBRXJCYSxlQUFPLEVBQUVKLEtBRlksRUFBbEIsQ0FQNkM7OztBQVlsRHpYLFdBQUssRUFBRSxpQkFBVztBQUNoQixZQUFJZ1ksV0FBSjs7QUFFQTtBQUNBN0MsY0FBTSxDQUFDblYsS0FBUCxDQUFhOUIsSUFBYixDQUFrQixJQUFsQjs7QUFFQTtBQUNBLFlBQUlvRCxHQUFHLEdBQUcsS0FBS0EsR0FBZjtBQUNBLFlBQUlxVixFQUFFLEdBQUdyVixHQUFHLENBQUNxVixFQUFiO0FBQ0EsWUFBSUYsSUFBSSxHQUFHblYsR0FBRyxDQUFDbVYsSUFBZjs7QUFFQTtBQUNBLFlBQUksS0FBS2hCLFVBQUwsSUFBbUIsS0FBS0osZUFBNUIsRUFBNkM7QUFDM0MyQyxxQkFBVyxHQUFHdkIsSUFBSSxDQUFDckIsZUFBbkI7QUFDRCxTQUZELE1BRU8sa0RBQW1EO0FBQ3hENEMsdUJBQVcsR0FBR3ZCLElBQUksQ0FBQ25CLGVBQW5CO0FBQ0E7QUFDQSxpQkFBS3hVLGNBQUwsR0FBc0IsQ0FBdEI7QUFDRDs7QUFFRCxZQUFJLEtBQUttWCxLQUFMLElBQWMsS0FBS0EsS0FBTCxDQUFXQyxTQUFYLElBQXdCRixXQUExQyxFQUF1RDtBQUNyRCxlQUFLQyxLQUFMLENBQVd6YixJQUFYLENBQWdCLElBQWhCLEVBQXNCbWEsRUFBRSxJQUFJQSxFQUFFLENBQUN6WixLQUEvQjtBQUNELFNBRkQsTUFFTztBQUNMLGVBQUsrYSxLQUFMLEdBQWFELFdBQVcsQ0FBQzlaLElBQVosQ0FBaUJ1WSxJQUFqQixFQUF1QixJQUF2QixFQUE2QkUsRUFBRSxJQUFJQSxFQUFFLENBQUN6WixLQUF0QyxDQUFiO0FBQ0EsZUFBSythLEtBQUwsQ0FBV0MsU0FBWCxHQUF1QkYsV0FBdkI7QUFDRDtBQUNGLE9BdENpRDs7QUF3Q2xEN1cscUJBQWUsRUFBRSx5QkFBU2pFLEtBQVQsRUFBZ0JnRSxNQUFoQixFQUF3QjtBQUN2QyxhQUFLK1csS0FBTCxDQUFXaEIsWUFBWCxDQUF3Qi9aLEtBQXhCLEVBQStCZ0UsTUFBL0I7QUFDRCxPQTFDaUQ7O0FBNENsRFUsaUJBQVcsRUFBRSx1QkFBVztBQUN0QixZQUFJMlUsb0JBQUo7O0FBRUE7QUFDQSxZQUFJc0IsT0FBTyxHQUFHLEtBQUt2VyxHQUFMLENBQVN1VyxPQUF2Qjs7QUFFQTtBQUNBLFlBQUksS0FBS3BDLFVBQUwsSUFBbUIsS0FBS0osZUFBNUIsRUFBNkM7QUFDM0M7QUFDQXdDLGlCQUFPLENBQUNMLEdBQVIsQ0FBWSxLQUFLdlgsS0FBakIsRUFBd0IsS0FBS1MsU0FBN0I7O0FBRUE7QUFDQTZWLDhCQUFvQixHQUFHLEtBQUtsVyxRQUFMLENBQWMsQ0FBQyxDQUFDLE9BQWhCLENBQXZCO0FBQ0QsU0FORCxNQU1PLGtEQUFtRDtBQUN4RDtBQUNBa1csZ0NBQW9CLEdBQUcsS0FBS2xXLFFBQUwsQ0FBYyxDQUFDLENBQUMsT0FBaEIsQ0FBdkI7O0FBRUE7QUFDQXdYLG1CQUFPLENBQUNDLEtBQVIsQ0FBY3ZCLG9CQUFkO0FBQ0Q7O0FBRUQsZUFBT0Esb0JBQVA7QUFDRCxPQWxFaUQ7O0FBb0VsRDdWLGVBQVMsRUFBRSxNQUFNLEVBcEVpQyxFQUFkLENBQXRDOzs7QUF1RUE7Ozs7Ozs7Ozs7Ozs7QUFhQSxRQUFJeVgsWUFBWSxHQUFHbGMsS0FBSyxDQUFDa2MsWUFBTixHQUFxQmhjLElBQUksQ0FBQ0MsTUFBTCxDQUFZO0FBQ2xEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBSSxVQUFJLEVBQUUsY0FBUzRiLFlBQVQsRUFBdUI7QUFDM0IsYUFBSzliLEtBQUwsQ0FBVzhiLFlBQVg7QUFDRCxPQXRCaUQ7O0FBd0JsRDs7Ozs7Ozs7Ozs7Ozs7O0FBZUFyYixjQUFRLEVBQUUsa0JBQVNzYixTQUFULEVBQW9CO0FBQzVCLGVBQU8sQ0FBQ0EsU0FBUyxJQUFJLEtBQUtBLFNBQW5CLEVBQThCOWEsU0FBOUIsQ0FBd0MsSUFBeEMsQ0FBUDtBQUNELE9BekNpRCxFQUFaLENBQXhDOzs7QUE0Q0E7OztBQUdBLFFBQUkrYSxRQUFRLEdBQUd0YyxDQUFDLENBQUN1YyxNQUFGLEdBQVcsRUFBMUI7O0FBRUE7OztBQUdBLFFBQUlDLGdCQUFnQixHQUFHRixRQUFRLENBQUNHLE9BQVQsR0FBbUI7QUFDeEM7Ozs7Ozs7Ozs7Ozs7QUFhQWxiLGVBQVMsRUFBRSxtQkFBUzZhLFlBQVQsRUFBdUI7QUFDaEMsWUFBSTNhLFNBQUo7O0FBRUE7QUFDQSxZQUFJNFksVUFBVSxHQUFHK0IsWUFBWSxDQUFDL0IsVUFBOUI7QUFDQSxZQUFJNUosSUFBSSxHQUFHMkwsWUFBWSxDQUFDM0wsSUFBeEI7O0FBRUE7QUFDQSxZQUFJQSxJQUFKLEVBQVU7QUFDUmhQLG1CQUFTLEdBQUdSLFNBQVMsQ0FBQ3ZCLE1BQVYsQ0FBaUIsQ0FBQyxVQUFELEVBQWEsVUFBYixDQUFqQixFQUEyQzhCLE1BQTNDLENBQWtEaVAsSUFBbEQsRUFBd0RqUCxNQUF4RCxDQUErRDZZLFVBQS9ELENBQVo7QUFDRCxTQUZELE1BRU87QUFDTDVZLG1CQUFTLEdBQUc0WSxVQUFaO0FBQ0Q7O0FBRUQsZUFBTzVZLFNBQVMsQ0FBQ1YsUUFBVixDQUFtQnNGLE1BQW5CLENBQVA7QUFDRCxPQTdCdUM7O0FBK0J4Qzs7Ozs7Ozs7Ozs7OztBQWFBekQsV0FBSyxFQUFFLGVBQVM4WixVQUFULEVBQXFCO0FBQzFCLFlBQUlqTSxJQUFKOztBQUVBO0FBQ0EsWUFBSTRKLFVBQVUsR0FBR2hVLE1BQU0sQ0FBQ3pELEtBQVAsQ0FBYThaLFVBQWIsQ0FBakI7O0FBRUE7QUFDQSxZQUFJQyxlQUFlLEdBQUd0QyxVQUFVLENBQUNuWixLQUFqQzs7QUFFQTtBQUNBLFlBQUl5YixlQUFlLENBQUMsQ0FBRCxDQUFmLElBQXNCLFVBQXRCLElBQW9DQSxlQUFlLENBQUMsQ0FBRCxDQUFmLElBQXNCLFVBQTlELEVBQTBFO0FBQ3hFO0FBQ0FsTSxjQUFJLEdBQUd4UCxTQUFTLENBQUN2QixNQUFWLENBQWlCaWQsZUFBZSxDQUFDeGEsS0FBaEIsQ0FBc0IsQ0FBdEIsRUFBeUIsQ0FBekIsQ0FBakIsQ0FBUDs7QUFFQTtBQUNBd2EseUJBQWUsQ0FBQ3ZYLE1BQWhCLENBQXVCLENBQXZCLEVBQTBCLENBQTFCO0FBQ0FpVixvQkFBVSxDQUFDbFosUUFBWCxJQUF1QixFQUF2QjtBQUNEOztBQUVELGVBQU9nYixZQUFZLENBQUN6YyxNQUFiLENBQW9CO0FBQ3pCMmEsb0JBQVUsRUFBRUEsVUFEYTtBQUV6QjVKLGNBQUksRUFBRUEsSUFGbUIsRUFBcEIsQ0FBUDs7QUFJRCxPQW5FdUMsRUFBMUM7OztBQXNFQTs7O0FBR0EsUUFBSXdKLGtCQUFrQixHQUFHaGEsS0FBSyxDQUFDZ2Esa0JBQU4sR0FBMkI5WixJQUFJLENBQUNDLE1BQUwsQ0FBWTtBQUM5RDs7Ozs7QUFLQWtGLFNBQUcsRUFBRW5GLElBQUksQ0FBQ0MsTUFBTCxDQUFZO0FBQ2ZtYyxjQUFNLEVBQUVDLGdCQURPLEVBQVosQ0FOeUQ7OztBQVU5RDs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBckMsYUFBTyxFQUFFLGlCQUFTRCxNQUFULEVBQWlCblUsT0FBakIsRUFBMEJFLEdBQTFCLEVBQStCWCxHQUEvQixFQUFvQztBQUMzQztBQUNBQSxXQUFHLEdBQUcsS0FBS0EsR0FBTCxDQUFTbEYsTUFBVCxDQUFnQmtGLEdBQWhCLENBQU47O0FBRUE7QUFDQSxZQUFJc1gsU0FBUyxHQUFHMUMsTUFBTSxDQUFDZCxlQUFQLENBQXVCblQsR0FBdkIsRUFBNEJYLEdBQTVCLENBQWhCO0FBQ0EsWUFBSStVLFVBQVUsR0FBR3VDLFNBQVMsQ0FBQ2xYLFFBQVYsQ0FBbUJLLE9BQW5CLENBQWpCOztBQUVBO0FBQ0EsWUFBSThXLFNBQVMsR0FBR0QsU0FBUyxDQUFDdFgsR0FBMUI7O0FBRUE7QUFDQSxlQUFPNlcsWUFBWSxDQUFDemMsTUFBYixDQUFvQjtBQUN6QjJhLG9CQUFVLEVBQUVBLFVBRGE7QUFFekJwVSxhQUFHLEVBQUVBLEdBRm9CO0FBR3pCMFUsWUFBRSxFQUFFa0MsU0FBUyxDQUFDbEMsRUFIVztBQUl6Qm1DLG1CQUFTLEVBQUU1QyxNQUpjO0FBS3pCTyxjQUFJLEVBQUVvQyxTQUFTLENBQUNwQyxJQUxTO0FBTXpCb0IsaUJBQU8sRUFBRWdCLFNBQVMsQ0FBQ2hCLE9BTk07QUFPekJuWCxtQkFBUyxFQUFFd1YsTUFBTSxDQUFDeFYsU0FQTztBQVF6QjJYLG1CQUFTLEVBQUUvVyxHQUFHLENBQUNpWCxNQVJVLEVBQXBCLENBQVA7O0FBVUQsT0FsRDZEOztBQW9EOUQ7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBbkMsYUFBTyxFQUFFLGlCQUFTRixNQUFULEVBQWlCRyxVQUFqQixFQUE2QnBVLEdBQTdCLEVBQWtDWCxHQUFsQyxFQUF1QztBQUM5QztBQUNBQSxXQUFHLEdBQUcsS0FBS0EsR0FBTCxDQUFTbEYsTUFBVCxDQUFnQmtGLEdBQWhCLENBQU47O0FBRUE7QUFDQStVLGtCQUFVLEdBQUcsS0FBSzBDLE1BQUwsQ0FBWTFDLFVBQVosRUFBd0IvVSxHQUFHLENBQUNpWCxNQUE1QixDQUFiOztBQUVBO0FBQ0EsWUFBSVMsU0FBUyxHQUFHOUMsTUFBTSxDQUFDWixlQUFQLENBQXVCclQsR0FBdkIsRUFBNEJYLEdBQTVCLEVBQWlDSSxRQUFqQyxDQUEwQzJVLFVBQVUsQ0FBQ0EsVUFBckQsQ0FBaEI7O0FBRUEsZUFBTzJDLFNBQVA7QUFDRCxPQWhGNkQ7O0FBa0Y5RDs7Ozs7Ozs7Ozs7Ozs7O0FBZUFELFlBQU0sRUFBRSxnQkFBUzFDLFVBQVQsRUFBcUJrQyxNQUFyQixFQUE2QjtBQUNuQyxZQUFJLE9BQU9sQyxVQUFQLElBQXFCLFFBQXpCLEVBQW1DO0FBQ2pDLGlCQUFPa0MsTUFBTSxDQUFDM1osS0FBUCxDQUFheVgsVUFBYixFQUF5QixJQUF6QixDQUFQO0FBQ0QsU0FGRCxNQUVPO0FBQ0wsaUJBQU9BLFVBQVA7QUFDRDtBQUNGLE9Bdkc2RCxFQUFaLENBQXBEOzs7QUEwR0E7OztBQUdBLFFBQUk0QyxLQUFLLEdBQUdqZCxDQUFDLENBQUNrZCxHQUFGLEdBQVEsRUFBcEI7O0FBRUE7OztBQUdBLFFBQUlDLFVBQVUsR0FBR0YsS0FBSyxDQUFDUixPQUFOLEdBQWdCO0FBQy9COzs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQVcsYUFBTyxFQUFFLGlCQUFTNU0sUUFBVCxFQUFtQkgsT0FBbkIsRUFBNEJ5SixNQUE1QixFQUFvQ3JKLElBQXBDLEVBQTBDO0FBQ2pEO0FBQ0EsWUFBSSxDQUFDQSxJQUFMLEVBQVc7QUFDVEEsY0FBSSxHQUFHeFAsU0FBUyxDQUFDbUIsTUFBVixDQUFpQixLQUFLLENBQXRCLENBQVA7QUFDRDs7QUFFRDtBQUNBLFlBQUk2RCxHQUFHLEdBQUdrTCxNQUFNLENBQUN6UixNQUFQLENBQWM7QUFDdEIyUSxpQkFBTyxFQUFFQSxPQUFPLEdBQUd5SixNQURHLEVBQWQ7QUFFUHZKLGVBRk8sQ0FFQ0MsUUFGRCxFQUVXQyxJQUZYLENBQVY7O0FBSUE7QUFDQSxZQUFJa0ssRUFBRSxHQUFHMVosU0FBUyxDQUFDdkIsTUFBVixDQUFpQnVHLEdBQUcsQ0FBQy9FLEtBQUosQ0FBVWlCLEtBQVYsQ0FBZ0JrTyxPQUFoQixDQUFqQixFQUEyQ3lKLE1BQU0sR0FBRyxDQUFwRCxDQUFUO0FBQ0E3VCxXQUFHLENBQUM5RSxRQUFKLEdBQWVrUCxPQUFPLEdBQUcsQ0FBekI7O0FBRUE7QUFDQSxlQUFPOEwsWUFBWSxDQUFDemMsTUFBYixDQUFvQjtBQUN6QnVHLGFBQUcsRUFBRUEsR0FEb0I7QUFFekIwVSxZQUFFLEVBQUVBLEVBRnFCO0FBR3pCbEssY0FBSSxFQUFFQSxJQUhtQixFQUFwQixDQUFQOztBQUtELE9BdkM4QixFQUFqQzs7O0FBMENBOzs7O0FBSUEsUUFBSXVKLG1CQUFtQixHQUFHL1osS0FBSyxDQUFDK1osbUJBQU4sR0FBNEJDLGtCQUFrQixDQUFDN1osTUFBbkIsQ0FBMEI7QUFDOUU7Ozs7O0FBS0FrRixTQUFHLEVBQUUyVSxrQkFBa0IsQ0FBQzNVLEdBQW5CLENBQXVCbEYsTUFBdkIsQ0FBOEI7QUFDakM4YyxXQUFHLEVBQUVDLFVBRDRCLEVBQTlCLENBTnlFOzs7QUFVOUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBaEQsYUFBTyxFQUFFLGlCQUFTRCxNQUFULEVBQWlCblUsT0FBakIsRUFBMEJ5SyxRQUExQixFQUFvQ2xMLEdBQXBDLEVBQXlDO0FBQ2hEO0FBQ0FBLFdBQUcsR0FBRyxLQUFLQSxHQUFMLENBQVNsRixNQUFULENBQWdCa0YsR0FBaEIsQ0FBTjs7QUFFQTtBQUNBLFlBQUkrWCxhQUFhLEdBQUcvWCxHQUFHLENBQUM0WCxHQUFKLENBQVFFLE9BQVIsQ0FBZ0I1TSxRQUFoQixFQUEwQjBKLE1BQU0sQ0FBQzdKLE9BQWpDLEVBQTBDNkosTUFBTSxDQUFDSixNQUFqRCxDQUFwQjs7QUFFQTtBQUNBeFUsV0FBRyxDQUFDcVYsRUFBSixHQUFTMEMsYUFBYSxDQUFDMUMsRUFBdkI7O0FBRUE7QUFDQSxZQUFJTixVQUFVLEdBQUdKLGtCQUFrQixDQUFDRSxPQUFuQixDQUEyQmpZLElBQTNCLENBQWdDLElBQWhDLEVBQXNDZ1ksTUFBdEMsRUFBOENuVSxPQUE5QyxFQUF1RHNYLGFBQWEsQ0FBQ3BYLEdBQXJFLEVBQTBFWCxHQUExRSxDQUFqQjs7QUFFQTtBQUNBK1Usa0JBQVUsQ0FBQy9aLEtBQVgsQ0FBaUIrYyxhQUFqQjs7QUFFQSxlQUFPaEQsVUFBUDtBQUNELE9BNUM2RTs7QUE4QzlFOzs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQUQsYUFBTyxFQUFFLGlCQUFTRixNQUFULEVBQWlCRyxVQUFqQixFQUE2QjdKLFFBQTdCLEVBQXVDbEwsR0FBdkMsRUFBNEM7QUFDbkQ7QUFDQUEsV0FBRyxHQUFHLEtBQUtBLEdBQUwsQ0FBU2xGLE1BQVQsQ0FBZ0JrRixHQUFoQixDQUFOOztBQUVBO0FBQ0ErVSxrQkFBVSxHQUFHLEtBQUswQyxNQUFMLENBQVkxQyxVQUFaLEVBQXdCL1UsR0FBRyxDQUFDaVgsTUFBNUIsQ0FBYjs7QUFFQTtBQUNBLFlBQUljLGFBQWEsR0FBRy9YLEdBQUcsQ0FBQzRYLEdBQUosQ0FBUUUsT0FBUixDQUFnQjVNLFFBQWhCLEVBQTBCMEosTUFBTSxDQUFDN0osT0FBakMsRUFBMEM2SixNQUFNLENBQUNKLE1BQWpELEVBQXlETyxVQUFVLENBQUM1SixJQUFwRSxDQUFwQjs7QUFFQTtBQUNBbkwsV0FBRyxDQUFDcVYsRUFBSixHQUFTMEMsYUFBYSxDQUFDMUMsRUFBdkI7O0FBRUE7QUFDQSxZQUFJcUMsU0FBUyxHQUFHL0Msa0JBQWtCLENBQUNHLE9BQW5CLENBQTJCbFksSUFBM0IsQ0FBZ0MsSUFBaEMsRUFBc0NnWSxNQUF0QyxFQUE4Q0csVUFBOUMsRUFBMERnRCxhQUFhLENBQUNwWCxHQUF4RSxFQUE2RVgsR0FBN0UsQ0FBaEI7O0FBRUEsZUFBTzBYLFNBQVA7QUFDRCxPQWhGNkUsRUFBMUIsQ0FBdEQ7O0FBa0ZELEdBNzJCdUIsRUFBeEI7OztBQWczQkE7OztBQUdBcmUsVUFBUSxDQUFDOGIsSUFBVCxDQUFjNkMsR0FBZCxHQUFxQixZQUFXO0FBQzlCLFFBQUlBLEdBQUcsR0FBRzNlLFFBQVEsQ0FBQ3VCLEdBQVQsQ0FBYXdhLGVBQWIsQ0FBNkJ0YSxNQUE3QixFQUFWOztBQUVBa2QsT0FBRyxDQUFDMUMsU0FBSixHQUFnQjBDLEdBQUcsQ0FBQ2xkLE1BQUosQ0FBVztBQUN6QjZhLGtCQUFZLEVBQUUsc0JBQVMvWixLQUFULEVBQWdCZ0UsTUFBaEIsRUFBd0I7QUFDcEM7QUFDQSxZQUFJZ1YsTUFBTSxHQUFHLEtBQUtZLE9BQWxCO0FBQ0EsWUFBSXBXLFNBQVMsR0FBR3dWLE1BQU0sQ0FBQ3hWLFNBQXZCOztBQUVBNlksbUNBQTJCLENBQUNyYixJQUE1QixDQUFpQyxJQUFqQyxFQUF1Q2hCLEtBQXZDLEVBQThDZ0UsTUFBOUMsRUFBc0RSLFNBQXRELEVBQWlFd1YsTUFBakU7O0FBRUE7QUFDQSxhQUFLa0IsVUFBTCxHQUFrQmxhLEtBQUssQ0FBQ2lCLEtBQU4sQ0FBWStDLE1BQVosRUFBb0JBLE1BQU0sR0FBR1IsU0FBN0IsQ0FBbEI7QUFDRCxPQVZ3QixFQUFYLENBQWhCOzs7QUFhQTRZLE9BQUcsQ0FBQ3pDLFNBQUosR0FBZ0J5QyxHQUFHLENBQUNsZCxNQUFKLENBQVc7QUFDekI2YSxrQkFBWSxFQUFFLHNCQUFTL1osS0FBVCxFQUFnQmdFLE1BQWhCLEVBQXdCO0FBQ3BDO0FBQ0EsWUFBSWdWLE1BQU0sR0FBRyxLQUFLWSxPQUFsQjtBQUNBLFlBQUlwVyxTQUFTLEdBQUd3VixNQUFNLENBQUN4VixTQUF2Qjs7QUFFQTtBQUNBLFlBQUkyVyxTQUFTLEdBQUduYSxLQUFLLENBQUNpQixLQUFOLENBQVkrQyxNQUFaLEVBQW9CQSxNQUFNLEdBQUdSLFNBQTdCLENBQWhCOztBQUVBNlksbUNBQTJCLENBQUNyYixJQUE1QixDQUFpQyxJQUFqQyxFQUF1Q2hCLEtBQXZDLEVBQThDZ0UsTUFBOUMsRUFBc0RSLFNBQXRELEVBQWlFd1YsTUFBakU7O0FBRUE7QUFDQSxhQUFLa0IsVUFBTCxHQUFrQkMsU0FBbEI7QUFDRCxPQWJ3QixFQUFYLENBQWhCOzs7QUFnQkEsYUFBU2tDLDJCQUFULENBQXFDcmMsS0FBckMsRUFBNENnRSxNQUE1QyxFQUFvRFIsU0FBcEQsRUFBK0R3VixNQUEvRCxFQUF1RTtBQUNyRSxVQUFJc0QsU0FBSjs7QUFFQTtBQUNBLFVBQUk3QyxFQUFFLEdBQUcsS0FBS0ksR0FBZDs7QUFFQTtBQUNBLFVBQUlKLEVBQUosRUFBUTtBQUNONkMsaUJBQVMsR0FBRzdDLEVBQUUsQ0FBQ3hZLEtBQUgsQ0FBUyxDQUFULENBQVo7O0FBRUE7QUFDQSxhQUFLNFksR0FBTCxHQUFXbGMsU0FBWDtBQUNELE9BTEQsTUFLTztBQUNMMmUsaUJBQVMsR0FBRyxLQUFLcEMsVUFBakI7QUFDRDtBQUNEbEIsWUFBTSxDQUFDaUIsWUFBUCxDQUFvQnFDLFNBQXBCLEVBQStCLENBQS9COztBQUVBO0FBQ0EsV0FBSyxJQUFJemIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRzJDLFNBQXBCLEVBQStCM0MsQ0FBQyxFQUFoQyxFQUFvQztBQUNsQ2IsYUFBSyxDQUFDZ0UsTUFBTSxHQUFHbkQsQ0FBVixDQUFMLElBQXFCeWIsU0FBUyxDQUFDemIsQ0FBRCxDQUE5QjtBQUNEO0FBQ0Y7O0FBRUQsV0FBT3ViLEdBQVA7QUFDRCxHQXhEb0IsRUFBckI7OztBQTJEQTs7O0FBR0EzZSxVQUFRLENBQUM4YixJQUFULENBQWNnRCxHQUFkLEdBQXFCLFlBQVc7QUFDOUIsUUFBSUEsR0FBRyxHQUFHOWUsUUFBUSxDQUFDdUIsR0FBVCxDQUFhd2EsZUFBYixDQUE2QnRhLE1BQTdCLEVBQVY7O0FBRUFxZCxPQUFHLENBQUM3QyxTQUFKLEdBQWdCNkMsR0FBRyxDQUFDcmQsTUFBSixDQUFXO0FBQ3pCNmEsa0JBQVksRUFBRSxzQkFBUy9aLEtBQVQsRUFBZ0JnRSxNQUFoQixFQUF3QjtBQUNwQyxhQUFLNFYsT0FBTCxDQUFhSyxZQUFiLENBQTBCamEsS0FBMUIsRUFBaUNnRSxNQUFqQztBQUNELE9BSHdCLEVBQVgsQ0FBaEI7OztBQU1BdVksT0FBRyxDQUFDNUMsU0FBSixHQUFnQjRDLEdBQUcsQ0FBQ3JkLE1BQUosQ0FBVztBQUN6QjZhLGtCQUFZLEVBQUUsc0JBQVMvWixLQUFULEVBQWdCZ0UsTUFBaEIsRUFBd0I7QUFDcEMsYUFBSzRWLE9BQUwsQ0FBYVEsWUFBYixDQUEwQnBhLEtBQTFCLEVBQWlDZ0UsTUFBakM7QUFDRCxPQUh3QixFQUFYLENBQWhCOzs7QUFNQSxXQUFPdVksR0FBUDtBQUNELEdBaEJvQixFQUFyQjs7O0FBbUJBOzs7QUFHQTllLFVBQVEsQ0FBQzZjLEdBQVQsQ0FBYWtDLFFBQWIsR0FBd0I7QUFDdEJsQyxPQUFHLEVBQUUsYUFBU3BYLElBQVQsRUFBZU0sU0FBZixFQUEwQjtBQUM3QjtBQUNBLFVBQUlELFlBQVksR0FBR0wsSUFBSSxDQUFDakQsUUFBeEI7QUFDQSxVQUFJd0QsY0FBYyxHQUFHRCxTQUFTLEdBQUcsQ0FBakM7O0FBRUE7QUFDQSxVQUFJZ1gsYUFBYSxHQUFHL1csY0FBYyxHQUFHRixZQUFZLEdBQUdFLGNBQXBEOztBQUVBO0FBQ0EsVUFBSWdaLFdBQVcsR0FBR2xaLFlBQVksR0FBR2lYLGFBQWYsR0FBK0IsQ0FBakQ7O0FBRUE7QUFDQXRYLFVBQUksQ0FBQ3RDLEtBQUw7QUFDQXNDLFVBQUksQ0FBQ2xELEtBQUwsQ0FBV3ljLFdBQVcsS0FBSyxDQUEzQixLQUFpQ2pDLGFBQWEsSUFBSyxLQUFNaUMsV0FBVyxHQUFHLENBQWYsR0FBb0IsQ0FBNUU7QUFDQXZaLFVBQUksQ0FBQ2pELFFBQUwsSUFBaUJ1YSxhQUFqQjtBQUNELEtBaEJxQjs7QUFrQnRCSSxTQUFLLEVBQUUsZUFBUzFYLElBQVQsRUFBZTtBQUNwQjtBQUNBLFVBQUlzWCxhQUFhLEdBQUd0WCxJQUFJLENBQUNsRCxLQUFMLENBQVlrRCxJQUFJLENBQUNqRCxRQUFMLEdBQWdCLENBQWpCLEtBQXdCLENBQW5DLElBQXdDLElBQTVEOztBQUVBO0FBQ0FpRCxVQUFJLENBQUNqRCxRQUFMLElBQWlCdWEsYUFBakI7QUFDRCxLQXhCcUIsRUFBeEI7Ozs7QUE0QkE7OztBQUdBL2MsVUFBUSxDQUFDNmMsR0FBVCxDQUFhb0MsUUFBYixHQUF3QjtBQUN0QnBDLE9BQUcsRUFBRSxhQUFTcFgsSUFBVCxFQUFlTSxTQUFmLEVBQTBCO0FBQzdCO0FBQ0EsVUFBSUMsY0FBYyxHQUFHRCxTQUFTLEdBQUcsQ0FBakM7O0FBRUE7QUFDQSxVQUFJZ1gsYUFBYSxHQUFHL1csY0FBYyxHQUFHUCxJQUFJLENBQUNqRCxRQUFMLEdBQWdCd0QsY0FBckQ7O0FBRUE7QUFDQVAsVUFBSSxDQUFDNUMsTUFBTCxDQUFZN0MsUUFBUSxDQUFDdUIsR0FBVCxDQUFhZSxTQUFiLENBQXVCbUIsTUFBdkIsQ0FBOEJzWixhQUFhLEdBQUcsQ0FBOUMsQ0FBWjtBQUNBbGEsWUFEQSxDQUNPN0MsUUFBUSxDQUFDdUIsR0FBVCxDQUFhZSxTQUFiLENBQXVCdkIsTUFBdkIsQ0FBOEIsQ0FBQ2djLGFBQWEsSUFBSSxFQUFsQixDQUE5QixFQUFxRCxDQUFyRCxDQURQO0FBRUQsS0FYcUI7O0FBYXRCSSxTQUFLLEVBQUUsZUFBUzFYLElBQVQsRUFBZTtBQUNwQjtBQUNBLFVBQUlzWCxhQUFhLEdBQUd0WCxJQUFJLENBQUNsRCxLQUFMLENBQVlrRCxJQUFJLENBQUNqRCxRQUFMLEdBQWdCLENBQWpCLEtBQXdCLENBQW5DLElBQXdDLElBQTVEOztBQUVBO0FBQ0FpRCxVQUFJLENBQUNqRCxRQUFMLElBQWlCdWEsYUFBakI7QUFDRCxLQW5CcUIsRUFBeEI7Ozs7QUF1QkE7OztBQUdBL2MsVUFBUSxDQUFDNmMsR0FBVCxDQUFhcUMsUUFBYixHQUF3QjtBQUN0QnJDLE9BQUcsRUFBRSxhQUFTcFgsSUFBVCxFQUFlTSxTQUFmLEVBQTBCO0FBQzdCO0FBQ0FOLFVBQUksQ0FBQzVDLE1BQUwsQ0FBWTdDLFFBQVEsQ0FBQ3VCLEdBQVQsQ0FBYWUsU0FBYixDQUF1QnZCLE1BQXZCLENBQThCLENBQUMsVUFBRCxDQUE5QixFQUE0QyxDQUE1QyxDQUFaOztBQUVBO0FBQ0FmLGNBQVEsQ0FBQzZjLEdBQVQsQ0FBYXNDLFdBQWIsQ0FBeUJ0QyxHQUF6QixDQUE2QnBYLElBQTdCLEVBQW1DTSxTQUFuQztBQUNELEtBUHFCOztBQVN0Qm9YLFNBQUssRUFBRSxlQUFTMVgsSUFBVCxFQUFlO0FBQ3BCO0FBQ0F6RixjQUFRLENBQUM2YyxHQUFULENBQWFzQyxXQUFiLENBQXlCaEMsS0FBekIsQ0FBK0IxWCxJQUEvQjs7QUFFQTtBQUNBQSxVQUFJLENBQUNqRCxRQUFMO0FBQ0QsS0FmcUIsRUFBeEI7Ozs7QUFtQkE7OztBQUdBeEMsVUFBUSxDQUFDOGIsSUFBVCxDQUFjc0QsR0FBZCxHQUFxQixZQUFXO0FBQzlCLFFBQUlBLEdBQUcsR0FBR3BmLFFBQVEsQ0FBQ3VCLEdBQVQsQ0FBYXdhLGVBQWIsQ0FBNkJ0YSxNQUE3QixFQUFWOztBQUVBLFFBQUl3YSxTQUFTLEdBQUdtRCxHQUFHLENBQUNuRCxTQUFKLEdBQWdCbUQsR0FBRyxDQUFDM2QsTUFBSixDQUFXO0FBQ3pDNmEsa0JBQVksRUFBRSxzQkFBUy9aLEtBQVQsRUFBZ0JnRSxNQUFoQixFQUF3QjtBQUNwQztBQUNBLFlBQUlnVixNQUFNLEdBQUcsS0FBS1ksT0FBbEI7QUFDQSxZQUFJcFcsU0FBUyxHQUFHd1YsTUFBTSxDQUFDeFYsU0FBdkI7QUFDQSxZQUFJaVcsRUFBRSxHQUFHLEtBQUtJLEdBQWQ7QUFDQSxZQUFJeUMsU0FBUyxHQUFHLEtBQUtRLFVBQXJCOztBQUVBO0FBQ0EsWUFBSXJELEVBQUosRUFBUTtBQUNONkMsbUJBQVMsR0FBRyxLQUFLUSxVQUFMLEdBQWtCckQsRUFBRSxDQUFDeFksS0FBSCxDQUFTLENBQVQsQ0FBOUI7O0FBRUE7QUFDQSxlQUFLNFksR0FBTCxHQUFXbGMsU0FBWDtBQUNEO0FBQ0RxYixjQUFNLENBQUNpQixZQUFQLENBQW9CcUMsU0FBcEIsRUFBK0IsQ0FBL0I7O0FBRUE7QUFDQSxhQUFLLElBQUl6YixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHMkMsU0FBcEIsRUFBK0IzQyxDQUFDLEVBQWhDLEVBQW9DO0FBQ2xDYixlQUFLLENBQUNnRSxNQUFNLEdBQUduRCxDQUFWLENBQUwsSUFBcUJ5YixTQUFTLENBQUN6YixDQUFELENBQTlCO0FBQ0Q7QUFDRixPQXJCd0MsRUFBWCxDQUFoQzs7O0FBd0JBZ2MsT0FBRyxDQUFDbEQsU0FBSixHQUFnQkQsU0FBaEI7O0FBRUEsV0FBT21ELEdBQVA7QUFDRCxHQTlCb0IsRUFBckI7OztBQWlDQTs7O0FBR0FwZixVQUFRLENBQUM2YyxHQUFULENBQWF5QyxTQUFiLEdBQXlCO0FBQ3ZCekMsT0FBRyxFQUFFLGVBQVcsQ0FBRSxDQURLOztBQUd2Qk0sU0FBSyxFQUFFLGlCQUFXLENBQUUsQ0FIRyxFQUF6Qjs7OztBQU9DLGFBQVNqZCxTQUFULEVBQW9CO0FBQ25CO0FBQ0EsUUFBSW1CLENBQUMsR0FBR3JCLFFBQVI7QUFDQSxRQUFJc0IsS0FBSyxHQUFHRCxDQUFDLENBQUNFLEdBQWQ7QUFDQSxRQUFJaWMsWUFBWSxHQUFHbGMsS0FBSyxDQUFDa2MsWUFBekI7QUFDQSxRQUFJNVosS0FBSyxHQUFHdkMsQ0FBQyxDQUFDd0MsR0FBZDtBQUNBLFFBQUlsQixHQUFHLEdBQUdpQixLQUFLLENBQUNqQixHQUFoQjtBQUNBLFFBQUlnYixRQUFRLEdBQUd0YyxDQUFDLENBQUN1YyxNQUFqQjs7QUFFQSxRQUFJMkIsWUFBWSxHQUFHNUIsUUFBUSxDQUFDaGIsR0FBVCxHQUFlO0FBQ2hDOzs7Ozs7Ozs7Ozs7O0FBYUFDLGVBQVMsRUFBRSxtQkFBUzZhLFlBQVQsRUFBdUI7QUFDaEMsZUFBT0EsWUFBWSxDQUFDL0IsVUFBYixDQUF3QnRaLFFBQXhCLENBQWlDTyxHQUFqQyxDQUFQO0FBQ0QsT0FoQitCOztBQWtCaEM7Ozs7Ozs7Ozs7Ozs7QUFhQXNCLFdBQUssRUFBRSxlQUFTdWIsS0FBVCxFQUFnQjtBQUNyQixZQUFJOUQsVUFBVSxHQUFHL1ksR0FBRyxDQUFDc0IsS0FBSixDQUFVdWIsS0FBVixDQUFqQjtBQUNBLGVBQU9oQyxZQUFZLENBQUN6YyxNQUFiLENBQW9CO0FBQ3pCMmEsb0JBQVUsRUFBRUEsVUFEYSxFQUFwQixDQUFQOztBQUdELE9BcEMrQixFQUFsQzs7QUFzQ0QsR0EvQ0EsR0FBRDs7O0FBa0RDLGVBQVc7QUFDVjtBQUNBLFFBQUlyYSxDQUFDLEdBQUdyQixRQUFSO0FBQ0EsUUFBSXNCLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxHQUFkO0FBQ0EsUUFBSTZiLFdBQVcsR0FBRzliLEtBQUssQ0FBQzhiLFdBQXhCO0FBQ0EsUUFBSTdWLE1BQU0sR0FBR2xHLENBQUMsQ0FBQ29HLElBQWY7O0FBRUE7QUFDQSxRQUFJZ1ksSUFBSSxHQUFHLEVBQVg7QUFDQSxRQUFJQyxRQUFRLEdBQUcsRUFBZjtBQUNBLFFBQUlDLFNBQVMsR0FBRyxFQUFoQjtBQUNBLFFBQUlDLFNBQVMsR0FBRyxFQUFoQjtBQUNBLFFBQUlDLFNBQVMsR0FBRyxFQUFoQjtBQUNBLFFBQUlDLFNBQVMsR0FBRyxFQUFoQjtBQUNBLFFBQUlDLGFBQWEsR0FBRyxFQUFwQjtBQUNBLFFBQUlDLGFBQWEsR0FBRyxFQUFwQjtBQUNBLFFBQUlDLGFBQWEsR0FBRyxFQUFwQjtBQUNBLFFBQUlDLGFBQWEsR0FBRyxFQUFwQjs7QUFFQTtBQUNDLGlCQUFXO0FBQ1Y7QUFDQSxVQUFJdlYsQ0FBQyxHQUFHLEVBQVI7QUFDQSxXQUFLLElBQUl2SCxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLEdBQXBCLEVBQXlCQSxDQUFDLEVBQTFCLEVBQThCO0FBQzVCLFlBQUlBLENBQUMsR0FBRyxHQUFSLEVBQWE7QUFDWHVILFdBQUMsQ0FBQ3ZILENBQUQsQ0FBRCxHQUFPQSxDQUFDLElBQUksQ0FBWjtBQUNELFNBRkQsTUFFTztBQUNMdUgsV0FBQyxDQUFDdkgsQ0FBRCxDQUFELEdBQVFBLENBQUMsSUFBSSxDQUFOLEdBQVcsS0FBbEI7QUFDRDtBQUNGOztBQUVEO0FBQ0EsVUFBSWtJLENBQUMsR0FBRyxDQUFSO0FBQ0EsVUFBSTZVLEVBQUUsR0FBRyxDQUFUO0FBQ0EsV0FBSyxJQUFJL2MsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxHQUFwQixFQUF5QkEsQ0FBQyxFQUExQixFQUE4QjtBQUM1QjtBQUNBLFlBQUlnZCxFQUFFLEdBQUdELEVBQUUsR0FBSUEsRUFBRSxJQUFJLENBQVosR0FBa0JBLEVBQUUsSUFBSSxDQUF4QixHQUE4QkEsRUFBRSxJQUFJLENBQXBDLEdBQTBDQSxFQUFFLElBQUksQ0FBekQ7QUFDQUMsVUFBRSxHQUFJQSxFQUFFLEtBQUssQ0FBUixHQUFjQSxFQUFFLEdBQUcsSUFBbkIsR0FBMkIsSUFBaEM7QUFDQVgsWUFBSSxDQUFDblUsQ0FBRCxDQUFKLEdBQVU4VSxFQUFWO0FBQ0FWLGdCQUFRLENBQUNVLEVBQUQsQ0FBUixHQUFlOVUsQ0FBZjs7QUFFQTtBQUNBLFlBQUkrVSxFQUFFLEdBQUcxVixDQUFDLENBQUNXLENBQUQsQ0FBVjtBQUNBLFlBQUlnVixFQUFFLEdBQUczVixDQUFDLENBQUMwVixFQUFELENBQVY7QUFDQSxZQUFJRSxFQUFFLEdBQUc1VixDQUFDLENBQUMyVixFQUFELENBQVY7O0FBRUE7QUFDQSxZQUFJOVUsQ0FBQyxHQUFJYixDQUFDLENBQUN5VixFQUFELENBQUQsR0FBUSxLQUFULEdBQW1CQSxFQUFFLEdBQUcsU0FBaEM7QUFDQVQsaUJBQVMsQ0FBQ3JVLENBQUQsQ0FBVCxHQUFnQkUsQ0FBQyxJQUFJLEVBQU4sR0FBYUEsQ0FBQyxLQUFLLENBQWxDO0FBQ0FvVSxpQkFBUyxDQUFDdFUsQ0FBRCxDQUFULEdBQWdCRSxDQUFDLElBQUksRUFBTixHQUFhQSxDQUFDLEtBQUssRUFBbEM7QUFDQXFVLGlCQUFTLENBQUN2VSxDQUFELENBQVQsR0FBZ0JFLENBQUMsSUFBSSxDQUFOLEdBQVlBLENBQUMsS0FBSyxFQUFqQztBQUNBc1UsaUJBQVMsQ0FBQ3hVLENBQUQsQ0FBVCxHQUFlRSxDQUFmOztBQUVBO0FBQ0EsWUFBSUEsQ0FBQyxHQUFJK1UsRUFBRSxHQUFHLFNBQU4sR0FBb0JELEVBQUUsR0FBRyxPQUF6QixHQUFxQ0QsRUFBRSxHQUFHLEtBQTFDLEdBQW9EL1UsQ0FBQyxHQUFHLFNBQWhFO0FBQ0F5VSxxQkFBYSxDQUFDSyxFQUFELENBQWIsR0FBcUI1VSxDQUFDLElBQUksRUFBTixHQUFhQSxDQUFDLEtBQUssQ0FBdkM7QUFDQXdVLHFCQUFhLENBQUNJLEVBQUQsQ0FBYixHQUFxQjVVLENBQUMsSUFBSSxFQUFOLEdBQWFBLENBQUMsS0FBSyxFQUF2QztBQUNBeVUscUJBQWEsQ0FBQ0csRUFBRCxDQUFiLEdBQXFCNVUsQ0FBQyxJQUFJLENBQU4sR0FBWUEsQ0FBQyxLQUFLLEVBQXRDO0FBQ0EwVSxxQkFBYSxDQUFDRSxFQUFELENBQWIsR0FBb0I1VSxDQUFwQjs7QUFFQTtBQUNBLFlBQUksQ0FBQ0YsQ0FBTCxFQUFRO0FBQ05BLFdBQUMsR0FBRzZVLEVBQUUsR0FBRyxDQUFUO0FBQ0QsU0FGRCxNQUVPO0FBQ0w3VSxXQUFDLEdBQUcrVSxFQUFFLEdBQUcxVixDQUFDLENBQUNBLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDNFYsRUFBRSxHQUFHRixFQUFOLENBQUYsQ0FBRixDQUFWO0FBQ0FGLFlBQUUsSUFBSXhWLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDd1YsRUFBRCxDQUFGLENBQVA7QUFDRDtBQUNGO0FBQ0YsS0FoREEsR0FBRDs7QUFrREE7QUFDQSxRQUFJSyxJQUFJLEdBQUcsQ0FBQyxJQUFELEVBQU8sSUFBUCxFQUFhLElBQWIsRUFBbUIsSUFBbkIsRUFBeUIsSUFBekIsRUFBK0IsSUFBL0IsRUFBcUMsSUFBckMsRUFBMkMsSUFBM0MsRUFBaUQsSUFBakQsRUFBdUQsSUFBdkQsRUFBNkQsSUFBN0QsQ0FBWDs7QUFFQTs7O0FBR0EsUUFBSUMsR0FBRyxHQUFHbFosTUFBTSxDQUFDa1osR0FBUCxHQUFhckQsV0FBVyxDQUFDM2IsTUFBWixDQUFtQjtBQUN4Q21GLGNBQVEsRUFBRSxvQkFBVztBQUNuQixZQUFJNEUsQ0FBSjs7QUFFQTtBQUNBLFlBQUksS0FBS2tWLFFBQUwsSUFBaUIsS0FBS0MsY0FBTCxLQUF3QixLQUFLNUYsSUFBbEQsRUFBd0Q7QUFDdEQ7QUFDRDs7QUFFRDtBQUNBLFlBQUl6VCxHQUFHLEdBQUcsS0FBS3FaLGNBQUwsR0FBc0IsS0FBSzVGLElBQXJDO0FBQ0EsWUFBSTZGLFFBQVEsR0FBR3RaLEdBQUcsQ0FBQy9FLEtBQW5CO0FBQ0EsWUFBSW1QLE9BQU8sR0FBR3BLLEdBQUcsQ0FBQzlFLFFBQUosR0FBZSxDQUE3Qjs7QUFFQTtBQUNBLFlBQUlxZSxPQUFPLEdBQUcsS0FBS0gsUUFBTCxHQUFnQmhQLE9BQU8sR0FBRyxDQUF4Qzs7QUFFQTtBQUNBLFlBQUlvUCxNQUFNLEdBQUcsQ0FBQ0QsT0FBTyxHQUFHLENBQVgsSUFBZ0IsQ0FBN0I7O0FBRUE7QUFDQSxZQUFJRSxXQUFXLEdBQUcsS0FBS0MsWUFBTCxHQUFvQixFQUF0QztBQUNBLGFBQUssSUFBSUMsS0FBSyxHQUFHLENBQWpCLEVBQW9CQSxLQUFLLEdBQUdILE1BQTVCLEVBQW9DRyxLQUFLLEVBQXpDLEVBQTZDO0FBQzNDLGNBQUlBLEtBQUssR0FBR3ZQLE9BQVosRUFBcUI7QUFDbkJxUCx1QkFBVyxDQUFDRSxLQUFELENBQVgsR0FBcUJMLFFBQVEsQ0FBQ0ssS0FBRCxDQUE3QjtBQUNELFdBRkQsTUFFTztBQUNMelYsYUFBQyxHQUFHdVYsV0FBVyxDQUFDRSxLQUFLLEdBQUcsQ0FBVCxDQUFmOztBQUVBLGdCQUFJLEVBQUVBLEtBQUssR0FBR3ZQLE9BQVYsQ0FBSixFQUF3QjtBQUN0QjtBQUNBbEcsZUFBQyxHQUFJQSxDQUFDLElBQUksQ0FBTixHQUFZQSxDQUFDLEtBQUssRUFBdEI7O0FBRUE7QUFDQUEsZUFBQyxHQUFJaVUsSUFBSSxDQUFDalUsQ0FBQyxLQUFLLEVBQVAsQ0FBSixJQUFrQixFQUFuQixHQUEwQmlVLElBQUksQ0FBRWpVLENBQUMsS0FBSyxFQUFQLEdBQWEsSUFBZCxDQUFKLElBQTJCLEVBQXJELEdBQTREaVUsSUFBSSxDQUFFalUsQ0FBQyxLQUFLLENBQVAsR0FBWSxJQUFiLENBQUosSUFBMEIsQ0FBdEYsR0FBMkZpVSxJQUFJLENBQUNqVSxDQUFDLEdBQUcsSUFBTCxDQUFuRzs7QUFFQTtBQUNBQSxlQUFDLElBQUlnVixJQUFJLENBQUVTLEtBQUssR0FBR3ZQLE9BQVQsR0FBb0IsQ0FBckIsQ0FBSixJQUErQixFQUFwQztBQUNELGFBVEQsTUFTTyxJQUFJQSxPQUFPLEdBQUcsQ0FBVixJQUFldVAsS0FBSyxHQUFHdlAsT0FBUixJQUFtQixDQUF0QyxFQUF5QztBQUM5QztBQUNBbEcsZUFBQyxHQUFJaVUsSUFBSSxDQUFDalUsQ0FBQyxLQUFLLEVBQVAsQ0FBSixJQUFrQixFQUFuQixHQUEwQmlVLElBQUksQ0FBRWpVLENBQUMsS0FBSyxFQUFQLEdBQWEsSUFBZCxDQUFKLElBQTJCLEVBQXJELEdBQTREaVUsSUFBSSxDQUFFalUsQ0FBQyxLQUFLLENBQVAsR0FBWSxJQUFiLENBQUosSUFBMEIsQ0FBdEYsR0FBMkZpVSxJQUFJLENBQUNqVSxDQUFDLEdBQUcsSUFBTCxDQUFuRztBQUNEOztBQUVEdVYsdUJBQVcsQ0FBQ0UsS0FBRCxDQUFYLEdBQXFCRixXQUFXLENBQUNFLEtBQUssR0FBR3ZQLE9BQVQsQ0FBWCxHQUErQmxHLENBQXBEO0FBQ0Q7QUFDRjs7QUFFRDtBQUNBLFlBQUkwVixjQUFjLEdBQUcsS0FBS0MsZUFBTCxHQUF1QixFQUE1QztBQUNBLGFBQUssSUFBSUMsUUFBUSxHQUFHLENBQXBCLEVBQXVCQSxRQUFRLEdBQUdOLE1BQWxDLEVBQTBDTSxRQUFRLEVBQWxELEVBQXNEO0FBQ3BELGNBQUlILEtBQUssR0FBR0gsTUFBTSxHQUFHTSxRQUFyQjs7QUFFQSxjQUFJQSxRQUFRLEdBQUcsQ0FBZixFQUFrQjtBQUNoQixnQkFBSTVWLENBQUMsR0FBR3VWLFdBQVcsQ0FBQ0UsS0FBRCxDQUFuQjtBQUNELFdBRkQsTUFFTztBQUNMLGdCQUFJelYsQ0FBQyxHQUFHdVYsV0FBVyxDQUFDRSxLQUFLLEdBQUcsQ0FBVCxDQUFuQjtBQUNEOztBQUVELGNBQUlHLFFBQVEsR0FBRyxDQUFYLElBQWdCSCxLQUFLLElBQUksQ0FBN0IsRUFBZ0M7QUFDOUJDLDBCQUFjLENBQUNFLFFBQUQsQ0FBZCxHQUEyQjVWLENBQTNCO0FBQ0QsV0FGRCxNQUVPO0FBQ0wwViwwQkFBYyxDQUFDRSxRQUFELENBQWQsR0FBMkJyQixhQUFhLENBQUNOLElBQUksQ0FBQ2pVLENBQUMsS0FBSyxFQUFQLENBQUwsQ0FBYixHQUFnQ3dVLGFBQWEsQ0FBQ1AsSUFBSSxDQUFFalUsQ0FBQyxLQUFLLEVBQVAsR0FBYSxJQUFkLENBQUwsQ0FBN0M7QUFDekJ5VSx5QkFBYSxDQUFDUixJQUFJLENBQUVqVSxDQUFDLEtBQUssQ0FBUCxHQUFZLElBQWIsQ0FBTCxDQURZLEdBQ2UwVSxhQUFhLENBQUNULElBQUksQ0FBQ2pVLENBQUMsR0FBRyxJQUFMLENBQUwsQ0FEdkQ7QUFFRDtBQUNGO0FBQ0YsT0FoRXVDOztBQWtFeENnUixrQkFBWSxFQUFFLHNCQUFTcFQsQ0FBVCxFQUFZN0MsTUFBWixFQUFvQjtBQUNoQyxhQUFLOGEsYUFBTCxDQUFtQmpZLENBQW5CLEVBQXNCN0MsTUFBdEIsRUFBOEIsS0FBS3lhLFlBQW5DLEVBQWlEckIsU0FBakQsRUFBNERDLFNBQTVELEVBQXVFQyxTQUF2RSxFQUFrRkMsU0FBbEYsRUFBNkZMLElBQTdGO0FBQ0QsT0FwRXVDOztBQXNFeEM5QyxrQkFBWSxFQUFFLHNCQUFTdlQsQ0FBVCxFQUFZN0MsTUFBWixFQUFvQjtBQUNoQztBQUNBLFlBQUlpRixDQUFDLEdBQUdwQyxDQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFUO0FBQ0E2QyxTQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFELEdBQWdCNkMsQ0FBQyxDQUFDN0MsTUFBTSxHQUFHLENBQVYsQ0FBakI7QUFDQTZDLFNBQUMsQ0FBQzdDLE1BQU0sR0FBRyxDQUFWLENBQUQsR0FBZ0JpRixDQUFoQjs7QUFFQSxhQUFLNlYsYUFBTCxDQUFtQmpZLENBQW5CLEVBQXNCN0MsTUFBdEIsRUFBOEIsS0FBSzRhLGVBQW5DLEVBQW9EcEIsYUFBcEQsRUFBbUVDLGFBQW5FLEVBQWtGQyxhQUFsRixFQUFpR0MsYUFBakcsRUFBZ0hSLFFBQWhIOztBQUVBO0FBQ0EsWUFBSWxVLENBQUMsR0FBR3BDLENBQUMsQ0FBQzdDLE1BQU0sR0FBRyxDQUFWLENBQVQ7QUFDQTZDLFNBQUMsQ0FBQzdDLE1BQU0sR0FBRyxDQUFWLENBQUQsR0FBZ0I2QyxDQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFqQjtBQUNBNkMsU0FBQyxDQUFDN0MsTUFBTSxHQUFHLENBQVYsQ0FBRCxHQUFnQmlGLENBQWhCO0FBQ0QsT0FsRnVDOztBQW9GeEM2VixtQkFBYSxFQUFFLHVCQUFTalksQ0FBVCxFQUFZN0MsTUFBWixFQUFvQndhLFdBQXBCLEVBQWlDcEIsU0FBakMsRUFBNENDLFNBQTVDLEVBQXVEQyxTQUF2RCxFQUFrRUMsU0FBbEUsRUFBNkVMLElBQTdFLEVBQW1GO0FBQ2hHO0FBQ0EsWUFBSW9CLE9BQU8sR0FBRyxLQUFLSCxRQUFuQjs7QUFFQTtBQUNBLFlBQUlZLEVBQUUsR0FBR2xZLENBQUMsQ0FBQzdDLE1BQUQsQ0FBRCxHQUFZd2EsV0FBVyxDQUFDLENBQUQsQ0FBaEM7QUFDQSxZQUFJUSxFQUFFLEdBQUduWSxDQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFELEdBQWdCd2EsV0FBVyxDQUFDLENBQUQsQ0FBcEM7QUFDQSxZQUFJUyxFQUFFLEdBQUdwWSxDQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFELEdBQWdCd2EsV0FBVyxDQUFDLENBQUQsQ0FBcEM7QUFDQSxZQUFJVSxFQUFFLEdBQUdyWSxDQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFELEdBQWdCd2EsV0FBVyxDQUFDLENBQUQsQ0FBcEM7O0FBRUE7QUFDQSxZQUFJRSxLQUFLLEdBQUcsQ0FBWjs7QUFFQTtBQUNBLGFBQUssSUFBSXZNLEtBQUssR0FBRyxDQUFqQixFQUFvQkEsS0FBSyxHQUFHbU0sT0FBNUIsRUFBcUNuTSxLQUFLLEVBQTFDLEVBQThDO0FBQzVDO0FBQ0EsY0FBSWdOLEVBQUUsR0FBRy9CLFNBQVMsQ0FBQzJCLEVBQUUsS0FBSyxFQUFSLENBQVQsR0FBdUIxQixTQUFTLENBQUUyQixFQUFFLEtBQUssRUFBUixHQUFjLElBQWYsQ0FBaEMsR0FBdUQxQixTQUFTLENBQUUyQixFQUFFLEtBQUssQ0FBUixHQUFhLElBQWQsQ0FBaEUsR0FBc0YxQixTQUFTLENBQUMyQixFQUFFLEdBQUcsSUFBTixDQUEvRixHQUE2R1YsV0FBVyxDQUFDRSxLQUFLLEVBQU4sQ0FBakk7QUFDQSxjQUFJL1QsRUFBRSxHQUFHeVMsU0FBUyxDQUFDNEIsRUFBRSxLQUFLLEVBQVIsQ0FBVCxHQUF1QjNCLFNBQVMsQ0FBRTRCLEVBQUUsS0FBSyxFQUFSLEdBQWMsSUFBZixDQUFoQyxHQUF1RDNCLFNBQVMsQ0FBRTRCLEVBQUUsS0FBSyxDQUFSLEdBQWEsSUFBZCxDQUFoRSxHQUFzRjNCLFNBQVMsQ0FBQ3dCLEVBQUUsR0FBRyxJQUFOLENBQS9GLEdBQTZHUCxXQUFXLENBQUNFLEtBQUssRUFBTixDQUFqSTtBQUNBLGNBQUk5VCxFQUFFLEdBQUd3UyxTQUFTLENBQUM2QixFQUFFLEtBQUssRUFBUixDQUFULEdBQXVCNUIsU0FBUyxDQUFFNkIsRUFBRSxLQUFLLEVBQVIsR0FBYyxJQUFmLENBQWhDLEdBQXVENUIsU0FBUyxDQUFFeUIsRUFBRSxLQUFLLENBQVIsR0FBYSxJQUFkLENBQWhFLEdBQXNGeEIsU0FBUyxDQUFDeUIsRUFBRSxHQUFHLElBQU4sQ0FBL0YsR0FBNkdSLFdBQVcsQ0FBQ0UsS0FBSyxFQUFOLENBQWpJO0FBQ0EsY0FBSVUsRUFBRSxHQUFHaEMsU0FBUyxDQUFDOEIsRUFBRSxLQUFLLEVBQVIsQ0FBVCxHQUF1QjdCLFNBQVMsQ0FBRTBCLEVBQUUsS0FBSyxFQUFSLEdBQWMsSUFBZixDQUFoQyxHQUF1RHpCLFNBQVMsQ0FBRTBCLEVBQUUsS0FBSyxDQUFSLEdBQWEsSUFBZCxDQUFoRSxHQUFzRnpCLFNBQVMsQ0FBQzBCLEVBQUUsR0FBRyxJQUFOLENBQS9GLEdBQTZHVCxXQUFXLENBQUNFLEtBQUssRUFBTixDQUFqSTs7QUFFQTtBQUNBSyxZQUFFLEdBQUdJLEVBQUw7QUFDQUgsWUFBRSxHQUFHclUsRUFBTDtBQUNBc1UsWUFBRSxHQUFHclUsRUFBTDtBQUNBc1UsWUFBRSxHQUFHRSxFQUFMO0FBQ0Q7O0FBRUQ7QUFDQSxZQUFJRCxFQUFFLEdBQUcsQ0FBRWpDLElBQUksQ0FBQzZCLEVBQUUsS0FBSyxFQUFSLENBQUosSUFBbUIsRUFBcEIsR0FBMkI3QixJQUFJLENBQUU4QixFQUFFLEtBQUssRUFBUixHQUFjLElBQWYsQ0FBSixJQUE0QixFQUF2RCxHQUE4RDlCLElBQUksQ0FBRStCLEVBQUUsS0FBSyxDQUFSLEdBQWEsSUFBZCxDQUFKLElBQTJCLENBQXpGLEdBQThGL0IsSUFBSSxDQUFDZ0MsRUFBRSxHQUFHLElBQU4sQ0FBbkcsSUFBa0hWLFdBQVcsQ0FBQ0UsS0FBSyxFQUFOLENBQXRJO0FBQ0EsWUFBSS9ULEVBQUUsR0FBRyxDQUFFdVMsSUFBSSxDQUFDOEIsRUFBRSxLQUFLLEVBQVIsQ0FBSixJQUFtQixFQUFwQixHQUEyQjlCLElBQUksQ0FBRStCLEVBQUUsS0FBSyxFQUFSLEdBQWMsSUFBZixDQUFKLElBQTRCLEVBQXZELEdBQThEL0IsSUFBSSxDQUFFZ0MsRUFBRSxLQUFLLENBQVIsR0FBYSxJQUFkLENBQUosSUFBMkIsQ0FBekYsR0FBOEZoQyxJQUFJLENBQUM2QixFQUFFLEdBQUcsSUFBTixDQUFuRyxJQUFrSFAsV0FBVyxDQUFDRSxLQUFLLEVBQU4sQ0FBdEk7QUFDQSxZQUFJOVQsRUFBRSxHQUFHLENBQUVzUyxJQUFJLENBQUMrQixFQUFFLEtBQUssRUFBUixDQUFKLElBQW1CLEVBQXBCLEdBQTJCL0IsSUFBSSxDQUFFZ0MsRUFBRSxLQUFLLEVBQVIsR0FBYyxJQUFmLENBQUosSUFBNEIsRUFBdkQsR0FBOERoQyxJQUFJLENBQUU2QixFQUFFLEtBQUssQ0FBUixHQUFhLElBQWQsQ0FBSixJQUEyQixDQUF6RixHQUE4RjdCLElBQUksQ0FBQzhCLEVBQUUsR0FBRyxJQUFOLENBQW5HLElBQWtIUixXQUFXLENBQUNFLEtBQUssRUFBTixDQUF0STtBQUNBLFlBQUlVLEVBQUUsR0FBRyxDQUFFbEMsSUFBSSxDQUFDZ0MsRUFBRSxLQUFLLEVBQVIsQ0FBSixJQUFtQixFQUFwQixHQUEyQmhDLElBQUksQ0FBRTZCLEVBQUUsS0FBSyxFQUFSLEdBQWMsSUFBZixDQUFKLElBQTRCLEVBQXZELEdBQThEN0IsSUFBSSxDQUFFOEIsRUFBRSxLQUFLLENBQVIsR0FBYSxJQUFkLENBQUosSUFBMkIsQ0FBekYsR0FBOEY5QixJQUFJLENBQUMrQixFQUFFLEdBQUcsSUFBTixDQUFuRyxJQUFrSFQsV0FBVyxDQUFDRSxLQUFLLEVBQU4sQ0FBdEk7O0FBRUE7QUFDQTdYLFNBQUMsQ0FBQzdDLE1BQUQsQ0FBRCxHQUFZbWIsRUFBWjtBQUNBdFksU0FBQyxDQUFDN0MsTUFBTSxHQUFHLENBQVYsQ0FBRCxHQUFnQjJHLEVBQWhCO0FBQ0E5RCxTQUFDLENBQUM3QyxNQUFNLEdBQUcsQ0FBVixDQUFELEdBQWdCNEcsRUFBaEI7QUFDQS9ELFNBQUMsQ0FBQzdDLE1BQU0sR0FBRyxDQUFWLENBQUQsR0FBZ0JvYixFQUFoQjtBQUNELE9BM0h1Qzs7QUE2SHhDalEsYUFBTyxFQUFFLE1BQU0sRUE3SHlCLEVBQW5CLENBQXZCOzs7QUFnSUE7Ozs7Ozs7O0FBUUFyUSxLQUFDLENBQUNvZixHQUFGLEdBQVFyRCxXQUFXLENBQUNsVyxhQUFaLENBQTBCdVosR0FBMUIsQ0FBUjtBQUNELEdBck5BLEdBQUQ7OztBQXdOQyxlQUFXO0FBQ1Y7QUFDQSxRQUFJcGYsQ0FBQyxHQUFHckIsUUFBUjtBQUNBLFFBQUlzQixLQUFLLEdBQUdELENBQUMsQ0FBQ0UsR0FBZDtBQUNBLFFBQUllLFNBQVMsR0FBR2hCLEtBQUssQ0FBQ2dCLFNBQXRCO0FBQ0EsUUFBSThhLFdBQVcsR0FBRzliLEtBQUssQ0FBQzhiLFdBQXhCO0FBQ0EsUUFBSTdWLE1BQU0sR0FBR2xHLENBQUMsQ0FBQ29HLElBQWY7O0FBRUE7QUFDQSxRQUFJbWEsR0FBRyxHQUFHO0FBQ1IsTUFEUSxFQUNKLEVBREksRUFDQSxFQURBLEVBQ0ksRUFESixFQUNRLEVBRFIsRUFDWSxFQURaLEVBQ2dCLENBRGhCLEVBQ21CLENBRG5CO0FBRVIsTUFGUSxFQUVKLEVBRkksRUFFQSxFQUZBLEVBRUksRUFGSixFQUVRLEVBRlIsRUFFWSxFQUZaLEVBRWdCLEVBRmhCLEVBRW9CLENBRnBCO0FBR1IsTUFIUSxFQUdKLEVBSEksRUFHQSxFQUhBLEVBR0ksRUFISixFQUdRLEVBSFIsRUFHWSxFQUhaLEVBR2dCLEVBSGhCLEVBR29CLENBSHBCO0FBSVIsTUFKUSxFQUlKLEVBSkksRUFJQSxFQUpBLEVBSUksRUFKSixFQUlRLEVBSlIsRUFJWSxFQUpaLEVBSWdCLEVBSmhCLEVBSW9CLEVBSnBCO0FBS1IsTUFMUSxFQUtKLEVBTEksRUFLQSxFQUxBLEVBS0ksQ0FMSixFQUtPLEVBTFAsRUFLVyxFQUxYLEVBS2UsRUFMZixFQUttQixFQUxuQjtBQU1SLE1BTlEsRUFNSixFQU5JLEVBTUEsRUFOQSxFQU1JLENBTkosRUFNTyxFQU5QLEVBTVcsRUFOWCxFQU1lLEVBTmYsRUFNbUIsRUFObkI7QUFPUixNQVBRLEVBT0osRUFQSSxFQU9BLEVBUEEsRUFPSSxDQVBKLEVBT08sRUFQUCxFQU9XLEVBUFgsRUFPZSxFQVBmLEVBT21CLENBUG5CLENBQVY7OztBQVVBO0FBQ0EsUUFBSUMsR0FBRyxHQUFHO0FBQ1IsTUFEUSxFQUNKLEVBREksRUFDQSxFQURBLEVBQ0ksRUFESixFQUNRLENBRFIsRUFDVyxDQURYO0FBRVIsS0FGUSxFQUVMLEVBRkssRUFFRCxFQUZDLEVBRUcsQ0FGSCxFQUVNLEVBRk4sRUFFVSxFQUZWO0FBR1IsTUFIUSxFQUdKLEVBSEksRUFHQSxFQUhBLEVBR0ksQ0FISixFQUdPLEVBSFAsRUFHVyxDQUhYO0FBSVIsTUFKUSxFQUlKLENBSkksRUFJRCxFQUpDLEVBSUcsRUFKSCxFQUlPLEVBSlAsRUFJVyxDQUpYO0FBS1IsTUFMUSxFQUtKLEVBTEksRUFLQSxFQUxBLEVBS0ksRUFMSixFQUtRLEVBTFIsRUFLWSxFQUxaO0FBTVIsTUFOUSxFQU1KLEVBTkksRUFNQSxFQU5BLEVBTUksRUFOSixFQU1RLEVBTlIsRUFNWSxFQU5aO0FBT1IsTUFQUSxFQU9KLEVBUEksRUFPQSxFQVBBLEVBT0ksRUFQSixFQU9RLEVBUFIsRUFPWSxFQVBaO0FBUVIsTUFSUSxFQVFKLEVBUkksRUFRQSxFQVJBLEVBUUksRUFSSixFQVFRLEVBUlIsRUFRWSxFQVJaLENBQVY7OztBQVdBO0FBQ0EsUUFBSUMsVUFBVSxHQUFHLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixFQUFhLENBQWIsRUFBZ0IsRUFBaEIsRUFBb0IsRUFBcEIsRUFBd0IsRUFBeEIsRUFBNEIsRUFBNUIsRUFBZ0MsRUFBaEMsRUFBb0MsRUFBcEMsRUFBd0MsRUFBeEMsRUFBNEMsRUFBNUMsRUFBZ0QsRUFBaEQsRUFBb0QsRUFBcEQsRUFBd0QsRUFBeEQsQ0FBakI7O0FBRUE7QUFDQSxRQUFJQyxNQUFNLEdBQUcsQ0FBQztBQUNWLFdBQUssUUFESztBQUVWLGtCQUFZLE1BRkY7QUFHVixrQkFBWSxRQUhGO0FBSVYsa0JBQVksR0FKRjtBQUtWLGtCQUFZLEtBTEY7QUFNVixrQkFBWSxRQU5GO0FBT1Ysa0JBQVksUUFQRjtBQVFWLGtCQUFZLFFBUkY7QUFTVixrQkFBWSxLQVRGO0FBVVYsa0JBQVksUUFWRjtBQVdWLGtCQUFZLE1BWEY7QUFZVixrQkFBWSxRQVpGO0FBYVYsa0JBQVksTUFiRjtBQWNWLGtCQUFZLFFBZEY7QUFlVixrQkFBWSxHQWZGO0FBZ0JWLGtCQUFZLE1BaEJGO0FBaUJWLGlCQUFXLEdBakJEO0FBa0JWLGtCQUFZLFFBbEJGO0FBbUJWLGtCQUFZLE1BbkJGO0FBb0JWLGtCQUFZLE1BcEJGO0FBcUJWLGtCQUFZLFFBckJGO0FBc0JWLGtCQUFZLEtBdEJGO0FBdUJWLGtCQUFZLFFBdkJGO0FBd0JWLGtCQUFZLEdBeEJGO0FBeUJWLGtCQUFZLFFBekJGO0FBMEJWLGtCQUFZLE1BMUJGO0FBMkJWLGtCQUFZLFFBM0JGO0FBNEJWLGtCQUFZLFFBNUJGO0FBNkJWLGtCQUFZLFFBN0JGO0FBOEJWLGtCQUFZLE1BOUJGO0FBK0JWLGtCQUFZLEtBL0JGO0FBZ0NWLGtCQUFZLFFBaENGO0FBaUNWLFdBQUssTUFqQ0s7QUFrQ1Ysa0JBQVksR0FsQ0Y7QUFtQ1Ysa0JBQVksUUFuQ0Y7QUFvQ1Ysa0JBQVksUUFwQ0Y7QUFxQ1Ysa0JBQVksUUFyQ0Y7QUFzQ1Ysa0JBQVksTUF0Q0Y7QUF1Q1Ysa0JBQVksS0F2Q0Y7QUF3Q1Ysa0JBQVksUUF4Q0Y7QUF5Q1Ysa0JBQVksUUF6Q0Y7QUEwQ1Ysa0JBQVksUUExQ0Y7QUEyQ1Ysa0JBQVksUUEzQ0Y7QUE0Q1Ysa0JBQVksTUE1Q0Y7QUE2Q1Ysa0JBQVksS0E3Q0Y7QUE4Q1Ysa0JBQVksUUE5Q0Y7QUErQ1Ysa0JBQVksTUEvQ0Y7QUFnRFYsa0JBQVksR0FoREY7QUFpRFYsaUJBQVcsUUFqREQ7QUFrRFYsa0JBQVksUUFsREY7QUFtRFYsa0JBQVksUUFuREY7QUFvRFYsa0JBQVksS0FwREY7QUFxRFYsa0JBQVksTUFyREY7QUFzRFYsa0JBQVksUUF0REY7QUF1RFYsa0JBQVksR0F2REY7QUF3RFYsa0JBQVksTUF4REY7QUF5RFYsa0JBQVksTUF6REY7QUEwRFYsa0JBQVksUUExREY7QUEyRFYsa0JBQVksS0EzREY7QUE0RFYsa0JBQVksUUE1REY7QUE2RFYsa0JBQVksUUE3REY7QUE4RFYsa0JBQVksR0E5REY7QUErRFYsa0JBQVksTUEvREY7QUFnRVYsa0JBQVksUUFoRUYsRUFBRDs7QUFrRVg7QUFDRSxXQUFLLFVBRFA7QUFFRSxpQkFBVyxNQUZiO0FBR0UsaUJBQVcsT0FIYjtBQUlFLGlCQUFXLFVBSmI7QUFLRSxpQkFBVyxVQUxiO0FBTUUsaUJBQVcsVUFOYjtBQU9FLGlCQUFXLFVBUGI7QUFRRSxpQkFBVyxJQVJiO0FBU0UsaUJBQVcsT0FUYjtBQVVFLGlCQUFXLFVBVmI7QUFXRSxpQkFBVyxVQVhiO0FBWUUsaUJBQVcsT0FaYjtBQWFFLGlCQUFXLE9BYmI7QUFjRSxpQkFBVyxHQWRiO0FBZUUsaUJBQVcsTUFmYjtBQWdCRSxpQkFBVyxVQWhCYjtBQWlCRSxnQkFBVSxVQWpCWjtBQWtCRSxpQkFBVyxPQWxCYjtBQW1CRSxpQkFBVyxJQW5CYjtBQW9CRSxpQkFBVyxVQXBCYjtBQXFCRSxpQkFBVyxVQXJCYjtBQXNCRSxpQkFBVyxVQXRCYjtBQXVCRSxpQkFBVyxPQXZCYjtBQXdCRSxpQkFBVyxVQXhCYjtBQXlCRSxpQkFBVyxPQXpCYjtBQTBCRSxpQkFBVyxHQTFCYjtBQTJCRSxpQkFBVyxNQTNCYjtBQTRCRSxpQkFBVyxVQTVCYjtBQTZCRSxpQkFBVyxVQTdCYjtBQThCRSxpQkFBVyxPQTlCYjtBQStCRSxpQkFBVyxVQS9CYjtBQWdDRSxpQkFBVyxNQWhDYjtBQWlDRSxrQkFBWSxHQWpDZDtBQWtDRSxrQkFBWSxVQWxDZDtBQW1DRSxrQkFBWSxVQW5DZDtBQW9DRSxrQkFBWSxVQXBDZDtBQXFDRSxrQkFBWSxVQXJDZDtBQXNDRSxrQkFBWSxJQXRDZDtBQXVDRSxrQkFBWSxPQXZDZDtBQXdDRSxrQkFBWSxNQXhDZDtBQXlDRSxrQkFBWSxNQXpDZDtBQTBDRSxrQkFBWSxPQTFDZDtBQTJDRSxrQkFBWSxPQTNDZDtBQTRDRSxrQkFBWSxVQTVDZDtBQTZDRSxrQkFBWSxPQTdDZDtBQThDRSxrQkFBWSxVQTlDZDtBQStDRSxrQkFBWSxVQS9DZDtBQWdERSxrQkFBWSxVQWhEZDtBQWlERSxrQkFBWSxPQWpEZDtBQWtERSxrQkFBWSxPQWxEZDtBQW1ERSxrQkFBWSxVQW5EZDtBQW9ERSxrQkFBWSxNQXBEZDtBQXFERSxrQkFBWSxVQXJEZDtBQXNERSxrQkFBWSxVQXREZDtBQXVERSxrQkFBWSxJQXZEZDtBQXdERSxrQkFBWSxVQXhEZDtBQXlERSxrQkFBWSxVQXpEZDtBQTBERSxrQkFBWSxVQTFEZDtBQTJERSxrQkFBWSxVQTNEZDtBQTRERSxrQkFBWSxPQTVEZDtBQTZERSxrQkFBWSxHQTdEZDtBQThERSxrQkFBWSxNQTlEZDtBQStERSxrQkFBWSxVQS9EZDtBQWdFRSxrQkFBWSxPQWhFZCxFQWxFVzs7QUFvSVg7QUFDRSxXQUFLLEtBRFA7QUFFRSxnQkFBVSxHQUZaO0FBR0UsZ0JBQVUsU0FIWjtBQUlFLGdCQUFVLE9BSlo7QUFLRSxnQkFBVSxPQUxaO0FBTUUsZ0JBQVUsU0FOWjtBQU9FLGdCQUFVLFNBUFo7QUFRRSxnQkFBVSxTQVJaO0FBU0UsZ0JBQVUsU0FUWjtBQVVFLGdCQUFVLFNBVlo7QUFXRSxnQkFBVSxPQVhaO0FBWUUsZ0JBQVUsU0FaWjtBQWFFLGdCQUFVLFNBYlo7QUFjRSxnQkFBVSxPQWRaO0FBZUUsZ0JBQVUsR0FmWjtBQWdCRSxnQkFBVSxLQWhCWjtBQWlCRSxlQUFTLFNBakJYO0FBa0JFLGdCQUFVLFNBbEJaO0FBbUJFLGdCQUFVLEdBbkJaO0FBb0JFLGdCQUFVLFNBcEJaO0FBcUJFLGdCQUFVLFNBckJaO0FBc0JFLGdCQUFVLE9BdEJaO0FBdUJFLGdCQUFVLE9BdkJaO0FBd0JFLGdCQUFVLEtBeEJaO0FBeUJFLGdCQUFVLEdBekJaO0FBMEJFLGdCQUFVLEtBMUJaO0FBMkJFLGdCQUFVLFNBM0JaO0FBNEJFLGdCQUFVLE9BNUJaO0FBNkJFLGdCQUFVLE9BN0JaO0FBOEJFLGdCQUFVLFNBOUJaO0FBK0JFLGdCQUFVLFNBL0JaO0FBZ0NFLGdCQUFVLFNBaENaO0FBaUNFLGlCQUFXLFNBakNiO0FBa0NFLGlCQUFXLE9BbENiO0FBbUNFLGlCQUFXLE9BbkNiO0FBb0NFLGlCQUFXLFNBcENiO0FBcUNFLGlCQUFXLEtBckNiO0FBc0NFLGlCQUFXLFNBdENiO0FBdUNFLGlCQUFXLFNBdkNiO0FBd0NFLGlCQUFXLEdBeENiO0FBeUNFLGlCQUFXLFNBekNiO0FBMENFLGlCQUFXLFNBMUNiO0FBMkNFLGlCQUFXLEdBM0NiO0FBNENFLGlCQUFXLE9BNUNiO0FBNkNFLGlCQUFXLFNBN0NiO0FBOENFLGlCQUFXLEtBOUNiO0FBK0NFLGlCQUFXLE9BL0NiO0FBZ0RFLGlCQUFXLFNBaERiO0FBaURFLGlCQUFXLFNBakRiO0FBa0RFLGlCQUFXLEtBbERiO0FBbURFLGlCQUFXLFNBbkRiO0FBb0RFLGlCQUFXLEdBcERiO0FBcURFLGlCQUFXLE9BckRiO0FBc0RFLGlCQUFXLFNBdERiO0FBdURFLGlCQUFXLEtBdkRiO0FBd0RFLGlCQUFXLFNBeERiO0FBeURFLGlCQUFXLE9BekRiO0FBMERFLGlCQUFXLFNBMURiO0FBMkRFLGlCQUFXLE9BM0RiO0FBNERFLGlCQUFXLFNBNURiO0FBNkRFLGlCQUFXLFNBN0RiO0FBOERFLGlCQUFXLFNBOURiO0FBK0RFLGlCQUFXLEdBL0RiO0FBZ0VFLGlCQUFXLE9BaEViLEVBcElXOztBQXNNWDtBQUNFLFdBQUssVUFEUDtBQUVFLGVBQVMsVUFGWDtBQUdFLGVBQVMsUUFIWDtBQUlFLGVBQVMsVUFKWDtBQUtFLGVBQVMsR0FMWDtBQU1FLGVBQVMsUUFOWDtBQU9FLGVBQVMsVUFQWDtBQVFFLGVBQVMsUUFSWDtBQVNFLGVBQVMsVUFUWDtBQVVFLGVBQVMsUUFWWDtBQVdFLGVBQVMsSUFYWDtBQVlFLGVBQVMsVUFaWDtBQWFFLGVBQVMsVUFiWDtBQWNFLGVBQVMsTUFkWDtBQWVFLGVBQVMsTUFmWDtBQWdCRSxlQUFTLFVBaEJYO0FBaUJFLGNBQVEsVUFqQlY7QUFrQkUsZUFBUyxJQWxCWDtBQW1CRSxlQUFTLFVBbkJYO0FBb0JFLGVBQVMsVUFwQlg7QUFxQkUsZUFBUyxRQXJCWDtBQXNCRSxlQUFTLFVBdEJYO0FBdUJFLGVBQVMsR0F2Qlg7QUF3QkUsZUFBUyxVQXhCWDtBQXlCRSxlQUFTLE1BekJYO0FBMEJFLGVBQVMsVUExQlg7QUEyQkUsZUFBUyxRQTNCWDtBQTRCRSxlQUFTLE1BNUJYO0FBNkJFLGVBQVMsVUE3Qlg7QUE4QkUsZUFBUyxRQTlCWDtBQStCRSxlQUFTLFFBL0JYO0FBZ0NFLGVBQVMsVUFoQ1g7QUFpQ0UsZ0JBQVUsUUFqQ1o7QUFrQ0UsZ0JBQVUsUUFsQ1o7QUFtQ0UsZ0JBQVUsVUFuQ1o7QUFvQ0UsZ0JBQVUsR0FwQ1o7QUFxQ0UsZ0JBQVUsTUFyQ1o7QUFzQ0UsZ0JBQVUsVUF0Q1o7QUF1Q0UsZ0JBQVUsVUF2Q1o7QUF3Q0UsZ0JBQVUsVUF4Q1o7QUF5Q0UsZ0JBQVUsVUF6Q1o7QUEwQ0UsZ0JBQVUsVUExQ1o7QUEyQ0UsZ0JBQVUsVUEzQ1o7QUE0Q0UsZ0JBQVUsUUE1Q1o7QUE2Q0UsZ0JBQVUsVUE3Q1o7QUE4Q0UsZ0JBQVUsUUE5Q1o7QUErQ0UsZ0JBQVUsSUEvQ1o7QUFnREUsZ0JBQVUsTUFoRFo7QUFpREUsZ0JBQVUsVUFqRFo7QUFrREUsZ0JBQVUsVUFsRFo7QUFtREUsZ0JBQVUsR0FuRFo7QUFvREUsZ0JBQVUsUUFwRFo7QUFxREUsZ0JBQVUsUUFyRFo7QUFzREUsZ0JBQVUsVUF0RFo7QUF1REUsZ0JBQVUsVUF2RFo7QUF3REUsZ0JBQVUsSUF4RFo7QUF5REUsZ0JBQVUsVUF6RFo7QUEwREUsZ0JBQVUsTUExRFo7QUEyREUsZ0JBQVUsVUEzRFo7QUE0REUsZ0JBQVUsVUE1RFo7QUE2REUsZ0JBQVUsTUE3RFo7QUE4REUsZ0JBQVUsVUE5RFo7QUErREUsZ0JBQVUsUUEvRFo7QUFnRUUsZ0JBQVUsUUFoRVosRUF0TVc7O0FBd1FYO0FBQ0UsV0FBSyxJQURQO0FBRUUsY0FBUSxTQUZWO0FBR0UsY0FBUSxPQUhWO0FBSUUsY0FBUSxVQUpWO0FBS0UsY0FBUSxVQUxWO0FBTUUsY0FBUSxTQU5WO0FBT0UsY0FBUSxVQVBWO0FBUUUsY0FBUSxPQVJWO0FBU0UsY0FBUSxTQVRWO0FBVUUsY0FBUSxVQVZWO0FBV0UsY0FBUSxVQVhWO0FBWUUsY0FBUSxVQVpWO0FBYUUsY0FBUSxVQWJWO0FBY0UsY0FBUSxHQWRWO0FBZUUsY0FBUSxTQWZWO0FBZ0JFLGNBQVEsVUFoQlY7QUFpQkUsYUFBTyxTQWpCVDtBQWtCRSxjQUFRLFVBbEJWO0FBbUJFLGNBQVEsSUFuQlY7QUFvQkUsY0FBUSxTQXBCVjtBQXFCRSxjQUFRLE9BckJWO0FBc0JFLGNBQVEsVUF0QlY7QUF1QkUsY0FBUSxVQXZCVjtBQXdCRSxjQUFRLFVBeEJWO0FBeUJFLGNBQVEsVUF6QlY7QUEwQkUsY0FBUSxHQTFCVjtBQTJCRSxjQUFRLFVBM0JWO0FBNEJFLGNBQVEsU0E1QlY7QUE2QkUsY0FBUSxVQTdCVjtBQThCRSxjQUFRLFVBOUJWO0FBK0JFLGNBQVEsU0EvQlY7QUFnQ0UsY0FBUSxPQWhDVjtBQWlDRSxlQUFTLE9BakNYO0FBa0NFLGVBQVMsSUFsQ1g7QUFtQ0UsZUFBUyxVQW5DWDtBQW9DRSxlQUFTLFVBcENYO0FBcUNFLGVBQVMsU0FyQ1g7QUFzQ0UsZUFBUyxVQXRDWDtBQXVDRSxlQUFTLFVBdkNYO0FBd0NFLGVBQVMsU0F4Q1g7QUF5Q0UsZUFBUyxVQXpDWDtBQTBDRSxlQUFTLFVBMUNYO0FBMkNFLGVBQVMsU0EzQ1g7QUE0Q0UsZUFBUyxVQTVDWDtBQTZDRSxlQUFTLE9BN0NYO0FBOENFLGVBQVMsVUE5Q1g7QUErQ0UsZUFBUyxHQS9DWDtBQWdERSxlQUFTLFNBaERYO0FBaURFLGVBQVMsVUFqRFg7QUFrREUsZUFBUyxTQWxEWDtBQW1ERSxlQUFTLFNBbkRYO0FBb0RFLGVBQVMsVUFwRFg7QUFxREUsZUFBUyxVQXJEWDtBQXNERSxlQUFTLFNBdERYO0FBdURFLGVBQVMsSUF2RFg7QUF3REUsZUFBUyxVQXhEWDtBQXlERSxlQUFTLE9BekRYO0FBMERFLGVBQVMsVUExRFg7QUEyREUsZUFBUyxHQTNEWDtBQTRERSxlQUFTLFVBNURYO0FBNkRFLGVBQVMsU0E3RFg7QUE4REUsZUFBUyxPQTlEWDtBQStERSxlQUFTLFVBL0RYO0FBZ0VFLGVBQVMsVUFoRVgsRUF4UVc7O0FBMFVYO0FBQ0UsV0FBSyxVQURQO0FBRUUsYUFBTyxNQUZUO0FBR0UsYUFBTyxVQUhUO0FBSUUsYUFBTyxVQUpUO0FBS0UsYUFBTyxVQUxUO0FBTUUsYUFBTyxRQU5UO0FBT0UsYUFBTyxRQVBUO0FBUUUsYUFBTyxVQVJUO0FBU0UsYUFBTyxHQVRUO0FBVUUsYUFBTyxVQVZUO0FBV0UsYUFBTyxRQVhUO0FBWUUsYUFBTyxHQVpUO0FBYUUsYUFBTyxVQWJUO0FBY0UsYUFBTyxRQWRUO0FBZUUsYUFBTyxNQWZUO0FBZ0JFLGFBQU8sVUFoQlQ7QUFpQkUsWUFBTSxVQWpCUjtBQWtCRSxhQUFPLFVBbEJUO0FBbUJFLGFBQU8sR0FuQlQ7QUFvQkUsYUFBTyxRQXBCVDtBQXFCRSxhQUFPLFFBckJUO0FBc0JFLGFBQU8sVUF0QlQ7QUF1QkUsYUFBTyxVQXZCVDtBQXdCRSxhQUFPLE1BeEJUO0FBeUJFLGFBQU8sUUF6QlQ7QUEwQkUsYUFBTyxNQTFCVDtBQTJCRSxhQUFPLFVBM0JUO0FBNEJFLGFBQU8sVUE1QlQ7QUE2QkUsYUFBTyxHQTdCVDtBQThCRSxhQUFPLFVBOUJUO0FBK0JFLGFBQU8sUUEvQlQ7QUFnQ0UsYUFBTyxVQWhDVDtBQWlDRSxjQUFRLFVBakNWO0FBa0NFLGNBQVEsVUFsQ1Y7QUFtQ0UsY0FBUSxVQW5DVjtBQW9DRSxjQUFRLE1BcENWO0FBcUNFLGNBQVEsUUFyQ1Y7QUFzQ0UsY0FBUSxVQXRDVjtBQXVDRSxjQUFRLFVBdkNWO0FBd0NFLGNBQVEsUUF4Q1Y7QUF5Q0UsY0FBUSxRQXpDVjtBQTBDRSxjQUFRLEdBMUNWO0FBMkNFLGNBQVEsR0EzQ1Y7QUE0Q0UsY0FBUSxVQTVDVjtBQTZDRSxjQUFRLE1BN0NWO0FBOENFLGNBQVEsVUE5Q1Y7QUErQ0UsY0FBUSxVQS9DVjtBQWdERSxjQUFRLFFBaERWO0FBaURFLGNBQVEsR0FqRFY7QUFrREUsY0FBUSxRQWxEVjtBQW1ERSxjQUFRLFFBbkRWO0FBb0RFLGNBQVEsVUFwRFY7QUFxREUsY0FBUSxVQXJEVjtBQXNERSxjQUFRLE1BdERWO0FBdURFLGNBQVEsVUF2RFY7QUF3REUsY0FBUSxVQXhEVjtBQXlERSxjQUFRLFVBekRWO0FBMERFLGNBQVEsVUExRFY7QUEyREUsY0FBUSxNQTNEVjtBQTRERSxjQUFRLFFBNURWO0FBNkRFLGNBQVEsUUE3RFY7QUE4REUsY0FBUSxHQTlEVjtBQStERSxjQUFRLFVBL0RWO0FBZ0VFLGNBQVEsVUFoRVYsRUExVVc7O0FBNFlYO0FBQ0UsV0FBSyxRQURQO0FBRUUsWUFBTSxTQUZSO0FBR0UsWUFBTSxLQUhSO0FBSUUsWUFBTSxRQUpSO0FBS0UsWUFBTSxTQUxSO0FBTUUsWUFBTSxHQU5SO0FBT0UsWUFBTSxHQVBSO0FBUUUsWUFBTSxTQVJSO0FBU0UsWUFBTSxTQVRSO0FBVUUsWUFBTSxRQVZSO0FBV0UsWUFBTSxTQVhSO0FBWUUsWUFBTSxTQVpSO0FBYUUsWUFBTSxTQWJSO0FBY0UsWUFBTSxLQWRSO0FBZUUsWUFBTSxRQWZSO0FBZ0JFLFlBQU0sU0FoQlI7QUFpQkUsV0FBSyxTQWpCUDtBQWtCRSxZQUFNLEdBbEJSO0FBbUJFLFlBQU0sU0FuQlI7QUFvQkUsWUFBTSxTQXBCUjtBQXFCRSxZQUFNLFFBckJSO0FBc0JFLFlBQU0sU0F0QlI7QUF1QkUsWUFBTSxTQXZCUjtBQXdCRSxZQUFNLEtBeEJSO0FBeUJFLFlBQU0sUUF6QlI7QUEwQkUsWUFBTSxTQTFCUjtBQTJCRSxZQUFNLFNBM0JSO0FBNEJFLFlBQU0sUUE1QlI7QUE2QkUsWUFBTSxLQTdCUjtBQThCRSxZQUFNLFNBOUJSO0FBK0JFLFlBQU0sR0EvQlI7QUFnQ0UsWUFBTSxRQWhDUjtBQWlDRSxhQUFPLFNBakNUO0FBa0NFLGFBQU8sUUFsQ1Q7QUFtQ0UsYUFBTyxTQW5DVDtBQW9DRSxhQUFPLFNBcENUO0FBcUNFLGFBQU8sUUFyQ1Q7QUFzQ0UsYUFBTyxTQXRDVDtBQXVDRSxhQUFPLFNBdkNUO0FBd0NFLGFBQU8sUUF4Q1Q7QUF5Q0UsYUFBTyxLQXpDVDtBQTBDRSxhQUFPLFNBMUNUO0FBMkNFLGFBQU8sUUEzQ1Q7QUE0Q0UsYUFBTyxHQTVDVDtBQTZDRSxhQUFPLEdBN0NUO0FBOENFLGFBQU8sU0E5Q1Q7QUErQ0UsYUFBTyxTQS9DVDtBQWdERSxhQUFPLEtBaERUO0FBaURFLGFBQU8sUUFqRFQ7QUFrREUsYUFBTyxTQWxEVDtBQW1ERSxhQUFPLFNBbkRUO0FBb0RFLGFBQU8sR0FwRFQ7QUFxREUsYUFBTyxTQXJEVDtBQXNERSxhQUFPLFFBdERUO0FBdURFLGFBQU8sS0F2RFQ7QUF3REUsYUFBTyxTQXhEVDtBQXlERSxhQUFPLFNBekRUO0FBMERFLGFBQU8sU0ExRFQ7QUEyREUsYUFBTyxHQTNEVDtBQTRERSxhQUFPLFNBNURUO0FBNkRFLGFBQU8sUUE3RFQ7QUE4REUsYUFBTyxLQTlEVDtBQStERSxhQUFPLFNBL0RUO0FBZ0VFLGFBQU8sUUFoRVQsRUE1WVc7O0FBOGNYO0FBQ0UsV0FBSyxTQURQO0FBRUUsV0FBSyxPQUZQO0FBR0UsV0FBSyxTQUhQO0FBSUUsV0FBSyxJQUpQO0FBS0UsV0FBSyxPQUxQO0FBTUUsV0FBSyxTQU5QO0FBT0UsV0FBSyxTQVBQO0FBUUUsV0FBSyxLQVJQO0FBU0UsV0FBSyxTQVRQO0FBVUUsV0FBSyxTQVZQO0FBV0UsV0FBSyxPQVhQO0FBWUUsV0FBSyxTQVpQO0FBYUUsV0FBSyxLQWJQO0FBY0UsV0FBSyxHQWRQO0FBZUUsV0FBSyxTQWZQO0FBZ0JFLFdBQUssT0FoQlA7QUFpQkUsa0JBQVksS0FqQmQ7QUFrQkUsa0JBQVksU0FsQmQ7QUFtQkUsa0JBQVksU0FuQmQ7QUFvQkUsa0JBQVksU0FwQmQ7QUFxQkUsa0JBQVksU0FyQmQ7QUFzQkUsa0JBQVksT0F0QmQ7QUF1QkUsa0JBQVksT0F2QmQ7QUF3QkUsa0JBQVksSUF4QmQ7QUF5QkUsa0JBQVksU0F6QmQ7QUEwQkUsa0JBQVksS0ExQmQ7QUEyQkUsa0JBQVksT0EzQmQ7QUE0QkUsa0JBQVksU0E1QmQ7QUE2QkUsa0JBQVksR0E3QmQ7QUE4QkUsa0JBQVksU0E5QmQ7QUErQkUsa0JBQVksU0EvQmQ7QUFnQ0Usa0JBQVksT0FoQ2Q7QUFpQ0UsWUFBTSxPQWpDUjtBQWtDRSxZQUFNLFNBbENSO0FBbUNFLFlBQU0sSUFuQ1I7QUFvQ0UsWUFBTSxLQXBDUjtBQXFDRSxZQUFNLFNBckNSO0FBc0NFLFlBQU0sU0F0Q1I7QUF1Q0UsWUFBTSxTQXZDUjtBQXdDRSxZQUFNLE9BeENSO0FBeUNFLFlBQU0sR0F6Q1I7QUEwQ0UsWUFBTSxPQTFDUjtBQTJDRSxZQUFNLFNBM0NSO0FBNENFLFlBQU0sU0E1Q1I7QUE2Q0UsWUFBTSxTQTdDUjtBQThDRSxZQUFNLE9BOUNSO0FBK0NFLFlBQU0sS0EvQ1I7QUFnREUsWUFBTSxTQWhEUjtBQWlERSxrQkFBWSxPQWpEZDtBQWtERSxrQkFBWSxLQWxEZDtBQW1ERSxrQkFBWSxTQW5EZDtBQW9ERSxrQkFBWSxPQXBEZDtBQXFERSxrQkFBWSxJQXJEZDtBQXNERSxrQkFBWSxTQXREZDtBQXVERSxrQkFBWSxTQXZEZDtBQXdERSxrQkFBWSxTQXhEZDtBQXlERSxrQkFBWSxTQXpEZDtBQTBERSxrQkFBWSxTQTFEZDtBQTJERSxrQkFBWSxTQTNEZDtBQTRERSxrQkFBWSxHQTVEZDtBQTZERSxrQkFBWSxPQTdEZDtBQThERSxrQkFBWSxLQTlEZDtBQStERSxrQkFBWSxPQS9EZDtBQWdFRSxrQkFBWSxTQWhFZCxFQTljVyxDQUFiOzs7O0FBa2hCQTtBQUNBLFFBQUlDLFNBQVMsR0FBRztBQUNkLGNBRGMsRUFDRixVQURFLEVBQ1UsVUFEVixFQUNzQixVQUR0QjtBQUVkLGNBRmMsRUFFRixVQUZFLEVBRVUsVUFGVixFQUVzQixVQUZ0QixDQUFoQjs7O0FBS0E7OztBQUdBLFFBQUlDLEdBQUcsR0FBRzFhLE1BQU0sQ0FBQzBhLEdBQVAsR0FBYTdFLFdBQVcsQ0FBQzNiLE1BQVosQ0FBbUI7QUFDeENtRixjQUFRLEVBQUUsb0JBQVc7QUFDbkI7QUFDQSxZQUFJVSxHQUFHLEdBQUcsS0FBS3lULElBQWY7QUFDQSxZQUFJNkYsUUFBUSxHQUFHdFosR0FBRyxDQUFDL0UsS0FBbkI7O0FBRUE7QUFDQSxZQUFJMmYsT0FBTyxHQUFHLEVBQWQ7QUFDQSxhQUFLLElBQUk5ZSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLEVBQXBCLEVBQXdCQSxDQUFDLEVBQXpCLEVBQTZCO0FBQzNCLGNBQUkrZSxTQUFTLEdBQUdQLEdBQUcsQ0FBQ3hlLENBQUQsQ0FBSCxHQUFTLENBQXpCO0FBQ0E4ZSxpQkFBTyxDQUFDOWUsQ0FBRCxDQUFQLEdBQWN3ZCxRQUFRLENBQUN1QixTQUFTLEtBQUssQ0FBZixDQUFSLEtBQStCLEtBQUtBLFNBQVMsR0FBRyxFQUFqRCxHQUF3RCxDQUFyRTtBQUNEOztBQUVEO0FBQ0EsWUFBSUMsT0FBTyxHQUFHLEtBQUtDLFFBQUwsR0FBZ0IsRUFBOUI7QUFDQSxhQUFLLElBQUlDLE9BQU8sR0FBRyxDQUFuQixFQUFzQkEsT0FBTyxHQUFHLEVBQWhDLEVBQW9DQSxPQUFPLEVBQTNDLEVBQStDO0FBQzdDO0FBQ0EsY0FBSUMsTUFBTSxHQUFHSCxPQUFPLENBQUNFLE9BQUQsQ0FBUCxHQUFtQixFQUFoQzs7QUFFQTtBQUNBLGNBQUlFLFFBQVEsR0FBR1YsVUFBVSxDQUFDUSxPQUFELENBQXpCOztBQUVBO0FBQ0EsZUFBSyxJQUFJbGYsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxFQUFwQixFQUF3QkEsQ0FBQyxFQUF6QixFQUE2QjtBQUMzQjtBQUNBbWYsa0JBQU0sQ0FBRW5mLENBQUMsR0FBRyxDQUFMLEdBQVUsQ0FBWCxDQUFOLElBQXVCOGUsT0FBTyxDQUFDLENBQUVMLEdBQUcsQ0FBQ3plLENBQUQsQ0FBSCxHQUFTLENBQVYsR0FBZW9mLFFBQWhCLElBQTRCLEVBQTdCLENBQVAsSUFBNEMsS0FBS3BmLENBQUMsR0FBRyxDQUE1RTs7QUFFQTtBQUNBbWYsa0JBQU0sQ0FBQyxLQUFNbmYsQ0FBQyxHQUFHLENBQUwsR0FBVSxDQUFmLENBQUQsQ0FBTixJQUE2QjhlLE9BQU8sQ0FBQyxLQUFNLENBQUVMLEdBQUcsQ0FBQ3plLENBQUMsR0FBRyxFQUFMLENBQUgsR0FBYyxDQUFmLEdBQW9Cb2YsUUFBckIsSUFBaUMsRUFBeEMsQ0FBUCxJQUF3RCxLQUFLcGYsQ0FBQyxHQUFHLENBQTlGO0FBQ0Q7O0FBRUQ7QUFDQTtBQUNBO0FBQ0FtZixnQkFBTSxDQUFDLENBQUQsQ0FBTixHQUFhQSxNQUFNLENBQUMsQ0FBRCxDQUFOLElBQWEsQ0FBZCxHQUFvQkEsTUFBTSxDQUFDLENBQUQsQ0FBTixLQUFjLEVBQTlDO0FBQ0EsZUFBSyxJQUFJbmYsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQm1mLGtCQUFNLENBQUNuZixDQUFELENBQU4sR0FBWW1mLE1BQU0sQ0FBQ25mLENBQUQsQ0FBTixLQUFlLENBQUNBLENBQUMsR0FBRyxDQUFMLElBQVUsQ0FBVixHQUFjLENBQXpDO0FBQ0Q7QUFDRG1mLGdCQUFNLENBQUMsQ0FBRCxDQUFOLEdBQWFBLE1BQU0sQ0FBQyxDQUFELENBQU4sSUFBYSxDQUFkLEdBQW9CQSxNQUFNLENBQUMsQ0FBRCxDQUFOLEtBQWMsRUFBOUM7QUFDRDs7QUFFRDtBQUNBLFlBQUlFLFVBQVUsR0FBRyxLQUFLQyxXQUFMLEdBQW1CLEVBQXBDO0FBQ0EsYUFBSyxJQUFJdGYsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxFQUFwQixFQUF3QkEsQ0FBQyxFQUF6QixFQUE2QjtBQUMzQnFmLG9CQUFVLENBQUNyZixDQUFELENBQVYsR0FBZ0JnZixPQUFPLENBQUMsS0FBS2hmLENBQU4sQ0FBdkI7QUFDRDtBQUNGLE9BOUN1Qzs7QUFnRHhDb1osa0JBQVksRUFBRSxzQkFBU3BULENBQVQsRUFBWTdDLE1BQVosRUFBb0I7QUFDaEMsYUFBSzhhLGFBQUwsQ0FBbUJqWSxDQUFuQixFQUFzQjdDLE1BQXRCLEVBQThCLEtBQUs4YixRQUFuQztBQUNELE9BbER1Qzs7QUFvRHhDMUYsa0JBQVksRUFBRSxzQkFBU3ZULENBQVQsRUFBWTdDLE1BQVosRUFBb0I7QUFDaEMsYUFBSzhhLGFBQUwsQ0FBbUJqWSxDQUFuQixFQUFzQjdDLE1BQXRCLEVBQThCLEtBQUttYyxXQUFuQztBQUNELE9BdER1Qzs7QUF3RHhDckIsbUJBQWEsRUFBRSx1QkFBU2pZLENBQVQsRUFBWTdDLE1BQVosRUFBb0I2YixPQUFwQixFQUE2QjtBQUMxQztBQUNBLGFBQUtPLE9BQUwsR0FBZXZaLENBQUMsQ0FBQzdDLE1BQUQsQ0FBaEI7QUFDQSxhQUFLcWMsT0FBTCxHQUFleFosQ0FBQyxDQUFDN0MsTUFBTSxHQUFHLENBQVYsQ0FBaEI7O0FBRUE7QUFDQXNjLGtCQUFVLENBQUN0ZixJQUFYLENBQWdCLElBQWhCLEVBQXNCLENBQXRCLEVBQXlCLFVBQXpCO0FBQ0FzZixrQkFBVSxDQUFDdGYsSUFBWCxDQUFnQixJQUFoQixFQUFzQixFQUF0QixFQUEwQixVQUExQjtBQUNBdWYsa0JBQVUsQ0FBQ3ZmLElBQVgsQ0FBZ0IsSUFBaEIsRUFBc0IsQ0FBdEIsRUFBeUIsVUFBekI7QUFDQXVmLGtCQUFVLENBQUN2ZixJQUFYLENBQWdCLElBQWhCLEVBQXNCLENBQXRCLEVBQXlCLFVBQXpCO0FBQ0FzZixrQkFBVSxDQUFDdGYsSUFBWCxDQUFnQixJQUFoQixFQUFzQixDQUF0QixFQUF5QixVQUF6Qjs7QUFFQTtBQUNBLGFBQUssSUFBSW1SLEtBQUssR0FBRyxDQUFqQixFQUFvQkEsS0FBSyxHQUFHLEVBQTVCLEVBQWdDQSxLQUFLLEVBQXJDLEVBQXlDO0FBQ3ZDO0FBQ0EsY0FBSTZOLE1BQU0sR0FBR0gsT0FBTyxDQUFDMU4sS0FBRCxDQUFwQjtBQUNBLGNBQUlxTyxNQUFNLEdBQUcsS0FBS0osT0FBbEI7QUFDQSxjQUFJSyxNQUFNLEdBQUcsS0FBS0osT0FBbEI7O0FBRUE7QUFDQSxjQUFJclcsQ0FBQyxHQUFHLENBQVI7QUFDQSxlQUFLLElBQUluSixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLENBQXBCLEVBQXVCQSxDQUFDLEVBQXhCLEVBQTRCO0FBQzFCbUosYUFBQyxJQUFJd1YsTUFBTSxDQUFDM2UsQ0FBRCxDQUFOLENBQVUsQ0FBQyxDQUFDNGYsTUFBTSxHQUFHVCxNQUFNLENBQUNuZixDQUFELENBQWhCLElBQXVCNGUsU0FBUyxDQUFDNWUsQ0FBRCxDQUFqQyxNQUEwQyxDQUFwRCxDQUFMO0FBQ0Q7QUFDRCxlQUFLdWYsT0FBTCxHQUFlSyxNQUFmO0FBQ0EsZUFBS0osT0FBTCxHQUFlRyxNQUFNLEdBQUd4VyxDQUF4QjtBQUNEOztBQUVEO0FBQ0EsWUFBSWYsQ0FBQyxHQUFHLEtBQUttWCxPQUFiO0FBQ0EsYUFBS0EsT0FBTCxHQUFlLEtBQUtDLE9BQXBCO0FBQ0EsYUFBS0EsT0FBTCxHQUFlcFgsQ0FBZjs7QUFFQTtBQUNBcVgsa0JBQVUsQ0FBQ3RmLElBQVgsQ0FBZ0IsSUFBaEIsRUFBc0IsQ0FBdEIsRUFBeUIsVUFBekI7QUFDQXVmLGtCQUFVLENBQUN2ZixJQUFYLENBQWdCLElBQWhCLEVBQXNCLENBQXRCLEVBQXlCLFVBQXpCO0FBQ0F1ZixrQkFBVSxDQUFDdmYsSUFBWCxDQUFnQixJQUFoQixFQUFzQixDQUF0QixFQUF5QixVQUF6QjtBQUNBc2Ysa0JBQVUsQ0FBQ3RmLElBQVgsQ0FBZ0IsSUFBaEIsRUFBc0IsRUFBdEIsRUFBMEIsVUFBMUI7QUFDQXNmLGtCQUFVLENBQUN0ZixJQUFYLENBQWdCLElBQWhCLEVBQXNCLENBQXRCLEVBQXlCLFVBQXpCOztBQUVBO0FBQ0E2RixTQUFDLENBQUM3QyxNQUFELENBQUQsR0FBWSxLQUFLb2MsT0FBakI7QUFDQXZaLFNBQUMsQ0FBQzdDLE1BQU0sR0FBRyxDQUFWLENBQUQsR0FBZ0IsS0FBS3FjLE9BQXJCO0FBQ0QsT0FuR3VDOztBQXFHeENsUixhQUFPLEVBQUUsS0FBSyxFQXJHMEI7O0FBdUd4Q3lKLFlBQU0sRUFBRSxLQUFLLEVBdkcyQjs7QUF5R3hDcFYsZUFBUyxFQUFFLEtBQUssRUF6R3dCLEVBQW5CLENBQXZCOzs7QUE0R0E7QUFDQSxhQUFTOGMsVUFBVCxDQUFvQnRjLE1BQXBCLEVBQTRCMGMsSUFBNUIsRUFBa0M7QUFDaEMsVUFBSXpYLENBQUMsR0FBRyxDQUFFLEtBQUttWCxPQUFMLEtBQWlCcGMsTUFBbEIsR0FBNEIsS0FBS3FjLE9BQWxDLElBQTZDSyxJQUFyRDtBQUNBLFdBQUtMLE9BQUwsSUFBZ0JwWCxDQUFoQjtBQUNBLFdBQUttWCxPQUFMLElBQWdCblgsQ0FBQyxJQUFJakYsTUFBckI7QUFDRDs7QUFFRCxhQUFTdWMsVUFBVCxDQUFvQnZjLE1BQXBCLEVBQTRCMGMsSUFBNUIsRUFBa0M7QUFDaEMsVUFBSXpYLENBQUMsR0FBRyxDQUFFLEtBQUtvWCxPQUFMLEtBQWlCcmMsTUFBbEIsR0FBNEIsS0FBS29jLE9BQWxDLElBQTZDTSxJQUFyRDtBQUNBLFdBQUtOLE9BQUwsSUFBZ0JuWCxDQUFoQjtBQUNBLFdBQUtvWCxPQUFMLElBQWdCcFgsQ0FBQyxJQUFJakYsTUFBckI7QUFDRDs7QUFFRDs7Ozs7Ozs7QUFRQWxGLEtBQUMsQ0FBQzRnQixHQUFGLEdBQVE3RSxXQUFXLENBQUNsVyxhQUFaLENBQTBCK2EsR0FBMUIsQ0FBUjs7QUFFQTs7O0FBR0EsUUFBSWlCLFNBQVMsR0FBRzNiLE1BQU0sQ0FBQzJiLFNBQVAsR0FBbUI5RixXQUFXLENBQUMzYixNQUFaLENBQW1CO0FBQ3BEbUYsY0FBUSxFQUFFLG9CQUFXO0FBQ25CO0FBQ0EsWUFBSVUsR0FBRyxHQUFHLEtBQUt5VCxJQUFmO0FBQ0EsWUFBSTZGLFFBQVEsR0FBR3RaLEdBQUcsQ0FBQy9FLEtBQW5CO0FBQ0E7QUFDQSxZQUFJcWUsUUFBUSxDQUFDbmUsTUFBVCxLQUFvQixDQUFwQixJQUF5Qm1lLFFBQVEsQ0FBQ25lLE1BQVQsS0FBb0IsQ0FBN0MsSUFBa0RtZSxRQUFRLENBQUNuZSxNQUFULEdBQWtCLENBQXhFLEVBQTJFO0FBQ3pFLGdCQUFNLElBQUkzQixLQUFKLENBQVUsK0VBQVYsQ0FBTjtBQUNEOztBQUVEO0FBQ0EsWUFBSXFpQixJQUFJLEdBQUd2QyxRQUFRLENBQUNwZCxLQUFULENBQWUsQ0FBZixFQUFrQixDQUFsQixDQUFYO0FBQ0EsWUFBSTRmLElBQUksR0FBR3hDLFFBQVEsQ0FBQ25lLE1BQVQsR0FBa0IsQ0FBbEIsR0FBc0JtZSxRQUFRLENBQUNwZCxLQUFULENBQWUsQ0FBZixFQUFrQixDQUFsQixDQUF0QixHQUE2Q29kLFFBQVEsQ0FBQ3BkLEtBQVQsQ0FBZSxDQUFmLEVBQWtCLENBQWxCLENBQXhEO0FBQ0EsWUFBSTZmLElBQUksR0FBR3pDLFFBQVEsQ0FBQ25lLE1BQVQsR0FBa0IsQ0FBbEIsR0FBc0JtZSxRQUFRLENBQUNwZCxLQUFULENBQWUsQ0FBZixFQUFrQixDQUFsQixDQUF0QixHQUE2Q29kLFFBQVEsQ0FBQ3BkLEtBQVQsQ0FBZSxDQUFmLEVBQWtCLENBQWxCLENBQXhEOztBQUVBO0FBQ0EsYUFBSzhmLEtBQUwsR0FBYXJCLEdBQUcsQ0FBQ3hILGVBQUosQ0FBb0JuWSxTQUFTLENBQUN2QixNQUFWLENBQWlCb2lCLElBQWpCLENBQXBCLENBQWI7QUFDQSxhQUFLSSxLQUFMLEdBQWF0QixHQUFHLENBQUN4SCxlQUFKLENBQW9CblksU0FBUyxDQUFDdkIsTUFBVixDQUFpQnFpQixJQUFqQixDQUFwQixDQUFiO0FBQ0EsYUFBS0ksS0FBTCxHQUFhdkIsR0FBRyxDQUFDeEgsZUFBSixDQUFvQm5ZLFNBQVMsQ0FBQ3ZCLE1BQVYsQ0FBaUJzaUIsSUFBakIsQ0FBcEIsQ0FBYjtBQUNELE9BbkJtRDs7QUFxQnBEN0csa0JBQVksRUFBRSxzQkFBU3BULENBQVQsRUFBWTdDLE1BQVosRUFBb0I7QUFDaEMsYUFBSytjLEtBQUwsQ0FBVzlHLFlBQVgsQ0FBd0JwVCxDQUF4QixFQUEyQjdDLE1BQTNCO0FBQ0EsYUFBS2dkLEtBQUwsQ0FBVzVHLFlBQVgsQ0FBd0J2VCxDQUF4QixFQUEyQjdDLE1BQTNCO0FBQ0EsYUFBS2lkLEtBQUwsQ0FBV2hILFlBQVgsQ0FBd0JwVCxDQUF4QixFQUEyQjdDLE1BQTNCO0FBQ0QsT0F6Qm1EOztBQTJCcERvVyxrQkFBWSxFQUFFLHNCQUFTdlQsQ0FBVCxFQUFZN0MsTUFBWixFQUFvQjtBQUNoQyxhQUFLaWQsS0FBTCxDQUFXN0csWUFBWCxDQUF3QnZULENBQXhCLEVBQTJCN0MsTUFBM0I7QUFDQSxhQUFLZ2QsS0FBTCxDQUFXL0csWUFBWCxDQUF3QnBULENBQXhCLEVBQTJCN0MsTUFBM0I7QUFDQSxhQUFLK2MsS0FBTCxDQUFXM0csWUFBWCxDQUF3QnZULENBQXhCLEVBQTJCN0MsTUFBM0I7QUFDRCxPQS9CbUQ7O0FBaUNwRG1MLGFBQU8sRUFBRSxNQUFNLEVBakNxQzs7QUFtQ3BEeUosWUFBTSxFQUFFLEtBQUssRUFuQ3VDOztBQXFDcERwVixlQUFTLEVBQUUsS0FBSyxFQXJDb0MsRUFBbkIsQ0FBbkM7OztBQXdDQTs7Ozs7Ozs7QUFRQTFFLEtBQUMsQ0FBQzZoQixTQUFGLEdBQWM5RixXQUFXLENBQUNsVyxhQUFaLENBQTBCZ2MsU0FBMUIsQ0FBZDtBQUNELEdBcnZCQSxHQUFEOzs7QUF3dkJDLGVBQVc7QUFDVjtBQUNBLFFBQUk3aEIsQ0FBQyxHQUFHckIsUUFBUjtBQUNBLFFBQUlzQixLQUFLLEdBQUdELENBQUMsQ0FBQ0UsR0FBZDtBQUNBLFFBQUlvYSxZQUFZLEdBQUdyYSxLQUFLLENBQUNxYSxZQUF6QjtBQUNBLFFBQUlwVSxNQUFNLEdBQUdsRyxDQUFDLENBQUNvRyxJQUFmOztBQUVBOzs7QUFHQSxRQUFJZ2MsR0FBRyxHQUFHbGMsTUFBTSxDQUFDa2MsR0FBUCxHQUFhOUgsWUFBWSxDQUFDbGEsTUFBYixDQUFvQjtBQUN6Q21GLGNBQVEsRUFBRSxvQkFBVztBQUNuQjtBQUNBLFlBQUlVLEdBQUcsR0FBRyxLQUFLeVQsSUFBZjtBQUNBLFlBQUk2RixRQUFRLEdBQUd0WixHQUFHLENBQUMvRSxLQUFuQjtBQUNBLFlBQUltaEIsV0FBVyxHQUFHcGMsR0FBRyxDQUFDOUUsUUFBdEI7O0FBRUE7QUFDQSxZQUFJbWhCLENBQUMsR0FBRyxLQUFLQyxFQUFMLEdBQVUsRUFBbEI7QUFDQSxhQUFLLElBQUl4Z0IsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxHQUFwQixFQUF5QkEsQ0FBQyxFQUExQixFQUE4QjtBQUM1QnVnQixXQUFDLENBQUN2Z0IsQ0FBRCxDQUFELEdBQU9BLENBQVA7QUFDRDs7QUFFRDtBQUNBLGFBQUssSUFBSUEsQ0FBQyxHQUFHLENBQVIsRUFBVzhFLENBQUMsR0FBRyxDQUFwQixFQUF1QjlFLENBQUMsR0FBRyxHQUEzQixFQUFnQ0EsQ0FBQyxFQUFqQyxFQUFxQztBQUNuQyxjQUFJeWdCLFlBQVksR0FBR3pnQixDQUFDLEdBQUdzZ0IsV0FBdkI7QUFDQSxjQUFJSSxPQUFPLEdBQUlsRCxRQUFRLENBQUNpRCxZQUFZLEtBQUssQ0FBbEIsQ0FBUixLQUFrQyxLQUFNQSxZQUFZLEdBQUcsQ0FBaEIsR0FBcUIsQ0FBN0QsR0FBbUUsSUFBakY7O0FBRUEzYixXQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxHQUFHeWIsQ0FBQyxDQUFDdmdCLENBQUQsQ0FBTCxHQUFXMGdCLE9BQVosSUFBdUIsR0FBM0I7O0FBRUE7QUFDQSxjQUFJdFksQ0FBQyxHQUFHbVksQ0FBQyxDQUFDdmdCLENBQUQsQ0FBVDtBQUNBdWdCLFdBQUMsQ0FBQ3ZnQixDQUFELENBQUQsR0FBT3VnQixDQUFDLENBQUN6YixDQUFELENBQVI7QUFDQXliLFdBQUMsQ0FBQ3piLENBQUQsQ0FBRCxHQUFPc0QsQ0FBUDtBQUNEOztBQUVEO0FBQ0EsYUFBS3VZLEVBQUwsR0FBVSxLQUFLQyxFQUFMLEdBQVUsQ0FBcEI7QUFDRCxPQTVCd0M7O0FBOEJ6Q3hkLHFCQUFlLEVBQUUseUJBQVM0QyxDQUFULEVBQVk3QyxNQUFaLEVBQW9CO0FBQ25DNkMsU0FBQyxDQUFDN0MsTUFBRCxDQUFELElBQWEwZCxxQkFBcUIsQ0FBQzFnQixJQUF0QixDQUEyQixJQUEzQixDQUFiO0FBQ0QsT0FoQ3dDOztBQWtDekNtTyxhQUFPLEVBQUUsTUFBTSxFQWxDMEI7O0FBb0N6Q3lKLFlBQU0sRUFBRSxDQXBDaUMsRUFBcEIsQ0FBdkI7OztBQXVDQSxhQUFTOEkscUJBQVQsR0FBaUM7QUFDL0I7QUFDQSxVQUFJTixDQUFDLEdBQUcsS0FBS0MsRUFBYjtBQUNBLFVBQUl4Z0IsQ0FBQyxHQUFHLEtBQUsyZ0IsRUFBYjtBQUNBLFVBQUk3YixDQUFDLEdBQUcsS0FBSzhiLEVBQWI7O0FBRUE7QUFDQSxVQUFJRSxhQUFhLEdBQUcsQ0FBcEI7QUFDQSxXQUFLLElBQUl6WSxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLENBQXBCLEVBQXVCQSxDQUFDLEVBQXhCLEVBQTRCO0FBQzFCckksU0FBQyxHQUFHLENBQUNBLENBQUMsR0FBRyxDQUFMLElBQVUsR0FBZDtBQUNBOEUsU0FBQyxHQUFHLENBQUNBLENBQUMsR0FBR3liLENBQUMsQ0FBQ3ZnQixDQUFELENBQU4sSUFBYSxHQUFqQjs7QUFFQTtBQUNBLFlBQUlvSSxDQUFDLEdBQUdtWSxDQUFDLENBQUN2Z0IsQ0FBRCxDQUFUO0FBQ0F1Z0IsU0FBQyxDQUFDdmdCLENBQUQsQ0FBRCxHQUFPdWdCLENBQUMsQ0FBQ3piLENBQUQsQ0FBUjtBQUNBeWIsU0FBQyxDQUFDemIsQ0FBRCxDQUFELEdBQU9zRCxDQUFQOztBQUVBMFkscUJBQWEsSUFBSVAsQ0FBQyxDQUFDLENBQUNBLENBQUMsQ0FBQ3ZnQixDQUFELENBQUQsR0FBT3VnQixDQUFDLENBQUN6YixDQUFELENBQVQsSUFBZ0IsR0FBakIsQ0FBRCxJQUEyQixLQUFLdUQsQ0FBQyxHQUFHLENBQXJEO0FBQ0Q7O0FBRUQ7QUFDQSxXQUFLc1ksRUFBTCxHQUFVM2dCLENBQVY7QUFDQSxXQUFLNGdCLEVBQUwsR0FBVTliLENBQVY7O0FBRUEsYUFBT2djLGFBQVA7QUFDRDs7QUFFRDs7Ozs7Ozs7QUFRQTdpQixLQUFDLENBQUNvaUIsR0FBRixHQUFROUgsWUFBWSxDQUFDelUsYUFBYixDQUEyQnVjLEdBQTNCLENBQVI7O0FBRUE7OztBQUdBLFFBQUlVLE9BQU8sR0FBRzVjLE1BQU0sQ0FBQzRjLE9BQVAsR0FBaUJWLEdBQUcsQ0FBQ2hpQixNQUFKLENBQVc7QUFDeEM7Ozs7O0FBS0FrRixTQUFHLEVBQUU4YyxHQUFHLENBQUM5YyxHQUFKLENBQVFsRixNQUFSLENBQWU7QUFDbEIyaUIsWUFBSSxFQUFFLEdBRFksRUFBZixDQU5tQzs7O0FBVXhDeGQsY0FBUSxFQUFFLG9CQUFXO0FBQ25CNmMsV0FBRyxDQUFDN2MsUUFBSixDQUFhckQsSUFBYixDQUFrQixJQUFsQjs7QUFFQTtBQUNBLGFBQUssSUFBSUgsQ0FBQyxHQUFHLEtBQUt1RCxHQUFMLENBQVN5ZCxJQUF0QixFQUE0QmhoQixDQUFDLEdBQUcsQ0FBaEMsRUFBbUNBLENBQUMsRUFBcEMsRUFBd0M7QUFDdEM2Z0IsK0JBQXFCLENBQUMxZ0IsSUFBdEIsQ0FBMkIsSUFBM0I7QUFDRDtBQUNGLE9BakJ1QyxFQUFYLENBQS9COzs7QUFvQkE7Ozs7Ozs7O0FBUUFsQyxLQUFDLENBQUM4aUIsT0FBRixHQUFZeEksWUFBWSxDQUFDelUsYUFBYixDQUEyQmlkLE9BQTNCLENBQVo7QUFDRCxHQXRIQSxHQUFEOzs7QUF5SEE7Ozs7O0FBS0Fua0IsVUFBUSxDQUFDOGIsSUFBVCxDQUFjdUksVUFBZCxHQUE0QixZQUFXO0FBQ3JDLFFBQUlBLFVBQVUsR0FBR3JrQixRQUFRLENBQUN1QixHQUFULENBQWF3YSxlQUFiLENBQTZCdGEsTUFBN0IsRUFBakI7O0FBRUEsYUFBUzZpQixPQUFULENBQWlCelcsSUFBakIsRUFBdUI7QUFDckIsVUFBSSxDQUFFQSxJQUFJLElBQUksRUFBVCxHQUFlLElBQWhCLE1BQTBCLElBQTlCLEVBQW9DLENBQUU7QUFDcEMsWUFBSTBXLEVBQUUsR0FBSTFXLElBQUksSUFBSSxFQUFULEdBQWUsSUFBeEI7QUFDQSxZQUFJMlcsRUFBRSxHQUFJM1csSUFBSSxJQUFJLENBQVQsR0FBYyxJQUF2QjtBQUNBLFlBQUk0VyxFQUFFLEdBQUc1VyxJQUFJLEdBQUcsSUFBaEI7O0FBRUEsWUFBSTBXLEVBQUUsS0FBSyxJQUFYLEVBQWlCO0FBQ2pCO0FBQ0VBLGNBQUUsR0FBRyxDQUFMO0FBQ0EsZ0JBQUlDLEVBQUUsS0FBSyxJQUFYLEVBQWlCO0FBQ2ZBLGdCQUFFLEdBQUcsQ0FBTDtBQUNBLGtCQUFJQyxFQUFFLEtBQUssSUFBWCxFQUFpQjtBQUNmQSxrQkFBRSxHQUFHLENBQUw7QUFDRCxlQUZELE1BRU87QUFDTCxrQkFBRUEsRUFBRjtBQUNEO0FBQ0YsYUFQRCxNQU9PO0FBQ0wsZ0JBQUVELEVBQUY7QUFDRDtBQUNGLFdBYkQsTUFhTztBQUNMLFlBQUVELEVBQUY7QUFDRDs7QUFFRDFXLFlBQUksR0FBRyxDQUFQO0FBQ0FBLFlBQUksSUFBSzBXLEVBQUUsSUFBSSxFQUFmO0FBQ0ExVyxZQUFJLElBQUsyVyxFQUFFLElBQUksQ0FBZjtBQUNBM1csWUFBSSxJQUFJNFcsRUFBUjtBQUNELE9BMUJELE1BMEJPO0FBQ0w1VyxZQUFJLElBQUssUUFBUSxFQUFqQjtBQUNEO0FBQ0QsYUFBT0EsSUFBUDtBQUNEOztBQUVELGFBQVM2VyxVQUFULENBQW9CQyxPQUFwQixFQUE2QjtBQUMzQixVQUFJLENBQUNBLE9BQU8sQ0FBQyxDQUFELENBQVAsR0FBYUwsT0FBTyxDQUFDSyxPQUFPLENBQUMsQ0FBRCxDQUFSLENBQXJCLE1BQXVDLENBQTNDLEVBQThDO0FBQzVDO0FBQ0FBLGVBQU8sQ0FBQyxDQUFELENBQVAsR0FBYUwsT0FBTyxDQUFDSyxPQUFPLENBQUMsQ0FBRCxDQUFSLENBQXBCO0FBQ0Q7QUFDRCxhQUFPQSxPQUFQO0FBQ0Q7O0FBRUQsUUFBSTFJLFNBQVMsR0FBR29JLFVBQVUsQ0FBQ3BJLFNBQVgsR0FBdUJvSSxVQUFVLENBQUM1aUIsTUFBWCxDQUFrQjtBQUN2RDZhLGtCQUFZLEVBQUUsc0JBQVMvWixLQUFULEVBQWdCZ0UsTUFBaEIsRUFBd0I7QUFDcEM7QUFDQSxZQUFJZ1YsTUFBTSxHQUFHLEtBQUtZLE9BQWxCO0FBQ0EsWUFBSXBXLFNBQVMsR0FBR3dWLE1BQU0sQ0FBQ3hWLFNBQXZCO0FBQ0EsWUFBSWlXLEVBQUUsR0FBRyxLQUFLSSxHQUFkO0FBQ0EsWUFBSXVJLE9BQU8sR0FBRyxLQUFLQyxRQUFuQjs7QUFFQTtBQUNBLFlBQUk1SSxFQUFKLEVBQVE7QUFDTjJJLGlCQUFPLEdBQUcsS0FBS0MsUUFBTCxHQUFnQjVJLEVBQUUsQ0FBQ3hZLEtBQUgsQ0FBUyxDQUFULENBQTFCOztBQUVBO0FBQ0EsZUFBSzRZLEdBQUwsR0FBV2xjLFNBQVg7QUFDRDs7QUFFRHdrQixrQkFBVSxDQUFDQyxPQUFELENBQVY7O0FBRUEsWUFBSTlGLFNBQVMsR0FBRzhGLE9BQU8sQ0FBQ25oQixLQUFSLENBQWMsQ0FBZCxDQUFoQjtBQUNBK1gsY0FBTSxDQUFDaUIsWUFBUCxDQUFvQnFDLFNBQXBCLEVBQStCLENBQS9COztBQUVBO0FBQ0EsYUFBSyxJQUFJemIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRzJDLFNBQXBCLEVBQStCM0MsQ0FBQyxFQUFoQyxFQUFvQztBQUNsQ2IsZUFBSyxDQUFDZ0UsTUFBTSxHQUFHbkQsQ0FBVixDQUFMLElBQXFCeWIsU0FBUyxDQUFDemIsQ0FBRCxDQUE5QjtBQUNEO0FBQ0YsT0F6QnNELEVBQWxCLENBQXZDOzs7QUE0QkFpaEIsY0FBVSxDQUFDbkksU0FBWCxHQUF1QkQsU0FBdkI7O0FBRUEsV0FBT29JLFVBQVA7QUFDRCxHQTNFMkIsRUFBNUI7Ozs7O0FBZ0ZDLGVBQVc7QUFDVjtBQUNBLFFBQUloakIsQ0FBQyxHQUFHckIsUUFBUjtBQUNBLFFBQUlzQixLQUFLLEdBQUdELENBQUMsQ0FBQ0UsR0FBZDtBQUNBLFFBQUlvYSxZQUFZLEdBQUdyYSxLQUFLLENBQUNxYSxZQUF6QjtBQUNBLFFBQUlwVSxNQUFNLEdBQUdsRyxDQUFDLENBQUNvRyxJQUFmOztBQUVBO0FBQ0EsUUFBSWtjLENBQUMsR0FBRyxFQUFSO0FBQ0EsUUFBSWtCLEVBQUUsR0FBRyxFQUFUO0FBQ0EsUUFBSUMsQ0FBQyxHQUFHLEVBQVI7O0FBRUE7OztBQUdBLFFBQUlDLE1BQU0sR0FBR3hkLE1BQU0sQ0FBQ3dkLE1BQVAsR0FBZ0JwSixZQUFZLENBQUNsYSxNQUFiLENBQW9CO0FBQy9DbUYsY0FBUSxFQUFFLG9CQUFXO0FBQ25CO0FBQ0EsWUFBSWtGLENBQUMsR0FBRyxLQUFLaVAsSUFBTCxDQUFVeFksS0FBbEI7QUFDQSxZQUFJeVosRUFBRSxHQUFHLEtBQUtyVixHQUFMLENBQVNxVixFQUFsQjs7QUFFQTtBQUNBLGFBQUssSUFBSTVZLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUcsQ0FBcEIsRUFBdUJBLENBQUMsRUFBeEIsRUFBNEI7QUFDMUIwSSxXQUFDLENBQUMxSSxDQUFELENBQUQsR0FBUSxDQUFFMEksQ0FBQyxDQUFDMUksQ0FBRCxDQUFELElBQVEsQ0FBVCxHQUFlMEksQ0FBQyxDQUFDMUksQ0FBRCxDQUFELEtBQVMsRUFBekIsSUFBZ0MsVUFBakM7QUFDSixXQUFFMEksQ0FBQyxDQUFDMUksQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQjBJLENBQUMsQ0FBQzFJLENBQUQsQ0FBRCxLQUFTLENBQTFCLElBQWdDLFVBRG5DO0FBRUQ7O0FBRUQ7QUFDQSxZQUFJNGhCLENBQUMsR0FBRyxLQUFLQyxFQUFMLEdBQVU7QUFDaEJuWixTQUFDLENBQUMsQ0FBRCxDQURlLEVBQ1RBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFEZjtBQUVoQkEsU0FBQyxDQUFDLENBQUQsQ0FGZSxFQUVUQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBRmY7QUFHaEJBLFNBQUMsQ0FBQyxDQUFELENBSGUsRUFHVEEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUhmO0FBSWhCQSxTQUFDLENBQUMsQ0FBRCxDQUplLEVBSVRBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFKZixDQUFsQjs7O0FBT0E7QUFDQSxZQUFJekssQ0FBQyxHQUFHLEtBQUs2akIsRUFBTCxHQUFVO0FBQ2ZwWixTQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBRFQsRUFDZUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVIsR0FBdUJBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUQ1QztBQUVmQSxTQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBRlQsRUFFZUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVIsR0FBdUJBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUY1QztBQUdmQSxTQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBSFQsRUFHZUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVIsR0FBdUJBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUg1QztBQUlmQSxTQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBSlQsRUFJZUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVIsR0FBdUJBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUo1QyxDQUFsQjs7O0FBT0E7QUFDQSxhQUFLcVosRUFBTCxHQUFVLENBQVY7O0FBRUE7QUFDQSxhQUFLLElBQUkvaEIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQmdpQixtQkFBUyxDQUFDN2hCLElBQVYsQ0FBZSxJQUFmO0FBQ0Q7O0FBRUQ7QUFDQSxhQUFLLElBQUlILENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUcsQ0FBcEIsRUFBdUJBLENBQUMsRUFBeEIsRUFBNEI7QUFDMUIvQixXQUFDLENBQUMrQixDQUFELENBQUQsSUFBUTRoQixDQUFDLENBQUU1aEIsQ0FBQyxHQUFHLENBQUwsR0FBVSxDQUFYLENBQVQ7QUFDRDs7QUFFRDtBQUNBLFlBQUk0WSxFQUFKLEVBQVE7QUFDTjtBQUNBLGNBQUlxSixFQUFFLEdBQUdySixFQUFFLENBQUN6WixLQUFaO0FBQ0EsY0FBSStpQixJQUFJLEdBQUdELEVBQUUsQ0FBQyxDQUFELENBQWI7QUFDQSxjQUFJRSxJQUFJLEdBQUdGLEVBQUUsQ0FBQyxDQUFELENBQWI7O0FBRUE7QUFDQSxjQUFJRyxFQUFFLEdBQUksQ0FBRUYsSUFBSSxJQUFJLENBQVQsR0FBZUEsSUFBSSxLQUFLLEVBQXpCLElBQWdDLFVBQWpDLEdBQWdELENBQUVBLElBQUksSUFBSSxFQUFULEdBQWdCQSxJQUFJLEtBQUssQ0FBMUIsSUFBZ0MsVUFBekY7QUFDQSxjQUFJRyxFQUFFLEdBQUksQ0FBRUYsSUFBSSxJQUFJLENBQVQsR0FBZUEsSUFBSSxLQUFLLEVBQXpCLElBQWdDLFVBQWpDLEdBQWdELENBQUVBLElBQUksSUFBSSxFQUFULEdBQWdCQSxJQUFJLEtBQUssQ0FBMUIsSUFBZ0MsVUFBekY7QUFDQSxjQUFJRyxFQUFFLEdBQUlGLEVBQUUsS0FBSyxFQUFSLEdBQWVDLEVBQUUsR0FBRyxVQUE3QjtBQUNBLGNBQUlFLEVBQUUsR0FBSUYsRUFBRSxJQUFJLEVBQVAsR0FBY0QsRUFBRSxHQUFHLFVBQTVCOztBQUVBO0FBQ0Fua0IsV0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRbWtCLEVBQVI7QUFDQW5rQixXQUFDLENBQUMsQ0FBRCxDQUFELElBQVFxa0IsRUFBUjtBQUNBcmtCLFdBQUMsQ0FBQyxDQUFELENBQUQsSUFBUW9rQixFQUFSO0FBQ0Fwa0IsV0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRc2tCLEVBQVI7QUFDQXRrQixXQUFDLENBQUMsQ0FBRCxDQUFELElBQVFta0IsRUFBUjtBQUNBbmtCLFdBQUMsQ0FBQyxDQUFELENBQUQsSUFBUXFrQixFQUFSO0FBQ0Fya0IsV0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRb2tCLEVBQVI7QUFDQXBrQixXQUFDLENBQUMsQ0FBRCxDQUFELElBQVFza0IsRUFBUjs7QUFFQTtBQUNBLGVBQUssSUFBSXZpQixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLENBQXBCLEVBQXVCQSxDQUFDLEVBQXhCLEVBQTRCO0FBQzFCZ2lCLHFCQUFTLENBQUM3aEIsSUFBVixDQUFlLElBQWY7QUFDRDtBQUNGO0FBQ0YsT0FyRThDOztBQXVFL0NpRCxxQkFBZSxFQUFFLHlCQUFTNEMsQ0FBVCxFQUFZN0MsTUFBWixFQUFvQjtBQUNuQztBQUNBLFlBQUl5ZSxDQUFDLEdBQUcsS0FBS0MsRUFBYjs7QUFFQTtBQUNBRyxpQkFBUyxDQUFDN2hCLElBQVYsQ0FBZSxJQUFmOztBQUVBO0FBQ0FvZ0IsU0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPcUIsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBakIsR0FBd0JBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUF2QztBQUNBckIsU0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPcUIsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBakIsR0FBd0JBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUF2QztBQUNBckIsU0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPcUIsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBakIsR0FBd0JBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUF2QztBQUNBckIsU0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPcUIsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBakIsR0FBd0JBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUF2Qzs7QUFFQSxhQUFLLElBQUk1aEIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQjtBQUNBdWdCLFdBQUMsQ0FBQ3ZnQixDQUFELENBQUQsR0FBUSxDQUFFdWdCLENBQUMsQ0FBQ3ZnQixDQUFELENBQUQsSUFBUSxDQUFULEdBQWV1Z0IsQ0FBQyxDQUFDdmdCLENBQUQsQ0FBRCxLQUFTLEVBQXpCLElBQWdDLFVBQWpDO0FBQ0osV0FBRXVnQixDQUFDLENBQUN2Z0IsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQnVnQixDQUFDLENBQUN2Z0IsQ0FBRCxDQUFELEtBQVMsQ0FBMUIsSUFBZ0MsVUFEbkM7O0FBR0E7QUFDQWdHLFdBQUMsQ0FBQzdDLE1BQU0sR0FBR25ELENBQVYsQ0FBRCxJQUFpQnVnQixDQUFDLENBQUN2Z0IsQ0FBRCxDQUFsQjtBQUNEO0FBQ0YsT0E1RjhDOztBQThGL0MyQyxlQUFTLEVBQUUsTUFBTSxFQTlGOEI7O0FBZ0cvQ29WLFlBQU0sRUFBRSxLQUFLLEVBaEdrQyxFQUFwQixDQUE3Qjs7O0FBbUdBLGFBQVNpSyxTQUFULEdBQXFCO0FBQ25CO0FBQ0EsVUFBSUosQ0FBQyxHQUFHLEtBQUtDLEVBQWI7QUFDQSxVQUFJNWpCLENBQUMsR0FBRyxLQUFLNmpCLEVBQWI7O0FBRUE7QUFDQSxXQUFLLElBQUk5aEIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQnloQixVQUFFLENBQUN6aEIsQ0FBRCxDQUFGLEdBQVEvQixDQUFDLENBQUMrQixDQUFELENBQVQ7QUFDRDs7QUFFRDtBQUNBL0IsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUCxHQUFvQixLQUFLOGpCLEVBQTFCLEdBQWdDLENBQXZDO0FBQ0E5akIsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUCxJQUFzQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLENBQVYsR0FBZ0J3akIsRUFBRSxDQUFDLENBQUQsQ0FBRixLQUFVLENBQTFCLEdBQStCLENBQS9CLEdBQW1DLENBQXhELENBQUQsR0FBK0QsQ0FBdEU7QUFDQXhqQixPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUFQLElBQXNCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsQ0FBVixHQUFnQndqQixFQUFFLENBQUMsQ0FBRCxDQUFGLEtBQVUsQ0FBMUIsR0FBK0IsQ0FBL0IsR0FBbUMsQ0FBeEQsQ0FBRCxHQUErRCxDQUF0RTtBQUNBeGpCLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVAsSUFBc0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxDQUFWLEdBQWdCd2pCLEVBQUUsQ0FBQyxDQUFELENBQUYsS0FBVSxDQUExQixHQUErQixDQUEvQixHQUFtQyxDQUF4RCxDQUFELEdBQStELENBQXRFO0FBQ0F4akIsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUCxJQUFzQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLENBQVYsR0FBZ0J3akIsRUFBRSxDQUFDLENBQUQsQ0FBRixLQUFVLENBQTFCLEdBQStCLENBQS9CLEdBQW1DLENBQXhELENBQUQsR0FBK0QsQ0FBdEU7QUFDQXhqQixPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUFQLElBQXNCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsQ0FBVixHQUFnQndqQixFQUFFLENBQUMsQ0FBRCxDQUFGLEtBQVUsQ0FBMUIsR0FBK0IsQ0FBL0IsR0FBbUMsQ0FBeEQsQ0FBRCxHQUErRCxDQUF0RTtBQUNBeGpCLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVAsSUFBc0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxDQUFWLEdBQWdCd2pCLEVBQUUsQ0FBQyxDQUFELENBQUYsS0FBVSxDQUExQixHQUErQixDQUEvQixHQUFtQyxDQUF4RCxDQUFELEdBQStELENBQXRFO0FBQ0F4akIsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUCxJQUFzQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLENBQVYsR0FBZ0J3akIsRUFBRSxDQUFDLENBQUQsQ0FBRixLQUFVLENBQTFCLEdBQStCLENBQS9CLEdBQW1DLENBQXhELENBQUQsR0FBK0QsQ0FBdEU7QUFDQSxXQUFLTSxFQUFMLEdBQVc5akIsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLENBQVYsR0FBZ0J3akIsRUFBRSxDQUFDLENBQUQsQ0FBRixLQUFVLENBQTFCLEdBQStCLENBQS9CLEdBQW1DLENBQTdDOztBQUVBO0FBQ0EsV0FBSyxJQUFJemhCLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUcsQ0FBcEIsRUFBdUJBLENBQUMsRUFBeEIsRUFBNEI7QUFDMUIsWUFBSXdpQixFQUFFLEdBQUdaLENBQUMsQ0FBQzVoQixDQUFELENBQUQsR0FBTy9CLENBQUMsQ0FBQytCLENBQUQsQ0FBakI7O0FBRUE7QUFDQSxZQUFJeWlCLEVBQUUsR0FBR0QsRUFBRSxHQUFHLE1BQWQ7QUFDQSxZQUFJRSxFQUFFLEdBQUdGLEVBQUUsS0FBSyxFQUFoQjs7QUFFQTtBQUNBLFlBQUkxTixFQUFFLEdBQUcsQ0FBRSxDQUFFMk4sRUFBRSxHQUFHQSxFQUFOLEtBQWMsRUFBZixJQUFxQkEsRUFBRSxHQUFHQyxFQUEzQixLQUFtQyxFQUFwQyxJQUEwQ0EsRUFBRSxHQUFHQSxFQUF4RDtBQUNBLFlBQUkzTixFQUFFLEdBQUcsQ0FBRSxDQUFDeU4sRUFBRSxHQUFHLFVBQU4sSUFBb0JBLEVBQXJCLEdBQTJCLENBQTVCLEtBQW1DLENBQUNBLEVBQUUsR0FBRyxVQUFOLElBQW9CQSxFQUFyQixHQUEyQixDQUE3RCxDQUFUOztBQUVBO0FBQ0FkLFNBQUMsQ0FBQzFoQixDQUFELENBQUQsR0FBTzhVLEVBQUUsR0FBR0MsRUFBWjtBQUNEOztBQUVEO0FBQ0E2TSxPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFGLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBU0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQyxLQUEwQ0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFsRSxDQUFELEdBQTJFLENBQWxGO0FBQ0FFLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUYsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFTQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsQ0FBVCxHQUFlQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBaEMsSUFBdUNBLENBQUMsQ0FBQyxDQUFELENBQXpDLEdBQWdELENBQXZEO0FBQ0FFLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUYsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFTQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWpDLEtBQTBDQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWxFLENBQUQsR0FBMkUsQ0FBbEY7QUFDQUUsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRRixDQUFDLENBQUMsQ0FBRCxDQUFELElBQVNBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxDQUFULEdBQWVBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFoQyxJQUF1Q0EsQ0FBQyxDQUFDLENBQUQsQ0FBekMsR0FBZ0QsQ0FBdkQ7QUFDQUUsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRRixDQUFDLENBQUMsQ0FBRCxDQUFELElBQVNBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBakMsS0FBMENBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBbEUsQ0FBRCxHQUEyRSxDQUFsRjtBQUNBRSxPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFGLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBU0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLENBQVQsR0FBZUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWhDLElBQXVDQSxDQUFDLENBQUMsQ0FBRCxDQUF6QyxHQUFnRCxDQUF2RDtBQUNBRSxPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFGLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBU0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQyxLQUEwQ0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFsRSxDQUFELEdBQTJFLENBQWxGO0FBQ0FFLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUYsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFTQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsQ0FBVCxHQUFlQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBaEMsSUFBdUNBLENBQUMsQ0FBQyxDQUFELENBQXpDLEdBQWdELENBQXZEO0FBQ0Q7O0FBRUQ7Ozs7Ozs7O0FBUUF6akIsS0FBQyxDQUFDMGpCLE1BQUYsR0FBV3BKLFlBQVksQ0FBQ3pVLGFBQWIsQ0FBMkI2ZCxNQUEzQixDQUFYO0FBQ0QsR0EzS0EsR0FBRDs7O0FBOEtBOzs7QUFHQS9rQixVQUFRLENBQUM4YixJQUFULENBQWNpSyxHQUFkLEdBQXFCLFlBQVc7QUFDOUIsUUFBSUEsR0FBRyxHQUFHL2xCLFFBQVEsQ0FBQ3VCLEdBQVQsQ0FBYXdhLGVBQWIsQ0FBNkJ0YSxNQUE3QixFQUFWOztBQUVBLFFBQUl3YSxTQUFTLEdBQUc4SixHQUFHLENBQUM5SixTQUFKLEdBQWdCOEosR0FBRyxDQUFDdGtCLE1BQUosQ0FBVztBQUN6QzZhLGtCQUFZLEVBQUUsc0JBQVMvWixLQUFULEVBQWdCZ0UsTUFBaEIsRUFBd0I7QUFDcEM7QUFDQSxZQUFJZ1YsTUFBTSxHQUFHLEtBQUtZLE9BQWxCO0FBQ0EsWUFBSXBXLFNBQVMsR0FBR3dWLE1BQU0sQ0FBQ3hWLFNBQXZCO0FBQ0EsWUFBSWlXLEVBQUUsR0FBRyxLQUFLSSxHQUFkO0FBQ0EsWUFBSXVJLE9BQU8sR0FBRyxLQUFLQyxRQUFuQjs7QUFFQTtBQUNBLFlBQUk1SSxFQUFKLEVBQVE7QUFDTjJJLGlCQUFPLEdBQUcsS0FBS0MsUUFBTCxHQUFnQjVJLEVBQUUsQ0FBQ3hZLEtBQUgsQ0FBUyxDQUFULENBQTFCOztBQUVBO0FBQ0EsZUFBSzRZLEdBQUwsR0FBV2xjLFNBQVg7QUFDRDtBQUNELFlBQUkyZSxTQUFTLEdBQUc4RixPQUFPLENBQUNuaEIsS0FBUixDQUFjLENBQWQsQ0FBaEI7QUFDQStYLGNBQU0sQ0FBQ2lCLFlBQVAsQ0FBb0JxQyxTQUFwQixFQUErQixDQUEvQjs7QUFFQTtBQUNBOEYsZUFBTyxDQUFDNWUsU0FBUyxHQUFHLENBQWIsQ0FBUCxHQUEwQjRlLE9BQU8sQ0FBQzVlLFNBQVMsR0FBRyxDQUFiLENBQVAsR0FBeUIsQ0FBMUIsR0FBK0IsQ0FBeEQ7O0FBRUE7QUFDQSxhQUFLLElBQUkzQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHMkMsU0FBcEIsRUFBK0IzQyxDQUFDLEVBQWhDLEVBQW9DO0FBQ2xDYixlQUFLLENBQUNnRSxNQUFNLEdBQUduRCxDQUFWLENBQUwsSUFBcUJ5YixTQUFTLENBQUN6YixDQUFELENBQTlCO0FBQ0Q7QUFDRixPQXpCd0MsRUFBWCxDQUFoQzs7O0FBNEJBMmlCLE9BQUcsQ0FBQzdKLFNBQUosR0FBZ0JELFNBQWhCOztBQUVBLFdBQU84SixHQUFQO0FBQ0QsR0FsQ29CLEVBQXJCOzs7QUFxQ0MsZUFBVztBQUNWO0FBQ0EsUUFBSTFrQixDQUFDLEdBQUdyQixRQUFSO0FBQ0EsUUFBSXNCLEtBQUssR0FBR0QsQ0FBQyxDQUFDRSxHQUFkO0FBQ0EsUUFBSW9hLFlBQVksR0FBR3JhLEtBQUssQ0FBQ3FhLFlBQXpCO0FBQ0EsUUFBSXBVLE1BQU0sR0FBR2xHLENBQUMsQ0FBQ29HLElBQWY7O0FBRUE7QUFDQSxRQUFJa2MsQ0FBQyxHQUFHLEVBQVI7QUFDQSxRQUFJa0IsRUFBRSxHQUFHLEVBQVQ7QUFDQSxRQUFJQyxDQUFDLEdBQUcsRUFBUjs7QUFFQTs7Ozs7OztBQU9BLFFBQUlrQixZQUFZLEdBQUd6ZSxNQUFNLENBQUN5ZSxZQUFQLEdBQXNCckssWUFBWSxDQUFDbGEsTUFBYixDQUFvQjtBQUMzRG1GLGNBQVEsRUFBRSxvQkFBVztBQUNuQjtBQUNBLFlBQUlrRixDQUFDLEdBQUcsS0FBS2lQLElBQUwsQ0FBVXhZLEtBQWxCO0FBQ0EsWUFBSXlaLEVBQUUsR0FBRyxLQUFLclYsR0FBTCxDQUFTcVYsRUFBbEI7O0FBRUE7QUFDQSxZQUFJZ0osQ0FBQyxHQUFHLEtBQUtDLEVBQUwsR0FBVTtBQUNoQm5aLFNBQUMsQ0FBQyxDQUFELENBRGUsRUFDVEEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQURmO0FBRWhCQSxTQUFDLENBQUMsQ0FBRCxDQUZlLEVBRVRBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFGZjtBQUdoQkEsU0FBQyxDQUFDLENBQUQsQ0FIZSxFQUdUQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBSGY7QUFJaEJBLFNBQUMsQ0FBQyxDQUFELENBSmUsRUFJVEEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUpmLENBQWxCOzs7QUFPQTtBQUNBLFlBQUl6SyxDQUFDLEdBQUcsS0FBSzZqQixFQUFMLEdBQVU7QUFDZnBaLFNBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFEVCxFQUNlQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUixHQUF1QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBRDVDO0FBRWZBLFNBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFGVCxFQUVlQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUixHQUF1QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBRjVDO0FBR2ZBLFNBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFIVCxFQUdlQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUixHQUF1QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBSDVDO0FBSWZBLFNBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFKVCxFQUllQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUixHQUF1QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBSjVDLENBQWxCOzs7QUFPQTtBQUNBLGFBQUtxWixFQUFMLEdBQVUsQ0FBVjs7QUFFQTtBQUNBLGFBQUssSUFBSS9oQixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLENBQXBCLEVBQXVCQSxDQUFDLEVBQXhCLEVBQTRCO0FBQzFCZ2lCLG1CQUFTLENBQUM3aEIsSUFBVixDQUFlLElBQWY7QUFDRDs7QUFFRDtBQUNBLGFBQUssSUFBSUgsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQi9CLFdBQUMsQ0FBQytCLENBQUQsQ0FBRCxJQUFRNGhCLENBQUMsQ0FBRTVoQixDQUFDLEdBQUcsQ0FBTCxHQUFVLENBQVgsQ0FBVDtBQUNEOztBQUVEO0FBQ0EsWUFBSTRZLEVBQUosRUFBUTtBQUNOO0FBQ0EsY0FBSXFKLEVBQUUsR0FBR3JKLEVBQUUsQ0FBQ3paLEtBQVo7QUFDQSxjQUFJK2lCLElBQUksR0FBR0QsRUFBRSxDQUFDLENBQUQsQ0FBYjtBQUNBLGNBQUlFLElBQUksR0FBR0YsRUFBRSxDQUFDLENBQUQsQ0FBYjs7QUFFQTtBQUNBLGNBQUlHLEVBQUUsR0FBSSxDQUFFRixJQUFJLElBQUksQ0FBVCxHQUFlQSxJQUFJLEtBQUssRUFBekIsSUFBZ0MsVUFBakMsR0FBZ0QsQ0FBRUEsSUFBSSxJQUFJLEVBQVQsR0FBZ0JBLElBQUksS0FBSyxDQUExQixJQUFnQyxVQUF6RjtBQUNBLGNBQUlHLEVBQUUsR0FBSSxDQUFFRixJQUFJLElBQUksQ0FBVCxHQUFlQSxJQUFJLEtBQUssRUFBekIsSUFBZ0MsVUFBakMsR0FBZ0QsQ0FBRUEsSUFBSSxJQUFJLEVBQVQsR0FBZ0JBLElBQUksS0FBSyxDQUExQixJQUFnQyxVQUF6RjtBQUNBLGNBQUlHLEVBQUUsR0FBSUYsRUFBRSxLQUFLLEVBQVIsR0FBZUMsRUFBRSxHQUFHLFVBQTdCO0FBQ0EsY0FBSUUsRUFBRSxHQUFJRixFQUFFLElBQUksRUFBUCxHQUFjRCxFQUFFLEdBQUcsVUFBNUI7O0FBRUE7QUFDQW5rQixXQUFDLENBQUMsQ0FBRCxDQUFELElBQVFta0IsRUFBUjtBQUNBbmtCLFdBQUMsQ0FBQyxDQUFELENBQUQsSUFBUXFrQixFQUFSO0FBQ0Fya0IsV0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRb2tCLEVBQVI7QUFDQXBrQixXQUFDLENBQUMsQ0FBRCxDQUFELElBQVFza0IsRUFBUjtBQUNBdGtCLFdBQUMsQ0FBQyxDQUFELENBQUQsSUFBUW1rQixFQUFSO0FBQ0Fua0IsV0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRcWtCLEVBQVI7QUFDQXJrQixXQUFDLENBQUMsQ0FBRCxDQUFELElBQVFva0IsRUFBUjtBQUNBcGtCLFdBQUMsQ0FBQyxDQUFELENBQUQsSUFBUXNrQixFQUFSOztBQUVBO0FBQ0EsZUFBSyxJQUFJdmlCLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUcsQ0FBcEIsRUFBdUJBLENBQUMsRUFBeEIsRUFBNEI7QUFDMUJnaUIscUJBQVMsQ0FBQzdoQixJQUFWLENBQWUsSUFBZjtBQUNEO0FBQ0Y7QUFDRixPQS9EMEQ7O0FBaUUzRGlELHFCQUFlLEVBQUUseUJBQVM0QyxDQUFULEVBQVk3QyxNQUFaLEVBQW9CO0FBQ25DO0FBQ0EsWUFBSXllLENBQUMsR0FBRyxLQUFLQyxFQUFiOztBQUVBO0FBQ0FHLGlCQUFTLENBQUM3aEIsSUFBVixDQUFlLElBQWY7O0FBRUE7QUFDQW9nQixTQUFDLENBQUMsQ0FBRCxDQUFELEdBQU9xQixDQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQixHQUF3QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQXZDO0FBQ0FyQixTQUFDLENBQUMsQ0FBRCxDQUFELEdBQU9xQixDQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQixHQUF3QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQXZDO0FBQ0FyQixTQUFDLENBQUMsQ0FBRCxDQUFELEdBQU9xQixDQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQixHQUF3QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQXZDO0FBQ0FyQixTQUFDLENBQUMsQ0FBRCxDQUFELEdBQU9xQixDQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQixHQUF3QkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQXZDOztBQUVBLGFBQUssSUFBSTVoQixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLENBQXBCLEVBQXVCQSxDQUFDLEVBQXhCLEVBQTRCO0FBQzFCO0FBQ0F1Z0IsV0FBQyxDQUFDdmdCLENBQUQsQ0FBRCxHQUFRLENBQUV1Z0IsQ0FBQyxDQUFDdmdCLENBQUQsQ0FBRCxJQUFRLENBQVQsR0FBZXVnQixDQUFDLENBQUN2Z0IsQ0FBRCxDQUFELEtBQVMsRUFBekIsSUFBZ0MsVUFBakM7QUFDSixXQUFFdWdCLENBQUMsQ0FBQ3ZnQixDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCdWdCLENBQUMsQ0FBQ3ZnQixDQUFELENBQUQsS0FBUyxDQUExQixJQUFnQyxVQURuQzs7QUFHQTtBQUNBZ0csV0FBQyxDQUFDN0MsTUFBTSxHQUFHbkQsQ0FBVixDQUFELElBQWlCdWdCLENBQUMsQ0FBQ3ZnQixDQUFELENBQWxCO0FBQ0Q7QUFDRixPQXRGMEQ7O0FBd0YzRDJDLGVBQVMsRUFBRSxNQUFNLEVBeEYwQzs7QUEwRjNEb1YsWUFBTSxFQUFFLEtBQUssRUExRjhDLEVBQXBCLENBQXpDOzs7QUE2RkEsYUFBU2lLLFNBQVQsR0FBcUI7QUFDbkI7QUFDQSxVQUFJSixDQUFDLEdBQUcsS0FBS0MsRUFBYjtBQUNBLFVBQUk1akIsQ0FBQyxHQUFHLEtBQUs2akIsRUFBYjs7QUFFQTtBQUNBLFdBQUssSUFBSTloQixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHLENBQXBCLEVBQXVCQSxDQUFDLEVBQXhCLEVBQTRCO0FBQzFCeWhCLFVBQUUsQ0FBQ3poQixDQUFELENBQUYsR0FBUS9CLENBQUMsQ0FBQytCLENBQUQsQ0FBVDtBQUNEOztBQUVEO0FBQ0EvQixPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUFQLEdBQW9CLEtBQUs4akIsRUFBMUIsR0FBZ0MsQ0FBdkM7QUFDQTlqQixPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUFQLElBQXNCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsQ0FBVixHQUFnQndqQixFQUFFLENBQUMsQ0FBRCxDQUFGLEtBQVUsQ0FBMUIsR0FBK0IsQ0FBL0IsR0FBbUMsQ0FBeEQsQ0FBRCxHQUErRCxDQUF0RTtBQUNBeGpCLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVAsSUFBc0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxDQUFWLEdBQWdCd2pCLEVBQUUsQ0FBQyxDQUFELENBQUYsS0FBVSxDQUExQixHQUErQixDQUEvQixHQUFtQyxDQUF4RCxDQUFELEdBQStELENBQXRFO0FBQ0F4akIsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUCxJQUFzQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLENBQVYsR0FBZ0J3akIsRUFBRSxDQUFDLENBQUQsQ0FBRixLQUFVLENBQTFCLEdBQStCLENBQS9CLEdBQW1DLENBQXhELENBQUQsR0FBK0QsQ0FBdEU7QUFDQXhqQixPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUFQLElBQXNCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsQ0FBVixHQUFnQndqQixFQUFFLENBQUMsQ0FBRCxDQUFGLEtBQVUsQ0FBMUIsR0FBK0IsQ0FBL0IsR0FBbUMsQ0FBeEQsQ0FBRCxHQUErRCxDQUF0RTtBQUNBeGpCLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFPLFVBQVAsSUFBc0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxDQUFWLEdBQWdCd2pCLEVBQUUsQ0FBQyxDQUFELENBQUYsS0FBVSxDQUExQixHQUErQixDQUEvQixHQUFtQyxDQUF4RCxDQUFELEdBQStELENBQXRFO0FBQ0F4akIsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRQSxDQUFDLENBQUMsQ0FBRCxDQUFELEdBQU8sVUFBUCxJQUFzQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLENBQVYsR0FBZ0J3akIsRUFBRSxDQUFDLENBQUQsQ0FBRixLQUFVLENBQTFCLEdBQStCLENBQS9CLEdBQW1DLENBQXhELENBQUQsR0FBK0QsQ0FBdEU7QUFDQXhqQixPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFBLENBQUMsQ0FBQyxDQUFELENBQUQsR0FBTyxVQUFQLElBQXNCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsQ0FBVixHQUFnQndqQixFQUFFLENBQUMsQ0FBRCxDQUFGLEtBQVUsQ0FBMUIsR0FBK0IsQ0FBL0IsR0FBbUMsQ0FBeEQsQ0FBRCxHQUErRCxDQUF0RTtBQUNBLFdBQUtNLEVBQUwsR0FBVzlqQixDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsQ0FBVixHQUFnQndqQixFQUFFLENBQUMsQ0FBRCxDQUFGLEtBQVUsQ0FBMUIsR0FBK0IsQ0FBL0IsR0FBbUMsQ0FBN0M7O0FBRUE7QUFDQSxXQUFLLElBQUl6aEIsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBRyxDQUFwQixFQUF1QkEsQ0FBQyxFQUF4QixFQUE0QjtBQUMxQixZQUFJd2lCLEVBQUUsR0FBR1osQ0FBQyxDQUFDNWhCLENBQUQsQ0FBRCxHQUFPL0IsQ0FBQyxDQUFDK0IsQ0FBRCxDQUFqQjs7QUFFQTtBQUNBLFlBQUl5aUIsRUFBRSxHQUFHRCxFQUFFLEdBQUcsTUFBZDtBQUNBLFlBQUlFLEVBQUUsR0FBR0YsRUFBRSxLQUFLLEVBQWhCOztBQUVBO0FBQ0EsWUFBSTFOLEVBQUUsR0FBRyxDQUFFLENBQUUyTixFQUFFLEdBQUdBLEVBQU4sS0FBYyxFQUFmLElBQXFCQSxFQUFFLEdBQUdDLEVBQTNCLEtBQW1DLEVBQXBDLElBQTBDQSxFQUFFLEdBQUdBLEVBQXhEO0FBQ0EsWUFBSTNOLEVBQUUsR0FBRyxDQUFFLENBQUN5TixFQUFFLEdBQUcsVUFBTixJQUFvQkEsRUFBckIsR0FBMkIsQ0FBNUIsS0FBbUMsQ0FBQ0EsRUFBRSxHQUFHLFVBQU4sSUFBb0JBLEVBQXJCLEdBQTJCLENBQTdELENBQVQ7O0FBRUE7QUFDQWQsU0FBQyxDQUFDMWhCLENBQUQsQ0FBRCxHQUFPOFUsRUFBRSxHQUFHQyxFQUFaO0FBQ0Q7O0FBRUQ7QUFDQTZNLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUYsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFTQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWpDLEtBQTBDQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWxFLENBQUQsR0FBMkUsQ0FBbEY7QUFDQUUsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRRixDQUFDLENBQUMsQ0FBRCxDQUFELElBQVNBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxDQUFULEdBQWVBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFoQyxJQUF1Q0EsQ0FBQyxDQUFDLENBQUQsQ0FBekMsR0FBZ0QsQ0FBdkQ7QUFDQUUsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRRixDQUFDLENBQUMsQ0FBRCxDQUFELElBQVNBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBakMsS0FBMENBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxFQUFULEdBQWdCQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBbEUsQ0FBRCxHQUEyRSxDQUFsRjtBQUNBRSxPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFGLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBU0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLENBQVQsR0FBZUEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWhDLElBQXVDQSxDQUFDLENBQUMsQ0FBRCxDQUF6QyxHQUFnRCxDQUF2RDtBQUNBRSxPQUFDLENBQUMsQ0FBRCxDQUFELEdBQVFGLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBU0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFqQyxLQUEwQ0EsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFRLEVBQVQsR0FBZ0JBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFsRSxDQUFELEdBQTJFLENBQWxGO0FBQ0FFLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUYsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFTQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsQ0FBVCxHQUFlQSxDQUFDLENBQUMsQ0FBRCxDQUFELEtBQVMsRUFBaEMsSUFBdUNBLENBQUMsQ0FBQyxDQUFELENBQXpDLEdBQWdELENBQXZEO0FBQ0FFLE9BQUMsQ0FBQyxDQUFELENBQUQsR0FBUUYsQ0FBQyxDQUFDLENBQUQsQ0FBRCxJQUFTQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWpDLEtBQTBDQSxDQUFDLENBQUMsQ0FBRCxDQUFELElBQVEsRUFBVCxHQUFnQkEsQ0FBQyxDQUFDLENBQUQsQ0FBRCxLQUFTLEVBQWxFLENBQUQsR0FBMkUsQ0FBbEY7QUFDQUUsT0FBQyxDQUFDLENBQUQsQ0FBRCxHQUFRRixDQUFDLENBQUMsQ0FBRCxDQUFELElBQVNBLENBQUMsQ0FBQyxDQUFELENBQUQsSUFBUSxDQUFULEdBQWVBLENBQUMsQ0FBQyxDQUFELENBQUQsS0FBUyxFQUFoQyxJQUF1Q0EsQ0FBQyxDQUFDLENBQUQsQ0FBekMsR0FBZ0QsQ0FBdkQ7QUFDRDs7QUFFRDs7Ozs7Ozs7QUFRQXpqQixLQUFDLENBQUMya0IsWUFBRixHQUFpQnJLLFlBQVksQ0FBQ3pVLGFBQWIsQ0FBMkI4ZSxZQUEzQixDQUFqQjtBQUNELEdBektBLEdBQUQ7OztBQTRLQTs7O0FBR0FobUIsVUFBUSxDQUFDNmMsR0FBVCxDQUFhc0MsV0FBYixHQUEyQjtBQUN6QnRDLE9BQUcsRUFBRSxhQUFTcFgsSUFBVCxFQUFlTSxTQUFmLEVBQTBCO0FBQzdCO0FBQ0EsVUFBSUMsY0FBYyxHQUFHRCxTQUFTLEdBQUcsQ0FBakM7O0FBRUE7QUFDQU4sVUFBSSxDQUFDdEMsS0FBTDtBQUNBc0MsVUFBSSxDQUFDakQsUUFBTCxJQUFpQndELGNBQWMsSUFBS1AsSUFBSSxDQUFDakQsUUFBTCxHQUFnQndELGNBQWpCLElBQW9DQSxjQUF4QyxDQUEvQjtBQUNELEtBUndCOztBQVV6Qm1YLFNBQUssRUFBRSxlQUFTMVgsSUFBVCxFQUFlO0FBQ3BCO0FBQ0EsVUFBSUksU0FBUyxHQUFHSixJQUFJLENBQUNsRCxLQUFyQjs7QUFFQTtBQUNBLFVBQUlhLENBQUMsR0FBR3FDLElBQUksQ0FBQ2pELFFBQUwsR0FBZ0IsQ0FBeEI7QUFDQSxXQUFLLElBQUlZLENBQUMsR0FBR3FDLElBQUksQ0FBQ2pELFFBQUwsR0FBZ0IsQ0FBN0IsRUFBZ0NZLENBQUMsSUFBSSxDQUFyQyxFQUF3Q0EsQ0FBQyxFQUF6QyxFQUE2QztBQUMzQyxZQUFNeUMsU0FBUyxDQUFDekMsQ0FBQyxLQUFLLENBQVAsQ0FBVCxLQUF3QixLQUFNQSxDQUFDLEdBQUcsQ0FBTCxHQUFVLENBQXhDLEdBQThDLElBQW5ELEVBQTBEO0FBQ3hEcUMsY0FBSSxDQUFDakQsUUFBTCxHQUFnQlksQ0FBQyxHQUFHLENBQXBCO0FBQ0E7QUFDRDtBQUNGO0FBQ0YsS0F0QndCLEVBQTNCOzs7O0FBMEJBLFNBQU9wRCxRQUFQOztBQUVELENBejZMQSxDQUFELEMiLCJmaWxlIjoiNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI7XG4oZnVuY3Rpb24ocm9vdCwgZmFjdG9yeSkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT09IFwib2JqZWN0XCIpIHtcbiAgICAvLyBDb21tb25KU1xuICAgIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cyA9IGZhY3RvcnkoKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkge1xuICAgIC8vIEFNRFxuICAgIGRlZmluZShbXSwgZmFjdG9yeSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gR2xvYmFsIChicm93c2VyKVxuICAgIHJvb3QuQ3J5cHRvSlMgPSBmYWN0b3J5KCk7XG4gIH1cbn0odGhpcywgZnVuY3Rpb24oKSB7XG5cbiAgLypnbG9iYWxzIHdpbmRvdywgZ2xvYmFsLCByZXF1aXJlKi9cblxuICAvKipcbiAgICogQ3J5cHRvSlMgY29yZSBjb21wb25lbnRzLlxuICAgKi9cbiAgdmFyIENyeXB0b0pTID0gQ3J5cHRvSlMgfHwgKGZ1bmN0aW9uKE1hdGgsIHVuZGVmaW5lZCkge1xuXG4gICAgdmFyIGNyeXB0bztcblxuICAgIC8vIE5hdGl2ZSBjcnlwdG8gZnJvbSB3aW5kb3cgKEJyb3dzZXIpXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5jcnlwdG8pIHtcbiAgICAgIGNyeXB0byA9IHdpbmRvdy5jcnlwdG87XG4gICAgfVxuXG4gICAgLy8gTmF0aXZlIChleHBlcmltZW50YWwgSUUgMTEpIGNyeXB0byBmcm9tIHdpbmRvdyAoQnJvd3NlcilcbiAgICBpZiAoIWNyeXB0byAmJiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cubXNDcnlwdG8pIHtcbiAgICAgIGNyeXB0byA9IHdpbmRvdy5tc0NyeXB0bztcbiAgICB9XG5cbiAgICAvLyBOYXRpdmUgY3J5cHRvIGZyb20gZ2xvYmFsIChOb2RlSlMpXG4gICAgaWYgKCFjcnlwdG8gJiYgdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgJiYgZ2xvYmFsLmNyeXB0bykge1xuICAgICAgY3J5cHRvID0gZ2xvYmFsLmNyeXB0bztcbiAgICB9XG5cbiAgICAvLyBOYXRpdmUgY3J5cHRvIGltcG9ydCB2aWEgcmVxdWlyZSAoTm9kZUpTKVxuICAgIGlmICghY3J5cHRvICYmIHR5cGVvZiByZXF1aXJlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge31cbiAgICB9XG5cbiAgICAvKlxuICAgICAqIENyeXB0b2dyYXBoaWNhbGx5IHNlY3VyZSBwc2V1ZG9yYW5kb20gbnVtYmVyIGdlbmVyYXRvclxuICAgICAqXG4gICAgICogQXMgTWF0aC5yYW5kb20oKSBpcyBjcnlwdG9ncmFwaGljYWxseSBub3Qgc2FmZSB0byB1c2VcbiAgICAgKi9cbiAgICB2YXIgY3J5cHRvU2VjdXJlUmFuZG9tSW50ID0gZnVuY3Rpb24oKSB7XG4gICAgICBpZiAoY3J5cHRvKSB7XG4gICAgICAgIC8vIFVzZSBnZXRSYW5kb21WYWx1ZXMgbWV0aG9kIChCcm93c2VyKVxuICAgICAgICBpZiAodHlwZW9mIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmV0dXJuIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQzMkFycmF5KDEpKVswXTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHt9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgcmFuZG9tQnl0ZXMgbWV0aG9kIChOb2RlSlMpXG4gICAgICAgIGlmICh0eXBlb2YgY3J5cHRvLnJhbmRvbUJ5dGVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBjcnlwdG8ucmFuZG9tQnl0ZXMoNCkucmVhZEludDMyTEUoKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHt9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdOYXRpdmUgY3J5cHRvIG1vZHVsZSBjb3VsZCBub3QgYmUgdXNlZCB0byBnZXQgc2VjdXJlIHJhbmRvbSBudW1iZXIuJyk7XG4gICAgfTtcblxuICAgIC8qXG4gICAgICogTG9jYWwgcG9seWZpbGwgb2YgT2JqZWN0LmNyZWF0ZVxuXG4gICAgICovXG4gICAgdmFyIGNyZWF0ZSA9IE9iamVjdC5jcmVhdGUgfHwgKGZ1bmN0aW9uKCkge1xuICAgICAgZnVuY3Rpb24gRigpIHt9XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmopIHtcbiAgICAgICAgdmFyIHN1YnR5cGU7XG5cbiAgICAgICAgRi5wcm90b3R5cGUgPSBvYmo7XG5cbiAgICAgICAgc3VidHlwZSA9IG5ldyBGKCk7XG5cbiAgICAgICAgRi5wcm90b3R5cGUgPSBudWxsO1xuXG4gICAgICAgIHJldHVybiBzdWJ0eXBlO1xuICAgICAgfTtcbiAgICB9KCkpXG5cbiAgICAvKipcbiAgICAgKiBDcnlwdG9KUyBuYW1lc3BhY2UuXG4gICAgICovXG4gICAgdmFyIEMgPSB7fTtcblxuICAgIC8qKlxuICAgICAqIExpYnJhcnkgbmFtZXNwYWNlLlxuICAgICAqL1xuICAgIHZhciBDX2xpYiA9IEMubGliID0ge307XG5cbiAgICAvKipcbiAgICAgKiBCYXNlIG9iamVjdCBmb3IgcHJvdG90eXBhbCBpbmhlcml0YW5jZS5cbiAgICAgKi9cbiAgICB2YXIgQmFzZSA9IENfbGliLkJhc2UgPSAoZnVuY3Rpb24oKSB7XG5cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZXMgYSBuZXcgb2JqZWN0IHRoYXQgaW5oZXJpdHMgZnJvbSB0aGlzIG9iamVjdC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHBhcmFtIHtPYmplY3R9IG92ZXJyaWRlcyBQcm9wZXJ0aWVzIHRvIGNvcHkgaW50byB0aGUgbmV3IG9iamVjdC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybiB7T2JqZWN0fSBUaGUgbmV3IG9iamVjdC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHN0YXRpY1xuICAgICAgICAgKlxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKlxuICAgICAgICAgKiAgICAgdmFyIE15VHlwZSA9IENyeXB0b0pTLmxpYi5CYXNlLmV4dGVuZCh7XG4gICAgICAgICAqICAgICAgICAgZmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAqXG4gICAgICAgICAqICAgICAgICAgbWV0aG9kOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAqICAgICAgICAgfVxuICAgICAgICAgKiAgICAgfSk7XG4gICAgICAgICAqL1xuICAgICAgICBleHRlbmQ6IGZ1bmN0aW9uKG92ZXJyaWRlcykge1xuICAgICAgICAgIC8vIFNwYXduXG4gICAgICAgICAgdmFyIHN1YnR5cGUgPSBjcmVhdGUodGhpcyk7XG5cbiAgICAgICAgICAvLyBBdWdtZW50XG4gICAgICAgICAgaWYgKG92ZXJyaWRlcykge1xuICAgICAgICAgICAgc3VidHlwZS5taXhJbihvdmVycmlkZXMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIENyZWF0ZSBkZWZhdWx0IGluaXRpYWxpemVyXG4gICAgICAgICAgaWYgKCFzdWJ0eXBlLmhhc093blByb3BlcnR5KCdpbml0JykgfHwgdGhpcy5pbml0ID09PSBzdWJ0eXBlLmluaXQpIHtcbiAgICAgICAgICAgIHN1YnR5cGUuaW5pdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICBzdWJ0eXBlLiRzdXBlci5pbml0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEluaXRpYWxpemVyJ3MgcHJvdG90eXBlIGlzIHRoZSBzdWJ0eXBlIG9iamVjdFxuICAgICAgICAgIHN1YnR5cGUuaW5pdC5wcm90b3R5cGUgPSBzdWJ0eXBlO1xuXG4gICAgICAgICAgLy8gUmVmZXJlbmNlIHN1cGVydHlwZVxuICAgICAgICAgIHN1YnR5cGUuJHN1cGVyID0gdGhpcztcblxuICAgICAgICAgIHJldHVybiBzdWJ0eXBlO1xuICAgICAgICB9LFxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBFeHRlbmRzIHRoaXMgb2JqZWN0IGFuZCBydW5zIHRoZSBpbml0IG1ldGhvZC5cbiAgICAgICAgICogQXJndW1lbnRzIHRvIGNyZWF0ZSgpIHdpbGwgYmUgcGFzc2VkIHRvIGluaXQoKS5cbiAgICAgICAgICpcbiAgICAgICAgICogQHJldHVybiB7T2JqZWN0fSBUaGUgbmV3IG9iamVjdC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHN0YXRpY1xuICAgICAgICAgKlxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKlxuICAgICAgICAgKiAgICAgdmFyIGluc3RhbmNlID0gTXlUeXBlLmNyZWF0ZSgpO1xuICAgICAgICAgKi9cbiAgICAgICAgY3JlYXRlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgaW5zdGFuY2UgPSB0aGlzLmV4dGVuZCgpO1xuICAgICAgICAgIGluc3RhbmNlLmluaXQuYXBwbHkoaW5zdGFuY2UsIGFyZ3VtZW50cyk7XG5cbiAgICAgICAgICByZXR1cm4gaW5zdGFuY2U7XG4gICAgICAgIH0sXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHkgY3JlYXRlZCBvYmplY3QuXG4gICAgICAgICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIGFkZCBzb21lIGxvZ2ljIHdoZW4geW91ciBvYmplY3RzIGFyZSBjcmVhdGVkLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKlxuICAgICAgICAgKiAgICAgdmFyIE15VHlwZSA9IENyeXB0b0pTLmxpYi5CYXNlLmV4dGVuZCh7XG4gICAgICAgICAqICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgKiAgICAgICAgICAgICAvLyAuLi5cbiAgICAgICAgICogICAgICAgICB9XG4gICAgICAgICAqICAgICB9KTtcbiAgICAgICAgICovXG4gICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkge30sXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIENvcGllcyBwcm9wZXJ0aWVzIGludG8gdGhpcyBvYmplY3QuXG4gICAgICAgICAqXG4gICAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wZXJ0aWVzIFRoZSBwcm9wZXJ0aWVzIHRvIG1peCBpbi5cbiAgICAgICAgICpcbiAgICAgICAgICogQGV4YW1wbGVcbiAgICAgICAgICpcbiAgICAgICAgICogICAgIE15VHlwZS5taXhJbih7XG4gICAgICAgICAqICAgICAgICAgZmllbGQ6ICd2YWx1ZSdcbiAgICAgICAgICogICAgIH0pO1xuICAgICAgICAgKi9cbiAgICAgICAgbWl4SW46IGZ1bmN0aW9uKHByb3BlcnRpZXMpIHtcbiAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eU5hbWUgaW4gcHJvcGVydGllcykge1xuICAgICAgICAgICAgaWYgKHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xuICAgICAgICAgICAgICB0aGlzW3Byb3BlcnR5TmFtZV0gPSBwcm9wZXJ0aWVzW3Byb3BlcnR5TmFtZV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gSUUgd29uJ3QgY29weSB0b1N0cmluZyB1c2luZyB0aGUgbG9vcCBhYm92ZVxuICAgICAgICAgIGlmIChwcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KCd0b1N0cmluZycpKSB7XG4gICAgICAgICAgICB0aGlzLnRvU3RyaW5nID0gcHJvcGVydGllcy50b1N0cmluZztcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoaXMgb2JqZWN0LlxuICAgICAgICAgKlxuICAgICAgICAgKiBAcmV0dXJuIHtPYmplY3R9IFRoZSBjbG9uZS5cbiAgICAgICAgICpcbiAgICAgICAgICogQGV4YW1wbGVcbiAgICAgICAgICpcbiAgICAgICAgICogICAgIHZhciBjbG9uZSA9IGluc3RhbmNlLmNsb25lKCk7XG4gICAgICAgICAqL1xuICAgICAgICBjbG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuaW5pdC5wcm90b3R5cGUuZXh0ZW5kKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0oKSk7XG5cbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiAzMi1iaXQgd29yZHMuXG4gICAgICpcbiAgICAgKiBAcHJvcGVydHkge0FycmF5fSB3b3JkcyBUaGUgYXJyYXkgb2YgMzItYml0IHdvcmRzLlxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBzaWdCeXRlcyBUaGUgbnVtYmVyIG9mIHNpZ25pZmljYW50IGJ5dGVzIGluIHRoaXMgd29yZCBhcnJheS5cbiAgICAgKi9cbiAgICB2YXIgV29yZEFycmF5ID0gQ19saWIuV29yZEFycmF5ID0gQmFzZS5leHRlbmQoe1xuICAgICAgLyoqXG4gICAgICAgKiBJbml0aWFsaXplcyBhIG5ld2x5IGNyZWF0ZWQgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge0FycmF5fSB3b3JkcyAoT3B0aW9uYWwpIEFuIGFycmF5IG9mIDMyLWJpdCB3b3Jkcy5cbiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzaWdCeXRlcyAoT3B0aW9uYWwpIFRoZSBudW1iZXIgb2Ygc2lnbmlmaWNhbnQgYnl0ZXMgaW4gdGhlIHdvcmRzLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciB3b3JkQXJyYXkgPSBDcnlwdG9KUy5saWIuV29yZEFycmF5LmNyZWF0ZSgpO1xuICAgICAgICogICAgIHZhciB3b3JkQXJyYXkgPSBDcnlwdG9KUy5saWIuV29yZEFycmF5LmNyZWF0ZShbMHgwMDAxMDIwMywgMHgwNDA1MDYwN10pO1xuICAgICAgICogICAgIHZhciB3b3JkQXJyYXkgPSBDcnlwdG9KUy5saWIuV29yZEFycmF5LmNyZWF0ZShbMHgwMDAxMDIwMywgMHgwNDA1MDYwN10sIDYpO1xuICAgICAgICovXG4gICAgICBpbml0OiBmdW5jdGlvbih3b3Jkcywgc2lnQnl0ZXMpIHtcbiAgICAgICAgd29yZHMgPSB0aGlzLndvcmRzID0gd29yZHMgfHwgW107XG5cbiAgICAgICAgaWYgKHNpZ0J5dGVzICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuc2lnQnl0ZXMgPSBzaWdCeXRlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNpZ0J5dGVzID0gd29yZHMubGVuZ3RoICogNDtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyB0aGlzIHdvcmQgYXJyYXkgdG8gYSBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtFbmNvZGVyfSBlbmNvZGVyIChPcHRpb25hbCkgVGhlIGVuY29kaW5nIHN0cmF0ZWd5IHRvIHVzZS4gRGVmYXVsdDogQ3J5cHRvSlMuZW5jLkhleFxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIHN0cmluZ2lmaWVkIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHN0cmluZyA9IHdvcmRBcnJheSArICcnO1xuICAgICAgICogICAgIHZhciBzdHJpbmcgPSB3b3JkQXJyYXkudG9TdHJpbmcoKTtcbiAgICAgICAqICAgICB2YXIgc3RyaW5nID0gd29yZEFycmF5LnRvU3RyaW5nKENyeXB0b0pTLmVuYy5VdGY4KTtcbiAgICAgICAqL1xuICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKGVuY29kZXIpIHtcbiAgICAgICAgcmV0dXJuIChlbmNvZGVyIHx8IEhleCkuc3RyaW5naWZ5KHRoaXMpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb25jYXRlbmF0ZXMgYSB3b3JkIGFycmF5IHRvIHRoaXMgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheX0gd29yZEFycmF5IFRoZSB3b3JkIGFycmF5IHRvIGFwcGVuZC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoaXMgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB3b3JkQXJyYXkxLmNvbmNhdCh3b3JkQXJyYXkyKTtcbiAgICAgICAqL1xuICAgICAgY29uY2F0OiBmdW5jdGlvbih3b3JkQXJyYXkpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciB0aGlzV29yZHMgPSB0aGlzLndvcmRzO1xuICAgICAgICB2YXIgdGhhdFdvcmRzID0gd29yZEFycmF5LndvcmRzO1xuICAgICAgICB2YXIgdGhpc1NpZ0J5dGVzID0gdGhpcy5zaWdCeXRlcztcbiAgICAgICAgdmFyIHRoYXRTaWdCeXRlcyA9IHdvcmRBcnJheS5zaWdCeXRlcztcblxuICAgICAgICAvLyBDbGFtcCBleGNlc3MgYml0c1xuICAgICAgICB0aGlzLmNsYW1wKCk7XG5cbiAgICAgICAgLy8gQ29uY2F0XG4gICAgICAgIGlmICh0aGlzU2lnQnl0ZXMgJSA0KSB7XG4gICAgICAgICAgLy8gQ29weSBvbmUgYnl0ZSBhdCBhIHRpbWVcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoYXRTaWdCeXRlczsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgdGhhdEJ5dGUgPSAodGhhdFdvcmRzW2kgPj4+IDJdID4+PiAoMjQgLSAoaSAlIDQpICogOCkpICYgMHhmZjtcbiAgICAgICAgICAgIHRoaXNXb3Jkc1sodGhpc1NpZ0J5dGVzICsgaSkgPj4+IDJdIHw9IHRoYXRCeXRlIDw8ICgyNCAtICgodGhpc1NpZ0J5dGVzICsgaSkgJSA0KSAqIDgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBDb3B5IG9uZSB3b3JkIGF0IGEgdGltZVxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhhdFNpZ0J5dGVzOyBpICs9IDQpIHtcbiAgICAgICAgICAgIHRoaXNXb3Jkc1sodGhpc1NpZ0J5dGVzICsgaSkgPj4+IDJdID0gdGhhdFdvcmRzW2kgPj4+IDJdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNpZ0J5dGVzICs9IHRoYXRTaWdCeXRlcztcblxuICAgICAgICAvLyBDaGFpbmFibGVcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZXMgaW5zaWduaWZpY2FudCBiaXRzLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHdvcmRBcnJheS5jbGFtcCgpO1xuICAgICAgICovXG4gICAgICBjbGFtcDogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgd29yZHMgPSB0aGlzLndvcmRzO1xuICAgICAgICB2YXIgc2lnQnl0ZXMgPSB0aGlzLnNpZ0J5dGVzO1xuXG4gICAgICAgIC8vIENsYW1wXG4gICAgICAgIHdvcmRzW3NpZ0J5dGVzID4+PiAyXSAmPSAweGZmZmZmZmZmIDw8ICgzMiAtIChzaWdCeXRlcyAlIDQpICogOCk7XG4gICAgICAgIHdvcmRzLmxlbmd0aCA9IE1hdGguY2VpbChzaWdCeXRlcyAvIDQpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDcmVhdGVzIGEgY29weSBvZiB0aGlzIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgY2xvbmUuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGNsb25lID0gd29yZEFycmF5LmNsb25lKCk7XG4gICAgICAgKi9cbiAgICAgIGNsb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGNsb25lID0gQmFzZS5jbG9uZS5jYWxsKHRoaXMpO1xuICAgICAgICBjbG9uZS53b3JkcyA9IHRoaXMud29yZHMuc2xpY2UoMCk7XG5cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDcmVhdGVzIGEgd29yZCBhcnJheSBmaWxsZWQgd2l0aCByYW5kb20gYnl0ZXMuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtudW1iZXJ9IG5CeXRlcyBUaGUgbnVtYmVyIG9mIHJhbmRvbSBieXRlcyB0byBnZW5lcmF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSByYW5kb20gd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHdvcmRBcnJheSA9IENyeXB0b0pTLmxpYi5Xb3JkQXJyYXkucmFuZG9tKDE2KTtcbiAgICAgICAqL1xuICAgICAgcmFuZG9tOiBmdW5jdGlvbihuQnl0ZXMpIHtcbiAgICAgICAgdmFyIHdvcmRzID0gW107XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuQnl0ZXM7IGkgKz0gNCkge1xuICAgICAgICAgIHdvcmRzLnB1c2goY3J5cHRvU2VjdXJlUmFuZG9tSW50KCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBXb3JkQXJyYXkuaW5pdCh3b3JkcywgbkJ5dGVzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEVuY29kZXIgbmFtZXNwYWNlLlxuICAgICAqL1xuICAgIHZhciBDX2VuYyA9IEMuZW5jID0ge307XG5cbiAgICAvKipcbiAgICAgKiBIZXggZW5jb2Rpbmcgc3RyYXRlZ3kuXG4gICAgICovXG4gICAgdmFyIEhleCA9IENfZW5jLkhleCA9IHtcbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgYSB3b3JkIGFycmF5IHRvIGEgaGV4IHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheX0gd29yZEFycmF5IFRoZSB3b3JkIGFycmF5LlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGhleCBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBoZXhTdHJpbmcgPSBDcnlwdG9KUy5lbmMuSGV4LnN0cmluZ2lmeSh3b3JkQXJyYXkpO1xuICAgICAgICovXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uKHdvcmRBcnJheSkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIHdvcmRzID0gd29yZEFycmF5LndvcmRzO1xuICAgICAgICB2YXIgc2lnQnl0ZXMgPSB3b3JkQXJyYXkuc2lnQnl0ZXM7XG5cbiAgICAgICAgLy8gQ29udmVydFxuICAgICAgICB2YXIgaGV4Q2hhcnMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzaWdCeXRlczsgaSsrKSB7XG4gICAgICAgICAgdmFyIGJpdGUgPSAod29yZHNbaSA+Pj4gMl0gPj4+ICgyNCAtIChpICUgNCkgKiA4KSkgJiAweGZmO1xuICAgICAgICAgIGhleENoYXJzLnB1c2goKGJpdGUgPj4+IDQpLnRvU3RyaW5nKDE2KSk7XG4gICAgICAgICAgaGV4Q2hhcnMucHVzaCgoYml0ZSAmIDB4MGYpLnRvU3RyaW5nKDE2KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGV4Q2hhcnMuam9pbignJyk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnRzIGEgaGV4IHN0cmluZyB0byBhIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtzdHJpbmd9IGhleFN0ciBUaGUgaGV4IHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSB3b3JkIGFycmF5LlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgd29yZEFycmF5ID0gQ3J5cHRvSlMuZW5jLkhleC5wYXJzZShoZXhTdHJpbmcpO1xuICAgICAgICovXG4gICAgICBwYXJzZTogZnVuY3Rpb24oaGV4U3RyKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBoZXhTdHJMZW5ndGggPSBoZXhTdHIubGVuZ3RoO1xuXG4gICAgICAgIC8vIENvbnZlcnRcbiAgICAgICAgdmFyIHdvcmRzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGV4U3RyTGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgICB3b3Jkc1tpID4+PiAzXSB8PSBwYXJzZUludChoZXhTdHIuc3Vic3RyKGksIDIpLCAxNikgPDwgKDI0IC0gKGkgJSA4KSAqIDQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBXb3JkQXJyYXkuaW5pdCh3b3JkcywgaGV4U3RyTGVuZ3RoIC8gMik7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIExhdGluMSBlbmNvZGluZyBzdHJhdGVneS5cbiAgICAgKi9cbiAgICB2YXIgTGF0aW4xID0gQ19lbmMuTGF0aW4xID0ge1xuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyBhIHdvcmQgYXJyYXkgdG8gYSBMYXRpbjEgc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fSB3b3JkQXJyYXkgVGhlIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgTGF0aW4xIHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGxhdGluMVN0cmluZyA9IENyeXB0b0pTLmVuYy5MYXRpbjEuc3RyaW5naWZ5KHdvcmRBcnJheSk7XG4gICAgICAgKi9cbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24od29yZEFycmF5KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgd29yZHMgPSB3b3JkQXJyYXkud29yZHM7XG4gICAgICAgIHZhciBzaWdCeXRlcyA9IHdvcmRBcnJheS5zaWdCeXRlcztcblxuICAgICAgICAvLyBDb252ZXJ0XG4gICAgICAgIHZhciBsYXRpbjFDaGFycyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHNpZ0J5dGVzOyBpKyspIHtcbiAgICAgICAgICB2YXIgYml0ZSA9ICh3b3Jkc1tpID4+PiAyXSA+Pj4gKDI0IC0gKGkgJSA0KSAqIDgpKSAmIDB4ZmY7XG4gICAgICAgICAgbGF0aW4xQ2hhcnMucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGJpdGUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsYXRpbjFDaGFycy5qb2luKCcnKTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgYSBMYXRpbjEgc3RyaW5nIHRvIGEgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbGF0aW4xU3RyIFRoZSBMYXRpbjEgc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciB3b3JkQXJyYXkgPSBDcnlwdG9KUy5lbmMuTGF0aW4xLnBhcnNlKGxhdGluMVN0cmluZyk7XG4gICAgICAgKi9cbiAgICAgIHBhcnNlOiBmdW5jdGlvbihsYXRpbjFTdHIpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIGxhdGluMVN0ckxlbmd0aCA9IGxhdGluMVN0ci5sZW5ndGg7XG5cbiAgICAgICAgLy8gQ29udmVydFxuICAgICAgICB2YXIgd29yZHMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYXRpbjFTdHJMZW5ndGg7IGkrKykge1xuICAgICAgICAgIHdvcmRzW2kgPj4+IDJdIHw9IChsYXRpbjFTdHIuY2hhckNvZGVBdChpKSAmIDB4ZmYpIDw8ICgyNCAtIChpICUgNCkgKiA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgV29yZEFycmF5LmluaXQod29yZHMsIGxhdGluMVN0ckxlbmd0aCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFVURi04IGVuY29kaW5nIHN0cmF0ZWd5LlxuICAgICAqL1xuICAgIHZhciBVdGY4ID0gQ19lbmMuVXRmOCA9IHtcbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgYSB3b3JkIGFycmF5IHRvIGEgVVRGLTggc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fSB3b3JkQXJyYXkgVGhlIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVRGLTggc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgdXRmOFN0cmluZyA9IENyeXB0b0pTLmVuYy5VdGY4LnN0cmluZ2lmeSh3b3JkQXJyYXkpO1xuICAgICAgICovXG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uKHdvcmRBcnJheSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZXNjYXBlKExhdGluMS5zdHJpbmdpZnkod29yZEFycmF5KSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYWxmb3JtZWQgVVRGLTggZGF0YScpO1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnRzIGEgVVRGLTggc3RyaW5nIHRvIGEgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXRmOFN0ciBUaGUgVVRGLTggc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciB3b3JkQXJyYXkgPSBDcnlwdG9KUy5lbmMuVXRmOC5wYXJzZSh1dGY4U3RyaW5nKTtcbiAgICAgICAqL1xuICAgICAgcGFyc2U6IGZ1bmN0aW9uKHV0ZjhTdHIpIHtcbiAgICAgICAgcmV0dXJuIExhdGluMS5wYXJzZSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQodXRmOFN0cikpKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQWJzdHJhY3QgYnVmZmVyZWQgYmxvY2sgYWxnb3JpdGhtIHRlbXBsYXRlLlxuICAgICAqXG4gICAgICogVGhlIHByb3BlcnR5IGJsb2NrU2l6ZSBtdXN0IGJlIGltcGxlbWVudGVkIGluIGEgY29uY3JldGUgc3VidHlwZS5cbiAgICAgKlxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBfbWluQnVmZmVyU2l6ZSBUaGUgbnVtYmVyIG9mIGJsb2NrcyB0aGF0IHNob3VsZCBiZSBrZXB0IHVucHJvY2Vzc2VkIGluIHRoZSBidWZmZXIuIERlZmF1bHQ6IDBcbiAgICAgKi9cbiAgICB2YXIgQnVmZmVyZWRCbG9ja0FsZ29yaXRobSA9IENfbGliLkJ1ZmZlcmVkQmxvY2tBbGdvcml0aG0gPSBCYXNlLmV4dGVuZCh7XG4gICAgICAvKipcbiAgICAgICAqIFJlc2V0cyB0aGlzIGJsb2NrIGFsZ29yaXRobSdzIGRhdGEgYnVmZmVyIHRvIGl0cyBpbml0aWFsIHN0YXRlLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIGJ1ZmZlcmVkQmxvY2tBbGdvcml0aG0ucmVzZXQoKTtcbiAgICAgICAqL1xuICAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBJbml0aWFsIHZhbHVlc1xuICAgICAgICB0aGlzLl9kYXRhID0gbmV3IFdvcmRBcnJheS5pbml0KCk7XG4gICAgICAgIHRoaXMuX25EYXRhQnl0ZXMgPSAwO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBBZGRzIG5ldyBkYXRhIHRvIHRoaXMgYmxvY2sgYWxnb3JpdGhtJ3MgYnVmZmVyLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gZGF0YSBUaGUgZGF0YSB0byBhcHBlbmQuIFN0cmluZ3MgYXJlIGNvbnZlcnRlZCB0byBhIFdvcmRBcnJheSB1c2luZyBVVEYtOC5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICBidWZmZXJlZEJsb2NrQWxnb3JpdGhtLl9hcHBlbmQoJ2RhdGEnKTtcbiAgICAgICAqICAgICBidWZmZXJlZEJsb2NrQWxnb3JpdGhtLl9hcHBlbmQod29yZEFycmF5KTtcbiAgICAgICAqL1xuICAgICAgX2FwcGVuZDogZnVuY3Rpb24oZGF0YSkge1xuICAgICAgICAvLyBDb252ZXJ0IHN0cmluZyB0byBXb3JkQXJyYXksIGVsc2UgYXNzdW1lIFdvcmRBcnJheSBhbHJlYWR5XG4gICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PSAnc3RyaW5nJykge1xuICAgICAgICAgIGRhdGEgPSBVdGY4LnBhcnNlKGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXBwZW5kXG4gICAgICAgIHRoaXMuX2RhdGEuY29uY2F0KGRhdGEpO1xuICAgICAgICB0aGlzLl9uRGF0YUJ5dGVzICs9IGRhdGEuc2lnQnl0ZXM7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFByb2Nlc3NlcyBhdmFpbGFibGUgZGF0YSBibG9ja3MuXG4gICAgICAgKlxuICAgICAgICogVGhpcyBtZXRob2QgaW52b2tlcyBfZG9Qcm9jZXNzQmxvY2sob2Zmc2V0KSwgd2hpY2ggbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBhIGNvbmNyZXRlIHN1YnR5cGUuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtib29sZWFufSBkb0ZsdXNoIFdoZXRoZXIgYWxsIGJsb2NrcyBhbmQgcGFydGlhbCBibG9ja3Mgc2hvdWxkIGJlIHByb2Nlc3NlZC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBwcm9jZXNzZWQgZGF0YS5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgcHJvY2Vzc2VkRGF0YSA9IGJ1ZmZlcmVkQmxvY2tBbGdvcml0aG0uX3Byb2Nlc3MoKTtcbiAgICAgICAqICAgICB2YXIgcHJvY2Vzc2VkRGF0YSA9IGJ1ZmZlcmVkQmxvY2tBbGdvcml0aG0uX3Byb2Nlc3MoISEnZmx1c2gnKTtcbiAgICAgICAqL1xuICAgICAgX3Byb2Nlc3M6IGZ1bmN0aW9uKGRvRmx1c2gpIHtcbiAgICAgICAgdmFyIHByb2Nlc3NlZFdvcmRzO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgZGF0YSA9IHRoaXMuX2RhdGE7XG4gICAgICAgIHZhciBkYXRhV29yZHMgPSBkYXRhLndvcmRzO1xuICAgICAgICB2YXIgZGF0YVNpZ0J5dGVzID0gZGF0YS5zaWdCeXRlcztcbiAgICAgICAgdmFyIGJsb2NrU2l6ZSA9IHRoaXMuYmxvY2tTaXplO1xuICAgICAgICB2YXIgYmxvY2tTaXplQnl0ZXMgPSBibG9ja1NpemUgKiA0O1xuXG4gICAgICAgIC8vIENvdW50IGJsb2NrcyByZWFkeVxuICAgICAgICB2YXIgbkJsb2Nrc1JlYWR5ID0gZGF0YVNpZ0J5dGVzIC8gYmxvY2tTaXplQnl0ZXM7XG4gICAgICAgIGlmIChkb0ZsdXNoKSB7XG4gICAgICAgICAgLy8gUm91bmQgdXAgdG8gaW5jbHVkZSBwYXJ0aWFsIGJsb2Nrc1xuICAgICAgICAgIG5CbG9ja3NSZWFkeSA9IE1hdGguY2VpbChuQmxvY2tzUmVhZHkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFJvdW5kIGRvd24gdG8gaW5jbHVkZSBvbmx5IGZ1bGwgYmxvY2tzLFxuICAgICAgICAgIC8vIGxlc3MgdGhlIG51bWJlciBvZiBibG9ja3MgdGhhdCBtdXN0IHJlbWFpbiBpbiB0aGUgYnVmZmVyXG4gICAgICAgICAgbkJsb2Nrc1JlYWR5ID0gTWF0aC5tYXgoKG5CbG9ja3NSZWFkeSB8IDApIC0gdGhpcy5fbWluQnVmZmVyU2l6ZSwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb3VudCB3b3JkcyByZWFkeVxuICAgICAgICB2YXIgbldvcmRzUmVhZHkgPSBuQmxvY2tzUmVhZHkgKiBibG9ja1NpemU7XG5cbiAgICAgICAgLy8gQ291bnQgYnl0ZXMgcmVhZHlcbiAgICAgICAgdmFyIG5CeXRlc1JlYWR5ID0gTWF0aC5taW4obldvcmRzUmVhZHkgKiA0LCBkYXRhU2lnQnl0ZXMpO1xuXG4gICAgICAgIC8vIFByb2Nlc3MgYmxvY2tzXG4gICAgICAgIGlmIChuV29yZHNSZWFkeSkge1xuICAgICAgICAgIGZvciAodmFyIG9mZnNldCA9IDA7IG9mZnNldCA8IG5Xb3Jkc1JlYWR5OyBvZmZzZXQgKz0gYmxvY2tTaXplKSB7XG4gICAgICAgICAgICAvLyBQZXJmb3JtIGNvbmNyZXRlLWFsZ29yaXRobSBsb2dpY1xuICAgICAgICAgICAgdGhpcy5fZG9Qcm9jZXNzQmxvY2soZGF0YVdvcmRzLCBvZmZzZXQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFJlbW92ZSBwcm9jZXNzZWQgd29yZHNcbiAgICAgICAgICBwcm9jZXNzZWRXb3JkcyA9IGRhdGFXb3Jkcy5zcGxpY2UoMCwgbldvcmRzUmVhZHkpO1xuICAgICAgICAgIGRhdGEuc2lnQnl0ZXMgLT0gbkJ5dGVzUmVhZHk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gcHJvY2Vzc2VkIHdvcmRzXG4gICAgICAgIHJldHVybiBuZXcgV29yZEFycmF5LmluaXQocHJvY2Vzc2VkV29yZHMsIG5CeXRlc1JlYWR5KTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ3JlYXRlcyBhIGNvcHkgb2YgdGhpcyBvYmplY3QuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7T2JqZWN0fSBUaGUgY2xvbmUuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGNsb25lID0gYnVmZmVyZWRCbG9ja0FsZ29yaXRobS5jbG9uZSgpO1xuICAgICAgICovXG4gICAgICBjbG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBjbG9uZSA9IEJhc2UuY2xvbmUuY2FsbCh0aGlzKTtcbiAgICAgICAgY2xvbmUuX2RhdGEgPSB0aGlzLl9kYXRhLmNsb25lKCk7XG5cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfSxcblxuICAgICAgX21pbkJ1ZmZlclNpemU6IDBcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFic3RyYWN0IGhhc2hlciB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBibG9ja1NpemUgVGhlIG51bWJlciBvZiAzMi1iaXQgd29yZHMgdGhpcyBoYXNoZXIgb3BlcmF0ZXMgb24uIERlZmF1bHQ6IDE2ICg1MTIgYml0cylcbiAgICAgKi9cbiAgICB2YXIgSGFzaGVyID0gQ19saWIuSGFzaGVyID0gQnVmZmVyZWRCbG9ja0FsZ29yaXRobS5leHRlbmQoe1xuICAgICAgLyoqXG4gICAgICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICAgKi9cbiAgICAgIGNmZzogQmFzZS5leHRlbmQoKSxcblxuICAgICAgLyoqXG4gICAgICAgKiBJbml0aWFsaXplcyBhIG5ld2x5IGNyZWF0ZWQgaGFzaGVyLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjZmcgKE9wdGlvbmFsKSBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHVzZSBmb3IgdGhpcyBoYXNoIGNvbXB1dGF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBoYXNoZXIgPSBDcnlwdG9KUy5hbGdvLlNIQTI1Ni5jcmVhdGUoKTtcbiAgICAgICAqL1xuICAgICAgaW5pdDogZnVuY3Rpb24oY2ZnKSB7XG4gICAgICAgIC8vIEFwcGx5IGNvbmZpZyBkZWZhdWx0c1xuICAgICAgICB0aGlzLmNmZyA9IHRoaXMuY2ZnLmV4dGVuZChjZmcpO1xuXG4gICAgICAgIC8vIFNldCBpbml0aWFsIHZhbHVlc1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc2V0cyB0aGlzIGhhc2hlciB0byBpdHMgaW5pdGlhbCBzdGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICBoYXNoZXIucmVzZXQoKTtcbiAgICAgICAqL1xuICAgICAgcmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBSZXNldCBkYXRhIGJ1ZmZlclxuICAgICAgICBCdWZmZXJlZEJsb2NrQWxnb3JpdGhtLnJlc2V0LmNhbGwodGhpcyk7XG5cbiAgICAgICAgLy8gUGVyZm9ybSBjb25jcmV0ZS1oYXNoZXIgbG9naWNcbiAgICAgICAgdGhpcy5fZG9SZXNldCgpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBVcGRhdGVzIHRoaXMgaGFzaGVyIHdpdGggYSBtZXNzYWdlLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZVVwZGF0ZSBUaGUgbWVzc2FnZSB0byBhcHBlbmQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7SGFzaGVyfSBUaGlzIGhhc2hlci5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICBoYXNoZXIudXBkYXRlKCdtZXNzYWdlJyk7XG4gICAgICAgKiAgICAgaGFzaGVyLnVwZGF0ZSh3b3JkQXJyYXkpO1xuICAgICAgICovXG4gICAgICB1cGRhdGU6IGZ1bmN0aW9uKG1lc3NhZ2VVcGRhdGUpIHtcbiAgICAgICAgLy8gQXBwZW5kXG4gICAgICAgIHRoaXMuX2FwcGVuZChtZXNzYWdlVXBkYXRlKTtcblxuICAgICAgICAvLyBVcGRhdGUgdGhlIGhhc2hcbiAgICAgICAgdGhpcy5fcHJvY2VzcygpO1xuXG4gICAgICAgIC8vIENoYWluYWJsZVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogRmluYWxpemVzIHRoZSBoYXNoIGNvbXB1dGF0aW9uLlxuICAgICAgICogTm90ZSB0aGF0IHRoZSBmaW5hbGl6ZSBvcGVyYXRpb24gaXMgZWZmZWN0aXZlbHkgYSBkZXN0cnVjdGl2ZSwgcmVhZC1vbmNlIG9wZXJhdGlvbi5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2VVcGRhdGUgKE9wdGlvbmFsKSBBIGZpbmFsIG1lc3NhZ2UgdXBkYXRlLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIGhhc2guXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGhhc2ggPSBoYXNoZXIuZmluYWxpemUoKTtcbiAgICAgICAqICAgICB2YXIgaGFzaCA9IGhhc2hlci5maW5hbGl6ZSgnbWVzc2FnZScpO1xuICAgICAgICogICAgIHZhciBoYXNoID0gaGFzaGVyLmZpbmFsaXplKHdvcmRBcnJheSk7XG4gICAgICAgKi9cbiAgICAgIGZpbmFsaXplOiBmdW5jdGlvbihtZXNzYWdlVXBkYXRlKSB7XG4gICAgICAgIC8vIEZpbmFsIG1lc3NhZ2UgdXBkYXRlXG4gICAgICAgIGlmIChtZXNzYWdlVXBkYXRlKSB7XG4gICAgICAgICAgdGhpcy5fYXBwZW5kKG1lc3NhZ2VVcGRhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUGVyZm9ybSBjb25jcmV0ZS1oYXNoZXIgbG9naWNcbiAgICAgICAgdmFyIGhhc2ggPSB0aGlzLl9kb0ZpbmFsaXplKCk7XG5cbiAgICAgICAgcmV0dXJuIGhhc2g7XG4gICAgICB9LFxuXG4gICAgICBibG9ja1NpemU6IDUxMiAvIDMyLFxuXG4gICAgICAvKipcbiAgICAgICAqIENyZWF0ZXMgYSBzaG9ydGN1dCBmdW5jdGlvbiB0byBhIGhhc2hlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtIYXNoZXJ9IGhhc2hlciBUaGUgaGFzaGVyIHRvIGNyZWF0ZSBhIGhlbHBlciBmb3IuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7RnVuY3Rpb259IFRoZSBzaG9ydGN1dCBmdW5jdGlvbi5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIFNIQTI1NiA9IENyeXB0b0pTLmxpYi5IYXNoZXIuX2NyZWF0ZUhlbHBlcihDcnlwdG9KUy5hbGdvLlNIQTI1Nik7XG4gICAgICAgKi9cbiAgICAgIF9jcmVhdGVIZWxwZXI6IGZ1bmN0aW9uKGhhc2hlcikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24obWVzc2FnZSwgY2ZnKSB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBoYXNoZXIuaW5pdChjZmcpLmZpbmFsaXplKG1lc3NhZ2UpO1xuICAgICAgICB9O1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDcmVhdGVzIGEgc2hvcnRjdXQgZnVuY3Rpb24gdG8gdGhlIEhNQUMncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7SGFzaGVyfSBoYXNoZXIgVGhlIGhhc2hlciB0byB1c2UgaW4gdGhpcyBITUFDIGhlbHBlci5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtGdW5jdGlvbn0gVGhlIHNob3J0Y3V0IGZ1bmN0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgSG1hY1NIQTI1NiA9IENyeXB0b0pTLmxpYi5IYXNoZXIuX2NyZWF0ZUhtYWNIZWxwZXIoQ3J5cHRvSlMuYWxnby5TSEEyNTYpO1xuICAgICAgICovXG4gICAgICBfY3JlYXRlSG1hY0hlbHBlcjogZnVuY3Rpb24oaGFzaGVyKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbihtZXNzYWdlLCBrZXkpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IENfYWxnby5ITUFDLmluaXQoaGFzaGVyLCBrZXkpLmZpbmFsaXplKG1lc3NhZ2UpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQWxnb3JpdGhtIG5hbWVzcGFjZS5cbiAgICAgKi9cbiAgICB2YXIgQ19hbGdvID0gQy5hbGdvID0ge307XG5cbiAgICByZXR1cm4gQztcbiAgfShNYXRoKSk7XG5cblxuICAoZnVuY3Rpb24oKSB7XG4gICAgLy8gU2hvcnRjdXRzXG4gICAgdmFyIEMgPSBDcnlwdG9KUztcbiAgICB2YXIgQ19saWIgPSBDLmxpYjtcbiAgICB2YXIgV29yZEFycmF5ID0gQ19saWIuV29yZEFycmF5O1xuICAgIHZhciBDX2VuYyA9IEMuZW5jO1xuXG4gICAgLyoqXG4gICAgICogQmFzZTY0IGVuY29kaW5nIHN0cmF0ZWd5LlxuICAgICAqL1xuICAgIHZhciBCYXNlNjQgPSBDX2VuYy5CYXNlNjQgPSB7XG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnRzIGEgd29yZCBhcnJheSB0byBhIEJhc2U2NCBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl9IHdvcmRBcnJheSBUaGUgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBCYXNlNjQgc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgYmFzZTY0U3RyaW5nID0gQ3J5cHRvSlMuZW5jLkJhc2U2NC5zdHJpbmdpZnkod29yZEFycmF5KTtcbiAgICAgICAqL1xuICAgICAgc3RyaW5naWZ5OiBmdW5jdGlvbih3b3JkQXJyYXkpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciB3b3JkcyA9IHdvcmRBcnJheS53b3JkcztcbiAgICAgICAgdmFyIHNpZ0J5dGVzID0gd29yZEFycmF5LnNpZ0J5dGVzO1xuICAgICAgICB2YXIgbWFwID0gdGhpcy5fbWFwO1xuXG4gICAgICAgIC8vIENsYW1wIGV4Y2VzcyBiaXRzXG4gICAgICAgIHdvcmRBcnJheS5jbGFtcCgpO1xuXG4gICAgICAgIC8vIENvbnZlcnRcbiAgICAgICAgdmFyIGJhc2U2NENoYXJzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2lnQnl0ZXM7IGkgKz0gMykge1xuICAgICAgICAgIHZhciBieXRlMSA9ICh3b3Jkc1tpID4+PiAyXSA+Pj4gKDI0IC0gKGkgJSA0KSAqIDgpKSAmIDB4ZmY7XG4gICAgICAgICAgdmFyIGJ5dGUyID0gKHdvcmRzWyhpICsgMSkgPj4+IDJdID4+PiAoMjQgLSAoKGkgKyAxKSAlIDQpICogOCkpICYgMHhmZjtcbiAgICAgICAgICB2YXIgYnl0ZTMgPSAod29yZHNbKGkgKyAyKSA+Pj4gMl0gPj4+ICgyNCAtICgoaSArIDIpICUgNCkgKiA4KSkgJiAweGZmO1xuXG4gICAgICAgICAgdmFyIHRyaXBsZXQgPSAoYnl0ZTEgPDwgMTYpIHwgKGJ5dGUyIDw8IDgpIHwgYnl0ZTM7XG5cbiAgICAgICAgICBmb3IgKHZhciBqID0gMDtcbiAgICAgICAgICAgIChqIDwgNCkgJiYgKGkgKyBqICogMC43NSA8IHNpZ0J5dGVzKTsgaisrKSB7XG4gICAgICAgICAgICBiYXNlNjRDaGFycy5wdXNoKG1hcC5jaGFyQXQoKHRyaXBsZXQgPj4+ICg2ICogKDMgLSBqKSkpICYgMHgzZikpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBwYWRkaW5nXG4gICAgICAgIHZhciBwYWRkaW5nQ2hhciA9IG1hcC5jaGFyQXQoNjQpO1xuICAgICAgICBpZiAocGFkZGluZ0NoYXIpIHtcbiAgICAgICAgICB3aGlsZSAoYmFzZTY0Q2hhcnMubGVuZ3RoICUgNCkge1xuICAgICAgICAgICAgYmFzZTY0Q2hhcnMucHVzaChwYWRkaW5nQ2hhcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGJhc2U2NENoYXJzLmpvaW4oJycpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyBhIEJhc2U2NCBzdHJpbmcgdG8gYSB3b3JkIGFycmF5LlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlNjRTdHIgVGhlIEJhc2U2NCBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHdvcmRBcnJheSA9IENyeXB0b0pTLmVuYy5CYXNlNjQucGFyc2UoYmFzZTY0U3RyaW5nKTtcbiAgICAgICAqL1xuICAgICAgcGFyc2U6IGZ1bmN0aW9uKGJhc2U2NFN0cikge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGJhc2U2NFN0ckxlbmd0aCA9IGJhc2U2NFN0ci5sZW5ndGg7XG4gICAgICAgIHZhciBtYXAgPSB0aGlzLl9tYXA7XG4gICAgICAgIHZhciByZXZlcnNlTWFwID0gdGhpcy5fcmV2ZXJzZU1hcDtcblxuICAgICAgICBpZiAoIXJldmVyc2VNYXApIHtcbiAgICAgICAgICByZXZlcnNlTWFwID0gdGhpcy5fcmV2ZXJzZU1hcCA9IFtdO1xuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbWFwLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICByZXZlcnNlTWFwW21hcC5jaGFyQ29kZUF0KGopXSA9IGo7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWdub3JlIHBhZGRpbmdcbiAgICAgICAgdmFyIHBhZGRpbmdDaGFyID0gbWFwLmNoYXJBdCg2NCk7XG4gICAgICAgIGlmIChwYWRkaW5nQ2hhcikge1xuICAgICAgICAgIHZhciBwYWRkaW5nSW5kZXggPSBiYXNlNjRTdHIuaW5kZXhPZihwYWRkaW5nQ2hhcik7XG4gICAgICAgICAgaWYgKHBhZGRpbmdJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGJhc2U2NFN0ckxlbmd0aCA9IHBhZGRpbmdJbmRleDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb252ZXJ0XG4gICAgICAgIHJldHVybiBwYXJzZUxvb3AoYmFzZTY0U3RyLCBiYXNlNjRTdHJMZW5ndGgsIHJldmVyc2VNYXApO1xuXG4gICAgICB9LFxuXG4gICAgICBfbWFwOiAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0nXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIHBhcnNlTG9vcChiYXNlNjRTdHIsIGJhc2U2NFN0ckxlbmd0aCwgcmV2ZXJzZU1hcCkge1xuICAgICAgdmFyIHdvcmRzID0gW107XG4gICAgICB2YXIgbkJ5dGVzID0gMDtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmFzZTY0U3RyTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGkgJSA0KSB7XG4gICAgICAgICAgdmFyIGJpdHMxID0gcmV2ZXJzZU1hcFtiYXNlNjRTdHIuY2hhckNvZGVBdChpIC0gMSldIDw8ICgoaSAlIDQpICogMik7XG4gICAgICAgICAgdmFyIGJpdHMyID0gcmV2ZXJzZU1hcFtiYXNlNjRTdHIuY2hhckNvZGVBdChpKV0gPj4+ICg2IC0gKGkgJSA0KSAqIDIpO1xuICAgICAgICAgIHZhciBiaXRzQ29tYmluZWQgPSBiaXRzMSB8IGJpdHMyO1xuICAgICAgICAgIHdvcmRzW25CeXRlcyA+Pj4gMl0gfD0gYml0c0NvbWJpbmVkIDw8ICgyNCAtIChuQnl0ZXMgJSA0KSAqIDgpO1xuICAgICAgICAgIG5CeXRlcysrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gV29yZEFycmF5LmNyZWF0ZSh3b3JkcywgbkJ5dGVzKTtcbiAgICB9XG4gIH0oKSk7XG5cblxuICAoZnVuY3Rpb24oTWF0aCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgSGFzaGVyID0gQ19saWIuSGFzaGVyO1xuICAgIHZhciBDX2FsZ28gPSBDLmFsZ287XG5cbiAgICAvLyBDb25zdGFudHMgdGFibGVcbiAgICB2YXIgVCA9IFtdO1xuXG4gICAgLy8gQ29tcHV0ZSBjb25zdGFudHNcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDY0OyBpKyspIHtcbiAgICAgICAgVFtpXSA9IChNYXRoLmFicyhNYXRoLnNpbihpICsgMSkpICogMHgxMDAwMDAwMDApIHwgMDtcbiAgICAgIH1cbiAgICB9KCkpO1xuXG4gICAgLyoqXG4gICAgICogTUQ1IGhhc2ggYWxnb3JpdGhtLlxuICAgICAqL1xuICAgIHZhciBNRDUgPSBDX2FsZ28uTUQ1ID0gSGFzaGVyLmV4dGVuZCh7XG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuX2hhc2ggPSBuZXcgV29yZEFycmF5LmluaXQoW1xuICAgICAgICAgIDB4Njc0NTIzMDEsIDB4ZWZjZGFiODksXG4gICAgICAgICAgMHg5OGJhZGNmZSwgMHgxMDMyNTQ3NlxuICAgICAgICBdKTtcbiAgICAgIH0sXG5cbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24oTSwgb2Zmc2V0KSB7XG4gICAgICAgIC8vIFN3YXAgZW5kaWFuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykge1xuICAgICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICAgIHZhciBvZmZzZXRfaSA9IG9mZnNldCArIGk7XG4gICAgICAgICAgdmFyIE1fb2Zmc2V0X2kgPSBNW29mZnNldF9pXTtcblxuICAgICAgICAgIE1bb2Zmc2V0X2ldID0gKFxuICAgICAgICAgICAgKCgoTV9vZmZzZXRfaSA8PCA4KSB8IChNX29mZnNldF9pID4+PiAyNCkpICYgMHgwMGZmMDBmZikgfFxuICAgICAgICAgICAgKCgoTV9vZmZzZXRfaSA8PCAyNCkgfCAoTV9vZmZzZXRfaSA+Pj4gOCkpICYgMHhmZjAwZmYwMClcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBIID0gdGhpcy5faGFzaC53b3JkcztcblxuICAgICAgICB2YXIgTV9vZmZzZXRfMCA9IE1bb2Zmc2V0ICsgMF07XG4gICAgICAgIHZhciBNX29mZnNldF8xID0gTVtvZmZzZXQgKyAxXTtcbiAgICAgICAgdmFyIE1fb2Zmc2V0XzIgPSBNW29mZnNldCArIDJdO1xuICAgICAgICB2YXIgTV9vZmZzZXRfMyA9IE1bb2Zmc2V0ICsgM107XG4gICAgICAgIHZhciBNX29mZnNldF80ID0gTVtvZmZzZXQgKyA0XTtcbiAgICAgICAgdmFyIE1fb2Zmc2V0XzUgPSBNW29mZnNldCArIDVdO1xuICAgICAgICB2YXIgTV9vZmZzZXRfNiA9IE1bb2Zmc2V0ICsgNl07XG4gICAgICAgIHZhciBNX29mZnNldF83ID0gTVtvZmZzZXQgKyA3XTtcbiAgICAgICAgdmFyIE1fb2Zmc2V0XzggPSBNW29mZnNldCArIDhdO1xuICAgICAgICB2YXIgTV9vZmZzZXRfOSA9IE1bb2Zmc2V0ICsgOV07XG4gICAgICAgIHZhciBNX29mZnNldF8xMCA9IE1bb2Zmc2V0ICsgMTBdO1xuICAgICAgICB2YXIgTV9vZmZzZXRfMTEgPSBNW29mZnNldCArIDExXTtcbiAgICAgICAgdmFyIE1fb2Zmc2V0XzEyID0gTVtvZmZzZXQgKyAxMl07XG4gICAgICAgIHZhciBNX29mZnNldF8xMyA9IE1bb2Zmc2V0ICsgMTNdO1xuICAgICAgICB2YXIgTV9vZmZzZXRfMTQgPSBNW29mZnNldCArIDE0XTtcbiAgICAgICAgdmFyIE1fb2Zmc2V0XzE1ID0gTVtvZmZzZXQgKyAxNV07XG5cbiAgICAgICAgLy8gV29ya2luZyB2YXJpYWxiZXNcbiAgICAgICAgdmFyIGEgPSBIWzBdO1xuICAgICAgICB2YXIgYiA9IEhbMV07XG4gICAgICAgIHZhciBjID0gSFsyXTtcbiAgICAgICAgdmFyIGQgPSBIWzNdO1xuXG4gICAgICAgIC8vIENvbXB1dGF0aW9uXG4gICAgICAgIGEgPSBGRihhLCBiLCBjLCBkLCBNX29mZnNldF8wLCA3LCBUWzBdKTtcbiAgICAgICAgZCA9IEZGKGQsIGEsIGIsIGMsIE1fb2Zmc2V0XzEsIDEyLCBUWzFdKTtcbiAgICAgICAgYyA9IEZGKGMsIGQsIGEsIGIsIE1fb2Zmc2V0XzIsIDE3LCBUWzJdKTtcbiAgICAgICAgYiA9IEZGKGIsIGMsIGQsIGEsIE1fb2Zmc2V0XzMsIDIyLCBUWzNdKTtcbiAgICAgICAgYSA9IEZGKGEsIGIsIGMsIGQsIE1fb2Zmc2V0XzQsIDcsIFRbNF0pO1xuICAgICAgICBkID0gRkYoZCwgYSwgYiwgYywgTV9vZmZzZXRfNSwgMTIsIFRbNV0pO1xuICAgICAgICBjID0gRkYoYywgZCwgYSwgYiwgTV9vZmZzZXRfNiwgMTcsIFRbNl0pO1xuICAgICAgICBiID0gRkYoYiwgYywgZCwgYSwgTV9vZmZzZXRfNywgMjIsIFRbN10pO1xuICAgICAgICBhID0gRkYoYSwgYiwgYywgZCwgTV9vZmZzZXRfOCwgNywgVFs4XSk7XG4gICAgICAgIGQgPSBGRihkLCBhLCBiLCBjLCBNX29mZnNldF85LCAxMiwgVFs5XSk7XG4gICAgICAgIGMgPSBGRihjLCBkLCBhLCBiLCBNX29mZnNldF8xMCwgMTcsIFRbMTBdKTtcbiAgICAgICAgYiA9IEZGKGIsIGMsIGQsIGEsIE1fb2Zmc2V0XzExLCAyMiwgVFsxMV0pO1xuICAgICAgICBhID0gRkYoYSwgYiwgYywgZCwgTV9vZmZzZXRfMTIsIDcsIFRbMTJdKTtcbiAgICAgICAgZCA9IEZGKGQsIGEsIGIsIGMsIE1fb2Zmc2V0XzEzLCAxMiwgVFsxM10pO1xuICAgICAgICBjID0gRkYoYywgZCwgYSwgYiwgTV9vZmZzZXRfMTQsIDE3LCBUWzE0XSk7XG4gICAgICAgIGIgPSBGRihiLCBjLCBkLCBhLCBNX29mZnNldF8xNSwgMjIsIFRbMTVdKTtcblxuICAgICAgICBhID0gR0coYSwgYiwgYywgZCwgTV9vZmZzZXRfMSwgNSwgVFsxNl0pO1xuICAgICAgICBkID0gR0coZCwgYSwgYiwgYywgTV9vZmZzZXRfNiwgOSwgVFsxN10pO1xuICAgICAgICBjID0gR0coYywgZCwgYSwgYiwgTV9vZmZzZXRfMTEsIDE0LCBUWzE4XSk7XG4gICAgICAgIGIgPSBHRyhiLCBjLCBkLCBhLCBNX29mZnNldF8wLCAyMCwgVFsxOV0pO1xuICAgICAgICBhID0gR0coYSwgYiwgYywgZCwgTV9vZmZzZXRfNSwgNSwgVFsyMF0pO1xuICAgICAgICBkID0gR0coZCwgYSwgYiwgYywgTV9vZmZzZXRfMTAsIDksIFRbMjFdKTtcbiAgICAgICAgYyA9IEdHKGMsIGQsIGEsIGIsIE1fb2Zmc2V0XzE1LCAxNCwgVFsyMl0pO1xuICAgICAgICBiID0gR0coYiwgYywgZCwgYSwgTV9vZmZzZXRfNCwgMjAsIFRbMjNdKTtcbiAgICAgICAgYSA9IEdHKGEsIGIsIGMsIGQsIE1fb2Zmc2V0XzksIDUsIFRbMjRdKTtcbiAgICAgICAgZCA9IEdHKGQsIGEsIGIsIGMsIE1fb2Zmc2V0XzE0LCA5LCBUWzI1XSk7XG4gICAgICAgIGMgPSBHRyhjLCBkLCBhLCBiLCBNX29mZnNldF8zLCAxNCwgVFsyNl0pO1xuICAgICAgICBiID0gR0coYiwgYywgZCwgYSwgTV9vZmZzZXRfOCwgMjAsIFRbMjddKTtcbiAgICAgICAgYSA9IEdHKGEsIGIsIGMsIGQsIE1fb2Zmc2V0XzEzLCA1LCBUWzI4XSk7XG4gICAgICAgIGQgPSBHRyhkLCBhLCBiLCBjLCBNX29mZnNldF8yLCA5LCBUWzI5XSk7XG4gICAgICAgIGMgPSBHRyhjLCBkLCBhLCBiLCBNX29mZnNldF83LCAxNCwgVFszMF0pO1xuICAgICAgICBiID0gR0coYiwgYywgZCwgYSwgTV9vZmZzZXRfMTIsIDIwLCBUWzMxXSk7XG5cbiAgICAgICAgYSA9IEhIKGEsIGIsIGMsIGQsIE1fb2Zmc2V0XzUsIDQsIFRbMzJdKTtcbiAgICAgICAgZCA9IEhIKGQsIGEsIGIsIGMsIE1fb2Zmc2V0XzgsIDExLCBUWzMzXSk7XG4gICAgICAgIGMgPSBISChjLCBkLCBhLCBiLCBNX29mZnNldF8xMSwgMTYsIFRbMzRdKTtcbiAgICAgICAgYiA9IEhIKGIsIGMsIGQsIGEsIE1fb2Zmc2V0XzE0LCAyMywgVFszNV0pO1xuICAgICAgICBhID0gSEgoYSwgYiwgYywgZCwgTV9vZmZzZXRfMSwgNCwgVFszNl0pO1xuICAgICAgICBkID0gSEgoZCwgYSwgYiwgYywgTV9vZmZzZXRfNCwgMTEsIFRbMzddKTtcbiAgICAgICAgYyA9IEhIKGMsIGQsIGEsIGIsIE1fb2Zmc2V0XzcsIDE2LCBUWzM4XSk7XG4gICAgICAgIGIgPSBISChiLCBjLCBkLCBhLCBNX29mZnNldF8xMCwgMjMsIFRbMzldKTtcbiAgICAgICAgYSA9IEhIKGEsIGIsIGMsIGQsIE1fb2Zmc2V0XzEzLCA0LCBUWzQwXSk7XG4gICAgICAgIGQgPSBISChkLCBhLCBiLCBjLCBNX29mZnNldF8wLCAxMSwgVFs0MV0pO1xuICAgICAgICBjID0gSEgoYywgZCwgYSwgYiwgTV9vZmZzZXRfMywgMTYsIFRbNDJdKTtcbiAgICAgICAgYiA9IEhIKGIsIGMsIGQsIGEsIE1fb2Zmc2V0XzYsIDIzLCBUWzQzXSk7XG4gICAgICAgIGEgPSBISChhLCBiLCBjLCBkLCBNX29mZnNldF85LCA0LCBUWzQ0XSk7XG4gICAgICAgIGQgPSBISChkLCBhLCBiLCBjLCBNX29mZnNldF8xMiwgMTEsIFRbNDVdKTtcbiAgICAgICAgYyA9IEhIKGMsIGQsIGEsIGIsIE1fb2Zmc2V0XzE1LCAxNiwgVFs0Nl0pO1xuICAgICAgICBiID0gSEgoYiwgYywgZCwgYSwgTV9vZmZzZXRfMiwgMjMsIFRbNDddKTtcblxuICAgICAgICBhID0gSUkoYSwgYiwgYywgZCwgTV9vZmZzZXRfMCwgNiwgVFs0OF0pO1xuICAgICAgICBkID0gSUkoZCwgYSwgYiwgYywgTV9vZmZzZXRfNywgMTAsIFRbNDldKTtcbiAgICAgICAgYyA9IElJKGMsIGQsIGEsIGIsIE1fb2Zmc2V0XzE0LCAxNSwgVFs1MF0pO1xuICAgICAgICBiID0gSUkoYiwgYywgZCwgYSwgTV9vZmZzZXRfNSwgMjEsIFRbNTFdKTtcbiAgICAgICAgYSA9IElJKGEsIGIsIGMsIGQsIE1fb2Zmc2V0XzEyLCA2LCBUWzUyXSk7XG4gICAgICAgIGQgPSBJSShkLCBhLCBiLCBjLCBNX29mZnNldF8zLCAxMCwgVFs1M10pO1xuICAgICAgICBjID0gSUkoYywgZCwgYSwgYiwgTV9vZmZzZXRfMTAsIDE1LCBUWzU0XSk7XG4gICAgICAgIGIgPSBJSShiLCBjLCBkLCBhLCBNX29mZnNldF8xLCAyMSwgVFs1NV0pO1xuICAgICAgICBhID0gSUkoYSwgYiwgYywgZCwgTV9vZmZzZXRfOCwgNiwgVFs1Nl0pO1xuICAgICAgICBkID0gSUkoZCwgYSwgYiwgYywgTV9vZmZzZXRfMTUsIDEwLCBUWzU3XSk7XG4gICAgICAgIGMgPSBJSShjLCBkLCBhLCBiLCBNX29mZnNldF82LCAxNSwgVFs1OF0pO1xuICAgICAgICBiID0gSUkoYiwgYywgZCwgYSwgTV9vZmZzZXRfMTMsIDIxLCBUWzU5XSk7XG4gICAgICAgIGEgPSBJSShhLCBiLCBjLCBkLCBNX29mZnNldF80LCA2LCBUWzYwXSk7XG4gICAgICAgIGQgPSBJSShkLCBhLCBiLCBjLCBNX29mZnNldF8xMSwgMTAsIFRbNjFdKTtcbiAgICAgICAgYyA9IElJKGMsIGQsIGEsIGIsIE1fb2Zmc2V0XzIsIDE1LCBUWzYyXSk7XG4gICAgICAgIGIgPSBJSShiLCBjLCBkLCBhLCBNX29mZnNldF85LCAyMSwgVFs2M10pO1xuXG4gICAgICAgIC8vIEludGVybWVkaWF0ZSBoYXNoIHZhbHVlXG4gICAgICAgIEhbMF0gPSAoSFswXSArIGEpIHwgMDtcbiAgICAgICAgSFsxXSA9IChIWzFdICsgYikgfCAwO1xuICAgICAgICBIWzJdID0gKEhbMl0gKyBjKSB8IDA7XG4gICAgICAgIEhbM10gPSAoSFszXSArIGQpIHwgMDtcbiAgICAgIH0sXG5cbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBkYXRhID0gdGhpcy5fZGF0YTtcbiAgICAgICAgdmFyIGRhdGFXb3JkcyA9IGRhdGEud29yZHM7XG5cbiAgICAgICAgdmFyIG5CaXRzVG90YWwgPSB0aGlzLl9uRGF0YUJ5dGVzICogODtcbiAgICAgICAgdmFyIG5CaXRzTGVmdCA9IGRhdGEuc2lnQnl0ZXMgKiA4O1xuXG4gICAgICAgIC8vIEFkZCBwYWRkaW5nXG4gICAgICAgIGRhdGFXb3Jkc1tuQml0c0xlZnQgPj4+IDVdIHw9IDB4ODAgPDwgKDI0IC0gbkJpdHNMZWZ0ICUgMzIpO1xuXG4gICAgICAgIHZhciBuQml0c1RvdGFsSCA9IE1hdGguZmxvb3IobkJpdHNUb3RhbCAvIDB4MTAwMDAwMDAwKTtcbiAgICAgICAgdmFyIG5CaXRzVG90YWxMID0gbkJpdHNUb3RhbDtcbiAgICAgICAgZGF0YVdvcmRzWygoKG5CaXRzTGVmdCArIDY0KSA+Pj4gOSkgPDwgNCkgKyAxNV0gPSAoXG4gICAgICAgICAgKCgobkJpdHNUb3RhbEggPDwgOCkgfCAobkJpdHNUb3RhbEggPj4+IDI0KSkgJiAweDAwZmYwMGZmKSB8XG4gICAgICAgICAgKCgobkJpdHNUb3RhbEggPDwgMjQpIHwgKG5CaXRzVG90YWxIID4+PiA4KSkgJiAweGZmMDBmZjAwKVxuICAgICAgICApO1xuICAgICAgICBkYXRhV29yZHNbKCgobkJpdHNMZWZ0ICsgNjQpID4+PiA5KSA8PCA0KSArIDE0XSA9IChcbiAgICAgICAgICAoKChuQml0c1RvdGFsTCA8PCA4KSB8IChuQml0c1RvdGFsTCA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHxcbiAgICAgICAgICAoKChuQml0c1RvdGFsTCA8PCAyNCkgfCAobkJpdHNUb3RhbEwgPj4+IDgpKSAmIDB4ZmYwMGZmMDApXG4gICAgICAgICk7XG5cbiAgICAgICAgZGF0YS5zaWdCeXRlcyA9IChkYXRhV29yZHMubGVuZ3RoICsgMSkgKiA0O1xuXG4gICAgICAgIC8vIEhhc2ggZmluYWwgYmxvY2tzXG4gICAgICAgIHRoaXMuX3Byb2Nlc3MoKTtcblxuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGhhc2ggPSB0aGlzLl9oYXNoO1xuICAgICAgICB2YXIgSCA9IGhhc2gud29yZHM7XG5cbiAgICAgICAgLy8gU3dhcCBlbmRpYW5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICAvLyBTaG9ydGN1dFxuICAgICAgICAgIHZhciBIX2kgPSBIW2ldO1xuXG4gICAgICAgICAgSFtpXSA9ICgoKEhfaSA8PCA4KSB8IChIX2kgPj4+IDI0KSkgJiAweDAwZmYwMGZmKSB8XG4gICAgICAgICAgICAoKChIX2kgPDwgMjQpIHwgKEhfaSA+Pj4gOCkpICYgMHhmZjAwZmYwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gZmluYWwgY29tcHV0ZWQgaGFzaFxuICAgICAgICByZXR1cm4gaGFzaDtcbiAgICAgIH0sXG5cbiAgICAgIGNsb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGNsb25lID0gSGFzaGVyLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIGNsb25lLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpO1xuXG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIEZGKGEsIGIsIGMsIGQsIHgsIHMsIHQpIHtcbiAgICAgIHZhciBuID0gYSArICgoYiAmIGMpIHwgKH5iICYgZCkpICsgeCArIHQ7XG4gICAgICByZXR1cm4gKChuIDw8IHMpIHwgKG4gPj4+ICgzMiAtIHMpKSkgKyBiO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIEdHKGEsIGIsIGMsIGQsIHgsIHMsIHQpIHtcbiAgICAgIHZhciBuID0gYSArICgoYiAmIGQpIHwgKGMgJiB+ZCkpICsgeCArIHQ7XG4gICAgICByZXR1cm4gKChuIDw8IHMpIHwgKG4gPj4+ICgzMiAtIHMpKSkgKyBiO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIEhIKGEsIGIsIGMsIGQsIHgsIHMsIHQpIHtcbiAgICAgIHZhciBuID0gYSArIChiIF4gYyBeIGQpICsgeCArIHQ7XG4gICAgICByZXR1cm4gKChuIDw8IHMpIHwgKG4gPj4+ICgzMiAtIHMpKSkgKyBiO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIElJKGEsIGIsIGMsIGQsIHgsIHMsIHQpIHtcbiAgICAgIHZhciBuID0gYSArIChjIF4gKGIgfCB+ZCkpICsgeCArIHQ7XG4gICAgICByZXR1cm4gKChuIDw8IHMpIHwgKG4gPj4+ICgzMiAtIHMpKSkgKyBiO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9uIHRvIHRoZSBoYXNoZXIncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGhhc2guXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBoYXNoLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgaGFzaCA9IENyeXB0b0pTLk1ENSgnbWVzc2FnZScpO1xuICAgICAqICAgICB2YXIgaGFzaCA9IENyeXB0b0pTLk1ENSh3b3JkQXJyYXkpO1xuICAgICAqL1xuICAgIEMuTUQ1ID0gSGFzaGVyLl9jcmVhdGVIZWxwZXIoTUQ1KTtcblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9uIHRvIHRoZSBITUFDJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBoYXNoLlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30ga2V5IFRoZSBzZWNyZXQga2V5LlxuICAgICAqXG4gICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgSE1BQy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGhtYWMgPSBDcnlwdG9KUy5IbWFjTUQ1KG1lc3NhZ2UsIGtleSk7XG4gICAgICovXG4gICAgQy5IbWFjTUQ1ID0gSGFzaGVyLl9jcmVhdGVIbWFjSGVscGVyKE1ENSk7XG4gIH0oTWF0aCkpO1xuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgSGFzaGVyID0gQ19saWIuSGFzaGVyO1xuICAgIHZhciBDX2FsZ28gPSBDLmFsZ287XG5cbiAgICAvLyBSZXVzYWJsZSBvYmplY3RcbiAgICB2YXIgVyA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogU0hBLTEgaGFzaCBhbGdvcml0aG0uXG4gICAgICovXG4gICAgdmFyIFNIQTEgPSBDX2FsZ28uU0hBMSA9IEhhc2hlci5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLl9oYXNoID0gbmV3IFdvcmRBcnJheS5pbml0KFtcbiAgICAgICAgICAweDY3NDUyMzAxLCAweGVmY2RhYjg5LFxuICAgICAgICAgIDB4OThiYWRjZmUsIDB4MTAzMjU0NzYsXG4gICAgICAgICAgMHhjM2QyZTFmMFxuICAgICAgICBdKTtcbiAgICAgIH0sXG5cbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24oTSwgb2Zmc2V0KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBIID0gdGhpcy5faGFzaC53b3JkcztcblxuICAgICAgICAvLyBXb3JraW5nIHZhcmlhYmxlc1xuICAgICAgICB2YXIgYSA9IEhbMF07XG4gICAgICAgIHZhciBiID0gSFsxXTtcbiAgICAgICAgdmFyIGMgPSBIWzJdO1xuICAgICAgICB2YXIgZCA9IEhbM107XG4gICAgICAgIHZhciBlID0gSFs0XTtcblxuICAgICAgICAvLyBDb21wdXRhdGlvblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDgwOyBpKyspIHtcbiAgICAgICAgICBpZiAoaSA8IDE2KSB7XG4gICAgICAgICAgICBXW2ldID0gTVtvZmZzZXQgKyBpXSB8IDA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBuID0gV1tpIC0gM10gXiBXW2kgLSA4XSBeIFdbaSAtIDE0XSBeIFdbaSAtIDE2XTtcbiAgICAgICAgICAgIFdbaV0gPSAobiA8PCAxKSB8IChuID4+PiAzMSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIHQgPSAoKGEgPDwgNSkgfCAoYSA+Pj4gMjcpKSArIGUgKyBXW2ldO1xuICAgICAgICAgIGlmIChpIDwgMjApIHtcbiAgICAgICAgICAgIHQgKz0gKChiICYgYykgfCAofmIgJiBkKSkgKyAweDVhODI3OTk5O1xuICAgICAgICAgIH0gZWxzZSBpZiAoaSA8IDQwKSB7XG4gICAgICAgICAgICB0ICs9IChiIF4gYyBeIGQpICsgMHg2ZWQ5ZWJhMTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGkgPCA2MCkge1xuICAgICAgICAgICAgdCArPSAoKGIgJiBjKSB8IChiICYgZCkgfCAoYyAmIGQpKSAtIDB4NzBlNDQzMjQ7XG4gICAgICAgICAgfSBlbHNlIC8qIGlmIChpIDwgODApICovIHtcbiAgICAgICAgICAgIHQgKz0gKGIgXiBjIF4gZCkgLSAweDM1OWQzZTJhO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGUgPSBkO1xuICAgICAgICAgIGQgPSBjO1xuICAgICAgICAgIGMgPSAoYiA8PCAzMCkgfCAoYiA+Pj4gMik7XG4gICAgICAgICAgYiA9IGE7XG4gICAgICAgICAgYSA9IHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnRlcm1lZGlhdGUgaGFzaCB2YWx1ZVxuICAgICAgICBIWzBdID0gKEhbMF0gKyBhKSB8IDA7XG4gICAgICAgIEhbMV0gPSAoSFsxXSArIGIpIHwgMDtcbiAgICAgICAgSFsyXSA9IChIWzJdICsgYykgfCAwO1xuICAgICAgICBIWzNdID0gKEhbM10gKyBkKSB8IDA7XG4gICAgICAgIEhbNF0gPSAoSFs0XSArIGUpIHwgMDtcbiAgICAgIH0sXG5cbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBkYXRhID0gdGhpcy5fZGF0YTtcbiAgICAgICAgdmFyIGRhdGFXb3JkcyA9IGRhdGEud29yZHM7XG5cbiAgICAgICAgdmFyIG5CaXRzVG90YWwgPSB0aGlzLl9uRGF0YUJ5dGVzICogODtcbiAgICAgICAgdmFyIG5CaXRzTGVmdCA9IGRhdGEuc2lnQnl0ZXMgKiA4O1xuXG4gICAgICAgIC8vIEFkZCBwYWRkaW5nXG4gICAgICAgIGRhdGFXb3Jkc1tuQml0c0xlZnQgPj4+IDVdIHw9IDB4ODAgPDwgKDI0IC0gbkJpdHNMZWZ0ICUgMzIpO1xuICAgICAgICBkYXRhV29yZHNbKCgobkJpdHNMZWZ0ICsgNjQpID4+PiA5KSA8PCA0KSArIDE0XSA9IE1hdGguZmxvb3IobkJpdHNUb3RhbCAvIDB4MTAwMDAwMDAwKTtcbiAgICAgICAgZGF0YVdvcmRzWygoKG5CaXRzTGVmdCArIDY0KSA+Pj4gOSkgPDwgNCkgKyAxNV0gPSBuQml0c1RvdGFsO1xuICAgICAgICBkYXRhLnNpZ0J5dGVzID0gZGF0YVdvcmRzLmxlbmd0aCAqIDQ7XG5cbiAgICAgICAgLy8gSGFzaCBmaW5hbCBibG9ja3NcbiAgICAgICAgdGhpcy5fcHJvY2VzcygpO1xuXG4gICAgICAgIC8vIFJldHVybiBmaW5hbCBjb21wdXRlZCBoYXNoXG4gICAgICAgIHJldHVybiB0aGlzLl9oYXNoO1xuICAgICAgfSxcblxuICAgICAgY2xvbmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgY2xvbmUgPSBIYXNoZXIuY2xvbmUuY2FsbCh0aGlzKTtcbiAgICAgICAgY2xvbmUuX2hhc2ggPSB0aGlzLl9oYXNoLmNsb25lKCk7XG5cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb24gdG8gdGhlIGhhc2hlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gaGFzaC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIGhhc2guXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBoYXNoID0gQ3J5cHRvSlMuU0hBMSgnbWVzc2FnZScpO1xuICAgICAqICAgICB2YXIgaGFzaCA9IENyeXB0b0pTLlNIQTEod29yZEFycmF5KTtcbiAgICAgKi9cbiAgICBDLlNIQTEgPSBIYXNoZXIuX2NyZWF0ZUhlbHBlcihTSEExKTtcblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9uIHRvIHRoZSBITUFDJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBoYXNoLlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30ga2V5IFRoZSBzZWNyZXQga2V5LlxuICAgICAqXG4gICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgSE1BQy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGhtYWMgPSBDcnlwdG9KUy5IbWFjU0hBMShtZXNzYWdlLCBrZXkpO1xuICAgICAqL1xuICAgIEMuSG1hY1NIQTEgPSBIYXNoZXIuX2NyZWF0ZUhtYWNIZWxwZXIoU0hBMSk7XG4gIH0oKSk7XG5cblxuICAoZnVuY3Rpb24oTWF0aCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgSGFzaGVyID0gQ19saWIuSGFzaGVyO1xuICAgIHZhciBDX2FsZ28gPSBDLmFsZ287XG5cbiAgICAvLyBJbml0aWFsaXphdGlvbiBhbmQgcm91bmQgY29uc3RhbnRzIHRhYmxlc1xuICAgIHZhciBIID0gW107XG4gICAgdmFyIEsgPSBbXTtcblxuICAgIC8vIENvbXB1dGUgY29uc3RhbnRzXG4gICAgKGZ1bmN0aW9uKCkge1xuICAgICAgZnVuY3Rpb24gaXNQcmltZShuKSB7XG4gICAgICAgIHZhciBzcXJ0TiA9IE1hdGguc3FydChuKTtcbiAgICAgICAgZm9yICh2YXIgZmFjdG9yID0gMjsgZmFjdG9yIDw9IHNxcnROOyBmYWN0b3IrKykge1xuICAgICAgICAgIGlmICghKG4gJSBmYWN0b3IpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGdldEZyYWN0aW9uYWxCaXRzKG4pIHtcbiAgICAgICAgcmV0dXJuICgobiAtIChuIHwgMCkpICogMHgxMDAwMDAwMDApIHwgMDtcbiAgICAgIH1cblxuICAgICAgdmFyIG4gPSAyO1xuICAgICAgdmFyIG5QcmltZSA9IDA7XG4gICAgICB3aGlsZSAoblByaW1lIDwgNjQpIHtcbiAgICAgICAgaWYgKGlzUHJpbWUobikpIHtcbiAgICAgICAgICBpZiAoblByaW1lIDwgOCkge1xuICAgICAgICAgICAgSFtuUHJpbWVdID0gZ2V0RnJhY3Rpb25hbEJpdHMoTWF0aC5wb3cobiwgMSAvIDIpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgS1tuUHJpbWVdID0gZ2V0RnJhY3Rpb25hbEJpdHMoTWF0aC5wb3cobiwgMSAvIDMpKTtcblxuICAgICAgICAgIG5QcmltZSsrO1xuICAgICAgICB9XG5cbiAgICAgICAgbisrO1xuICAgICAgfVxuICAgIH0oKSk7XG5cbiAgICAvLyBSZXVzYWJsZSBvYmplY3RcbiAgICB2YXIgVyA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogU0hBLTI1NiBoYXNoIGFsZ29yaXRobS5cbiAgICAgKi9cbiAgICB2YXIgU0hBMjU2ID0gQ19hbGdvLlNIQTI1NiA9IEhhc2hlci5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLl9oYXNoID0gbmV3IFdvcmRBcnJheS5pbml0KEguc2xpY2UoMCkpO1xuICAgICAgfSxcblxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbihNLCBvZmZzZXQpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIEggPSB0aGlzLl9oYXNoLndvcmRzO1xuXG4gICAgICAgIC8vIFdvcmtpbmcgdmFyaWFibGVzXG4gICAgICAgIHZhciBhID0gSFswXTtcbiAgICAgICAgdmFyIGIgPSBIWzFdO1xuICAgICAgICB2YXIgYyA9IEhbMl07XG4gICAgICAgIHZhciBkID0gSFszXTtcbiAgICAgICAgdmFyIGUgPSBIWzRdO1xuICAgICAgICB2YXIgZiA9IEhbNV07XG4gICAgICAgIHZhciBnID0gSFs2XTtcbiAgICAgICAgdmFyIGggPSBIWzddO1xuXG4gICAgICAgIC8vIENvbXB1dGF0aW9uXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNjQ7IGkrKykge1xuICAgICAgICAgIGlmIChpIDwgMTYpIHtcbiAgICAgICAgICAgIFdbaV0gPSBNW29mZnNldCArIGldIHwgMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIGdhbW1hMHggPSBXW2kgLSAxNV07XG4gICAgICAgICAgICB2YXIgZ2FtbWEwID0gKChnYW1tYTB4IDw8IDI1KSB8IChnYW1tYTB4ID4+PiA3KSkgXlxuICAgICAgICAgICAgICAoKGdhbW1hMHggPDwgMTQpIHwgKGdhbW1hMHggPj4+IDE4KSkgXlxuICAgICAgICAgICAgICAoZ2FtbWEweCA+Pj4gMyk7XG5cbiAgICAgICAgICAgIHZhciBnYW1tYTF4ID0gV1tpIC0gMl07XG4gICAgICAgICAgICB2YXIgZ2FtbWExID0gKChnYW1tYTF4IDw8IDE1KSB8IChnYW1tYTF4ID4+PiAxNykpIF5cbiAgICAgICAgICAgICAgKChnYW1tYTF4IDw8IDEzKSB8IChnYW1tYTF4ID4+PiAxOSkpIF5cbiAgICAgICAgICAgICAgKGdhbW1hMXggPj4+IDEwKTtcblxuICAgICAgICAgICAgV1tpXSA9IGdhbW1hMCArIFdbaSAtIDddICsgZ2FtbWExICsgV1tpIC0gMTZdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBjaCA9IChlICYgZikgXiAofmUgJiBnKTtcbiAgICAgICAgICB2YXIgbWFqID0gKGEgJiBiKSBeIChhICYgYykgXiAoYiAmIGMpO1xuXG4gICAgICAgICAgdmFyIHNpZ21hMCA9ICgoYSA8PCAzMCkgfCAoYSA+Pj4gMikpIF4gKChhIDw8IDE5KSB8IChhID4+PiAxMykpIF4gKChhIDw8IDEwKSB8IChhID4+PiAyMikpO1xuICAgICAgICAgIHZhciBzaWdtYTEgPSAoKGUgPDwgMjYpIHwgKGUgPj4+IDYpKSBeICgoZSA8PCAyMSkgfCAoZSA+Pj4gMTEpKSBeICgoZSA8PCA3KSB8IChlID4+PiAyNSkpO1xuXG4gICAgICAgICAgdmFyIHQxID0gaCArIHNpZ21hMSArIGNoICsgS1tpXSArIFdbaV07XG4gICAgICAgICAgdmFyIHQyID0gc2lnbWEwICsgbWFqO1xuXG4gICAgICAgICAgaCA9IGc7XG4gICAgICAgICAgZyA9IGY7XG4gICAgICAgICAgZiA9IGU7XG4gICAgICAgICAgZSA9IChkICsgdDEpIHwgMDtcbiAgICAgICAgICBkID0gYztcbiAgICAgICAgICBjID0gYjtcbiAgICAgICAgICBiID0gYTtcbiAgICAgICAgICBhID0gKHQxICsgdDIpIHwgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludGVybWVkaWF0ZSBoYXNoIHZhbHVlXG4gICAgICAgIEhbMF0gPSAoSFswXSArIGEpIHwgMDtcbiAgICAgICAgSFsxXSA9IChIWzFdICsgYikgfCAwO1xuICAgICAgICBIWzJdID0gKEhbMl0gKyBjKSB8IDA7XG4gICAgICAgIEhbM10gPSAoSFszXSArIGQpIHwgMDtcbiAgICAgICAgSFs0XSA9IChIWzRdICsgZSkgfCAwO1xuICAgICAgICBIWzVdID0gKEhbNV0gKyBmKSB8IDA7XG4gICAgICAgIEhbNl0gPSAoSFs2XSArIGcpIHwgMDtcbiAgICAgICAgSFs3XSA9IChIWzddICsgaCkgfCAwO1xuICAgICAgfSxcblxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLl9kYXRhO1xuICAgICAgICB2YXIgZGF0YVdvcmRzID0gZGF0YS53b3JkcztcblxuICAgICAgICB2YXIgbkJpdHNUb3RhbCA9IHRoaXMuX25EYXRhQnl0ZXMgKiA4O1xuICAgICAgICB2YXIgbkJpdHNMZWZ0ID0gZGF0YS5zaWdCeXRlcyAqIDg7XG5cbiAgICAgICAgLy8gQWRkIHBhZGRpbmdcbiAgICAgICAgZGF0YVdvcmRzW25CaXRzTGVmdCA+Pj4gNV0gfD0gMHg4MCA8PCAoMjQgLSBuQml0c0xlZnQgJSAzMik7XG4gICAgICAgIGRhdGFXb3Jkc1soKChuQml0c0xlZnQgKyA2NCkgPj4+IDkpIDw8IDQpICsgMTRdID0gTWF0aC5mbG9vcihuQml0c1RvdGFsIC8gMHgxMDAwMDAwMDApO1xuICAgICAgICBkYXRhV29yZHNbKCgobkJpdHNMZWZ0ICsgNjQpID4+PiA5KSA8PCA0KSArIDE1XSA9IG5CaXRzVG90YWw7XG4gICAgICAgIGRhdGEuc2lnQnl0ZXMgPSBkYXRhV29yZHMubGVuZ3RoICogNDtcblxuICAgICAgICAvLyBIYXNoIGZpbmFsIGJsb2Nrc1xuICAgICAgICB0aGlzLl9wcm9jZXNzKCk7XG5cbiAgICAgICAgLy8gUmV0dXJuIGZpbmFsIGNvbXB1dGVkIGhhc2hcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hhc2g7XG4gICAgICB9LFxuXG4gICAgICBjbG9uZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBjbG9uZSA9IEhhc2hlci5jbG9uZS5jYWxsKHRoaXMpO1xuICAgICAgICBjbG9uZS5faGFzaCA9IHRoaXMuX2hhc2guY2xvbmUoKTtcblxuICAgICAgICByZXR1cm4gY2xvbmU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbiB0byB0aGUgaGFzaGVyJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBoYXNoLlxuICAgICAqXG4gICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgaGFzaC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGhhc2ggPSBDcnlwdG9KUy5TSEEyNTYoJ21lc3NhZ2UnKTtcbiAgICAgKiAgICAgdmFyIGhhc2ggPSBDcnlwdG9KUy5TSEEyNTYod29yZEFycmF5KTtcbiAgICAgKi9cbiAgICBDLlNIQTI1NiA9IEhhc2hlci5fY3JlYXRlSGVscGVyKFNIQTI1Nik7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbiB0byB0aGUgSE1BQydzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gaGFzaC5cbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IGtleSBUaGUgc2VjcmV0IGtleS5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIEhNQUMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBobWFjID0gQ3J5cHRvSlMuSG1hY1NIQTI1NihtZXNzYWdlLCBrZXkpO1xuICAgICAqL1xuICAgIEMuSG1hY1NIQTI1NiA9IEhhc2hlci5fY3JlYXRlSG1hY0hlbHBlcihTSEEyNTYpO1xuICB9KE1hdGgpKTtcblxuXG4gIChmdW5jdGlvbigpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBXb3JkQXJyYXkgPSBDX2xpYi5Xb3JkQXJyYXk7XG4gICAgdmFyIENfZW5jID0gQy5lbmM7XG5cbiAgICAvKipcbiAgICAgKiBVVEYtMTYgQkUgZW5jb2Rpbmcgc3RyYXRlZ3kuXG4gICAgICovXG4gICAgdmFyIFV0ZjE2QkUgPSBDX2VuYy5VdGYxNiA9IENfZW5jLlV0ZjE2QkUgPSB7XG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnRzIGEgd29yZCBhcnJheSB0byBhIFVURi0xNiBCRSBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl9IHdvcmRBcnJheSBUaGUgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBVVEYtMTYgQkUgc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgdXRmMTZTdHJpbmcgPSBDcnlwdG9KUy5lbmMuVXRmMTYuc3RyaW5naWZ5KHdvcmRBcnJheSk7XG4gICAgICAgKi9cbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24od29yZEFycmF5KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgd29yZHMgPSB3b3JkQXJyYXkud29yZHM7XG4gICAgICAgIHZhciBzaWdCeXRlcyA9IHdvcmRBcnJheS5zaWdCeXRlcztcblxuICAgICAgICAvLyBDb252ZXJ0XG4gICAgICAgIHZhciB1dGYxNkNoYXJzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2lnQnl0ZXM7IGkgKz0gMikge1xuICAgICAgICAgIHZhciBjb2RlUG9pbnQgPSAod29yZHNbaSA+Pj4gMl0gPj4+ICgxNiAtIChpICUgNCkgKiA4KSkgJiAweGZmZmY7XG4gICAgICAgICAgdXRmMTZDaGFycy5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZVBvaW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXRmMTZDaGFycy5qb2luKCcnKTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgYSBVVEYtMTYgQkUgc3RyaW5nIHRvIGEgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXRmMTZTdHIgVGhlIFVURi0xNiBCRSBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHdvcmRBcnJheSA9IENyeXB0b0pTLmVuYy5VdGYxNi5wYXJzZSh1dGYxNlN0cmluZyk7XG4gICAgICAgKi9cbiAgICAgIHBhcnNlOiBmdW5jdGlvbih1dGYxNlN0cikge1xuICAgICAgICAvLyBTaG9ydGN1dFxuICAgICAgICB2YXIgdXRmMTZTdHJMZW5ndGggPSB1dGYxNlN0ci5sZW5ndGg7XG5cbiAgICAgICAgLy8gQ29udmVydFxuICAgICAgICB2YXIgd29yZHMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1dGYxNlN0ckxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgd29yZHNbaSA+Pj4gMV0gfD0gdXRmMTZTdHIuY2hhckNvZGVBdChpKSA8PCAoMTYgLSAoaSAlIDIpICogMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFdvcmRBcnJheS5jcmVhdGUod29yZHMsIHV0ZjE2U3RyTGVuZ3RoICogMik7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFVURi0xNiBMRSBlbmNvZGluZyBzdHJhdGVneS5cbiAgICAgKi9cbiAgICBDX2VuYy5VdGYxNkxFID0ge1xuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyBhIHdvcmQgYXJyYXkgdG8gYSBVVEYtMTYgTEUgc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fSB3b3JkQXJyYXkgVGhlIHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgVVRGLTE2IExFIHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHV0ZjE2U3RyID0gQ3J5cHRvSlMuZW5jLlV0ZjE2TEUuc3RyaW5naWZ5KHdvcmRBcnJheSk7XG4gICAgICAgKi9cbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24od29yZEFycmF5KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgd29yZHMgPSB3b3JkQXJyYXkud29yZHM7XG4gICAgICAgIHZhciBzaWdCeXRlcyA9IHdvcmRBcnJheS5zaWdCeXRlcztcblxuICAgICAgICAvLyBDb252ZXJ0XG4gICAgICAgIHZhciB1dGYxNkNoYXJzID0gW107XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2lnQnl0ZXM7IGkgKz0gMikge1xuICAgICAgICAgIHZhciBjb2RlUG9pbnQgPSBzd2FwRW5kaWFuKCh3b3Jkc1tpID4+PiAyXSA+Pj4gKDE2IC0gKGkgJSA0KSAqIDgpKSAmIDB4ZmZmZik7XG4gICAgICAgICAgdXRmMTZDaGFycy5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZVBvaW50KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXRmMTZDaGFycy5qb2luKCcnKTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgYSBVVEYtMTYgTEUgc3RyaW5nIHRvIGEgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXRmMTZTdHIgVGhlIFVURi0xNiBMRSBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHdvcmRBcnJheSA9IENyeXB0b0pTLmVuYy5VdGYxNkxFLnBhcnNlKHV0ZjE2U3RyKTtcbiAgICAgICAqL1xuICAgICAgcGFyc2U6IGZ1bmN0aW9uKHV0ZjE2U3RyKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciB1dGYxNlN0ckxlbmd0aCA9IHV0ZjE2U3RyLmxlbmd0aDtcblxuICAgICAgICAvLyBDb252ZXJ0XG4gICAgICAgIHZhciB3b3JkcyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHV0ZjE2U3RyTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB3b3Jkc1tpID4+PiAxXSB8PSBzd2FwRW5kaWFuKHV0ZjE2U3RyLmNoYXJDb2RlQXQoaSkgPDwgKDE2IC0gKGkgJSAyKSAqIDE2KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gV29yZEFycmF5LmNyZWF0ZSh3b3JkcywgdXRmMTZTdHJMZW5ndGggKiAyKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gc3dhcEVuZGlhbih3b3JkKSB7XG4gICAgICByZXR1cm4gKCh3b3JkIDw8IDgpICYgMHhmZjAwZmYwMCkgfCAoKHdvcmQgPj4+IDgpICYgMHgwMGZmMDBmZik7XG4gICAgfVxuICB9KCkpO1xuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIENoZWNrIGlmIHR5cGVkIGFycmF5cyBhcmUgc3VwcG9ydGVkXG4gICAgaWYgKHR5cGVvZiBBcnJheUJ1ZmZlciAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gU2hvcnRjdXRzXG4gICAgdmFyIEMgPSBDcnlwdG9KUztcbiAgICB2YXIgQ19saWIgPSBDLmxpYjtcbiAgICB2YXIgV29yZEFycmF5ID0gQ19saWIuV29yZEFycmF5O1xuXG4gICAgLy8gUmVmZXJlbmNlIG9yaWdpbmFsIGluaXRcbiAgICB2YXIgc3VwZXJJbml0ID0gV29yZEFycmF5LmluaXQ7XG5cbiAgICAvLyBBdWdtZW50IFdvcmRBcnJheS5pbml0IHRvIGhhbmRsZSB0eXBlZCBhcnJheXNcbiAgICB2YXIgc3ViSW5pdCA9IFdvcmRBcnJheS5pbml0ID0gZnVuY3Rpb24odHlwZWRBcnJheSkge1xuICAgICAgLy8gQ29udmVydCBidWZmZXJzIHRvIHVpbnQ4XG4gICAgICBpZiAodHlwZWRBcnJheSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XG4gICAgICAgIHR5cGVkQXJyYXkgPSBuZXcgVWludDhBcnJheSh0eXBlZEFycmF5KTtcbiAgICAgIH1cblxuICAgICAgLy8gQ29udmVydCBvdGhlciBhcnJheSB2aWV3cyB0byB1aW50OFxuICAgICAgaWYgKFxuICAgICAgICB0eXBlZEFycmF5IGluc3RhbmNlb2YgSW50OEFycmF5IHx8XG4gICAgICAgICh0eXBlb2YgVWludDhDbGFtcGVkQXJyYXkgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZWRBcnJheSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5KSB8fFxuICAgICAgICB0eXBlZEFycmF5IGluc3RhbmNlb2YgSW50MTZBcnJheSB8fFxuICAgICAgICB0eXBlZEFycmF5IGluc3RhbmNlb2YgVWludDE2QXJyYXkgfHxcbiAgICAgICAgdHlwZWRBcnJheSBpbnN0YW5jZW9mIEludDMyQXJyYXkgfHxcbiAgICAgICAgdHlwZWRBcnJheSBpbnN0YW5jZW9mIFVpbnQzMkFycmF5IHx8XG4gICAgICAgIHR5cGVkQXJyYXkgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXkgfHxcbiAgICAgICAgdHlwZWRBcnJheSBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheVxuICAgICAgKSB7XG4gICAgICAgIHR5cGVkQXJyYXkgPSBuZXcgVWludDhBcnJheSh0eXBlZEFycmF5LmJ1ZmZlciwgdHlwZWRBcnJheS5ieXRlT2Zmc2V0LCB0eXBlZEFycmF5LmJ5dGVMZW5ndGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgVWludDhBcnJheVxuICAgICAgaWYgKHR5cGVkQXJyYXkgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciB0eXBlZEFycmF5Qnl0ZUxlbmd0aCA9IHR5cGVkQXJyYXkuYnl0ZUxlbmd0aDtcblxuICAgICAgICAvLyBFeHRyYWN0IGJ5dGVzXG4gICAgICAgIHZhciB3b3JkcyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHR5cGVkQXJyYXlCeXRlTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB3b3Jkc1tpID4+PiAyXSB8PSB0eXBlZEFycmF5W2ldIDw8ICgyNCAtIChpICUgNCkgKiA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluaXRpYWxpemUgdGhpcyB3b3JkIGFycmF5XG4gICAgICAgIHN1cGVySW5pdC5jYWxsKHRoaXMsIHdvcmRzLCB0eXBlZEFycmF5Qnl0ZUxlbmd0aCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBFbHNlIGNhbGwgbm9ybWFsIGluaXRcbiAgICAgICAgc3VwZXJJbml0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHN1YkluaXQucHJvdG90eXBlID0gV29yZEFycmF5O1xuICB9KCkpO1xuXG5cbiAgLyoqIEBwcmVzZXJ2ZVxuICAoYykgMjAxMiBieSBD77+977+9ZHJpYyBNZXNuaWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG5cbiAgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxuXG4gICAgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci5cbiAgICAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuXG4gIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgXCJBUyBJU1wiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAgKi9cblxuICAoZnVuY3Rpb24oTWF0aCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgSGFzaGVyID0gQ19saWIuSGFzaGVyO1xuICAgIHZhciBDX2FsZ28gPSBDLmFsZ287XG5cbiAgICAvLyBDb25zdGFudHMgdGFibGVcbiAgICB2YXIgX3psID0gV29yZEFycmF5LmNyZWF0ZShbXG4gICAgICAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LFxuICAgICAgNywgNCwgMTMsIDEsIDEwLCA2LCAxNSwgMywgMTIsIDAsIDksIDUsIDIsIDE0LCAxMSwgOCxcbiAgICAgIDMsIDEwLCAxNCwgNCwgOSwgMTUsIDgsIDEsIDIsIDcsIDAsIDYsIDEzLCAxMSwgNSwgMTIsXG4gICAgICAxLCA5LCAxMSwgMTAsIDAsIDgsIDEyLCA0LCAxMywgMywgNywgMTUsIDE0LCA1LCA2LCAyLFxuICAgICAgNCwgMCwgNSwgOSwgNywgMTIsIDIsIDEwLCAxNCwgMSwgMywgOCwgMTEsIDYsIDE1LCAxM1xuICAgIF0pO1xuICAgIHZhciBfenIgPSBXb3JkQXJyYXkuY3JlYXRlKFtcbiAgICAgIDUsIDE0LCA3LCAwLCA5LCAyLCAxMSwgNCwgMTMsIDYsIDE1LCA4LCAxLCAxMCwgMywgMTIsXG4gICAgICA2LCAxMSwgMywgNywgMCwgMTMsIDUsIDEwLCAxNCwgMTUsIDgsIDEyLCA0LCA5LCAxLCAyLFxuICAgICAgMTUsIDUsIDEsIDMsIDcsIDE0LCA2LCA5LCAxMSwgOCwgMTIsIDIsIDEwLCAwLCA0LCAxMyxcbiAgICAgIDgsIDYsIDQsIDEsIDMsIDExLCAxNSwgMCwgNSwgMTIsIDIsIDEzLCA5LCA3LCAxMCwgMTQsXG4gICAgICAxMiwgMTUsIDEwLCA0LCAxLCA1LCA4LCA3LCA2LCAyLCAxMywgMTQsIDAsIDMsIDksIDExXG4gICAgXSk7XG4gICAgdmFyIF9zbCA9IFdvcmRBcnJheS5jcmVhdGUoW1xuICAgICAgMTEsIDE0LCAxNSwgMTIsIDUsIDgsIDcsIDksIDExLCAxMywgMTQsIDE1LCA2LCA3LCA5LCA4LFxuICAgICAgNywgNiwgOCwgMTMsIDExLCA5LCA3LCAxNSwgNywgMTIsIDE1LCA5LCAxMSwgNywgMTMsIDEyLFxuICAgICAgMTEsIDEzLCA2LCA3LCAxNCwgOSwgMTMsIDE1LCAxNCwgOCwgMTMsIDYsIDUsIDEyLCA3LCA1LFxuICAgICAgMTEsIDEyLCAxNCwgMTUsIDE0LCAxNSwgOSwgOCwgOSwgMTQsIDUsIDYsIDgsIDYsIDUsIDEyLFxuICAgICAgOSwgMTUsIDUsIDExLCA2LCA4LCAxMywgMTIsIDUsIDEyLCAxMywgMTQsIDExLCA4LCA1LCA2XG4gICAgXSk7XG4gICAgdmFyIF9zciA9IFdvcmRBcnJheS5jcmVhdGUoW1xuICAgICAgOCwgOSwgOSwgMTEsIDEzLCAxNSwgMTUsIDUsIDcsIDcsIDgsIDExLCAxNCwgMTQsIDEyLCA2LFxuICAgICAgOSwgMTMsIDE1LCA3LCAxMiwgOCwgOSwgMTEsIDcsIDcsIDEyLCA3LCA2LCAxNSwgMTMsIDExLFxuICAgICAgOSwgNywgMTUsIDExLCA4LCA2LCA2LCAxNCwgMTIsIDEzLCA1LCAxNCwgMTMsIDEzLCA3LCA1LFxuICAgICAgMTUsIDUsIDgsIDExLCAxNCwgMTQsIDYsIDE0LCA2LCA5LCAxMiwgOSwgMTIsIDUsIDE1LCA4LFxuICAgICAgOCwgNSwgMTIsIDksIDEyLCA1LCAxNCwgNiwgOCwgMTMsIDYsIDUsIDE1LCAxMywgMTEsIDExXG4gICAgXSk7XG5cbiAgICB2YXIgX2hsID0gV29yZEFycmF5LmNyZWF0ZShbMHgwMDAwMDAwMCwgMHg1QTgyNzk5OSwgMHg2RUQ5RUJBMSwgMHg4RjFCQkNEQywgMHhBOTUzRkQ0RV0pO1xuICAgIHZhciBfaHIgPSBXb3JkQXJyYXkuY3JlYXRlKFsweDUwQTI4QkU2LCAweDVDNEREMTI0LCAweDZENzAzRUYzLCAweDdBNkQ3NkU5LCAweDAwMDAwMDAwXSk7XG5cbiAgICAvKipcbiAgICAgKiBSSVBFTUQxNjAgaGFzaCBhbGdvcml0aG0uXG4gICAgICovXG4gICAgdmFyIFJJUEVNRDE2MCA9IENfYWxnby5SSVBFTUQxNjAgPSBIYXNoZXIuZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5faGFzaCA9IFdvcmRBcnJheS5jcmVhdGUoWzB4Njc0NTIzMDEsIDB4RUZDREFCODksIDB4OThCQURDRkUsIDB4MTAzMjU0NzYsIDB4QzNEMkUxRjBdKTtcbiAgICAgIH0sXG5cbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24oTSwgb2Zmc2V0KSB7XG5cbiAgICAgICAgLy8gU3dhcCBlbmRpYW5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgICAgdmFyIG9mZnNldF9pID0gb2Zmc2V0ICsgaTtcbiAgICAgICAgICB2YXIgTV9vZmZzZXRfaSA9IE1bb2Zmc2V0X2ldO1xuXG4gICAgICAgICAgLy8gU3dhcFxuICAgICAgICAgIE1bb2Zmc2V0X2ldID0gKFxuICAgICAgICAgICAgKCgoTV9vZmZzZXRfaSA8PCA4KSB8IChNX29mZnNldF9pID4+PiAyNCkpICYgMHgwMGZmMDBmZikgfFxuICAgICAgICAgICAgKCgoTV9vZmZzZXRfaSA8PCAyNCkgfCAoTV9vZmZzZXRfaSA+Pj4gOCkpICYgMHhmZjAwZmYwMClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBIID0gdGhpcy5faGFzaC53b3JkcztcbiAgICAgICAgdmFyIGhsID0gX2hsLndvcmRzO1xuICAgICAgICB2YXIgaHIgPSBfaHIud29yZHM7XG4gICAgICAgIHZhciB6bCA9IF96bC53b3JkcztcbiAgICAgICAgdmFyIHpyID0gX3pyLndvcmRzO1xuICAgICAgICB2YXIgc2wgPSBfc2wud29yZHM7XG4gICAgICAgIHZhciBzciA9IF9zci53b3JkcztcblxuICAgICAgICAvLyBXb3JraW5nIHZhcmlhYmxlc1xuICAgICAgICB2YXIgYWwsIGJsLCBjbCwgZGwsIGVsO1xuICAgICAgICB2YXIgYXIsIGJyLCBjciwgZHIsIGVyO1xuXG4gICAgICAgIGFyID0gYWwgPSBIWzBdO1xuICAgICAgICBiciA9IGJsID0gSFsxXTtcbiAgICAgICAgY3IgPSBjbCA9IEhbMl07XG4gICAgICAgIGRyID0gZGwgPSBIWzNdO1xuICAgICAgICBlciA9IGVsID0gSFs0XTtcbiAgICAgICAgLy8gQ29tcHV0YXRpb25cbiAgICAgICAgdmFyIHQ7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODA7IGkgKz0gMSkge1xuICAgICAgICAgIHQgPSAoYWwgKyBNW29mZnNldCArIHpsW2ldXSkgfCAwO1xuICAgICAgICAgIGlmIChpIDwgMTYpIHtcbiAgICAgICAgICAgIHQgKz0gZjEoYmwsIGNsLCBkbCkgKyBobFswXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGkgPCAzMikge1xuICAgICAgICAgICAgdCArPSBmMihibCwgY2wsIGRsKSArIGhsWzFdO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaSA8IDQ4KSB7XG4gICAgICAgICAgICB0ICs9IGYzKGJsLCBjbCwgZGwpICsgaGxbMl07XG4gICAgICAgICAgfSBlbHNlIGlmIChpIDwgNjQpIHtcbiAgICAgICAgICAgIHQgKz0gZjQoYmwsIGNsLCBkbCkgKyBobFszXTtcbiAgICAgICAgICB9IGVsc2UgeyAvLyBpZiAoaTw4MCkge1xuICAgICAgICAgICAgdCArPSBmNShibCwgY2wsIGRsKSArIGhsWzRdO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0ID0gdCB8IDA7XG4gICAgICAgICAgdCA9IHJvdGwodCwgc2xbaV0pO1xuICAgICAgICAgIHQgPSAodCArIGVsKSB8IDA7XG4gICAgICAgICAgYWwgPSBlbDtcbiAgICAgICAgICBlbCA9IGRsO1xuICAgICAgICAgIGRsID0gcm90bChjbCwgMTApO1xuICAgICAgICAgIGNsID0gYmw7XG4gICAgICAgICAgYmwgPSB0O1xuXG4gICAgICAgICAgdCA9IChhciArIE1bb2Zmc2V0ICsgenJbaV1dKSB8IDA7XG4gICAgICAgICAgaWYgKGkgPCAxNikge1xuICAgICAgICAgICAgdCArPSBmNShiciwgY3IsIGRyKSArIGhyWzBdO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaSA8IDMyKSB7XG4gICAgICAgICAgICB0ICs9IGY0KGJyLCBjciwgZHIpICsgaHJbMV07XG4gICAgICAgICAgfSBlbHNlIGlmIChpIDwgNDgpIHtcbiAgICAgICAgICAgIHQgKz0gZjMoYnIsIGNyLCBkcikgKyBoclsyXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGkgPCA2NCkge1xuICAgICAgICAgICAgdCArPSBmMihiciwgY3IsIGRyKSArIGhyWzNdO1xuICAgICAgICAgIH0gZWxzZSB7IC8vIGlmIChpPDgwKSB7XG4gICAgICAgICAgICB0ICs9IGYxKGJyLCBjciwgZHIpICsgaHJbNF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHQgPSB0IHwgMDtcbiAgICAgICAgICB0ID0gcm90bCh0LCBzcltpXSk7XG4gICAgICAgICAgdCA9ICh0ICsgZXIpIHwgMDtcbiAgICAgICAgICBhciA9IGVyO1xuICAgICAgICAgIGVyID0gZHI7XG4gICAgICAgICAgZHIgPSByb3RsKGNyLCAxMCk7XG4gICAgICAgICAgY3IgPSBicjtcbiAgICAgICAgICBiciA9IHQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSW50ZXJtZWRpYXRlIGhhc2ggdmFsdWVcbiAgICAgICAgdCA9IChIWzFdICsgY2wgKyBkcikgfCAwO1xuICAgICAgICBIWzFdID0gKEhbMl0gKyBkbCArIGVyKSB8IDA7XG4gICAgICAgIEhbMl0gPSAoSFszXSArIGVsICsgYXIpIHwgMDtcbiAgICAgICAgSFszXSA9IChIWzRdICsgYWwgKyBicikgfCAwO1xuICAgICAgICBIWzRdID0gKEhbMF0gKyBibCArIGNyKSB8IDA7XG4gICAgICAgIEhbMF0gPSB0O1xuICAgICAgfSxcblxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLl9kYXRhO1xuICAgICAgICB2YXIgZGF0YVdvcmRzID0gZGF0YS53b3JkcztcblxuICAgICAgICB2YXIgbkJpdHNUb3RhbCA9IHRoaXMuX25EYXRhQnl0ZXMgKiA4O1xuICAgICAgICB2YXIgbkJpdHNMZWZ0ID0gZGF0YS5zaWdCeXRlcyAqIDg7XG5cbiAgICAgICAgLy8gQWRkIHBhZGRpbmdcbiAgICAgICAgZGF0YVdvcmRzW25CaXRzTGVmdCA+Pj4gNV0gfD0gMHg4MCA8PCAoMjQgLSBuQml0c0xlZnQgJSAzMik7XG4gICAgICAgIGRhdGFXb3Jkc1soKChuQml0c0xlZnQgKyA2NCkgPj4+IDkpIDw8IDQpICsgMTRdID0gKFxuICAgICAgICAgICgoKG5CaXRzVG90YWwgPDwgOCkgfCAobkJpdHNUb3RhbCA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHxcbiAgICAgICAgICAoKChuQml0c1RvdGFsIDw8IDI0KSB8IChuQml0c1RvdGFsID4+PiA4KSkgJiAweGZmMDBmZjAwKVxuICAgICAgICApO1xuICAgICAgICBkYXRhLnNpZ0J5dGVzID0gKGRhdGFXb3Jkcy5sZW5ndGggKyAxKSAqIDQ7XG5cbiAgICAgICAgLy8gSGFzaCBmaW5hbCBibG9ja3NcbiAgICAgICAgdGhpcy5fcHJvY2VzcygpO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgaGFzaCA9IHRoaXMuX2hhc2g7XG4gICAgICAgIHZhciBIID0gaGFzaC53b3JkcztcblxuICAgICAgICAvLyBTd2FwIGVuZGlhblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDU7IGkrKykge1xuICAgICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgICAgdmFyIEhfaSA9IEhbaV07XG5cbiAgICAgICAgICAvLyBTd2FwXG4gICAgICAgICAgSFtpXSA9ICgoKEhfaSA8PCA4KSB8IChIX2kgPj4+IDI0KSkgJiAweDAwZmYwMGZmKSB8XG4gICAgICAgICAgICAoKChIX2kgPDwgMjQpIHwgKEhfaSA+Pj4gOCkpICYgMHhmZjAwZmYwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZXR1cm4gZmluYWwgY29tcHV0ZWQgaGFzaFxuICAgICAgICByZXR1cm4gaGFzaDtcbiAgICAgIH0sXG5cbiAgICAgIGNsb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGNsb25lID0gSGFzaGVyLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIGNsb25lLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpO1xuXG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH1cbiAgICB9KTtcblxuXG4gICAgZnVuY3Rpb24gZjEoeCwgeSwgeikge1xuICAgICAgcmV0dXJuICgoeCkgXiAoeSkgXiAoeikpO1xuXG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZjIoeCwgeSwgeikge1xuICAgICAgcmV0dXJuICgoKHgpICYgKHkpKSB8ICgofngpICYgKHopKSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZjMoeCwgeSwgeikge1xuICAgICAgcmV0dXJuICgoKHgpIHwgKH4oeSkpKSBeICh6KSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZjQoeCwgeSwgeikge1xuICAgICAgcmV0dXJuICgoKHgpICYgKHopKSB8ICgoeSkgJiAofih6KSkpKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBmNSh4LCB5LCB6KSB7XG4gICAgICByZXR1cm4gKCh4KSBeICgoeSkgfCAofih6KSkpKTtcblxuICAgIH1cblxuICAgIGZ1bmN0aW9uIHJvdGwoeCwgbikge1xuICAgICAgcmV0dXJuICh4IDw8IG4pIHwgKHggPj4+ICgzMiAtIG4pKTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9uIHRvIHRoZSBoYXNoZXIncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGhhc2guXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBoYXNoLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgaGFzaCA9IENyeXB0b0pTLlJJUEVNRDE2MCgnbWVzc2FnZScpO1xuICAgICAqICAgICB2YXIgaGFzaCA9IENyeXB0b0pTLlJJUEVNRDE2MCh3b3JkQXJyYXkpO1xuICAgICAqL1xuICAgIEMuUklQRU1EMTYwID0gSGFzaGVyLl9jcmVhdGVIZWxwZXIoUklQRU1EMTYwKTtcblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9uIHRvIHRoZSBITUFDJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBoYXNoLlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30ga2V5IFRoZSBzZWNyZXQga2V5LlxuICAgICAqXG4gICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgSE1BQy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGhtYWMgPSBDcnlwdG9KUy5IbWFjUklQRU1EMTYwKG1lc3NhZ2UsIGtleSk7XG4gICAgICovXG4gICAgQy5IbWFjUklQRU1EMTYwID0gSGFzaGVyLl9jcmVhdGVIbWFjSGVscGVyKFJJUEVNRDE2MCk7XG4gIH0oTWF0aCkpO1xuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIEJhc2UgPSBDX2xpYi5CYXNlO1xuICAgIHZhciBDX2VuYyA9IEMuZW5jO1xuICAgIHZhciBVdGY4ID0gQ19lbmMuVXRmODtcbiAgICB2YXIgQ19hbGdvID0gQy5hbGdvO1xuXG4gICAgLyoqXG4gICAgICogSE1BQyBhbGdvcml0aG0uXG4gICAgICovXG4gICAgdmFyIEhNQUMgPSBDX2FsZ28uSE1BQyA9IEJhc2UuZXh0ZW5kKHtcbiAgICAgIC8qKlxuICAgICAgICogSW5pdGlhbGl6ZXMgYSBuZXdseSBjcmVhdGVkIEhNQUMuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtIYXNoZXJ9IGhhc2hlciBUaGUgaGFzaCBhbGdvcml0aG0gdG8gdXNlLlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBrZXkgVGhlIHNlY3JldCBrZXkuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGhtYWNIYXNoZXIgPSBDcnlwdG9KUy5hbGdvLkhNQUMuY3JlYXRlKENyeXB0b0pTLmFsZ28uU0hBMjU2LCBrZXkpO1xuICAgICAgICovXG4gICAgICBpbml0OiBmdW5jdGlvbihoYXNoZXIsIGtleSkge1xuICAgICAgICAvLyBJbml0IGhhc2hlclxuICAgICAgICBoYXNoZXIgPSB0aGlzLl9oYXNoZXIgPSBuZXcgaGFzaGVyLmluaXQoKTtcblxuICAgICAgICAvLyBDb252ZXJ0IHN0cmluZyB0byBXb3JkQXJyYXksIGVsc2UgYXNzdW1lIFdvcmRBcnJheSBhbHJlYWR5XG4gICAgICAgIGlmICh0eXBlb2Yga2V5ID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAga2V5ID0gVXRmOC5wYXJzZShrZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBoYXNoZXJCbG9ja1NpemUgPSBoYXNoZXIuYmxvY2tTaXplO1xuICAgICAgICB2YXIgaGFzaGVyQmxvY2tTaXplQnl0ZXMgPSBoYXNoZXJCbG9ja1NpemUgKiA0O1xuXG4gICAgICAgIC8vIEFsbG93IGFyYml0cmFyeSBsZW5ndGgga2V5c1xuICAgICAgICBpZiAoa2V5LnNpZ0J5dGVzID4gaGFzaGVyQmxvY2tTaXplQnl0ZXMpIHtcbiAgICAgICAgICBrZXkgPSBoYXNoZXIuZmluYWxpemUoa2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENsYW1wIGV4Y2VzcyBiaXRzXG4gICAgICAgIGtleS5jbGFtcCgpO1xuXG4gICAgICAgIC8vIENsb25lIGtleSBmb3IgaW5uZXIgYW5kIG91dGVyIHBhZHNcbiAgICAgICAgdmFyIG9LZXkgPSB0aGlzLl9vS2V5ID0ga2V5LmNsb25lKCk7XG4gICAgICAgIHZhciBpS2V5ID0gdGhpcy5faUtleSA9IGtleS5jbG9uZSgpO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgb0tleVdvcmRzID0gb0tleS53b3JkcztcbiAgICAgICAgdmFyIGlLZXlXb3JkcyA9IGlLZXkud29yZHM7XG5cbiAgICAgICAgLy8gWE9SIGtleXMgd2l0aCBwYWQgY29uc3RhbnRzXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaGFzaGVyQmxvY2tTaXplOyBpKyspIHtcbiAgICAgICAgICBvS2V5V29yZHNbaV0gXj0gMHg1YzVjNWM1YztcbiAgICAgICAgICBpS2V5V29yZHNbaV0gXj0gMHgzNjM2MzYzNjtcbiAgICAgICAgfVxuICAgICAgICBvS2V5LnNpZ0J5dGVzID0gaUtleS5zaWdCeXRlcyA9IGhhc2hlckJsb2NrU2l6ZUJ5dGVzO1xuXG4gICAgICAgIC8vIFNldCBpbml0aWFsIHZhbHVlc1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc2V0cyB0aGlzIEhNQUMgdG8gaXRzIGluaXRpYWwgc3RhdGUuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgaG1hY0hhc2hlci5yZXNldCgpO1xuICAgICAgICovXG4gICAgICByZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBoYXNoZXIgPSB0aGlzLl9oYXNoZXI7XG5cbiAgICAgICAgLy8gUmVzZXRcbiAgICAgICAgaGFzaGVyLnJlc2V0KCk7XG4gICAgICAgIGhhc2hlci51cGRhdGUodGhpcy5faUtleSk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFVwZGF0ZXMgdGhpcyBITUFDIHdpdGggYSBtZXNzYWdlLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZVVwZGF0ZSBUaGUgbWVzc2FnZSB0byBhcHBlbmQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7SE1BQ30gVGhpcyBITUFDIGluc3RhbmNlLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIGhtYWNIYXNoZXIudXBkYXRlKCdtZXNzYWdlJyk7XG4gICAgICAgKiAgICAgaG1hY0hhc2hlci51cGRhdGUod29yZEFycmF5KTtcbiAgICAgICAqL1xuICAgICAgdXBkYXRlOiBmdW5jdGlvbihtZXNzYWdlVXBkYXRlKSB7XG4gICAgICAgIHRoaXMuX2hhc2hlci51cGRhdGUobWVzc2FnZVVwZGF0ZSk7XG5cbiAgICAgICAgLy8gQ2hhaW5hYmxlXG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBGaW5hbGl6ZXMgdGhlIEhNQUMgY29tcHV0YXRpb24uXG4gICAgICAgKiBOb3RlIHRoYXQgdGhlIGZpbmFsaXplIG9wZXJhdGlvbiBpcyBlZmZlY3RpdmVseSBhIGRlc3RydWN0aXZlLCByZWFkLW9uY2Ugb3BlcmF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZVVwZGF0ZSAoT3B0aW9uYWwpIEEgZmluYWwgbWVzc2FnZSB1cGRhdGUuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgSE1BQy5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgaG1hYyA9IGhtYWNIYXNoZXIuZmluYWxpemUoKTtcbiAgICAgICAqICAgICB2YXIgaG1hYyA9IGhtYWNIYXNoZXIuZmluYWxpemUoJ21lc3NhZ2UnKTtcbiAgICAgICAqICAgICB2YXIgaG1hYyA9IGhtYWNIYXNoZXIuZmluYWxpemUod29yZEFycmF5KTtcbiAgICAgICAqL1xuICAgICAgZmluYWxpemU6IGZ1bmN0aW9uKG1lc3NhZ2VVcGRhdGUpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIGhhc2hlciA9IHRoaXMuX2hhc2hlcjtcblxuICAgICAgICAvLyBDb21wdXRlIEhNQUNcbiAgICAgICAgdmFyIGlubmVySGFzaCA9IGhhc2hlci5maW5hbGl6ZShtZXNzYWdlVXBkYXRlKTtcbiAgICAgICAgaGFzaGVyLnJlc2V0KCk7XG4gICAgICAgIHZhciBobWFjID0gaGFzaGVyLmZpbmFsaXplKHRoaXMuX29LZXkuY2xvbmUoKS5jb25jYXQoaW5uZXJIYXNoKSk7XG5cbiAgICAgICAgcmV0dXJuIGhtYWM7XG4gICAgICB9XG4gICAgfSk7XG4gIH0oKSk7XG5cblxuICAoZnVuY3Rpb24oKSB7XG4gICAgLy8gU2hvcnRjdXRzXG4gICAgdmFyIEMgPSBDcnlwdG9KUztcbiAgICB2YXIgQ19saWIgPSBDLmxpYjtcbiAgICB2YXIgQmFzZSA9IENfbGliLkJhc2U7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgQ19hbGdvID0gQy5hbGdvO1xuICAgIHZhciBTSEExID0gQ19hbGdvLlNIQTE7XG4gICAgdmFyIEhNQUMgPSBDX2FsZ28uSE1BQztcblxuICAgIC8qKlxuICAgICAqIFBhc3N3b3JkLUJhc2VkIEtleSBEZXJpdmF0aW9uIEZ1bmN0aW9uIDIgYWxnb3JpdGhtLlxuICAgICAqL1xuICAgIHZhciBQQktERjIgPSBDX2FsZ28uUEJLREYyID0gQmFzZS5leHRlbmQoe1xuICAgICAgLyoqXG4gICAgICAgKiBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGtleVNpemUgVGhlIGtleSBzaXplIGluIHdvcmRzIHRvIGdlbmVyYXRlLiBEZWZhdWx0OiA0ICgxMjggYml0cylcbiAgICAgICAqIEBwcm9wZXJ0eSB7SGFzaGVyfSBoYXNoZXIgVGhlIGhhc2hlciB0byB1c2UuIERlZmF1bHQ6IFNIQTFcbiAgICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpdGVyYXRpb25zIFRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucyB0byBwZXJmb3JtLiBEZWZhdWx0OiAxXG4gICAgICAgKi9cbiAgICAgIGNmZzogQmFzZS5leHRlbmQoe1xuICAgICAgICBrZXlTaXplOiAxMjggLyAzMixcbiAgICAgICAgaGFzaGVyOiBTSEExLFxuICAgICAgICBpdGVyYXRpb25zOiAxXG4gICAgICB9KSxcblxuICAgICAgLyoqXG4gICAgICAgKiBJbml0aWFsaXplcyBhIG5ld2x5IGNyZWF0ZWQga2V5IGRlcml2YXRpb24gZnVuY3Rpb24uXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNmZyAoT3B0aW9uYWwpIFRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gdXNlIGZvciB0aGUgZGVyaXZhdGlvbi5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIga2RmID0gQ3J5cHRvSlMuYWxnby5QQktERjIuY3JlYXRlKCk7XG4gICAgICAgKiAgICAgdmFyIGtkZiA9IENyeXB0b0pTLmFsZ28uUEJLREYyLmNyZWF0ZSh7IGtleVNpemU6IDggfSk7XG4gICAgICAgKiAgICAgdmFyIGtkZiA9IENyeXB0b0pTLmFsZ28uUEJLREYyLmNyZWF0ZSh7IGtleVNpemU6IDgsIGl0ZXJhdGlvbnM6IDEwMDAgfSk7XG4gICAgICAgKi9cbiAgICAgIGluaXQ6IGZ1bmN0aW9uKGNmZykge1xuICAgICAgICB0aGlzLmNmZyA9IHRoaXMuY2ZnLmV4dGVuZChjZmcpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb21wdXRlcyB0aGUgUGFzc3dvcmQtQmFzZWQgS2V5IERlcml2YXRpb24gRnVuY3Rpb24gMi5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IHBhc3N3b3JkIFRoZSBwYXNzd29yZC5cbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gc2FsdCBBIHNhbHQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgZGVyaXZlZCBrZXkuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGtleSA9IGtkZi5jb21wdXRlKHBhc3N3b3JkLCBzYWx0KTtcbiAgICAgICAqL1xuICAgICAgY29tcHV0ZTogZnVuY3Rpb24ocGFzc3dvcmQsIHNhbHQpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIGNmZyA9IHRoaXMuY2ZnO1xuXG4gICAgICAgIC8vIEluaXQgSE1BQ1xuICAgICAgICB2YXIgaG1hYyA9IEhNQUMuY3JlYXRlKGNmZy5oYXNoZXIsIHBhc3N3b3JkKTtcblxuICAgICAgICAvLyBJbml0aWFsIHZhbHVlc1xuICAgICAgICB2YXIgZGVyaXZlZEtleSA9IFdvcmRBcnJheS5jcmVhdGUoKTtcbiAgICAgICAgdmFyIGJsb2NrSW5kZXggPSBXb3JkQXJyYXkuY3JlYXRlKFsweDAwMDAwMDAxXSk7XG5cbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBkZXJpdmVkS2V5V29yZHMgPSBkZXJpdmVkS2V5LndvcmRzO1xuICAgICAgICB2YXIgYmxvY2tJbmRleFdvcmRzID0gYmxvY2tJbmRleC53b3JkcztcbiAgICAgICAgdmFyIGtleVNpemUgPSBjZmcua2V5U2l6ZTtcbiAgICAgICAgdmFyIGl0ZXJhdGlvbnMgPSBjZmcuaXRlcmF0aW9ucztcblxuICAgICAgICAvLyBHZW5lcmF0ZSBrZXlcbiAgICAgICAgd2hpbGUgKGRlcml2ZWRLZXlXb3Jkcy5sZW5ndGggPCBrZXlTaXplKSB7XG4gICAgICAgICAgdmFyIGJsb2NrID0gaG1hYy51cGRhdGUoc2FsdCkuZmluYWxpemUoYmxvY2tJbmRleCk7XG4gICAgICAgICAgaG1hYy5yZXNldCgpO1xuXG4gICAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgICAgdmFyIGJsb2NrV29yZHMgPSBibG9jay53b3JkcztcbiAgICAgICAgICB2YXIgYmxvY2tXb3Jkc0xlbmd0aCA9IGJsb2NrV29yZHMubGVuZ3RoO1xuXG4gICAgICAgICAgLy8gSXRlcmF0aW9uc1xuICAgICAgICAgIHZhciBpbnRlcm1lZGlhdGUgPSBibG9jaztcbiAgICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGl0ZXJhdGlvbnM7IGkrKykge1xuICAgICAgICAgICAgaW50ZXJtZWRpYXRlID0gaG1hYy5maW5hbGl6ZShpbnRlcm1lZGlhdGUpO1xuICAgICAgICAgICAgaG1hYy5yZXNldCgpO1xuXG4gICAgICAgICAgICAvLyBTaG9ydGN1dFxuICAgICAgICAgICAgdmFyIGludGVybWVkaWF0ZVdvcmRzID0gaW50ZXJtZWRpYXRlLndvcmRzO1xuXG4gICAgICAgICAgICAvLyBYT1IgaW50ZXJtZWRpYXRlIHdpdGggYmxvY2tcbiAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYmxvY2tXb3Jkc0xlbmd0aDsgaisrKSB7XG4gICAgICAgICAgICAgIGJsb2NrV29yZHNbal0gXj0gaW50ZXJtZWRpYXRlV29yZHNbal07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVyaXZlZEtleS5jb25jYXQoYmxvY2spO1xuICAgICAgICAgIGJsb2NrSW5kZXhXb3Jkc1swXSsrO1xuICAgICAgICB9XG4gICAgICAgIGRlcml2ZWRLZXkuc2lnQnl0ZXMgPSBrZXlTaXplICogNDtcblxuICAgICAgICByZXR1cm4gZGVyaXZlZEtleTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBQYXNzd29yZC1CYXNlZCBLZXkgRGVyaXZhdGlvbiBGdW5jdGlvbiAyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBwYXNzd29yZCBUaGUgcGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBzYWx0IEEgc2FsdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gY2ZnIChPcHRpb25hbCkgVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB1c2UgZm9yIHRoaXMgY29tcHV0YXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBkZXJpdmVkIGtleS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGtleSA9IENyeXB0b0pTLlBCS0RGMihwYXNzd29yZCwgc2FsdCk7XG4gICAgICogICAgIHZhciBrZXkgPSBDcnlwdG9KUy5QQktERjIocGFzc3dvcmQsIHNhbHQsIHsga2V5U2l6ZTogOCB9KTtcbiAgICAgKiAgICAgdmFyIGtleSA9IENyeXB0b0pTLlBCS0RGMihwYXNzd29yZCwgc2FsdCwgeyBrZXlTaXplOiA4LCBpdGVyYXRpb25zOiAxMDAwIH0pO1xuICAgICAqL1xuICAgIEMuUEJLREYyID0gZnVuY3Rpb24ocGFzc3dvcmQsIHNhbHQsIGNmZykge1xuICAgICAgcmV0dXJuIFBCS0RGMi5jcmVhdGUoY2ZnKS5jb21wdXRlKHBhc3N3b3JkLCBzYWx0KTtcbiAgICB9O1xuICB9KCkpO1xuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIEJhc2UgPSBDX2xpYi5CYXNlO1xuICAgIHZhciBXb3JkQXJyYXkgPSBDX2xpYi5Xb3JkQXJyYXk7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcbiAgICB2YXIgTUQ1ID0gQ19hbGdvLk1ENTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMga2V5IGRlcml2YXRpb24gZnVuY3Rpb24gaXMgbWVhbnQgdG8gY29uZm9ybSB3aXRoIEVWUF9CeXRlc1RvS2V5LlxuICAgICAqIHd3dy5vcGVuc3NsLm9yZy9kb2NzL2NyeXB0by9FVlBfQnl0ZXNUb0tleS5odG1sXG4gICAgICovXG4gICAgdmFyIEV2cEtERiA9IENfYWxnby5FdnBLREYgPSBCYXNlLmV4dGVuZCh7XG4gICAgICAvKipcbiAgICAgICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkge251bWJlcn0ga2V5U2l6ZSBUaGUga2V5IHNpemUgaW4gd29yZHMgdG8gZ2VuZXJhdGUuIERlZmF1bHQ6IDQgKDEyOCBiaXRzKVxuICAgICAgICogQHByb3BlcnR5IHtIYXNoZXJ9IGhhc2hlciBUaGUgaGFzaCBhbGdvcml0aG0gdG8gdXNlLiBEZWZhdWx0OiBNRDVcbiAgICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpdGVyYXRpb25zIFRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucyB0byBwZXJmb3JtLiBEZWZhdWx0OiAxXG4gICAgICAgKi9cbiAgICAgIGNmZzogQmFzZS5leHRlbmQoe1xuICAgICAgICBrZXlTaXplOiAxMjggLyAzMixcbiAgICAgICAgaGFzaGVyOiBNRDUsXG4gICAgICAgIGl0ZXJhdGlvbnM6IDFcbiAgICAgIH0pLFxuXG4gICAgICAvKipcbiAgICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHkgY3JlYXRlZCBrZXkgZGVyaXZhdGlvbiBmdW5jdGlvbi5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge09iamVjdH0gY2ZnIChPcHRpb25hbCkgVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB1c2UgZm9yIHRoZSBkZXJpdmF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBrZGYgPSBDcnlwdG9KUy5hbGdvLkV2cEtERi5jcmVhdGUoKTtcbiAgICAgICAqICAgICB2YXIga2RmID0gQ3J5cHRvSlMuYWxnby5FdnBLREYuY3JlYXRlKHsga2V5U2l6ZTogOCB9KTtcbiAgICAgICAqICAgICB2YXIga2RmID0gQ3J5cHRvSlMuYWxnby5FdnBLREYuY3JlYXRlKHsga2V5U2l6ZTogOCwgaXRlcmF0aW9uczogMTAwMCB9KTtcbiAgICAgICAqL1xuICAgICAgaW5pdDogZnVuY3Rpb24oY2ZnKSB7XG4gICAgICAgIHRoaXMuY2ZnID0gdGhpcy5jZmcuZXh0ZW5kKGNmZyk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIERlcml2ZXMgYSBrZXkgZnJvbSBhIHBhc3N3b3JkLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gcGFzc3dvcmQgVGhlIHBhc3N3b3JkLlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBzYWx0IEEgc2FsdC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBkZXJpdmVkIGtleS5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIga2V5ID0ga2RmLmNvbXB1dGUocGFzc3dvcmQsIHNhbHQpO1xuICAgICAgICovXG4gICAgICBjb21wdXRlOiBmdW5jdGlvbihwYXNzd29yZCwgc2FsdCkge1xuICAgICAgICB2YXIgYmxvY2s7XG5cbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIGNmZyA9IHRoaXMuY2ZnO1xuXG4gICAgICAgIC8vIEluaXQgaGFzaGVyXG4gICAgICAgIHZhciBoYXNoZXIgPSBjZmcuaGFzaGVyLmNyZWF0ZSgpO1xuXG4gICAgICAgIC8vIEluaXRpYWwgdmFsdWVzXG4gICAgICAgIHZhciBkZXJpdmVkS2V5ID0gV29yZEFycmF5LmNyZWF0ZSgpO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgZGVyaXZlZEtleVdvcmRzID0gZGVyaXZlZEtleS53b3JkcztcbiAgICAgICAgdmFyIGtleVNpemUgPSBjZmcua2V5U2l6ZTtcbiAgICAgICAgdmFyIGl0ZXJhdGlvbnMgPSBjZmcuaXRlcmF0aW9ucztcblxuICAgICAgICAvLyBHZW5lcmF0ZSBrZXlcbiAgICAgICAgd2hpbGUgKGRlcml2ZWRLZXlXb3Jkcy5sZW5ndGggPCBrZXlTaXplKSB7XG4gICAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICBoYXNoZXIudXBkYXRlKGJsb2NrKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYmxvY2sgPSBoYXNoZXIudXBkYXRlKHBhc3N3b3JkKS5maW5hbGl6ZShzYWx0KTtcbiAgICAgICAgICBoYXNoZXIucmVzZXQoKTtcblxuICAgICAgICAgIC8vIEl0ZXJhdGlvbnNcbiAgICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGl0ZXJhdGlvbnM7IGkrKykge1xuICAgICAgICAgICAgYmxvY2sgPSBoYXNoZXIuZmluYWxpemUoYmxvY2spO1xuICAgICAgICAgICAgaGFzaGVyLnJlc2V0KCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVyaXZlZEtleS5jb25jYXQoYmxvY2spO1xuICAgICAgICB9XG4gICAgICAgIGRlcml2ZWRLZXkuc2lnQnl0ZXMgPSBrZXlTaXplICogNDtcblxuICAgICAgICByZXR1cm4gZGVyaXZlZEtleTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIERlcml2ZXMgYSBrZXkgZnJvbSBhIHBhc3N3b3JkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBwYXNzd29yZCBUaGUgcGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBzYWx0IEEgc2FsdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gY2ZnIChPcHRpb25hbCkgVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB1c2UgZm9yIHRoaXMgY29tcHV0YXRpb24uXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBkZXJpdmVkIGtleS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGtleSA9IENyeXB0b0pTLkV2cEtERihwYXNzd29yZCwgc2FsdCk7XG4gICAgICogICAgIHZhciBrZXkgPSBDcnlwdG9KUy5FdnBLREYocGFzc3dvcmQsIHNhbHQsIHsga2V5U2l6ZTogOCB9KTtcbiAgICAgKiAgICAgdmFyIGtleSA9IENyeXB0b0pTLkV2cEtERihwYXNzd29yZCwgc2FsdCwgeyBrZXlTaXplOiA4LCBpdGVyYXRpb25zOiAxMDAwIH0pO1xuICAgICAqL1xuICAgIEMuRXZwS0RGID0gZnVuY3Rpb24ocGFzc3dvcmQsIHNhbHQsIGNmZykge1xuICAgICAgcmV0dXJuIEV2cEtERi5jcmVhdGUoY2ZnKS5jb21wdXRlKHBhc3N3b3JkLCBzYWx0KTtcbiAgICB9O1xuICB9KCkpO1xuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgQ19hbGdvID0gQy5hbGdvO1xuICAgIHZhciBTSEEyNTYgPSBDX2FsZ28uU0hBMjU2O1xuXG4gICAgLyoqXG4gICAgICogU0hBLTIyNCBoYXNoIGFsZ29yaXRobS5cbiAgICAgKi9cbiAgICB2YXIgU0hBMjI0ID0gQ19hbGdvLlNIQTIyNCA9IFNIQTI1Ni5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICB0aGlzLl9oYXNoID0gbmV3IFdvcmRBcnJheS5pbml0KFtcbiAgICAgICAgICAweGMxMDU5ZWQ4LCAweDM2N2NkNTA3LCAweDMwNzBkZDE3LCAweGY3MGU1OTM5LFxuICAgICAgICAgIDB4ZmZjMDBiMzEsIDB4Njg1ODE1MTEsIDB4NjRmOThmYTcsIDB4YmVmYTRmYTRcbiAgICAgICAgXSk7XG4gICAgICB9LFxuXG4gICAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBoYXNoID0gU0hBMjU2Ll9kb0ZpbmFsaXplLmNhbGwodGhpcyk7XG5cbiAgICAgICAgaGFzaC5zaWdCeXRlcyAtPSA0O1xuXG4gICAgICAgIHJldHVybiBoYXNoO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb24gdG8gdGhlIGhhc2hlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gaGFzaC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIGhhc2guXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBoYXNoID0gQ3J5cHRvSlMuU0hBMjI0KCdtZXNzYWdlJyk7XG4gICAgICogICAgIHZhciBoYXNoID0gQ3J5cHRvSlMuU0hBMjI0KHdvcmRBcnJheSk7XG4gICAgICovXG4gICAgQy5TSEEyMjQgPSBTSEEyNTYuX2NyZWF0ZUhlbHBlcihTSEEyMjQpO1xuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb24gdG8gdGhlIEhNQUMncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGhhc2guXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBrZXkgVGhlIHNlY3JldCBrZXkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBITUFDLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgaG1hYyA9IENyeXB0b0pTLkhtYWNTSEEyMjQobWVzc2FnZSwga2V5KTtcbiAgICAgKi9cbiAgICBDLkhtYWNTSEEyMjQgPSBTSEEyNTYuX2NyZWF0ZUhtYWNIZWxwZXIoU0hBMjI0KTtcbiAgfSgpKTtcblxuXG4gIChmdW5jdGlvbih1bmRlZmluZWQpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBCYXNlID0gQ19saWIuQmFzZTtcbiAgICB2YXIgWDMyV29yZEFycmF5ID0gQ19saWIuV29yZEFycmF5O1xuXG4gICAgLyoqXG4gICAgICogeDY0IG5hbWVzcGFjZS5cbiAgICAgKi9cbiAgICB2YXIgQ194NjQgPSBDLng2NCA9IHt9O1xuXG4gICAgLyoqXG4gICAgICogQSA2NC1iaXQgd29yZC5cbiAgICAgKi9cbiAgICB2YXIgWDY0V29yZCA9IENfeDY0LldvcmQgPSBCYXNlLmV4dGVuZCh7XG4gICAgICAvKipcbiAgICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHkgY3JlYXRlZCA2NC1iaXQgd29yZC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge251bWJlcn0gaGlnaCBUaGUgaGlnaCAzMiBiaXRzLlxuICAgICAgICogQHBhcmFtIHtudW1iZXJ9IGxvdyBUaGUgbG93IDMyIGJpdHMuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHg2NFdvcmQgPSBDcnlwdG9KUy54NjQuV29yZC5jcmVhdGUoMHgwMDAxMDIwMywgMHgwNDA1MDYwNyk7XG4gICAgICAgKi9cbiAgICAgIGluaXQ6IGZ1bmN0aW9uKGhpZ2gsIGxvdykge1xuICAgICAgICB0aGlzLmhpZ2ggPSBoaWdoO1xuICAgICAgICB0aGlzLmxvdyA9IGxvdztcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBCaXR3aXNlIE5PVHMgdGhpcyB3b3JkLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge1g2NFdvcmR9IEEgbmV3IHg2NC1Xb3JkIG9iamVjdCBhZnRlciBuZWdhdGluZy5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgbmVnYXRlZCA9IHg2NFdvcmQubm90KCk7XG4gICAgICAgKi9cbiAgICAgIC8vIG5vdDogZnVuY3Rpb24gKCkge1xuICAgICAgLy8gdmFyIGhpZ2ggPSB+dGhpcy5oaWdoO1xuICAgICAgLy8gdmFyIGxvdyA9IH50aGlzLmxvdztcblxuICAgICAgLy8gcmV0dXJuIFg2NFdvcmQuY3JlYXRlKGhpZ2gsIGxvdyk7XG4gICAgICAvLyB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIEJpdHdpc2UgQU5EcyB0aGlzIHdvcmQgd2l0aCB0aGUgcGFzc2VkIHdvcmQuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtYNjRXb3JkfSB3b3JkIFRoZSB4NjQtV29yZCB0byBBTkQgd2l0aCB0aGlzIHdvcmQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7WDY0V29yZH0gQSBuZXcgeDY0LVdvcmQgb2JqZWN0IGFmdGVyIEFORGluZy5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgYW5kZWQgPSB4NjRXb3JkLmFuZChhbm90aGVyWDY0V29yZCk7XG4gICAgICAgKi9cbiAgICAgIC8vIGFuZDogZnVuY3Rpb24gKHdvcmQpIHtcbiAgICAgIC8vIHZhciBoaWdoID0gdGhpcy5oaWdoICYgd29yZC5oaWdoO1xuICAgICAgLy8gdmFyIGxvdyA9IHRoaXMubG93ICYgd29yZC5sb3c7XG5cbiAgICAgIC8vIHJldHVybiBYNjRXb3JkLmNyZWF0ZShoaWdoLCBsb3cpO1xuICAgICAgLy8gfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBCaXR3aXNlIE9ScyB0aGlzIHdvcmQgd2l0aCB0aGUgcGFzc2VkIHdvcmQuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtYNjRXb3JkfSB3b3JkIFRoZSB4NjQtV29yZCB0byBPUiB3aXRoIHRoaXMgd29yZC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtYNjRXb3JkfSBBIG5ldyB4NjQtV29yZCBvYmplY3QgYWZ0ZXIgT1JpbmcuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIG9yZWQgPSB4NjRXb3JkLm9yKGFub3RoZXJYNjRXb3JkKTtcbiAgICAgICAqL1xuICAgICAgLy8gb3I6IGZ1bmN0aW9uICh3b3JkKSB7XG4gICAgICAvLyB2YXIgaGlnaCA9IHRoaXMuaGlnaCB8IHdvcmQuaGlnaDtcbiAgICAgIC8vIHZhciBsb3cgPSB0aGlzLmxvdyB8IHdvcmQubG93O1xuXG4gICAgICAvLyByZXR1cm4gWDY0V29yZC5jcmVhdGUoaGlnaCwgbG93KTtcbiAgICAgIC8vIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQml0d2lzZSBYT1JzIHRoaXMgd29yZCB3aXRoIHRoZSBwYXNzZWQgd29yZC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge1g2NFdvcmR9IHdvcmQgVGhlIHg2NC1Xb3JkIHRvIFhPUiB3aXRoIHRoaXMgd29yZC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtYNjRXb3JkfSBBIG5ldyB4NjQtV29yZCBvYmplY3QgYWZ0ZXIgWE9SaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciB4b3JlZCA9IHg2NFdvcmQueG9yKGFub3RoZXJYNjRXb3JkKTtcbiAgICAgICAqL1xuICAgICAgLy8geG9yOiBmdW5jdGlvbiAod29yZCkge1xuICAgICAgLy8gdmFyIGhpZ2ggPSB0aGlzLmhpZ2ggXiB3b3JkLmhpZ2g7XG4gICAgICAvLyB2YXIgbG93ID0gdGhpcy5sb3cgXiB3b3JkLmxvdztcblxuICAgICAgLy8gcmV0dXJuIFg2NFdvcmQuY3JlYXRlKGhpZ2gsIGxvdyk7XG4gICAgICAvLyB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFNoaWZ0cyB0aGlzIHdvcmQgbiBiaXRzIHRvIHRoZSBsZWZ0LlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgYml0cyB0byBzaGlmdC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtYNjRXb3JkfSBBIG5ldyB4NjQtV29yZCBvYmplY3QgYWZ0ZXIgc2hpZnRpbmcuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHNoaWZ0ZWQgPSB4NjRXb3JkLnNoaWZ0TCgyNSk7XG4gICAgICAgKi9cbiAgICAgIC8vIHNoaWZ0TDogZnVuY3Rpb24gKG4pIHtcbiAgICAgIC8vIGlmIChuIDwgMzIpIHtcbiAgICAgIC8vIHZhciBoaWdoID0gKHRoaXMuaGlnaCA8PCBuKSB8ICh0aGlzLmxvdyA+Pj4gKDMyIC0gbikpO1xuICAgICAgLy8gdmFyIGxvdyA9IHRoaXMubG93IDw8IG47XG4gICAgICAvLyB9IGVsc2Uge1xuICAgICAgLy8gdmFyIGhpZ2ggPSB0aGlzLmxvdyA8PCAobiAtIDMyKTtcbiAgICAgIC8vIHZhciBsb3cgPSAwO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyByZXR1cm4gWDY0V29yZC5jcmVhdGUoaGlnaCwgbG93KTtcbiAgICAgIC8vIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogU2hpZnRzIHRoaXMgd29yZCBuIGJpdHMgdG8gdGhlIHJpZ2h0LlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgYml0cyB0byBzaGlmdC5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtYNjRXb3JkfSBBIG5ldyB4NjQtV29yZCBvYmplY3QgYWZ0ZXIgc2hpZnRpbmcuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHNoaWZ0ZWQgPSB4NjRXb3JkLnNoaWZ0Uig3KTtcbiAgICAgICAqL1xuICAgICAgLy8gc2hpZnRSOiBmdW5jdGlvbiAobikge1xuICAgICAgLy8gaWYgKG4gPCAzMikge1xuICAgICAgLy8gdmFyIGxvdyA9ICh0aGlzLmxvdyA+Pj4gbikgfCAodGhpcy5oaWdoIDw8ICgzMiAtIG4pKTtcbiAgICAgIC8vIHZhciBoaWdoID0gdGhpcy5oaWdoID4+PiBuO1xuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIC8vIHZhciBsb3cgPSB0aGlzLmhpZ2ggPj4+IChuIC0gMzIpO1xuICAgICAgLy8gdmFyIGhpZ2ggPSAwO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyByZXR1cm4gWDY0V29yZC5jcmVhdGUoaGlnaCwgbG93KTtcbiAgICAgIC8vIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogUm90YXRlcyB0aGlzIHdvcmQgbiBiaXRzIHRvIHRoZSBsZWZ0LlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgYml0cyB0byByb3RhdGUuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7WDY0V29yZH0gQSBuZXcgeDY0LVdvcmQgb2JqZWN0IGFmdGVyIHJvdGF0aW5nLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciByb3RhdGVkID0geDY0V29yZC5yb3RMKDI1KTtcbiAgICAgICAqL1xuICAgICAgLy8gcm90TDogZnVuY3Rpb24gKG4pIHtcbiAgICAgIC8vIHJldHVybiB0aGlzLnNoaWZ0TChuKS5vcih0aGlzLnNoaWZ0Uig2NCAtIG4pKTtcbiAgICAgIC8vIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogUm90YXRlcyB0aGlzIHdvcmQgbiBiaXRzIHRvIHRoZSByaWdodC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGJpdHMgdG8gcm90YXRlLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge1g2NFdvcmR9IEEgbmV3IHg2NC1Xb3JkIG9iamVjdCBhZnRlciByb3RhdGluZy5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgcm90YXRlZCA9IHg2NFdvcmQucm90Uig3KTtcbiAgICAgICAqL1xuICAgICAgLy8gcm90UjogZnVuY3Rpb24gKG4pIHtcbiAgICAgIC8vIHJldHVybiB0aGlzLnNoaWZ0UihuKS5vcih0aGlzLnNoaWZ0TCg2NCAtIG4pKTtcbiAgICAgIC8vIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQWRkcyB0aGlzIHdvcmQgd2l0aCB0aGUgcGFzc2VkIHdvcmQuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtYNjRXb3JkfSB3b3JkIFRoZSB4NjQtV29yZCB0byBhZGQgd2l0aCB0aGlzIHdvcmQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7WDY0V29yZH0gQSBuZXcgeDY0LVdvcmQgb2JqZWN0IGFmdGVyIGFkZGluZy5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgYWRkZWQgPSB4NjRXb3JkLmFkZChhbm90aGVyWDY0V29yZCk7XG4gICAgICAgKi9cbiAgICAgIC8vIGFkZDogZnVuY3Rpb24gKHdvcmQpIHtcbiAgICAgIC8vIHZhciBsb3cgPSAodGhpcy5sb3cgKyB3b3JkLmxvdykgfCAwO1xuICAgICAgLy8gdmFyIGNhcnJ5ID0gKGxvdyA+Pj4gMCkgPCAodGhpcy5sb3cgPj4+IDApID8gMSA6IDA7XG4gICAgICAvLyB2YXIgaGlnaCA9ICh0aGlzLmhpZ2ggKyB3b3JkLmhpZ2ggKyBjYXJyeSkgfCAwO1xuXG4gICAgICAvLyByZXR1cm4gWDY0V29yZC5jcmVhdGUoaGlnaCwgbG93KTtcbiAgICAgIC8vIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFuIGFycmF5IG9mIDY0LWJpdCB3b3Jkcy5cbiAgICAgKlxuICAgICAqIEBwcm9wZXJ0eSB7QXJyYXl9IHdvcmRzIFRoZSBhcnJheSBvZiBDcnlwdG9KUy54NjQuV29yZCBvYmplY3RzLlxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBzaWdCeXRlcyBUaGUgbnVtYmVyIG9mIHNpZ25pZmljYW50IGJ5dGVzIGluIHRoaXMgd29yZCBhcnJheS5cbiAgICAgKi9cbiAgICB2YXIgWDY0V29yZEFycmF5ID0gQ194NjQuV29yZEFycmF5ID0gQmFzZS5leHRlbmQoe1xuICAgICAgLyoqXG4gICAgICAgKiBJbml0aWFsaXplcyBhIG5ld2x5IGNyZWF0ZWQgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge0FycmF5fSB3b3JkcyAoT3B0aW9uYWwpIEFuIGFycmF5IG9mIENyeXB0b0pTLng2NC5Xb3JkIG9iamVjdHMuXG4gICAgICAgKiBAcGFyYW0ge251bWJlcn0gc2lnQnl0ZXMgKE9wdGlvbmFsKSBUaGUgbnVtYmVyIG9mIHNpZ25pZmljYW50IGJ5dGVzIGluIHRoZSB3b3Jkcy5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgd29yZEFycmF5ID0gQ3J5cHRvSlMueDY0LldvcmRBcnJheS5jcmVhdGUoKTtcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHdvcmRBcnJheSA9IENyeXB0b0pTLng2NC5Xb3JkQXJyYXkuY3JlYXRlKFtcbiAgICAgICAqICAgICAgICAgQ3J5cHRvSlMueDY0LldvcmQuY3JlYXRlKDB4MDAwMTAyMDMsIDB4MDQwNTA2MDcpLFxuICAgICAgICogICAgICAgICBDcnlwdG9KUy54NjQuV29yZC5jcmVhdGUoMHgxODE5MWExYiwgMHgxYzFkMWUxZilcbiAgICAgICAqICAgICBdKTtcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHdvcmRBcnJheSA9IENyeXB0b0pTLng2NC5Xb3JkQXJyYXkuY3JlYXRlKFtcbiAgICAgICAqICAgICAgICAgQ3J5cHRvSlMueDY0LldvcmQuY3JlYXRlKDB4MDAwMTAyMDMsIDB4MDQwNTA2MDcpLFxuICAgICAgICogICAgICAgICBDcnlwdG9KUy54NjQuV29yZC5jcmVhdGUoMHgxODE5MWExYiwgMHgxYzFkMWUxZilcbiAgICAgICAqICAgICBdLCAxMCk7XG4gICAgICAgKi9cbiAgICAgIGluaXQ6IGZ1bmN0aW9uKHdvcmRzLCBzaWdCeXRlcykge1xuICAgICAgICB3b3JkcyA9IHRoaXMud29yZHMgPSB3b3JkcyB8fCBbXTtcblxuICAgICAgICBpZiAoc2lnQnl0ZXMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5zaWdCeXRlcyA9IHNpZ0J5dGVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2lnQnl0ZXMgPSB3b3Jkcy5sZW5ndGggKiA4O1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnRzIHRoaXMgNjQtYml0IHdvcmQgYXJyYXkgdG8gYSAzMi1iaXQgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtDcnlwdG9KUy5saWIuV29yZEFycmF5fSBUaGlzIHdvcmQgYXJyYXkncyBkYXRhIGFzIGEgMzItYml0IHdvcmQgYXJyYXkuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHgzMldvcmRBcnJheSA9IHg2NFdvcmRBcnJheS50b1gzMigpO1xuICAgICAgICovXG4gICAgICB0b1gzMjogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgeDY0V29yZHMgPSB0aGlzLndvcmRzO1xuICAgICAgICB2YXIgeDY0V29yZHNMZW5ndGggPSB4NjRXb3Jkcy5sZW5ndGg7XG5cbiAgICAgICAgLy8gQ29udmVydFxuICAgICAgICB2YXIgeDMyV29yZHMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB4NjRXb3Jkc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIHg2NFdvcmQgPSB4NjRXb3Jkc1tpXTtcbiAgICAgICAgICB4MzJXb3Jkcy5wdXNoKHg2NFdvcmQuaGlnaCk7XG4gICAgICAgICAgeDMyV29yZHMucHVzaCh4NjRXb3JkLmxvdyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWDMyV29yZEFycmF5LmNyZWF0ZSh4MzJXb3JkcywgdGhpcy5zaWdCeXRlcyk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIENyZWF0ZXMgYSBjb3B5IG9mIHRoaXMgd29yZCBhcnJheS5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtYNjRXb3JkQXJyYXl9IFRoZSBjbG9uZS5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgY2xvbmUgPSB4NjRXb3JkQXJyYXkuY2xvbmUoKTtcbiAgICAgICAqL1xuICAgICAgY2xvbmU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgY2xvbmUgPSBCYXNlLmNsb25lLmNhbGwodGhpcyk7XG5cbiAgICAgICAgLy8gQ2xvbmUgXCJ3b3Jkc1wiIGFycmF5XG4gICAgICAgIHZhciB3b3JkcyA9IGNsb25lLndvcmRzID0gdGhpcy53b3Jkcy5zbGljZSgwKTtcblxuICAgICAgICAvLyBDbG9uZSBlYWNoIFg2NFdvcmQgb2JqZWN0XG4gICAgICAgIHZhciB3b3Jkc0xlbmd0aCA9IHdvcmRzLmxlbmd0aDtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB3b3Jkc0xlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgd29yZHNbaV0gPSB3b3Jkc1tpXS5jbG9uZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNsb25lO1xuICAgICAgfVxuICAgIH0pO1xuICB9KCkpO1xuXG5cbiAgKGZ1bmN0aW9uKE1hdGgpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBXb3JkQXJyYXkgPSBDX2xpYi5Xb3JkQXJyYXk7XG4gICAgdmFyIEhhc2hlciA9IENfbGliLkhhc2hlcjtcbiAgICB2YXIgQ194NjQgPSBDLng2NDtcbiAgICB2YXIgWDY0V29yZCA9IENfeDY0LldvcmQ7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcblxuICAgIC8vIENvbnN0YW50cyB0YWJsZXNcbiAgICB2YXIgUkhPX09GRlNFVFMgPSBbXTtcbiAgICB2YXIgUElfSU5ERVhFUyA9IFtdO1xuICAgIHZhciBST1VORF9DT05TVEFOVFMgPSBbXTtcblxuICAgIC8vIENvbXB1dGUgQ29uc3RhbnRzXG4gICAgKGZ1bmN0aW9uKCkge1xuICAgICAgLy8gQ29tcHV0ZSByaG8gb2Zmc2V0IGNvbnN0YW50c1xuICAgICAgdmFyIHggPSAxLFxuICAgICAgICB5ID0gMDtcbiAgICAgIGZvciAodmFyIHQgPSAwOyB0IDwgMjQ7IHQrKykge1xuICAgICAgICBSSE9fT0ZGU0VUU1t4ICsgNSAqIHldID0gKCh0ICsgMSkgKiAodCArIDIpIC8gMikgJSA2NDtcblxuICAgICAgICB2YXIgbmV3WCA9IHkgJSA1O1xuICAgICAgICB2YXIgbmV3WSA9ICgyICogeCArIDMgKiB5KSAlIDU7XG4gICAgICAgIHggPSBuZXdYO1xuICAgICAgICB5ID0gbmV3WTtcbiAgICAgIH1cblxuICAgICAgLy8gQ29tcHV0ZSBwaSBpbmRleCBjb25zdGFudHNcbiAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgNTsgeCsrKSB7XG4gICAgICAgIGZvciAodmFyIHkgPSAwOyB5IDwgNTsgeSsrKSB7XG4gICAgICAgICAgUElfSU5ERVhFU1t4ICsgNSAqIHldID0geSArICgoMiAqIHggKyAzICogeSkgJSA1KSAqIDU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ29tcHV0ZSByb3VuZCBjb25zdGFudHNcbiAgICAgIHZhciBMRlNSID0gMHgwMTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjQ7IGkrKykge1xuICAgICAgICB2YXIgcm91bmRDb25zdGFudE1zdyA9IDA7XG4gICAgICAgIHZhciByb3VuZENvbnN0YW50THN3ID0gMDtcblxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IDc7IGorKykge1xuICAgICAgICAgIGlmIChMRlNSICYgMHgwMSkge1xuICAgICAgICAgICAgdmFyIGJpdFBvc2l0aW9uID0gKDEgPDwgaikgLSAxO1xuICAgICAgICAgICAgaWYgKGJpdFBvc2l0aW9uIDwgMzIpIHtcbiAgICAgICAgICAgICAgcm91bmRDb25zdGFudExzdyBePSAxIDw8IGJpdFBvc2l0aW9uO1xuICAgICAgICAgICAgfSBlbHNlIC8qIGlmIChiaXRQb3NpdGlvbiA+PSAzMikgKi8ge1xuICAgICAgICAgICAgICByb3VuZENvbnN0YW50TXN3IF49IDEgPDwgKGJpdFBvc2l0aW9uIC0gMzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIENvbXB1dGUgbmV4dCBMRlNSXG4gICAgICAgICAgaWYgKExGU1IgJiAweDgwKSB7XG4gICAgICAgICAgICAvLyBQcmltaXRpdmUgcG9seW5vbWlhbCBvdmVyIEdGKDIpOiB4XjggKyB4XjYgKyB4XjUgKyB4XjQgKyAxXG4gICAgICAgICAgICBMRlNSID0gKExGU1IgPDwgMSkgXiAweDcxO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBMRlNSIDw8PSAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFJPVU5EX0NPTlNUQU5UU1tpXSA9IFg2NFdvcmQuY3JlYXRlKHJvdW5kQ29uc3RhbnRNc3csIHJvdW5kQ29uc3RhbnRMc3cpO1xuICAgICAgfVxuICAgIH0oKSk7XG5cbiAgICAvLyBSZXVzYWJsZSBvYmplY3RzIGZvciB0ZW1wb3JhcnkgdmFsdWVzXG4gICAgdmFyIFQgPSBbXTtcbiAgICAoZnVuY3Rpb24oKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1OyBpKyspIHtcbiAgICAgICAgVFtpXSA9IFg2NFdvcmQuY3JlYXRlKCk7XG4gICAgICB9XG4gICAgfSgpKTtcblxuICAgIC8qKlxuICAgICAqIFNIQS0zIGhhc2ggYWxnb3JpdGhtLlxuICAgICAqL1xuICAgIHZhciBTSEEzID0gQ19hbGdvLlNIQTMgPSBIYXNoZXIuZXh0ZW5kKHtcbiAgICAgIC8qKlxuICAgICAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBvdXRwdXRMZW5ndGhcbiAgICAgICAqICAgVGhlIGRlc2lyZWQgbnVtYmVyIG9mIGJpdHMgaW4gdGhlIG91dHB1dCBoYXNoLlxuICAgICAgICogICBPbmx5IHZhbHVlcyBwZXJtaXR0ZWQgYXJlOiAyMjQsIDI1NiwgMzg0LCA1MTIuXG4gICAgICAgKiAgIERlZmF1bHQ6IDUxMlxuICAgICAgICovXG4gICAgICBjZmc6IEhhc2hlci5jZmcuZXh0ZW5kKHtcbiAgICAgICAgb3V0cHV0TGVuZ3RoOiA1MTJcbiAgICAgIH0pLFxuXG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBzdGF0ZSA9IHRoaXMuX3N0YXRlID0gW11cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTsgaSsrKSB7XG4gICAgICAgICAgc3RhdGVbaV0gPSBuZXcgWDY0V29yZC5pbml0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJsb2NrU2l6ZSA9ICgxNjAwIC0gMiAqIHRoaXMuY2ZnLm91dHB1dExlbmd0aCkgLyAzMjtcbiAgICAgIH0sXG5cbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24oTSwgb2Zmc2V0KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcbiAgICAgICAgdmFyIG5CbG9ja1NpemVMYW5lcyA9IHRoaXMuYmxvY2tTaXplIC8gMjtcblxuICAgICAgICAvLyBBYnNvcmJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuQmxvY2tTaXplTGFuZXM7IGkrKykge1xuICAgICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICAgIHZhciBNMmkgPSBNW29mZnNldCArIDIgKiBpXTtcbiAgICAgICAgICB2YXIgTTJpMSA9IE1bb2Zmc2V0ICsgMiAqIGkgKyAxXTtcblxuICAgICAgICAgIC8vIFN3YXAgZW5kaWFuXG4gICAgICAgICAgTTJpID0gKFxuICAgICAgICAgICAgKCgoTTJpIDw8IDgpIHwgKE0yaSA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHxcbiAgICAgICAgICAgICgoKE0yaSA8PCAyNCkgfCAoTTJpID4+PiA4KSkgJiAweGZmMDBmZjAwKVxuICAgICAgICAgICk7XG4gICAgICAgICAgTTJpMSA9IChcbiAgICAgICAgICAgICgoKE0yaTEgPDwgOCkgfCAoTTJpMSA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHxcbiAgICAgICAgICAgICgoKE0yaTEgPDwgMjQpIHwgKE0yaTEgPj4+IDgpKSAmIDB4ZmYwMGZmMDApXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIEFic29yYiBtZXNzYWdlIGludG8gc3RhdGVcbiAgICAgICAgICB2YXIgbGFuZSA9IHN0YXRlW2ldO1xuICAgICAgICAgIGxhbmUuaGlnaCBePSBNMmkxO1xuICAgICAgICAgIGxhbmUubG93IF49IE0yaTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJvdW5kc1xuICAgICAgICBmb3IgKHZhciByb3VuZCA9IDA7IHJvdW5kIDwgMjQ7IHJvdW5kKyspIHtcbiAgICAgICAgICAvLyBUaGV0YVxuICAgICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgNTsgeCsrKSB7XG4gICAgICAgICAgICAvLyBNaXggY29sdW1uIGxhbmVzXG4gICAgICAgICAgICB2YXIgdE1zdyA9IDAsXG4gICAgICAgICAgICAgIHRMc3cgPSAwO1xuICAgICAgICAgICAgZm9yICh2YXIgeSA9IDA7IHkgPCA1OyB5KyspIHtcbiAgICAgICAgICAgICAgdmFyIGxhbmUgPSBzdGF0ZVt4ICsgNSAqIHldO1xuICAgICAgICAgICAgICB0TXN3IF49IGxhbmUuaGlnaDtcbiAgICAgICAgICAgICAgdExzdyBePSBsYW5lLmxvdztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGVtcG9yYXJ5IHZhbHVlc1xuICAgICAgICAgICAgdmFyIFR4ID0gVFt4XTtcbiAgICAgICAgICAgIFR4LmhpZ2ggPSB0TXN3O1xuICAgICAgICAgICAgVHgubG93ID0gdExzdztcbiAgICAgICAgICB9XG4gICAgICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCA1OyB4KyspIHtcbiAgICAgICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICAgICAgdmFyIFR4NCA9IFRbKHggKyA0KSAlIDVdO1xuICAgICAgICAgICAgdmFyIFR4MSA9IFRbKHggKyAxKSAlIDVdO1xuICAgICAgICAgICAgdmFyIFR4MU1zdyA9IFR4MS5oaWdoO1xuICAgICAgICAgICAgdmFyIFR4MUxzdyA9IFR4MS5sb3c7XG5cbiAgICAgICAgICAgIC8vIE1peCBzdXJyb3VuZGluZyBjb2x1bW5zXG4gICAgICAgICAgICB2YXIgdE1zdyA9IFR4NC5oaWdoIF4gKChUeDFNc3cgPDwgMSkgfCAoVHgxTHN3ID4+PiAzMSkpO1xuICAgICAgICAgICAgdmFyIHRMc3cgPSBUeDQubG93IF4gKChUeDFMc3cgPDwgMSkgfCAoVHgxTXN3ID4+PiAzMSkpO1xuICAgICAgICAgICAgZm9yICh2YXIgeSA9IDA7IHkgPCA1OyB5KyspIHtcbiAgICAgICAgICAgICAgdmFyIGxhbmUgPSBzdGF0ZVt4ICsgNSAqIHldO1xuICAgICAgICAgICAgICBsYW5lLmhpZ2ggXj0gdE1zdztcbiAgICAgICAgICAgICAgbGFuZS5sb3cgXj0gdExzdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBSaG8gUGlcbiAgICAgICAgICBmb3IgKHZhciBsYW5lSW5kZXggPSAxOyBsYW5lSW5kZXggPCAyNTsgbGFuZUluZGV4KyspIHtcbiAgICAgICAgICAgIHZhciB0TXN3O1xuICAgICAgICAgICAgdmFyIHRMc3c7XG5cbiAgICAgICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICAgICAgdmFyIGxhbmUgPSBzdGF0ZVtsYW5lSW5kZXhdO1xuICAgICAgICAgICAgdmFyIGxhbmVNc3cgPSBsYW5lLmhpZ2g7XG4gICAgICAgICAgICB2YXIgbGFuZUxzdyA9IGxhbmUubG93O1xuICAgICAgICAgICAgdmFyIHJob09mZnNldCA9IFJIT19PRkZTRVRTW2xhbmVJbmRleF07XG5cbiAgICAgICAgICAgIC8vIFJvdGF0ZSBsYW5lc1xuICAgICAgICAgICAgaWYgKHJob09mZnNldCA8IDMyKSB7XG4gICAgICAgICAgICAgIHRNc3cgPSAobGFuZU1zdyA8PCByaG9PZmZzZXQpIHwgKGxhbmVMc3cgPj4+ICgzMiAtIHJob09mZnNldCkpO1xuICAgICAgICAgICAgICB0THN3ID0gKGxhbmVMc3cgPDwgcmhvT2Zmc2V0KSB8IChsYW5lTXN3ID4+PiAoMzIgLSByaG9PZmZzZXQpKTtcbiAgICAgICAgICAgIH0gZWxzZSAvKiBpZiAocmhvT2Zmc2V0ID49IDMyKSAqLyB7XG4gICAgICAgICAgICAgIHRNc3cgPSAobGFuZUxzdyA8PCAocmhvT2Zmc2V0IC0gMzIpKSB8IChsYW5lTXN3ID4+PiAoNjQgLSByaG9PZmZzZXQpKTtcbiAgICAgICAgICAgICAgdExzdyA9IChsYW5lTXN3IDw8IChyaG9PZmZzZXQgLSAzMikpIHwgKGxhbmVMc3cgPj4+ICg2NCAtIHJob09mZnNldCkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUcmFuc3Bvc2UgbGFuZXNcbiAgICAgICAgICAgIHZhciBUUGlMYW5lID0gVFtQSV9JTkRFWEVTW2xhbmVJbmRleF1dO1xuICAgICAgICAgICAgVFBpTGFuZS5oaWdoID0gdE1zdztcbiAgICAgICAgICAgIFRQaUxhbmUubG93ID0gdExzdztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBSaG8gcGkgYXQgeCA9IHkgPSAwXG4gICAgICAgICAgdmFyIFQwID0gVFswXTtcbiAgICAgICAgICB2YXIgc3RhdGUwID0gc3RhdGVbMF07XG4gICAgICAgICAgVDAuaGlnaCA9IHN0YXRlMC5oaWdoO1xuICAgICAgICAgIFQwLmxvdyA9IHN0YXRlMC5sb3c7XG5cbiAgICAgICAgICAvLyBDaGlcbiAgICAgICAgICBmb3IgKHZhciB4ID0gMDsgeCA8IDU7IHgrKykge1xuICAgICAgICAgICAgZm9yICh2YXIgeSA9IDA7IHkgPCA1OyB5KyspIHtcbiAgICAgICAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgICAgICAgIHZhciBsYW5lSW5kZXggPSB4ICsgNSAqIHk7XG4gICAgICAgICAgICAgIHZhciBsYW5lID0gc3RhdGVbbGFuZUluZGV4XTtcbiAgICAgICAgICAgICAgdmFyIFRMYW5lID0gVFtsYW5lSW5kZXhdO1xuICAgICAgICAgICAgICB2YXIgVHgxTGFuZSA9IFRbKCh4ICsgMSkgJSA1KSArIDUgKiB5XTtcbiAgICAgICAgICAgICAgdmFyIFR4MkxhbmUgPSBUWygoeCArIDIpICUgNSkgKyA1ICogeV07XG5cbiAgICAgICAgICAgICAgLy8gTWl4IHJvd3NcbiAgICAgICAgICAgICAgbGFuZS5oaWdoID0gVExhbmUuaGlnaCBeICh+VHgxTGFuZS5oaWdoICYgVHgyTGFuZS5oaWdoKTtcbiAgICAgICAgICAgICAgbGFuZS5sb3cgPSBUTGFuZS5sb3cgXiAoflR4MUxhbmUubG93ICYgVHgyTGFuZS5sb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIElvdGFcbiAgICAgICAgICB2YXIgbGFuZSA9IHN0YXRlWzBdO1xuICAgICAgICAgIHZhciByb3VuZENvbnN0YW50ID0gUk9VTkRfQ09OU1RBTlRTW3JvdW5kXTtcbiAgICAgICAgICBsYW5lLmhpZ2ggXj0gcm91bmRDb25zdGFudC5oaWdoO1xuICAgICAgICAgIGxhbmUubG93IF49IHJvdW5kQ29uc3RhbnQubG93O1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgZGF0YSA9IHRoaXMuX2RhdGE7XG4gICAgICAgIHZhciBkYXRhV29yZHMgPSBkYXRhLndvcmRzO1xuICAgICAgICB2YXIgbkJpdHNUb3RhbCA9IHRoaXMuX25EYXRhQnl0ZXMgKiA4O1xuICAgICAgICB2YXIgbkJpdHNMZWZ0ID0gZGF0YS5zaWdCeXRlcyAqIDg7XG4gICAgICAgIHZhciBibG9ja1NpemVCaXRzID0gdGhpcy5ibG9ja1NpemUgKiAzMjtcblxuICAgICAgICAvLyBBZGQgcGFkZGluZ1xuICAgICAgICBkYXRhV29yZHNbbkJpdHNMZWZ0ID4+PiA1XSB8PSAweDEgPDwgKDI0IC0gbkJpdHNMZWZ0ICUgMzIpO1xuICAgICAgICBkYXRhV29yZHNbKChNYXRoLmNlaWwoKG5CaXRzTGVmdCArIDEpIC8gYmxvY2tTaXplQml0cykgKiBibG9ja1NpemVCaXRzKSA+Pj4gNSkgLSAxXSB8PSAweDgwO1xuICAgICAgICBkYXRhLnNpZ0J5dGVzID0gZGF0YVdvcmRzLmxlbmd0aCAqIDQ7XG5cbiAgICAgICAgLy8gSGFzaCBmaW5hbCBibG9ja3NcbiAgICAgICAgdGhpcy5fcHJvY2VzcygpO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgc3RhdGUgPSB0aGlzLl9zdGF0ZTtcbiAgICAgICAgdmFyIG91dHB1dExlbmd0aEJ5dGVzID0gdGhpcy5jZmcub3V0cHV0TGVuZ3RoIC8gODtcbiAgICAgICAgdmFyIG91dHB1dExlbmd0aExhbmVzID0gb3V0cHV0TGVuZ3RoQnl0ZXMgLyA4O1xuXG4gICAgICAgIC8vIFNxdWVlemVcbiAgICAgICAgdmFyIGhhc2hXb3JkcyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG91dHB1dExlbmd0aExhbmVzOyBpKyspIHtcbiAgICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgICB2YXIgbGFuZSA9IHN0YXRlW2ldO1xuICAgICAgICAgIHZhciBsYW5lTXN3ID0gbGFuZS5oaWdoO1xuICAgICAgICAgIHZhciBsYW5lTHN3ID0gbGFuZS5sb3c7XG5cbiAgICAgICAgICAvLyBTd2FwIGVuZGlhblxuICAgICAgICAgIGxhbmVNc3cgPSAoXG4gICAgICAgICAgICAoKChsYW5lTXN3IDw8IDgpIHwgKGxhbmVNc3cgPj4+IDI0KSkgJiAweDAwZmYwMGZmKSB8XG4gICAgICAgICAgICAoKChsYW5lTXN3IDw8IDI0KSB8IChsYW5lTXN3ID4+PiA4KSkgJiAweGZmMDBmZjAwKVxuICAgICAgICAgICk7XG4gICAgICAgICAgbGFuZUxzdyA9IChcbiAgICAgICAgICAgICgoKGxhbmVMc3cgPDwgOCkgfCAobGFuZUxzdyA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHxcbiAgICAgICAgICAgICgoKGxhbmVMc3cgPDwgMjQpIHwgKGxhbmVMc3cgPj4+IDgpKSAmIDB4ZmYwMGZmMDApXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIFNxdWVlemUgc3RhdGUgdG8gcmV0cmlldmUgaGFzaFxuICAgICAgICAgIGhhc2hXb3Jkcy5wdXNoKGxhbmVMc3cpO1xuICAgICAgICAgIGhhc2hXb3Jkcy5wdXNoKGxhbmVNc3cpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmV0dXJuIGZpbmFsIGNvbXB1dGVkIGhhc2hcbiAgICAgICAgcmV0dXJuIG5ldyBXb3JkQXJyYXkuaW5pdChoYXNoV29yZHMsIG91dHB1dExlbmd0aEJ5dGVzKTtcbiAgICAgIH0sXG5cbiAgICAgIGNsb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGNsb25lID0gSGFzaGVyLmNsb25lLmNhbGwodGhpcyk7XG5cbiAgICAgICAgdmFyIHN0YXRlID0gY2xvbmUuX3N0YXRlID0gdGhpcy5fc3RhdGUuc2xpY2UoMCk7XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjU7IGkrKykge1xuICAgICAgICAgIHN0YXRlW2ldID0gc3RhdGVbaV0uY2xvbmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9uIHRvIHRoZSBoYXNoZXIncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGhhc2guXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBoYXNoLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgaGFzaCA9IENyeXB0b0pTLlNIQTMoJ21lc3NhZ2UnKTtcbiAgICAgKiAgICAgdmFyIGhhc2ggPSBDcnlwdG9KUy5TSEEzKHdvcmRBcnJheSk7XG4gICAgICovXG4gICAgQy5TSEEzID0gSGFzaGVyLl9jcmVhdGVIZWxwZXIoU0hBMyk7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbiB0byB0aGUgSE1BQydzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gaGFzaC5cbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IGtleSBUaGUgc2VjcmV0IGtleS5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIEhNQUMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBobWFjID0gQ3J5cHRvSlMuSG1hY1NIQTMobWVzc2FnZSwga2V5KTtcbiAgICAgKi9cbiAgICBDLkhtYWNTSEEzID0gSGFzaGVyLl9jcmVhdGVIbWFjSGVscGVyKFNIQTMpO1xuICB9KE1hdGgpKTtcblxuXG4gIChmdW5jdGlvbigpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBIYXNoZXIgPSBDX2xpYi5IYXNoZXI7XG4gICAgdmFyIENfeDY0ID0gQy54NjQ7XG4gICAgdmFyIFg2NFdvcmQgPSBDX3g2NC5Xb3JkO1xuICAgIHZhciBYNjRXb3JkQXJyYXkgPSBDX3g2NC5Xb3JkQXJyYXk7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcblxuICAgIGZ1bmN0aW9uIFg2NFdvcmRfY3JlYXRlKCkge1xuICAgICAgcmV0dXJuIFg2NFdvcmQuY3JlYXRlLmFwcGx5KFg2NFdvcmQsIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgLy8gQ29uc3RhbnRzXG4gICAgdmFyIEsgPSBbXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDQyOGEyZjk4LCAweGQ3MjhhZTIyKSwgWDY0V29yZF9jcmVhdGUoMHg3MTM3NDQ5MSwgMHgyM2VmNjVjZCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGI1YzBmYmNmLCAweGVjNGQzYjJmKSwgWDY0V29yZF9jcmVhdGUoMHhlOWI1ZGJhNSwgMHg4MTg5ZGJiYyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDM5NTZjMjViLCAweGYzNDhiNTM4KSwgWDY0V29yZF9jcmVhdGUoMHg1OWYxMTFmMSwgMHhiNjA1ZDAxOSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDkyM2Y4MmE0LCAweGFmMTk0ZjliKSwgWDY0V29yZF9jcmVhdGUoMHhhYjFjNWVkNSwgMHhkYTZkODExOCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGQ4MDdhYTk4LCAweGEzMDMwMjQyKSwgWDY0V29yZF9jcmVhdGUoMHgxMjgzNWIwMSwgMHg0NTcwNmZiZSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDI0MzE4NWJlLCAweDRlZTRiMjhjKSwgWDY0V29yZF9jcmVhdGUoMHg1NTBjN2RjMywgMHhkNWZmYjRlMiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDcyYmU1ZDc0LCAweGYyN2I4OTZmKSwgWDY0V29yZF9jcmVhdGUoMHg4MGRlYjFmZSwgMHgzYjE2OTZiMSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDliZGMwNmE3LCAweDI1YzcxMjM1KSwgWDY0V29yZF9jcmVhdGUoMHhjMTliZjE3NCwgMHhjZjY5MjY5NCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGU0OWI2OWMxLCAweDllZjE0YWQyKSwgWDY0V29yZF9jcmVhdGUoMHhlZmJlNDc4NiwgMHgzODRmMjVlMyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDBmYzE5ZGM2LCAweDhiOGNkNWI1KSwgWDY0V29yZF9jcmVhdGUoMHgyNDBjYTFjYywgMHg3N2FjOWM2NSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDJkZTkyYzZmLCAweDU5MmIwMjc1KSwgWDY0V29yZF9jcmVhdGUoMHg0YTc0ODRhYSwgMHg2ZWE2ZTQ4MyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDVjYjBhOWRjLCAweGJkNDFmYmQ0KSwgWDY0V29yZF9jcmVhdGUoMHg3NmY5ODhkYSwgMHg4MzExNTNiNSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDk4M2U1MTUyLCAweGVlNjZkZmFiKSwgWDY0V29yZF9jcmVhdGUoMHhhODMxYzY2ZCwgMHgyZGI0MzIxMCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGIwMDMyN2M4LCAweDk4ZmIyMTNmKSwgWDY0V29yZF9jcmVhdGUoMHhiZjU5N2ZjNywgMHhiZWVmMGVlNCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGM2ZTAwYmYzLCAweDNkYTg4ZmMyKSwgWDY0V29yZF9jcmVhdGUoMHhkNWE3OTE0NywgMHg5MzBhYTcyNSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDA2Y2E2MzUxLCAweGUwMDM4MjZmKSwgWDY0V29yZF9jcmVhdGUoMHgxNDI5Mjk2NywgMHgwYTBlNmU3MCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDI3YjcwYTg1LCAweDQ2ZDIyZmZjKSwgWDY0V29yZF9jcmVhdGUoMHgyZTFiMjEzOCwgMHg1YzI2YzkyNiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDRkMmM2ZGZjLCAweDVhYzQyYWVkKSwgWDY0V29yZF9jcmVhdGUoMHg1MzM4MGQxMywgMHg5ZDk1YjNkZiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDY1MGE3MzU0LCAweDhiYWY2M2RlKSwgWDY0V29yZF9jcmVhdGUoMHg3NjZhMGFiYiwgMHgzYzc3YjJhOCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDgxYzJjOTJlLCAweDQ3ZWRhZWU2KSwgWDY0V29yZF9jcmVhdGUoMHg5MjcyMmM4NSwgMHgxNDgyMzUzYiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGEyYmZlOGExLCAweDRjZjEwMzY0KSwgWDY0V29yZF9jcmVhdGUoMHhhODFhNjY0YiwgMHhiYzQyMzAwMSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGMyNGI4YjcwLCAweGQwZjg5NzkxKSwgWDY0V29yZF9jcmVhdGUoMHhjNzZjNTFhMywgMHgwNjU0YmUzMCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGQxOTJlODE5LCAweGQ2ZWY1MjE4KSwgWDY0V29yZF9jcmVhdGUoMHhkNjk5MDYyNCwgMHg1NTY1YTkxMCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGY0MGUzNTg1LCAweDU3NzEyMDJhKSwgWDY0V29yZF9jcmVhdGUoMHgxMDZhYTA3MCwgMHgzMmJiZDFiOCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDE5YTRjMTE2LCAweGI4ZDJkMGM4KSwgWDY0V29yZF9jcmVhdGUoMHgxZTM3NmMwOCwgMHg1MTQxYWI1MyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDI3NDg3NzRjLCAweGRmOGVlYjk5KSwgWDY0V29yZF9jcmVhdGUoMHgzNGIwYmNiNSwgMHhlMTliNDhhOCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDM5MWMwY2IzLCAweGM1Yzk1YTYzKSwgWDY0V29yZF9jcmVhdGUoMHg0ZWQ4YWE0YSwgMHhlMzQxOGFjYiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDViOWNjYTRmLCAweDc3NjNlMzczKSwgWDY0V29yZF9jcmVhdGUoMHg2ODJlNmZmMywgMHhkNmIyYjhhMyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDc0OGY4MmVlLCAweDVkZWZiMmZjKSwgWDY0V29yZF9jcmVhdGUoMHg3OGE1NjM2ZiwgMHg0MzE3MmY2MCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDg0Yzg3ODE0LCAweGExZjBhYjcyKSwgWDY0V29yZF9jcmVhdGUoMHg4Y2M3MDIwOCwgMHgxYTY0MzllYyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDkwYmVmZmZhLCAweDIzNjMxZTI4KSwgWDY0V29yZF9jcmVhdGUoMHhhNDUwNmNlYiwgMHhkZTgyYmRlOSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGJlZjlhM2Y3LCAweGIyYzY3OTE1KSwgWDY0V29yZF9jcmVhdGUoMHhjNjcxNzhmMiwgMHhlMzcyNTMyYiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGNhMjczZWNlLCAweGVhMjY2MTljKSwgWDY0V29yZF9jcmVhdGUoMHhkMTg2YjhjNywgMHgyMWMwYzIwNyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweGVhZGE3ZGQ2LCAweGNkZTBlYjFlKSwgWDY0V29yZF9jcmVhdGUoMHhmNTdkNGY3ZiwgMHhlZTZlZDE3OCksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDA2ZjA2N2FhLCAweDcyMTc2ZmJhKSwgWDY0V29yZF9jcmVhdGUoMHgwYTYzN2RjNSwgMHhhMmM4OThhNiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDExM2Y5ODA0LCAweGJlZjkwZGFlKSwgWDY0V29yZF9jcmVhdGUoMHgxYjcxMGIzNSwgMHgxMzFjNDcxYiksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDI4ZGI3N2Y1LCAweDIzMDQ3ZDg0KSwgWDY0V29yZF9jcmVhdGUoMHgzMmNhYWI3YiwgMHg0MGM3MjQ5MyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDNjOWViZTBhLCAweDE1YzliZWJjKSwgWDY0V29yZF9jcmVhdGUoMHg0MzFkNjdjNCwgMHg5YzEwMGQ0YyksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDRjYzVkNGJlLCAweGNiM2U0MmI2KSwgWDY0V29yZF9jcmVhdGUoMHg1OTdmMjk5YywgMHhmYzY1N2UyYSksXG4gICAgICBYNjRXb3JkX2NyZWF0ZSgweDVmY2I2ZmFiLCAweDNhZDZmYWVjKSwgWDY0V29yZF9jcmVhdGUoMHg2YzQ0MTk4YywgMHg0YTQ3NTgxNylcbiAgICBdO1xuXG4gICAgLy8gUmV1c2FibGUgb2JqZWN0c1xuICAgIHZhciBXID0gW107XG4gICAgKGZ1bmN0aW9uKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4MDsgaSsrKSB7XG4gICAgICAgIFdbaV0gPSBYNjRXb3JkX2NyZWF0ZSgpO1xuICAgICAgfVxuICAgIH0oKSk7XG5cbiAgICAvKipcbiAgICAgKiBTSEEtNTEyIGhhc2ggYWxnb3JpdGhtLlxuICAgICAqL1xuICAgIHZhciBTSEE1MTIgPSBDX2FsZ28uU0hBNTEyID0gSGFzaGVyLmV4dGVuZCh7XG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuX2hhc2ggPSBuZXcgWDY0V29yZEFycmF5LmluaXQoW1xuICAgICAgICAgIG5ldyBYNjRXb3JkLmluaXQoMHg2YTA5ZTY2NywgMHhmM2JjYzkwOCksIG5ldyBYNjRXb3JkLmluaXQoMHhiYjY3YWU4NSwgMHg4NGNhYTczYiksXG4gICAgICAgICAgbmV3IFg2NFdvcmQuaW5pdCgweDNjNmVmMzcyLCAweGZlOTRmODJiKSwgbmV3IFg2NFdvcmQuaW5pdCgweGE1NGZmNTNhLCAweDVmMWQzNmYxKSxcbiAgICAgICAgICBuZXcgWDY0V29yZC5pbml0KDB4NTEwZTUyN2YsIDB4YWRlNjgyZDEpLCBuZXcgWDY0V29yZC5pbml0KDB4OWIwNTY4OGMsIDB4MmIzZTZjMWYpLFxuICAgICAgICAgIG5ldyBYNjRXb3JkLmluaXQoMHgxZjgzZDlhYiwgMHhmYjQxYmQ2YiksIG5ldyBYNjRXb3JkLmluaXQoMHg1YmUwY2QxOSwgMHgxMzdlMjE3OSlcbiAgICAgICAgXSk7XG4gICAgICB9LFxuXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uKE0sIG9mZnNldCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIEggPSB0aGlzLl9oYXNoLndvcmRzO1xuXG4gICAgICAgIHZhciBIMCA9IEhbMF07XG4gICAgICAgIHZhciBIMSA9IEhbMV07XG4gICAgICAgIHZhciBIMiA9IEhbMl07XG4gICAgICAgIHZhciBIMyA9IEhbM107XG4gICAgICAgIHZhciBINCA9IEhbNF07XG4gICAgICAgIHZhciBINSA9IEhbNV07XG4gICAgICAgIHZhciBINiA9IEhbNl07XG4gICAgICAgIHZhciBINyA9IEhbN107XG5cbiAgICAgICAgdmFyIEgwaCA9IEgwLmhpZ2g7XG4gICAgICAgIHZhciBIMGwgPSBIMC5sb3c7XG4gICAgICAgIHZhciBIMWggPSBIMS5oaWdoO1xuICAgICAgICB2YXIgSDFsID0gSDEubG93O1xuICAgICAgICB2YXIgSDJoID0gSDIuaGlnaDtcbiAgICAgICAgdmFyIEgybCA9IEgyLmxvdztcbiAgICAgICAgdmFyIEgzaCA9IEgzLmhpZ2g7XG4gICAgICAgIHZhciBIM2wgPSBIMy5sb3c7XG4gICAgICAgIHZhciBINGggPSBINC5oaWdoO1xuICAgICAgICB2YXIgSDRsID0gSDQubG93O1xuICAgICAgICB2YXIgSDVoID0gSDUuaGlnaDtcbiAgICAgICAgdmFyIEg1bCA9IEg1LmxvdztcbiAgICAgICAgdmFyIEg2aCA9IEg2LmhpZ2g7XG4gICAgICAgIHZhciBINmwgPSBINi5sb3c7XG4gICAgICAgIHZhciBIN2ggPSBINy5oaWdoO1xuICAgICAgICB2YXIgSDdsID0gSDcubG93O1xuXG4gICAgICAgIC8vIFdvcmtpbmcgdmFyaWFibGVzXG4gICAgICAgIHZhciBhaCA9IEgwaDtcbiAgICAgICAgdmFyIGFsID0gSDBsO1xuICAgICAgICB2YXIgYmggPSBIMWg7XG4gICAgICAgIHZhciBibCA9IEgxbDtcbiAgICAgICAgdmFyIGNoID0gSDJoO1xuICAgICAgICB2YXIgY2wgPSBIMmw7XG4gICAgICAgIHZhciBkaCA9IEgzaDtcbiAgICAgICAgdmFyIGRsID0gSDNsO1xuICAgICAgICB2YXIgZWggPSBINGg7XG4gICAgICAgIHZhciBlbCA9IEg0bDtcbiAgICAgICAgdmFyIGZoID0gSDVoO1xuICAgICAgICB2YXIgZmwgPSBINWw7XG4gICAgICAgIHZhciBnaCA9IEg2aDtcbiAgICAgICAgdmFyIGdsID0gSDZsO1xuICAgICAgICB2YXIgaGggPSBIN2g7XG4gICAgICAgIHZhciBobCA9IEg3bDtcblxuICAgICAgICAvLyBSb3VuZHNcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4MDsgaSsrKSB7XG4gICAgICAgICAgdmFyIFdpbDtcbiAgICAgICAgICB2YXIgV2loO1xuXG4gICAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgICB2YXIgV2kgPSBXW2ldO1xuXG4gICAgICAgICAgLy8gRXh0ZW5kIG1lc3NhZ2VcbiAgICAgICAgICBpZiAoaSA8IDE2KSB7XG4gICAgICAgICAgICBXaWggPSBXaS5oaWdoID0gTVtvZmZzZXQgKyBpICogMl0gfCAwO1xuICAgICAgICAgICAgV2lsID0gV2kubG93ID0gTVtvZmZzZXQgKyBpICogMiArIDFdIHwgMDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gR2FtbWEwXG4gICAgICAgICAgICB2YXIgZ2FtbWEweCA9IFdbaSAtIDE1XTtcbiAgICAgICAgICAgIHZhciBnYW1tYTB4aCA9IGdhbW1hMHguaGlnaDtcbiAgICAgICAgICAgIHZhciBnYW1tYTB4bCA9IGdhbW1hMHgubG93O1xuICAgICAgICAgICAgdmFyIGdhbW1hMGggPSAoKGdhbW1hMHhoID4+PiAxKSB8IChnYW1tYTB4bCA8PCAzMSkpIF4gKChnYW1tYTB4aCA+Pj4gOCkgfCAoZ2FtbWEweGwgPDwgMjQpKSBeIChnYW1tYTB4aCA+Pj4gNyk7XG4gICAgICAgICAgICB2YXIgZ2FtbWEwbCA9ICgoZ2FtbWEweGwgPj4+IDEpIHwgKGdhbW1hMHhoIDw8IDMxKSkgXiAoKGdhbW1hMHhsID4+PiA4KSB8IChnYW1tYTB4aCA8PCAyNCkpIF4gKChnYW1tYTB4bCA+Pj4gNykgfCAoZ2FtbWEweGggPDwgMjUpKTtcblxuICAgICAgICAgICAgLy8gR2FtbWExXG4gICAgICAgICAgICB2YXIgZ2FtbWExeCA9IFdbaSAtIDJdO1xuICAgICAgICAgICAgdmFyIGdhbW1hMXhoID0gZ2FtbWExeC5oaWdoO1xuICAgICAgICAgICAgdmFyIGdhbW1hMXhsID0gZ2FtbWExeC5sb3c7XG4gICAgICAgICAgICB2YXIgZ2FtbWExaCA9ICgoZ2FtbWExeGggPj4+IDE5KSB8IChnYW1tYTF4bCA8PCAxMykpIF4gKChnYW1tYTF4aCA8PCAzKSB8IChnYW1tYTF4bCA+Pj4gMjkpKSBeIChnYW1tYTF4aCA+Pj4gNik7XG4gICAgICAgICAgICB2YXIgZ2FtbWExbCA9ICgoZ2FtbWExeGwgPj4+IDE5KSB8IChnYW1tYTF4aCA8PCAxMykpIF4gKChnYW1tYTF4bCA8PCAzKSB8IChnYW1tYTF4aCA+Pj4gMjkpKSBeICgoZ2FtbWExeGwgPj4+IDYpIHwgKGdhbW1hMXhoIDw8IDI2KSk7XG5cbiAgICAgICAgICAgIC8vIFdbaV0gPSBnYW1tYTAgKyBXW2kgLSA3XSArIGdhbW1hMSArIFdbaSAtIDE2XVxuICAgICAgICAgICAgdmFyIFdpNyA9IFdbaSAtIDddO1xuICAgICAgICAgICAgdmFyIFdpN2ggPSBXaTcuaGlnaDtcbiAgICAgICAgICAgIHZhciBXaTdsID0gV2k3LmxvdztcblxuICAgICAgICAgICAgdmFyIFdpMTYgPSBXW2kgLSAxNl07XG4gICAgICAgICAgICB2YXIgV2kxNmggPSBXaTE2LmhpZ2g7XG4gICAgICAgICAgICB2YXIgV2kxNmwgPSBXaTE2LmxvdztcblxuICAgICAgICAgICAgV2lsID0gZ2FtbWEwbCArIFdpN2w7XG4gICAgICAgICAgICBXaWggPSBnYW1tYTBoICsgV2k3aCArICgoV2lsID4+PiAwKSA8IChnYW1tYTBsID4+PiAwKSA/IDEgOiAwKTtcbiAgICAgICAgICAgIFdpbCA9IFdpbCArIGdhbW1hMWw7XG4gICAgICAgICAgICBXaWggPSBXaWggKyBnYW1tYTFoICsgKChXaWwgPj4+IDApIDwgKGdhbW1hMWwgPj4+IDApID8gMSA6IDApO1xuICAgICAgICAgICAgV2lsID0gV2lsICsgV2kxNmw7XG4gICAgICAgICAgICBXaWggPSBXaWggKyBXaTE2aCArICgoV2lsID4+PiAwKSA8IChXaTE2bCA+Pj4gMCkgPyAxIDogMCk7XG5cbiAgICAgICAgICAgIFdpLmhpZ2ggPSBXaWg7XG4gICAgICAgICAgICBXaS5sb3cgPSBXaWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGNoaCA9IChlaCAmIGZoKSBeICh+ZWggJiBnaCk7XG4gICAgICAgICAgdmFyIGNobCA9IChlbCAmIGZsKSBeICh+ZWwgJiBnbCk7XG4gICAgICAgICAgdmFyIG1hamggPSAoYWggJiBiaCkgXiAoYWggJiBjaCkgXiAoYmggJiBjaCk7XG4gICAgICAgICAgdmFyIG1hamwgPSAoYWwgJiBibCkgXiAoYWwgJiBjbCkgXiAoYmwgJiBjbCk7XG5cbiAgICAgICAgICB2YXIgc2lnbWEwaCA9ICgoYWggPj4+IDI4KSB8IChhbCA8PCA0KSkgXiAoKGFoIDw8IDMwKSB8IChhbCA+Pj4gMikpIF4gKChhaCA8PCAyNSkgfCAoYWwgPj4+IDcpKTtcbiAgICAgICAgICB2YXIgc2lnbWEwbCA9ICgoYWwgPj4+IDI4KSB8IChhaCA8PCA0KSkgXiAoKGFsIDw8IDMwKSB8IChhaCA+Pj4gMikpIF4gKChhbCA8PCAyNSkgfCAoYWggPj4+IDcpKTtcbiAgICAgICAgICB2YXIgc2lnbWExaCA9ICgoZWggPj4+IDE0KSB8IChlbCA8PCAxOCkpIF4gKChlaCA+Pj4gMTgpIHwgKGVsIDw8IDE0KSkgXiAoKGVoIDw8IDIzKSB8IChlbCA+Pj4gOSkpO1xuICAgICAgICAgIHZhciBzaWdtYTFsID0gKChlbCA+Pj4gMTQpIHwgKGVoIDw8IDE4KSkgXiAoKGVsID4+PiAxOCkgfCAoZWggPDwgMTQpKSBeICgoZWwgPDwgMjMpIHwgKGVoID4+PiA5KSk7XG5cbiAgICAgICAgICAvLyB0MSA9IGggKyBzaWdtYTEgKyBjaCArIEtbaV0gKyBXW2ldXG4gICAgICAgICAgdmFyIEtpID0gS1tpXTtcbiAgICAgICAgICB2YXIgS2loID0gS2kuaGlnaDtcbiAgICAgICAgICB2YXIgS2lsID0gS2kubG93O1xuXG4gICAgICAgICAgdmFyIHQxbCA9IGhsICsgc2lnbWExbDtcbiAgICAgICAgICB2YXIgdDFoID0gaGggKyBzaWdtYTFoICsgKCh0MWwgPj4+IDApIDwgKGhsID4+PiAwKSA/IDEgOiAwKTtcbiAgICAgICAgICB2YXIgdDFsID0gdDFsICsgY2hsO1xuICAgICAgICAgIHZhciB0MWggPSB0MWggKyBjaGggKyAoKHQxbCA+Pj4gMCkgPCAoY2hsID4+PiAwKSA/IDEgOiAwKTtcbiAgICAgICAgICB2YXIgdDFsID0gdDFsICsgS2lsO1xuICAgICAgICAgIHZhciB0MWggPSB0MWggKyBLaWggKyAoKHQxbCA+Pj4gMCkgPCAoS2lsID4+PiAwKSA/IDEgOiAwKTtcbiAgICAgICAgICB2YXIgdDFsID0gdDFsICsgV2lsO1xuICAgICAgICAgIHZhciB0MWggPSB0MWggKyBXaWggKyAoKHQxbCA+Pj4gMCkgPCAoV2lsID4+PiAwKSA/IDEgOiAwKTtcblxuICAgICAgICAgIC8vIHQyID0gc2lnbWEwICsgbWFqXG4gICAgICAgICAgdmFyIHQybCA9IHNpZ21hMGwgKyBtYWpsO1xuICAgICAgICAgIHZhciB0MmggPSBzaWdtYTBoICsgbWFqaCArICgodDJsID4+PiAwKSA8IChzaWdtYTBsID4+PiAwKSA/IDEgOiAwKTtcblxuICAgICAgICAgIC8vIFVwZGF0ZSB3b3JraW5nIHZhcmlhYmxlc1xuICAgICAgICAgIGhoID0gZ2g7XG4gICAgICAgICAgaGwgPSBnbDtcbiAgICAgICAgICBnaCA9IGZoO1xuICAgICAgICAgIGdsID0gZmw7XG4gICAgICAgICAgZmggPSBlaDtcbiAgICAgICAgICBmbCA9IGVsO1xuICAgICAgICAgIGVsID0gKGRsICsgdDFsKSB8IDA7XG4gICAgICAgICAgZWggPSAoZGggKyB0MWggKyAoKGVsID4+PiAwKSA8IChkbCA+Pj4gMCkgPyAxIDogMCkpIHwgMDtcbiAgICAgICAgICBkaCA9IGNoO1xuICAgICAgICAgIGRsID0gY2w7XG4gICAgICAgICAgY2ggPSBiaDtcbiAgICAgICAgICBjbCA9IGJsO1xuICAgICAgICAgIGJoID0gYWg7XG4gICAgICAgICAgYmwgPSBhbDtcbiAgICAgICAgICBhbCA9ICh0MWwgKyB0MmwpIHwgMDtcbiAgICAgICAgICBhaCA9ICh0MWggKyB0MmggKyAoKGFsID4+PiAwKSA8ICh0MWwgPj4+IDApID8gMSA6IDApKSB8IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnRlcm1lZGlhdGUgaGFzaCB2YWx1ZVxuICAgICAgICBIMGwgPSBIMC5sb3cgPSAoSDBsICsgYWwpO1xuICAgICAgICBIMC5oaWdoID0gKEgwaCArIGFoICsgKChIMGwgPj4+IDApIDwgKGFsID4+PiAwKSA/IDEgOiAwKSk7XG4gICAgICAgIEgxbCA9IEgxLmxvdyA9IChIMWwgKyBibCk7XG4gICAgICAgIEgxLmhpZ2ggPSAoSDFoICsgYmggKyAoKEgxbCA+Pj4gMCkgPCAoYmwgPj4+IDApID8gMSA6IDApKTtcbiAgICAgICAgSDJsID0gSDIubG93ID0gKEgybCArIGNsKTtcbiAgICAgICAgSDIuaGlnaCA9IChIMmggKyBjaCArICgoSDJsID4+PiAwKSA8IChjbCA+Pj4gMCkgPyAxIDogMCkpO1xuICAgICAgICBIM2wgPSBIMy5sb3cgPSAoSDNsICsgZGwpO1xuICAgICAgICBIMy5oaWdoID0gKEgzaCArIGRoICsgKChIM2wgPj4+IDApIDwgKGRsID4+PiAwKSA/IDEgOiAwKSk7XG4gICAgICAgIEg0bCA9IEg0LmxvdyA9IChINGwgKyBlbCk7XG4gICAgICAgIEg0LmhpZ2ggPSAoSDRoICsgZWggKyAoKEg0bCA+Pj4gMCkgPCAoZWwgPj4+IDApID8gMSA6IDApKTtcbiAgICAgICAgSDVsID0gSDUubG93ID0gKEg1bCArIGZsKTtcbiAgICAgICAgSDUuaGlnaCA9IChINWggKyBmaCArICgoSDVsID4+PiAwKSA8IChmbCA+Pj4gMCkgPyAxIDogMCkpO1xuICAgICAgICBINmwgPSBINi5sb3cgPSAoSDZsICsgZ2wpO1xuICAgICAgICBINi5oaWdoID0gKEg2aCArIGdoICsgKChINmwgPj4+IDApIDwgKGdsID4+PiAwKSA/IDEgOiAwKSk7XG4gICAgICAgIEg3bCA9IEg3LmxvdyA9IChIN2wgKyBobCk7XG4gICAgICAgIEg3LmhpZ2ggPSAoSDdoICsgaGggKyAoKEg3bCA+Pj4gMCkgPCAoaGwgPj4+IDApID8gMSA6IDApKTtcbiAgICAgIH0sXG5cbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBkYXRhID0gdGhpcy5fZGF0YTtcbiAgICAgICAgdmFyIGRhdGFXb3JkcyA9IGRhdGEud29yZHM7XG5cbiAgICAgICAgdmFyIG5CaXRzVG90YWwgPSB0aGlzLl9uRGF0YUJ5dGVzICogODtcbiAgICAgICAgdmFyIG5CaXRzTGVmdCA9IGRhdGEuc2lnQnl0ZXMgKiA4O1xuXG4gICAgICAgIC8vIEFkZCBwYWRkaW5nXG4gICAgICAgIGRhdGFXb3Jkc1tuQml0c0xlZnQgPj4+IDVdIHw9IDB4ODAgPDwgKDI0IC0gbkJpdHNMZWZ0ICUgMzIpO1xuICAgICAgICBkYXRhV29yZHNbKCgobkJpdHNMZWZ0ICsgMTI4KSA+Pj4gMTApIDw8IDUpICsgMzBdID0gTWF0aC5mbG9vcihuQml0c1RvdGFsIC8gMHgxMDAwMDAwMDApO1xuICAgICAgICBkYXRhV29yZHNbKCgobkJpdHNMZWZ0ICsgMTI4KSA+Pj4gMTApIDw8IDUpICsgMzFdID0gbkJpdHNUb3RhbDtcbiAgICAgICAgZGF0YS5zaWdCeXRlcyA9IGRhdGFXb3Jkcy5sZW5ndGggKiA0O1xuXG4gICAgICAgIC8vIEhhc2ggZmluYWwgYmxvY2tzXG4gICAgICAgIHRoaXMuX3Byb2Nlc3MoKTtcblxuICAgICAgICAvLyBDb252ZXJ0IGhhc2ggdG8gMzItYml0IHdvcmQgYXJyYXkgYmVmb3JlIHJldHVybmluZ1xuICAgICAgICB2YXIgaGFzaCA9IHRoaXMuX2hhc2gudG9YMzIoKTtcblxuICAgICAgICAvLyBSZXR1cm4gZmluYWwgY29tcHV0ZWQgaGFzaFxuICAgICAgICByZXR1cm4gaGFzaDtcbiAgICAgIH0sXG5cbiAgICAgIGNsb25lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGNsb25lID0gSGFzaGVyLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIGNsb25lLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpO1xuXG4gICAgICAgIHJldHVybiBjbG9uZTtcbiAgICAgIH0sXG5cbiAgICAgIGJsb2NrU2l6ZTogMTAyNCAvIDMyXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbiB0byB0aGUgaGFzaGVyJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBoYXNoLlxuICAgICAqXG4gICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgaGFzaC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGhhc2ggPSBDcnlwdG9KUy5TSEE1MTIoJ21lc3NhZ2UnKTtcbiAgICAgKiAgICAgdmFyIGhhc2ggPSBDcnlwdG9KUy5TSEE1MTIod29yZEFycmF5KTtcbiAgICAgKi9cbiAgICBDLlNIQTUxMiA9IEhhc2hlci5fY3JlYXRlSGVscGVyKFNIQTUxMik7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbiB0byB0aGUgSE1BQydzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gaGFzaC5cbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IGtleSBUaGUgc2VjcmV0IGtleS5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIEhNQUMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBobWFjID0gQ3J5cHRvSlMuSG1hY1NIQTUxMihtZXNzYWdlLCBrZXkpO1xuICAgICAqL1xuICAgIEMuSG1hY1NIQTUxMiA9IEhhc2hlci5fY3JlYXRlSG1hY0hlbHBlcihTSEE1MTIpO1xuICB9KCkpO1xuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfeDY0ID0gQy54NjQ7XG4gICAgdmFyIFg2NFdvcmQgPSBDX3g2NC5Xb3JkO1xuICAgIHZhciBYNjRXb3JkQXJyYXkgPSBDX3g2NC5Xb3JkQXJyYXk7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcbiAgICB2YXIgU0hBNTEyID0gQ19hbGdvLlNIQTUxMjtcblxuICAgIC8qKlxuICAgICAqIFNIQS0zODQgaGFzaCBhbGdvcml0aG0uXG4gICAgICovXG4gICAgdmFyIFNIQTM4NCA9IENfYWxnby5TSEEzODQgPSBTSEE1MTIuZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5faGFzaCA9IG5ldyBYNjRXb3JkQXJyYXkuaW5pdChbXG4gICAgICAgICAgbmV3IFg2NFdvcmQuaW5pdCgweGNiYmI5ZDVkLCAweGMxMDU5ZWQ4KSwgbmV3IFg2NFdvcmQuaW5pdCgweDYyOWEyOTJhLCAweDM2N2NkNTA3KSxcbiAgICAgICAgICBuZXcgWDY0V29yZC5pbml0KDB4OTE1OTAxNWEsIDB4MzA3MGRkMTcpLCBuZXcgWDY0V29yZC5pbml0KDB4MTUyZmVjZDgsIDB4ZjcwZTU5MzkpLFxuICAgICAgICAgIG5ldyBYNjRXb3JkLmluaXQoMHg2NzMzMjY2NywgMHhmZmMwMGIzMSksIG5ldyBYNjRXb3JkLmluaXQoMHg4ZWI0NGE4NywgMHg2ODU4MTUxMSksXG4gICAgICAgICAgbmV3IFg2NFdvcmQuaW5pdCgweGRiMGMyZTBkLCAweDY0Zjk4ZmE3KSwgbmV3IFg2NFdvcmQuaW5pdCgweDQ3YjU0ODFkLCAweGJlZmE0ZmE0KVxuICAgICAgICBdKTtcbiAgICAgIH0sXG5cbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGhhc2ggPSBTSEE1MTIuX2RvRmluYWxpemUuY2FsbCh0aGlzKTtcblxuICAgICAgICBoYXNoLnNpZ0J5dGVzIC09IDE2O1xuXG4gICAgICAgIHJldHVybiBoYXNoO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb24gdG8gdGhlIGhhc2hlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gaGFzaC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIGhhc2guXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBoYXNoID0gQ3J5cHRvSlMuU0hBMzg0KCdtZXNzYWdlJyk7XG4gICAgICogICAgIHZhciBoYXNoID0gQ3J5cHRvSlMuU0hBMzg0KHdvcmRBcnJheSk7XG4gICAgICovXG4gICAgQy5TSEEzODQgPSBTSEE1MTIuX2NyZWF0ZUhlbHBlcihTSEEzODQpO1xuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb24gdG8gdGhlIEhNQUMncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBtZXNzYWdlIFRoZSBtZXNzYWdlIHRvIGhhc2guXG4gICAgICogQHBhcmFtIHtXb3JkQXJyYXl8c3RyaW5nfSBrZXkgVGhlIHNlY3JldCBrZXkuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtXb3JkQXJyYXl9IFRoZSBITUFDLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgaG1hYyA9IENyeXB0b0pTLkhtYWNTSEEzODQobWVzc2FnZSwga2V5KTtcbiAgICAgKi9cbiAgICBDLkhtYWNTSEEzODQgPSBTSEE1MTIuX2NyZWF0ZUhtYWNIZWxwZXIoU0hBMzg0KTtcbiAgfSgpKTtcblxuXG4gIC8qKlxuICAgKiBDaXBoZXIgY29yZSBjb21wb25lbnRzLlxuICAgKi9cbiAgQ3J5cHRvSlMubGliLkNpcGhlciB8fCAoZnVuY3Rpb24odW5kZWZpbmVkKSB7XG4gICAgLy8gU2hvcnRjdXRzXG4gICAgdmFyIEMgPSBDcnlwdG9KUztcbiAgICB2YXIgQ19saWIgPSBDLmxpYjtcbiAgICB2YXIgQmFzZSA9IENfbGliLkJhc2U7XG4gICAgdmFyIFdvcmRBcnJheSA9IENfbGliLldvcmRBcnJheTtcbiAgICB2YXIgQnVmZmVyZWRCbG9ja0FsZ29yaXRobSA9IENfbGliLkJ1ZmZlcmVkQmxvY2tBbGdvcml0aG07XG4gICAgdmFyIENfZW5jID0gQy5lbmM7XG4gICAgdmFyIFV0ZjggPSBDX2VuYy5VdGY4O1xuICAgIHZhciBCYXNlNjQgPSBDX2VuYy5CYXNlNjQ7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcbiAgICB2YXIgRXZwS0RGID0gQ19hbGdvLkV2cEtERjtcblxuICAgIC8qKlxuICAgICAqIEFic3RyYWN0IGJhc2UgY2lwaGVyIHRlbXBsYXRlLlxuICAgICAqXG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGtleVNpemUgVGhpcyBjaXBoZXIncyBrZXkgc2l6ZS4gRGVmYXVsdDogNCAoMTI4IGJpdHMpXG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGl2U2l6ZSBUaGlzIGNpcGhlcidzIElWIHNpemUuIERlZmF1bHQ6IDQgKDEyOCBiaXRzKVxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBfRU5DX1hGT1JNX01PREUgQSBjb25zdGFudCByZXByZXNlbnRpbmcgZW5jcnlwdGlvbiBtb2RlLlxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBfREVDX1hGT1JNX01PREUgQSBjb25zdGFudCByZXByZXNlbnRpbmcgZGVjcnlwdGlvbiBtb2RlLlxuICAgICAqL1xuICAgIHZhciBDaXBoZXIgPSBDX2xpYi5DaXBoZXIgPSBCdWZmZXJlZEJsb2NrQWxnb3JpdGhtLmV4dGVuZCh7XG4gICAgICAvKipcbiAgICAgICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkge1dvcmRBcnJheX0gaXYgVGhlIElWIHRvIHVzZSBmb3IgdGhpcyBvcGVyYXRpb24uXG4gICAgICAgKi9cbiAgICAgIGNmZzogQmFzZS5leHRlbmQoKSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDcmVhdGVzIHRoaXMgY2lwaGVyIGluIGVuY3J5cHRpb24gbW9kZS5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheX0ga2V5IFRoZSBrZXkuXG4gICAgICAgKiBAcGFyYW0ge09iamVjdH0gY2ZnIChPcHRpb25hbCkgVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB1c2UgZm9yIHRoaXMgb3BlcmF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge0NpcGhlcn0gQSBjaXBoZXIgaW5zdGFuY2UuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBjaXBoZXIgPSBDcnlwdG9KUy5hbGdvLkFFUy5jcmVhdGVFbmNyeXB0b3Ioa2V5V29yZEFycmF5LCB7IGl2OiBpdldvcmRBcnJheSB9KTtcbiAgICAgICAqL1xuICAgICAgY3JlYXRlRW5jcnlwdG9yOiBmdW5jdGlvbihrZXksIGNmZykge1xuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5fRU5DX1hGT1JNX01PREUsIGtleSwgY2ZnKTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ3JlYXRlcyB0aGlzIGNpcGhlciBpbiBkZWNyeXB0aW9uIG1vZGUuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl9IGtleSBUaGUga2V5LlxuICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNmZyAoT3B0aW9uYWwpIFRoZSBjb25maWd1cmF0aW9uIG9wdGlvbnMgdG8gdXNlIGZvciB0aGlzIG9wZXJhdGlvbi5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtDaXBoZXJ9IEEgY2lwaGVyIGluc3RhbmNlLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgY2lwaGVyID0gQ3J5cHRvSlMuYWxnby5BRVMuY3JlYXRlRGVjcnlwdG9yKGtleVdvcmRBcnJheSwgeyBpdjogaXZXb3JkQXJyYXkgfSk7XG4gICAgICAgKi9cbiAgICAgIGNyZWF0ZURlY3J5cHRvcjogZnVuY3Rpb24oa2V5LCBjZmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHRoaXMuX0RFQ19YRk9STV9NT0RFLCBrZXksIGNmZyk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHkgY3JlYXRlZCBjaXBoZXIuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtudW1iZXJ9IHhmb3JtTW9kZSBFaXRoZXIgdGhlIGVuY3J5cHRpb24gb3IgZGVjcnlwdGlvbiB0cmFuc29ybWF0aW9uIG1vZGUgY29uc3RhbnQuXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheX0ga2V5IFRoZSBrZXkuXG4gICAgICAgKiBAcGFyYW0ge09iamVjdH0gY2ZnIChPcHRpb25hbCkgVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB1c2UgZm9yIHRoaXMgb3BlcmF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBjaXBoZXIgPSBDcnlwdG9KUy5hbGdvLkFFUy5jcmVhdGUoQ3J5cHRvSlMuYWxnby5BRVMuX0VOQ19YRk9STV9NT0RFLCBrZXlXb3JkQXJyYXksIHsgaXY6IGl2V29yZEFycmF5IH0pO1xuICAgICAgICovXG4gICAgICBpbml0OiBmdW5jdGlvbih4Zm9ybU1vZGUsIGtleSwgY2ZnKSB7XG4gICAgICAgIC8vIEFwcGx5IGNvbmZpZyBkZWZhdWx0c1xuICAgICAgICB0aGlzLmNmZyA9IHRoaXMuY2ZnLmV4dGVuZChjZmcpO1xuXG4gICAgICAgIC8vIFN0b3JlIHRyYW5zZm9ybSBtb2RlIGFuZCBrZXlcbiAgICAgICAgdGhpcy5feGZvcm1Nb2RlID0geGZvcm1Nb2RlO1xuICAgICAgICB0aGlzLl9rZXkgPSBrZXk7XG5cbiAgICAgICAgLy8gU2V0IGluaXRpYWwgdmFsdWVzXG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzZXRzIHRoaXMgY2lwaGVyIHRvIGl0cyBpbml0aWFsIHN0YXRlLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIGNpcGhlci5yZXNldCgpO1xuICAgICAgICovXG4gICAgICByZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFJlc2V0IGRhdGEgYnVmZmVyXG4gICAgICAgIEJ1ZmZlcmVkQmxvY2tBbGdvcml0aG0ucmVzZXQuY2FsbCh0aGlzKTtcblxuICAgICAgICAvLyBQZXJmb3JtIGNvbmNyZXRlLWNpcGhlciBsb2dpY1xuICAgICAgICB0aGlzLl9kb1Jlc2V0KCk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIEFkZHMgZGF0YSB0byBiZSBlbmNyeXB0ZWQgb3IgZGVjcnlwdGVkLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gZGF0YVVwZGF0ZSBUaGUgZGF0YSB0byBlbmNyeXB0IG9yIGRlY3J5cHQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgZGF0YSBhZnRlciBwcm9jZXNzaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBlbmNyeXB0ZWQgPSBjaXBoZXIucHJvY2VzcygnZGF0YScpO1xuICAgICAgICogICAgIHZhciBlbmNyeXB0ZWQgPSBjaXBoZXIucHJvY2Vzcyh3b3JkQXJyYXkpO1xuICAgICAgICovXG4gICAgICBwcm9jZXNzOiBmdW5jdGlvbihkYXRhVXBkYXRlKSB7XG4gICAgICAgIC8vIEFwcGVuZFxuICAgICAgICB0aGlzLl9hcHBlbmQoZGF0YVVwZGF0ZSk7XG5cbiAgICAgICAgLy8gUHJvY2VzcyBhdmFpbGFibGUgYmxvY2tzXG4gICAgICAgIHJldHVybiB0aGlzLl9wcm9jZXNzKCk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIEZpbmFsaXplcyB0aGUgZW5jcnlwdGlvbiBvciBkZWNyeXB0aW9uIHByb2Nlc3MuXG4gICAgICAgKiBOb3RlIHRoYXQgdGhlIGZpbmFsaXplIG9wZXJhdGlvbiBpcyBlZmZlY3RpdmVseSBhIGRlc3RydWN0aXZlLCByZWFkLW9uY2Ugb3BlcmF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gZGF0YVVwZGF0ZSBUaGUgZmluYWwgZGF0YSB0byBlbmNyeXB0IG9yIGRlY3J5cHQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgZGF0YSBhZnRlciBmaW5hbCBwcm9jZXNzaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBlbmNyeXB0ZWQgPSBjaXBoZXIuZmluYWxpemUoKTtcbiAgICAgICAqICAgICB2YXIgZW5jcnlwdGVkID0gY2lwaGVyLmZpbmFsaXplKCdkYXRhJyk7XG4gICAgICAgKiAgICAgdmFyIGVuY3J5cHRlZCA9IGNpcGhlci5maW5hbGl6ZSh3b3JkQXJyYXkpO1xuICAgICAgICovXG4gICAgICBmaW5hbGl6ZTogZnVuY3Rpb24oZGF0YVVwZGF0ZSkge1xuICAgICAgICAvLyBGaW5hbCBkYXRhIHVwZGF0ZVxuICAgICAgICBpZiAoZGF0YVVwZGF0ZSkge1xuICAgICAgICAgIHRoaXMuX2FwcGVuZChkYXRhVXBkYXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBlcmZvcm0gY29uY3JldGUtY2lwaGVyIGxvZ2ljXG4gICAgICAgIHZhciBmaW5hbFByb2Nlc3NlZERhdGEgPSB0aGlzLl9kb0ZpbmFsaXplKCk7XG5cbiAgICAgICAgcmV0dXJuIGZpbmFsUHJvY2Vzc2VkRGF0YTtcbiAgICAgIH0sXG5cbiAgICAgIGtleVNpemU6IDEyOCAvIDMyLFxuXG4gICAgICBpdlNpemU6IDEyOCAvIDMyLFxuXG4gICAgICBfRU5DX1hGT1JNX01PREU6IDEsXG5cbiAgICAgIF9ERUNfWEZPUk1fTU9ERTogMixcblxuICAgICAgLyoqXG4gICAgICAgKiBDcmVhdGVzIHNob3J0Y3V0IGZ1bmN0aW9ucyB0byBhIGNpcGhlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtDaXBoZXJ9IGNpcGhlciBUaGUgY2lwaGVyIHRvIGNyZWF0ZSBhIGhlbHBlciBmb3IuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7T2JqZWN0fSBBbiBvYmplY3Qgd2l0aCBlbmNyeXB0IGFuZCBkZWNyeXB0IHNob3J0Y3V0IGZ1bmN0aW9ucy5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIEFFUyA9IENyeXB0b0pTLmxpYi5DaXBoZXIuX2NyZWF0ZUhlbHBlcihDcnlwdG9KUy5hbGdvLkFFUyk7XG4gICAgICAgKi9cbiAgICAgIF9jcmVhdGVIZWxwZXI6IChmdW5jdGlvbigpIHtcbiAgICAgICAgZnVuY3Rpb24gc2VsZWN0Q2lwaGVyU3RyYXRlZ3koa2V5KSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBQYXNzd29yZEJhc2VkQ2lwaGVyO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gU2VyaWFsaXphYmxlQ2lwaGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmdW5jdGlvbihjaXBoZXIpIHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5jcnlwdDogZnVuY3Rpb24obWVzc2FnZSwga2V5LCBjZmcpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdENpcGhlclN0cmF0ZWd5KGtleSkuZW5jcnlwdChjaXBoZXIsIG1lc3NhZ2UsIGtleSwgY2ZnKTtcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgIGRlY3J5cHQ6IGZ1bmN0aW9uKGNpcGhlcnRleHQsIGtleSwgY2ZnKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzZWxlY3RDaXBoZXJTdHJhdGVneShrZXkpLmRlY3J5cHQoY2lwaGVyLCBjaXBoZXJ0ZXh0LCBrZXksIGNmZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfTtcbiAgICAgIH0oKSlcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEFic3RyYWN0IGJhc2Ugc3RyZWFtIGNpcGhlciB0ZW1wbGF0ZS5cbiAgICAgKlxuICAgICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBibG9ja1NpemUgVGhlIG51bWJlciBvZiAzMi1iaXQgd29yZHMgdGhpcyBjaXBoZXIgb3BlcmF0ZXMgb24uIERlZmF1bHQ6IDEgKDMyIGJpdHMpXG4gICAgICovXG4gICAgdmFyIFN0cmVhbUNpcGhlciA9IENfbGliLlN0cmVhbUNpcGhlciA9IENpcGhlci5leHRlbmQoe1xuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBQcm9jZXNzIHBhcnRpYWwgYmxvY2tzXG4gICAgICAgIHZhciBmaW5hbFByb2Nlc3NlZEJsb2NrcyA9IHRoaXMuX3Byb2Nlc3MoISEnZmx1c2gnKTtcblxuICAgICAgICByZXR1cm4gZmluYWxQcm9jZXNzZWRCbG9ja3M7XG4gICAgICB9LFxuXG4gICAgICBibG9ja1NpemU6IDFcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIE1vZGUgbmFtZXNwYWNlLlxuICAgICAqL1xuICAgIHZhciBDX21vZGUgPSBDLm1vZGUgPSB7fTtcblxuICAgIC8qKlxuICAgICAqIEFic3RyYWN0IGJhc2UgYmxvY2sgY2lwaGVyIG1vZGUgdGVtcGxhdGUuXG4gICAgICovXG4gICAgdmFyIEJsb2NrQ2lwaGVyTW9kZSA9IENfbGliLkJsb2NrQ2lwaGVyTW9kZSA9IEJhc2UuZXh0ZW5kKHtcbiAgICAgIC8qKlxuICAgICAgICogQ3JlYXRlcyB0aGlzIG1vZGUgZm9yIGVuY3J5cHRpb24uXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtDaXBoZXJ9IGNpcGhlciBBIGJsb2NrIGNpcGhlciBpbnN0YW5jZS5cbiAgICAgICAqIEBwYXJhbSB7QXJyYXl9IGl2IFRoZSBJViB3b3Jkcy5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIG1vZGUgPSBDcnlwdG9KUy5tb2RlLkNCQy5jcmVhdGVFbmNyeXB0b3IoY2lwaGVyLCBpdi53b3Jkcyk7XG4gICAgICAgKi9cbiAgICAgIGNyZWF0ZUVuY3J5cHRvcjogZnVuY3Rpb24oY2lwaGVyLCBpdikge1xuICAgICAgICByZXR1cm4gdGhpcy5FbmNyeXB0b3IuY3JlYXRlKGNpcGhlciwgaXYpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDcmVhdGVzIHRoaXMgbW9kZSBmb3IgZGVjcnlwdGlvbi5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge0NpcGhlcn0gY2lwaGVyIEEgYmxvY2sgY2lwaGVyIGluc3RhbmNlLlxuICAgICAgICogQHBhcmFtIHtBcnJheX0gaXYgVGhlIElWIHdvcmRzLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgbW9kZSA9IENyeXB0b0pTLm1vZGUuQ0JDLmNyZWF0ZURlY3J5cHRvcihjaXBoZXIsIGl2LndvcmRzKTtcbiAgICAgICAqL1xuICAgICAgY3JlYXRlRGVjcnlwdG9yOiBmdW5jdGlvbihjaXBoZXIsIGl2KSB7XG4gICAgICAgIHJldHVybiB0aGlzLkRlY3J5cHRvci5jcmVhdGUoY2lwaGVyLCBpdik7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIEluaXRpYWxpemVzIGEgbmV3bHkgY3JlYXRlZCBtb2RlLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7Q2lwaGVyfSBjaXBoZXIgQSBibG9jayBjaXBoZXIgaW5zdGFuY2UuXG4gICAgICAgKiBAcGFyYW0ge0FycmF5fSBpdiBUaGUgSVYgd29yZHMuXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIG1vZGUgPSBDcnlwdG9KUy5tb2RlLkNCQy5FbmNyeXB0b3IuY3JlYXRlKGNpcGhlciwgaXYud29yZHMpO1xuICAgICAgICovXG4gICAgICBpbml0OiBmdW5jdGlvbihjaXBoZXIsIGl2KSB7XG4gICAgICAgIHRoaXMuX2NpcGhlciA9IGNpcGhlcjtcbiAgICAgICAgdGhpcy5faXYgPSBpdjtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENpcGhlciBCbG9jayBDaGFpbmluZyBtb2RlLlxuICAgICAqL1xuICAgIHZhciBDQkMgPSBDX21vZGUuQ0JDID0gKGZ1bmN0aW9uKCkge1xuICAgICAgLyoqXG4gICAgICAgKiBBYnN0cmFjdCBiYXNlIENCQyBtb2RlLlxuICAgICAgICovXG4gICAgICB2YXIgQ0JDID0gQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpO1xuXG4gICAgICAvKipcbiAgICAgICAqIENCQyBlbmNyeXB0b3IuXG4gICAgICAgKi9cbiAgICAgIENCQy5FbmNyeXB0b3IgPSBDQkMuZXh0ZW5kKHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByb2Nlc3NlcyB0aGUgZGF0YSBibG9jayBhdCBvZmZzZXQuXG4gICAgICAgICAqXG4gICAgICAgICAqIEBwYXJhbSB7QXJyYXl9IHdvcmRzIFRoZSBkYXRhIHdvcmRzIHRvIG9wZXJhdGUgb24uXG4gICAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXQgVGhlIG9mZnNldCB3aGVyZSB0aGUgYmxvY2sgc3RhcnRzLlxuICAgICAgICAgKlxuICAgICAgICAgKiBAZXhhbXBsZVxuICAgICAgICAgKlxuICAgICAgICAgKiAgICAgbW9kZS5wcm9jZXNzQmxvY2soZGF0YS53b3Jkcywgb2Zmc2V0KTtcbiAgICAgICAgICovXG4gICAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24od29yZHMsIG9mZnNldCkge1xuICAgICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICAgIHZhciBjaXBoZXIgPSB0aGlzLl9jaXBoZXI7XG4gICAgICAgICAgdmFyIGJsb2NrU2l6ZSA9IGNpcGhlci5ibG9ja1NpemU7XG5cbiAgICAgICAgICAvLyBYT1IgYW5kIGVuY3J5cHRcbiAgICAgICAgICB4b3JCbG9jay5jYWxsKHRoaXMsIHdvcmRzLCBvZmZzZXQsIGJsb2NrU2l6ZSk7XG4gICAgICAgICAgY2lwaGVyLmVuY3J5cHRCbG9jayh3b3Jkcywgb2Zmc2V0KTtcblxuICAgICAgICAgIC8vIFJlbWVtYmVyIHRoaXMgYmxvY2sgdG8gdXNlIHdpdGggbmV4dCBibG9ja1xuICAgICAgICAgIHRoaXMuX3ByZXZCbG9jayA9IHdvcmRzLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgYmxvY2tTaXplKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8qKlxuICAgICAgICogQ0JDIGRlY3J5cHRvci5cbiAgICAgICAqL1xuICAgICAgQ0JDLkRlY3J5cHRvciA9IENCQy5leHRlbmQoe1xuICAgICAgICAvKipcbiAgICAgICAgICogUHJvY2Vzc2VzIHRoZSBkYXRhIGJsb2NrIGF0IG9mZnNldC5cbiAgICAgICAgICpcbiAgICAgICAgICogQHBhcmFtIHtBcnJheX0gd29yZHMgVGhlIGRhdGEgd29yZHMgdG8gb3BlcmF0ZSBvbi5cbiAgICAgICAgICogQHBhcmFtIHtudW1iZXJ9IG9mZnNldCBUaGUgb2Zmc2V0IHdoZXJlIHRoZSBibG9jayBzdGFydHMuXG4gICAgICAgICAqXG4gICAgICAgICAqIEBleGFtcGxlXG4gICAgICAgICAqXG4gICAgICAgICAqICAgICBtb2RlLnByb2Nlc3NCbG9jayhkYXRhLndvcmRzLCBvZmZzZXQpO1xuICAgICAgICAgKi9cbiAgICAgICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbih3b3Jkcywgb2Zmc2V0KSB7XG4gICAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgICAgdmFyIGNpcGhlciA9IHRoaXMuX2NpcGhlcjtcbiAgICAgICAgICB2YXIgYmxvY2tTaXplID0gY2lwaGVyLmJsb2NrU2l6ZTtcblxuICAgICAgICAgIC8vIFJlbWVtYmVyIHRoaXMgYmxvY2sgdG8gdXNlIHdpdGggbmV4dCBibG9ja1xuICAgICAgICAgIHZhciB0aGlzQmxvY2sgPSB3b3Jkcy5zbGljZShvZmZzZXQsIG9mZnNldCArIGJsb2NrU2l6ZSk7XG5cbiAgICAgICAgICAvLyBEZWNyeXB0IGFuZCBYT1JcbiAgICAgICAgICBjaXBoZXIuZGVjcnlwdEJsb2NrKHdvcmRzLCBvZmZzZXQpO1xuICAgICAgICAgIHhvckJsb2NrLmNhbGwodGhpcywgd29yZHMsIG9mZnNldCwgYmxvY2tTaXplKTtcblxuICAgICAgICAgIC8vIFRoaXMgYmxvY2sgYmVjb21lcyB0aGUgcHJldmlvdXMgYmxvY2tcbiAgICAgICAgICB0aGlzLl9wcmV2QmxvY2sgPSB0aGlzQmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBmdW5jdGlvbiB4b3JCbG9jayh3b3Jkcywgb2Zmc2V0LCBibG9ja1NpemUpIHtcbiAgICAgICAgdmFyIGJsb2NrO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBpdiA9IHRoaXMuX2l2O1xuXG4gICAgICAgIC8vIENob29zZSBtaXhpbmcgYmxvY2tcbiAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgYmxvY2sgPSBpdjtcblxuICAgICAgICAgIC8vIFJlbW92ZSBJViBmb3Igc3Vic2VxdWVudCBibG9ja3NcbiAgICAgICAgICB0aGlzLl9pdiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBibG9jayA9IHRoaXMuX3ByZXZCbG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFhPUiBibG9ja3NcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBibG9ja1NpemU7IGkrKykge1xuICAgICAgICAgIHdvcmRzW29mZnNldCArIGldIF49IGJsb2NrW2ldO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBDQkM7XG4gICAgfSgpKTtcblxuICAgIC8qKlxuICAgICAqIFBhZGRpbmcgbmFtZXNwYWNlLlxuICAgICAqL1xuICAgIHZhciBDX3BhZCA9IEMucGFkID0ge307XG5cbiAgICAvKipcbiAgICAgKiBQS0NTICM1LzcgcGFkZGluZyBzdHJhdGVneS5cbiAgICAgKi9cbiAgICB2YXIgUGtjczcgPSBDX3BhZC5Qa2NzNyA9IHtcbiAgICAgIC8qKlxuICAgICAgICogUGFkcyBkYXRhIHVzaW5nIHRoZSBhbGdvcml0aG0gZGVmaW5lZCBpbiBQS0NTICM1LzcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl9IGRhdGEgVGhlIGRhdGEgdG8gcGFkLlxuICAgICAgICogQHBhcmFtIHtudW1iZXJ9IGJsb2NrU2l6ZSBUaGUgbXVsdGlwbGUgdGhhdCB0aGUgZGF0YSBzaG91bGQgYmUgcGFkZGVkIHRvLlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICBDcnlwdG9KUy5wYWQuUGtjczcucGFkKHdvcmRBcnJheSwgNCk7XG4gICAgICAgKi9cbiAgICAgIHBhZDogZnVuY3Rpb24oZGF0YSwgYmxvY2tTaXplKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBibG9ja1NpemVCeXRlcyA9IGJsb2NrU2l6ZSAqIDQ7XG5cbiAgICAgICAgLy8gQ291bnQgcGFkZGluZyBieXRlc1xuICAgICAgICB2YXIgblBhZGRpbmdCeXRlcyA9IGJsb2NrU2l6ZUJ5dGVzIC0gZGF0YS5zaWdCeXRlcyAlIGJsb2NrU2l6ZUJ5dGVzO1xuXG4gICAgICAgIC8vIENyZWF0ZSBwYWRkaW5nIHdvcmRcbiAgICAgICAgdmFyIHBhZGRpbmdXb3JkID0gKG5QYWRkaW5nQnl0ZXMgPDwgMjQpIHwgKG5QYWRkaW5nQnl0ZXMgPDwgMTYpIHwgKG5QYWRkaW5nQnl0ZXMgPDwgOCkgfCBuUGFkZGluZ0J5dGVzO1xuXG4gICAgICAgIC8vIENyZWF0ZSBwYWRkaW5nXG4gICAgICAgIHZhciBwYWRkaW5nV29yZHMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuUGFkZGluZ0J5dGVzOyBpICs9IDQpIHtcbiAgICAgICAgICBwYWRkaW5nV29yZHMucHVzaChwYWRkaW5nV29yZCk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHBhZGRpbmcgPSBXb3JkQXJyYXkuY3JlYXRlKHBhZGRpbmdXb3JkcywgblBhZGRpbmdCeXRlcyk7XG5cbiAgICAgICAgLy8gQWRkIHBhZGRpbmdcbiAgICAgICAgZGF0YS5jb25jYXQocGFkZGluZyk7XG4gICAgICB9LFxuXG4gICAgICAvKipcbiAgICAgICAqIFVucGFkcyBkYXRhIHRoYXQgaGFkIGJlZW4gcGFkZGVkIHVzaW5nIHRoZSBhbGdvcml0aG0gZGVmaW5lZCBpbiBQS0NTICM1LzcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtXb3JkQXJyYXl9IGRhdGEgVGhlIGRhdGEgdG8gdW5wYWQuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIENyeXB0b0pTLnBhZC5Qa2NzNy51bnBhZCh3b3JkQXJyYXkpO1xuICAgICAgICovXG4gICAgICB1bnBhZDogZnVuY3Rpb24oZGF0YSkge1xuICAgICAgICAvLyBHZXQgbnVtYmVyIG9mIHBhZGRpbmcgYnl0ZXMgZnJvbSBsYXN0IGJ5dGVcbiAgICAgICAgdmFyIG5QYWRkaW5nQnl0ZXMgPSBkYXRhLndvcmRzWyhkYXRhLnNpZ0J5dGVzIC0gMSkgPj4+IDJdICYgMHhmZjtcblxuICAgICAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICAgICBkYXRhLnNpZ0J5dGVzIC09IG5QYWRkaW5nQnl0ZXM7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEFic3RyYWN0IGJhc2UgYmxvY2sgY2lwaGVyIHRlbXBsYXRlLlxuICAgICAqXG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IGJsb2NrU2l6ZSBUaGUgbnVtYmVyIG9mIDMyLWJpdCB3b3JkcyB0aGlzIGNpcGhlciBvcGVyYXRlcyBvbi4gRGVmYXVsdDogNCAoMTI4IGJpdHMpXG4gICAgICovXG4gICAgdmFyIEJsb2NrQ2lwaGVyID0gQ19saWIuQmxvY2tDaXBoZXIgPSBDaXBoZXIuZXh0ZW5kKHtcbiAgICAgIC8qKlxuICAgICAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSB7TW9kZX0gbW9kZSBUaGUgYmxvY2sgbW9kZSB0byB1c2UuIERlZmF1bHQ6IENCQ1xuICAgICAgICogQHByb3BlcnR5IHtQYWRkaW5nfSBwYWRkaW5nIFRoZSBwYWRkaW5nIHN0cmF0ZWd5IHRvIHVzZS4gRGVmYXVsdDogUGtjczdcbiAgICAgICAqL1xuICAgICAgY2ZnOiBDaXBoZXIuY2ZnLmV4dGVuZCh7XG4gICAgICAgIG1vZGU6IENCQyxcbiAgICAgICAgcGFkZGluZzogUGtjczdcbiAgICAgIH0pLFxuXG4gICAgICByZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBtb2RlQ3JlYXRvcjtcblxuICAgICAgICAvLyBSZXNldCBjaXBoZXJcbiAgICAgICAgQ2lwaGVyLnJlc2V0LmNhbGwodGhpcyk7XG5cbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBjZmcgPSB0aGlzLmNmZztcbiAgICAgICAgdmFyIGl2ID0gY2ZnLml2O1xuICAgICAgICB2YXIgbW9kZSA9IGNmZy5tb2RlO1xuXG4gICAgICAgIC8vIFJlc2V0IGJsb2NrIG1vZGVcbiAgICAgICAgaWYgKHRoaXMuX3hmb3JtTW9kZSA9PSB0aGlzLl9FTkNfWEZPUk1fTU9ERSkge1xuICAgICAgICAgIG1vZGVDcmVhdG9yID0gbW9kZS5jcmVhdGVFbmNyeXB0b3I7XG4gICAgICAgIH0gZWxzZSAvKiBpZiAodGhpcy5feGZvcm1Nb2RlID09IHRoaXMuX0RFQ19YRk9STV9NT0RFKSAqLyB7XG4gICAgICAgICAgbW9kZUNyZWF0b3IgPSBtb2RlLmNyZWF0ZURlY3J5cHRvcjtcbiAgICAgICAgICAvLyBLZWVwIGF0IGxlYXN0IG9uZSBibG9jayBpbiB0aGUgYnVmZmVyIGZvciB1bnBhZGRpbmdcbiAgICAgICAgICB0aGlzLl9taW5CdWZmZXJTaXplID0gMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9tb2RlICYmIHRoaXMuX21vZGUuX19jcmVhdG9yID09IG1vZGVDcmVhdG9yKSB7XG4gICAgICAgICAgdGhpcy5fbW9kZS5pbml0KHRoaXMsIGl2ICYmIGl2LndvcmRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl9tb2RlID0gbW9kZUNyZWF0b3IuY2FsbChtb2RlLCB0aGlzLCBpdiAmJiBpdi53b3Jkcyk7XG4gICAgICAgICAgdGhpcy5fbW9kZS5fX2NyZWF0b3IgPSBtb2RlQ3JlYXRvcjtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbih3b3Jkcywgb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMuX21vZGUucHJvY2Vzc0Jsb2NrKHdvcmRzLCBvZmZzZXQpO1xuICAgICAgfSxcblxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgZmluYWxQcm9jZXNzZWRCbG9ja3M7XG5cbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIHBhZGRpbmcgPSB0aGlzLmNmZy5wYWRkaW5nO1xuXG4gICAgICAgIC8vIEZpbmFsaXplXG4gICAgICAgIGlmICh0aGlzLl94Zm9ybU1vZGUgPT0gdGhpcy5fRU5DX1hGT1JNX01PREUpIHtcbiAgICAgICAgICAvLyBQYWQgZGF0YVxuICAgICAgICAgIHBhZGRpbmcucGFkKHRoaXMuX2RhdGEsIHRoaXMuYmxvY2tTaXplKTtcblxuICAgICAgICAgIC8vIFByb2Nlc3MgZmluYWwgYmxvY2tzXG4gICAgICAgICAgZmluYWxQcm9jZXNzZWRCbG9ja3MgPSB0aGlzLl9wcm9jZXNzKCEhJ2ZsdXNoJyk7XG4gICAgICAgIH0gZWxzZSAvKiBpZiAodGhpcy5feGZvcm1Nb2RlID09IHRoaXMuX0RFQ19YRk9STV9NT0RFKSAqLyB7XG4gICAgICAgICAgLy8gUHJvY2VzcyBmaW5hbCBibG9ja3NcbiAgICAgICAgICBmaW5hbFByb2Nlc3NlZEJsb2NrcyA9IHRoaXMuX3Byb2Nlc3MoISEnZmx1c2gnKTtcblxuICAgICAgICAgIC8vIFVucGFkIGRhdGFcbiAgICAgICAgICBwYWRkaW5nLnVucGFkKGZpbmFsUHJvY2Vzc2VkQmxvY2tzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaW5hbFByb2Nlc3NlZEJsb2NrcztcbiAgICAgIH0sXG5cbiAgICAgIGJsb2NrU2l6ZTogMTI4IC8gMzJcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEEgY29sbGVjdGlvbiBvZiBjaXBoZXIgcGFyYW1ldGVycy5cbiAgICAgKlxuICAgICAqIEBwcm9wZXJ0eSB7V29yZEFycmF5fSBjaXBoZXJ0ZXh0IFRoZSByYXcgY2lwaGVydGV4dC5cbiAgICAgKiBAcHJvcGVydHkge1dvcmRBcnJheX0ga2V5IFRoZSBrZXkgdG8gdGhpcyBjaXBoZXJ0ZXh0LlxuICAgICAqIEBwcm9wZXJ0eSB7V29yZEFycmF5fSBpdiBUaGUgSVYgdXNlZCBpbiB0aGUgY2lwaGVyaW5nIG9wZXJhdGlvbi5cbiAgICAgKiBAcHJvcGVydHkge1dvcmRBcnJheX0gc2FsdCBUaGUgc2FsdCB1c2VkIHdpdGggYSBrZXkgZGVyaXZhdGlvbiBmdW5jdGlvbi5cbiAgICAgKiBAcHJvcGVydHkge0NpcGhlcn0gYWxnb3JpdGhtIFRoZSBjaXBoZXIgYWxnb3JpdGhtLlxuICAgICAqIEBwcm9wZXJ0eSB7TW9kZX0gbW9kZSBUaGUgYmxvY2sgbW9kZSB1c2VkIGluIHRoZSBjaXBoZXJpbmcgb3BlcmF0aW9uLlxuICAgICAqIEBwcm9wZXJ0eSB7UGFkZGluZ30gcGFkZGluZyBUaGUgcGFkZGluZyBzY2hlbWUgdXNlZCBpbiB0aGUgY2lwaGVyaW5nIG9wZXJhdGlvbi5cbiAgICAgKiBAcHJvcGVydHkge251bWJlcn0gYmxvY2tTaXplIFRoZSBibG9jayBzaXplIG9mIHRoZSBjaXBoZXIuXG4gICAgICogQHByb3BlcnR5IHtGb3JtYXR9IGZvcm1hdHRlciBUaGUgZGVmYXVsdCBmb3JtYXR0aW5nIHN0cmF0ZWd5IHRvIGNvbnZlcnQgdGhpcyBjaXBoZXIgcGFyYW1zIG9iamVjdCB0byBhIHN0cmluZy5cbiAgICAgKi9cbiAgICB2YXIgQ2lwaGVyUGFyYW1zID0gQ19saWIuQ2lwaGVyUGFyYW1zID0gQmFzZS5leHRlbmQoe1xuICAgICAgLyoqXG4gICAgICAgKiBJbml0aWFsaXplcyBhIG5ld2x5IGNyZWF0ZWQgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtPYmplY3R9IGNpcGhlclBhcmFtcyBBbiBvYmplY3Qgd2l0aCBhbnkgb2YgdGhlIHBvc3NpYmxlIGNpcGhlciBwYXJhbWV0ZXJzLlxuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBjaXBoZXJQYXJhbXMgPSBDcnlwdG9KUy5saWIuQ2lwaGVyUGFyYW1zLmNyZWF0ZSh7XG4gICAgICAgKiAgICAgICAgIGNpcGhlcnRleHQ6IGNpcGhlcnRleHRXb3JkQXJyYXksXG4gICAgICAgKiAgICAgICAgIGtleToga2V5V29yZEFycmF5LFxuICAgICAgICogICAgICAgICBpdjogaXZXb3JkQXJyYXksXG4gICAgICAgKiAgICAgICAgIHNhbHQ6IHNhbHRXb3JkQXJyYXksXG4gICAgICAgKiAgICAgICAgIGFsZ29yaXRobTogQ3J5cHRvSlMuYWxnby5BRVMsXG4gICAgICAgKiAgICAgICAgIG1vZGU6IENyeXB0b0pTLm1vZGUuQ0JDLFxuICAgICAgICogICAgICAgICBwYWRkaW5nOiBDcnlwdG9KUy5wYWQuUEtDUzcsXG4gICAgICAgKiAgICAgICAgIGJsb2NrU2l6ZTogNCxcbiAgICAgICAqICAgICAgICAgZm9ybWF0dGVyOiBDcnlwdG9KUy5mb3JtYXQuT3BlblNTTFxuICAgICAgICogICAgIH0pO1xuICAgICAgICovXG4gICAgICBpbml0OiBmdW5jdGlvbihjaXBoZXJQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5taXhJbihjaXBoZXJQYXJhbXMpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyB0aGlzIGNpcGhlciBwYXJhbXMgb2JqZWN0IHRvIGEgc3RyaW5nLlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7Rm9ybWF0fSBmb3JtYXR0ZXIgKE9wdGlvbmFsKSBUaGUgZm9ybWF0dGluZyBzdHJhdGVneSB0byB1c2UuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgc3RyaW5naWZpZWQgY2lwaGVyIHBhcmFtcy5cbiAgICAgICAqXG4gICAgICAgKiBAdGhyb3dzIEVycm9yIElmIG5laXRoZXIgdGhlIGZvcm1hdHRlciBub3IgdGhlIGRlZmF1bHQgZm9ybWF0dGVyIGlzIHNldC5cbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgc3RyaW5nID0gY2lwaGVyUGFyYW1zICsgJyc7XG4gICAgICAgKiAgICAgdmFyIHN0cmluZyA9IGNpcGhlclBhcmFtcy50b1N0cmluZygpO1xuICAgICAgICogICAgIHZhciBzdHJpbmcgPSBjaXBoZXJQYXJhbXMudG9TdHJpbmcoQ3J5cHRvSlMuZm9ybWF0Lk9wZW5TU0wpO1xuICAgICAgICovXG4gICAgICB0b1N0cmluZzogZnVuY3Rpb24oZm9ybWF0dGVyKSB7XG4gICAgICAgIHJldHVybiAoZm9ybWF0dGVyIHx8IHRoaXMuZm9ybWF0dGVyKS5zdHJpbmdpZnkodGhpcyk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXQgbmFtZXNwYWNlLlxuICAgICAqL1xuICAgIHZhciBDX2Zvcm1hdCA9IEMuZm9ybWF0ID0ge307XG5cbiAgICAvKipcbiAgICAgKiBPcGVuU1NMIGZvcm1hdHRpbmcgc3RyYXRlZ3kuXG4gICAgICovXG4gICAgdmFyIE9wZW5TU0xGb3JtYXR0ZXIgPSBDX2Zvcm1hdC5PcGVuU1NMID0ge1xuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyBhIGNpcGhlciBwYXJhbXMgb2JqZWN0IHRvIGFuIE9wZW5TU0wtY29tcGF0aWJsZSBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtDaXBoZXJQYXJhbXN9IGNpcGhlclBhcmFtcyBUaGUgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgT3BlblNTTC1jb21wYXRpYmxlIHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIG9wZW5TU0xTdHJpbmcgPSBDcnlwdG9KUy5mb3JtYXQuT3BlblNTTC5zdHJpbmdpZnkoY2lwaGVyUGFyYW1zKTtcbiAgICAgICAqL1xuICAgICAgc3RyaW5naWZ5OiBmdW5jdGlvbihjaXBoZXJQYXJhbXMpIHtcbiAgICAgICAgdmFyIHdvcmRBcnJheTtcblxuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGNpcGhlcnRleHQgPSBjaXBoZXJQYXJhbXMuY2lwaGVydGV4dDtcbiAgICAgICAgdmFyIHNhbHQgPSBjaXBoZXJQYXJhbXMuc2FsdDtcblxuICAgICAgICAvLyBGb3JtYXRcbiAgICAgICAgaWYgKHNhbHQpIHtcbiAgICAgICAgICB3b3JkQXJyYXkgPSBXb3JkQXJyYXkuY3JlYXRlKFsweDUzNjE2Yzc0LCAweDY1NjQ1ZjVmXSkuY29uY2F0KHNhbHQpLmNvbmNhdChjaXBoZXJ0ZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB3b3JkQXJyYXkgPSBjaXBoZXJ0ZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHdvcmRBcnJheS50b1N0cmluZyhCYXNlNjQpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyBhbiBPcGVuU1NMLWNvbXBhdGlibGUgc3RyaW5nIHRvIGEgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtzdHJpbmd9IG9wZW5TU0xTdHIgVGhlIE9wZW5TU0wtY29tcGF0aWJsZSBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7Q2lwaGVyUGFyYW1zfSBUaGUgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBjaXBoZXJQYXJhbXMgPSBDcnlwdG9KUy5mb3JtYXQuT3BlblNTTC5wYXJzZShvcGVuU1NMU3RyaW5nKTtcbiAgICAgICAqL1xuICAgICAgcGFyc2U6IGZ1bmN0aW9uKG9wZW5TU0xTdHIpIHtcbiAgICAgICAgdmFyIHNhbHQ7XG5cbiAgICAgICAgLy8gUGFyc2UgYmFzZTY0XG4gICAgICAgIHZhciBjaXBoZXJ0ZXh0ID0gQmFzZTY0LnBhcnNlKG9wZW5TU0xTdHIpO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBjaXBoZXJ0ZXh0V29yZHMgPSBjaXBoZXJ0ZXh0LndvcmRzO1xuXG4gICAgICAgIC8vIFRlc3QgZm9yIHNhbHRcbiAgICAgICAgaWYgKGNpcGhlcnRleHRXb3Jkc1swXSA9PSAweDUzNjE2Yzc0ICYmIGNpcGhlcnRleHRXb3Jkc1sxXSA9PSAweDY1NjQ1ZjVmKSB7XG4gICAgICAgICAgLy8gRXh0cmFjdCBzYWx0XG4gICAgICAgICAgc2FsdCA9IFdvcmRBcnJheS5jcmVhdGUoY2lwaGVydGV4dFdvcmRzLnNsaWNlKDIsIDQpKTtcblxuICAgICAgICAgIC8vIFJlbW92ZSBzYWx0IGZyb20gY2lwaGVydGV4dFxuICAgICAgICAgIGNpcGhlcnRleHRXb3Jkcy5zcGxpY2UoMCwgNCk7XG4gICAgICAgICAgY2lwaGVydGV4dC5zaWdCeXRlcyAtPSAxNjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBDaXBoZXJQYXJhbXMuY3JlYXRlKHtcbiAgICAgICAgICBjaXBoZXJ0ZXh0OiBjaXBoZXJ0ZXh0LFxuICAgICAgICAgIHNhbHQ6IHNhbHRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEEgY2lwaGVyIHdyYXBwZXIgdGhhdCByZXR1cm5zIGNpcGhlcnRleHQgYXMgYSBzZXJpYWxpemFibGUgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICovXG4gICAgdmFyIFNlcmlhbGl6YWJsZUNpcGhlciA9IENfbGliLlNlcmlhbGl6YWJsZUNpcGhlciA9IEJhc2UuZXh0ZW5kKHtcbiAgICAgIC8qKlxuICAgICAgICogQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSB7Rm9ybWF0dGVyfSBmb3JtYXQgVGhlIGZvcm1hdHRpbmcgc3RyYXRlZ3kgdG8gY29udmVydCBjaXBoZXIgcGFyYW0gb2JqZWN0cyB0byBhbmQgZnJvbSBhIHN0cmluZy4gRGVmYXVsdDogT3BlblNTTFxuICAgICAgICovXG4gICAgICBjZmc6IEJhc2UuZXh0ZW5kKHtcbiAgICAgICAgZm9ybWF0OiBPcGVuU1NMRm9ybWF0dGVyXG4gICAgICB9KSxcblxuICAgICAgLyoqXG4gICAgICAgKiBFbmNyeXB0cyBhIG1lc3NhZ2UuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtDaXBoZXJ9IGNpcGhlciBUaGUgY2lwaGVyIGFsZ29yaXRobSB0byB1c2UuXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheXxzdHJpbmd9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UgdG8gZW5jcnlwdC5cbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fSBrZXkgVGhlIGtleS5cbiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjZmcgKE9wdGlvbmFsKSBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHVzZSBmb3IgdGhpcyBvcGVyYXRpb24uXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7Q2lwaGVyUGFyYW1zfSBBIGNpcGhlciBwYXJhbXMgb2JqZWN0LlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgY2lwaGVydGV4dFBhcmFtcyA9IENyeXB0b0pTLmxpYi5TZXJpYWxpemFibGVDaXBoZXIuZW5jcnlwdChDcnlwdG9KUy5hbGdvLkFFUywgbWVzc2FnZSwga2V5KTtcbiAgICAgICAqICAgICB2YXIgY2lwaGVydGV4dFBhcmFtcyA9IENyeXB0b0pTLmxpYi5TZXJpYWxpemFibGVDaXBoZXIuZW5jcnlwdChDcnlwdG9KUy5hbGdvLkFFUywgbWVzc2FnZSwga2V5LCB7IGl2OiBpdiB9KTtcbiAgICAgICAqICAgICB2YXIgY2lwaGVydGV4dFBhcmFtcyA9IENyeXB0b0pTLmxpYi5TZXJpYWxpemFibGVDaXBoZXIuZW5jcnlwdChDcnlwdG9KUy5hbGdvLkFFUywgbWVzc2FnZSwga2V5LCB7IGl2OiBpdiwgZm9ybWF0OiBDcnlwdG9KUy5mb3JtYXQuT3BlblNTTCB9KTtcbiAgICAgICAqL1xuICAgICAgZW5jcnlwdDogZnVuY3Rpb24oY2lwaGVyLCBtZXNzYWdlLCBrZXksIGNmZykge1xuICAgICAgICAvLyBBcHBseSBjb25maWcgZGVmYXVsdHNcbiAgICAgICAgY2ZnID0gdGhpcy5jZmcuZXh0ZW5kKGNmZyk7XG5cbiAgICAgICAgLy8gRW5jcnlwdFxuICAgICAgICB2YXIgZW5jcnlwdG9yID0gY2lwaGVyLmNyZWF0ZUVuY3J5cHRvcihrZXksIGNmZyk7XG4gICAgICAgIHZhciBjaXBoZXJ0ZXh0ID0gZW5jcnlwdG9yLmZpbmFsaXplKG1lc3NhZ2UpO1xuXG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBjaXBoZXJDZmcgPSBlbmNyeXB0b3IuY2ZnO1xuXG4gICAgICAgIC8vIENyZWF0ZSBhbmQgcmV0dXJuIHNlcmlhbGl6YWJsZSBjaXBoZXIgcGFyYW1zXG4gICAgICAgIHJldHVybiBDaXBoZXJQYXJhbXMuY3JlYXRlKHtcbiAgICAgICAgICBjaXBoZXJ0ZXh0OiBjaXBoZXJ0ZXh0LFxuICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgIGl2OiBjaXBoZXJDZmcuaXYsXG4gICAgICAgICAgYWxnb3JpdGhtOiBjaXBoZXIsXG4gICAgICAgICAgbW9kZTogY2lwaGVyQ2ZnLm1vZGUsXG4gICAgICAgICAgcGFkZGluZzogY2lwaGVyQ2ZnLnBhZGRpbmcsXG4gICAgICAgICAgYmxvY2tTaXplOiBjaXBoZXIuYmxvY2tTaXplLFxuICAgICAgICAgIGZvcm1hdHRlcjogY2ZnLmZvcm1hdFxuICAgICAgICB9KTtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogRGVjcnlwdHMgc2VyaWFsaXplZCBjaXBoZXJ0ZXh0LlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7Q2lwaGVyfSBjaXBoZXIgVGhlIGNpcGhlciBhbGdvcml0aG0gdG8gdXNlLlxuICAgICAgICogQHBhcmFtIHtDaXBoZXJQYXJhbXN8c3RyaW5nfSBjaXBoZXJ0ZXh0IFRoZSBjaXBoZXJ0ZXh0IHRvIGRlY3J5cHQuXG4gICAgICAgKiBAcGFyYW0ge1dvcmRBcnJheX0ga2V5IFRoZSBrZXkuXG4gICAgICAgKiBAcGFyYW0ge09iamVjdH0gY2ZnIChPcHRpb25hbCkgVGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyB0byB1c2UgZm9yIHRoaXMgb3BlcmF0aW9uLlxuICAgICAgICpcbiAgICAgICAqIEByZXR1cm4ge1dvcmRBcnJheX0gVGhlIHBsYWludGV4dC5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIHBsYWludGV4dCA9IENyeXB0b0pTLmxpYi5TZXJpYWxpemFibGVDaXBoZXIuZGVjcnlwdChDcnlwdG9KUy5hbGdvLkFFUywgZm9ybWF0dGVkQ2lwaGVydGV4dCwga2V5LCB7IGl2OiBpdiwgZm9ybWF0OiBDcnlwdG9KUy5mb3JtYXQuT3BlblNTTCB9KTtcbiAgICAgICAqICAgICB2YXIgcGxhaW50ZXh0ID0gQ3J5cHRvSlMubGliLlNlcmlhbGl6YWJsZUNpcGhlci5kZWNyeXB0KENyeXB0b0pTLmFsZ28uQUVTLCBjaXBoZXJ0ZXh0UGFyYW1zLCBrZXksIHsgaXY6IGl2LCBmb3JtYXQ6IENyeXB0b0pTLmZvcm1hdC5PcGVuU1NMIH0pO1xuICAgICAgICovXG4gICAgICBkZWNyeXB0OiBmdW5jdGlvbihjaXBoZXIsIGNpcGhlcnRleHQsIGtleSwgY2ZnKSB7XG4gICAgICAgIC8vIEFwcGx5IGNvbmZpZyBkZWZhdWx0c1xuICAgICAgICBjZmcgPSB0aGlzLmNmZy5leHRlbmQoY2ZnKTtcblxuICAgICAgICAvLyBDb252ZXJ0IHN0cmluZyB0byBDaXBoZXJQYXJhbXNcbiAgICAgICAgY2lwaGVydGV4dCA9IHRoaXMuX3BhcnNlKGNpcGhlcnRleHQsIGNmZy5mb3JtYXQpO1xuXG4gICAgICAgIC8vIERlY3J5cHRcbiAgICAgICAgdmFyIHBsYWludGV4dCA9IGNpcGhlci5jcmVhdGVEZWNyeXB0b3Ioa2V5LCBjZmcpLmZpbmFsaXplKGNpcGhlcnRleHQuY2lwaGVydGV4dCk7XG5cbiAgICAgICAgcmV0dXJuIHBsYWludGV4dDtcbiAgICAgIH0sXG5cbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgc2VyaWFsaXplZCBjaXBoZXJ0ZXh0IHRvIENpcGhlclBhcmFtcyxcbiAgICAgICAqIGVsc2UgYXNzdW1lZCBDaXBoZXJQYXJhbXMgYWxyZWFkeSBhbmQgcmV0dXJucyBjaXBoZXJ0ZXh0IHVuY2hhbmdlZC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge0NpcGhlclBhcmFtc3xzdHJpbmd9IGNpcGhlcnRleHQgVGhlIGNpcGhlcnRleHQuXG4gICAgICAgKiBAcGFyYW0ge0Zvcm1hdHRlcn0gZm9ybWF0IFRoZSBmb3JtYXR0aW5nIHN0cmF0ZWd5IHRvIHVzZSB0byBwYXJzZSBzZXJpYWxpemVkIGNpcGhlcnRleHQuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7Q2lwaGVyUGFyYW1zfSBUaGUgdW5zZXJpYWxpemVkIGNpcGhlcnRleHQuXG4gICAgICAgKlxuICAgICAgICogQHN0YXRpY1xuICAgICAgICpcbiAgICAgICAqIEBleGFtcGxlXG4gICAgICAgKlxuICAgICAgICogICAgIHZhciBjaXBoZXJ0ZXh0UGFyYW1zID0gQ3J5cHRvSlMubGliLlNlcmlhbGl6YWJsZUNpcGhlci5fcGFyc2UoY2lwaGVydGV4dFN0cmluZ09yUGFyYW1zLCBmb3JtYXQpO1xuICAgICAgICovXG4gICAgICBfcGFyc2U6IGZ1bmN0aW9uKGNpcGhlcnRleHQsIGZvcm1hdCkge1xuICAgICAgICBpZiAodHlwZW9mIGNpcGhlcnRleHQgPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm4gZm9ybWF0LnBhcnNlKGNpcGhlcnRleHQsIHRoaXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBjaXBoZXJ0ZXh0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBLZXkgZGVyaXZhdGlvbiBmdW5jdGlvbiBuYW1lc3BhY2UuXG4gICAgICovXG4gICAgdmFyIENfa2RmID0gQy5rZGYgPSB7fTtcblxuICAgIC8qKlxuICAgICAqIE9wZW5TU0wga2V5IGRlcml2YXRpb24gZnVuY3Rpb24uXG4gICAgICovXG4gICAgdmFyIE9wZW5TU0xLZGYgPSBDX2tkZi5PcGVuU1NMID0ge1xuICAgICAgLyoqXG4gICAgICAgKiBEZXJpdmVzIGEga2V5IGFuZCBJViBmcm9tIGEgcGFzc3dvcmQuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhc3N3b3JkIFRoZSBwYXNzd29yZCB0byBkZXJpdmUgZnJvbS5cbiAgICAgICAqIEBwYXJhbSB7bnVtYmVyfSBrZXlTaXplIFRoZSBzaXplIGluIHdvcmRzIG9mIHRoZSBrZXkgdG8gZ2VuZXJhdGUuXG4gICAgICAgKiBAcGFyYW0ge251bWJlcn0gaXZTaXplIFRoZSBzaXplIGluIHdvcmRzIG9mIHRoZSBJViB0byBnZW5lcmF0ZS5cbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gc2FsdCAoT3B0aW9uYWwpIEEgNjQtYml0IHNhbHQgdG8gdXNlLiBJZiBvbWl0dGVkLCBhIHNhbHQgd2lsbCBiZSBnZW5lcmF0ZWQgcmFuZG9tbHkuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7Q2lwaGVyUGFyYW1zfSBBIGNpcGhlciBwYXJhbXMgb2JqZWN0IHdpdGggdGhlIGtleSwgSVYsIGFuZCBzYWx0LlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgZGVyaXZlZFBhcmFtcyA9IENyeXB0b0pTLmtkZi5PcGVuU1NMLmV4ZWN1dGUoJ1Bhc3N3b3JkJywgMjU2LzMyLCAxMjgvMzIpO1xuICAgICAgICogICAgIHZhciBkZXJpdmVkUGFyYW1zID0gQ3J5cHRvSlMua2RmLk9wZW5TU0wuZXhlY3V0ZSgnUGFzc3dvcmQnLCAyNTYvMzIsIDEyOC8zMiwgJ3NhbHRzYWx0Jyk7XG4gICAgICAgKi9cbiAgICAgIGV4ZWN1dGU6IGZ1bmN0aW9uKHBhc3N3b3JkLCBrZXlTaXplLCBpdlNpemUsIHNhbHQpIHtcbiAgICAgICAgLy8gR2VuZXJhdGUgcmFuZG9tIHNhbHRcbiAgICAgICAgaWYgKCFzYWx0KSB7XG4gICAgICAgICAgc2FsdCA9IFdvcmRBcnJheS5yYW5kb20oNjQgLyA4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlcml2ZSBrZXkgYW5kIElWXG4gICAgICAgIHZhciBrZXkgPSBFdnBLREYuY3JlYXRlKHtcbiAgICAgICAgICBrZXlTaXplOiBrZXlTaXplICsgaXZTaXplXG4gICAgICAgIH0pLmNvbXB1dGUocGFzc3dvcmQsIHNhbHQpO1xuXG4gICAgICAgIC8vIFNlcGFyYXRlIGtleSBhbmQgSVZcbiAgICAgICAgdmFyIGl2ID0gV29yZEFycmF5LmNyZWF0ZShrZXkud29yZHMuc2xpY2Uoa2V5U2l6ZSksIGl2U2l6ZSAqIDQpO1xuICAgICAgICBrZXkuc2lnQnl0ZXMgPSBrZXlTaXplICogNDtcblxuICAgICAgICAvLyBSZXR1cm4gcGFyYW1zXG4gICAgICAgIHJldHVybiBDaXBoZXJQYXJhbXMuY3JlYXRlKHtcbiAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICBpdjogaXYsXG4gICAgICAgICAgc2FsdDogc2FsdFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQSBzZXJpYWxpemFibGUgY2lwaGVyIHdyYXBwZXIgdGhhdCBkZXJpdmVzIHRoZSBrZXkgZnJvbSBhIHBhc3N3b3JkLFxuICAgICAqIGFuZCByZXR1cm5zIGNpcGhlcnRleHQgYXMgYSBzZXJpYWxpemFibGUgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICovXG4gICAgdmFyIFBhc3N3b3JkQmFzZWRDaXBoZXIgPSBDX2xpYi5QYXNzd29yZEJhc2VkQ2lwaGVyID0gU2VyaWFsaXphYmxlQ2lwaGVyLmV4dGVuZCh7XG4gICAgICAvKipcbiAgICAgICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkge0tERn0ga2RmIFRoZSBrZXkgZGVyaXZhdGlvbiBmdW5jdGlvbiB0byB1c2UgdG8gZ2VuZXJhdGUgYSBrZXkgYW5kIElWIGZyb20gYSBwYXNzd29yZC4gRGVmYXVsdDogT3BlblNTTFxuICAgICAgICovXG4gICAgICBjZmc6IFNlcmlhbGl6YWJsZUNpcGhlci5jZmcuZXh0ZW5kKHtcbiAgICAgICAga2RmOiBPcGVuU1NMS2RmXG4gICAgICB9KSxcblxuICAgICAgLyoqXG4gICAgICAgKiBFbmNyeXB0cyBhIG1lc3NhZ2UgdXNpbmcgYSBwYXNzd29yZC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge0NpcGhlcn0gY2lwaGVyIFRoZSBjaXBoZXIgYWxnb3JpdGhtIHRvIHVzZS5cbiAgICAgICAqIEBwYXJhbSB7V29yZEFycmF5fHN0cmluZ30gbWVzc2FnZSBUaGUgbWVzc2FnZSB0byBlbmNyeXB0LlxuICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhc3N3b3JkIFRoZSBwYXNzd29yZC5cbiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjZmcgKE9wdGlvbmFsKSBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHVzZSBmb3IgdGhpcyBvcGVyYXRpb24uXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7Q2lwaGVyUGFyYW1zfSBBIGNpcGhlciBwYXJhbXMgb2JqZWN0LlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgY2lwaGVydGV4dFBhcmFtcyA9IENyeXB0b0pTLmxpYi5QYXNzd29yZEJhc2VkQ2lwaGVyLmVuY3J5cHQoQ3J5cHRvSlMuYWxnby5BRVMsIG1lc3NhZ2UsICdwYXNzd29yZCcpO1xuICAgICAgICogICAgIHZhciBjaXBoZXJ0ZXh0UGFyYW1zID0gQ3J5cHRvSlMubGliLlBhc3N3b3JkQmFzZWRDaXBoZXIuZW5jcnlwdChDcnlwdG9KUy5hbGdvLkFFUywgbWVzc2FnZSwgJ3Bhc3N3b3JkJywgeyBmb3JtYXQ6IENyeXB0b0pTLmZvcm1hdC5PcGVuU1NMIH0pO1xuICAgICAgICovXG4gICAgICBlbmNyeXB0OiBmdW5jdGlvbihjaXBoZXIsIG1lc3NhZ2UsIHBhc3N3b3JkLCBjZmcpIHtcbiAgICAgICAgLy8gQXBwbHkgY29uZmlnIGRlZmF1bHRzXG4gICAgICAgIGNmZyA9IHRoaXMuY2ZnLmV4dGVuZChjZmcpO1xuXG4gICAgICAgIC8vIERlcml2ZSBrZXkgYW5kIG90aGVyIHBhcmFtc1xuICAgICAgICB2YXIgZGVyaXZlZFBhcmFtcyA9IGNmZy5rZGYuZXhlY3V0ZShwYXNzd29yZCwgY2lwaGVyLmtleVNpemUsIGNpcGhlci5pdlNpemUpO1xuXG4gICAgICAgIC8vIEFkZCBJViB0byBjb25maWdcbiAgICAgICAgY2ZnLml2ID0gZGVyaXZlZFBhcmFtcy5pdjtcblxuICAgICAgICAvLyBFbmNyeXB0XG4gICAgICAgIHZhciBjaXBoZXJ0ZXh0ID0gU2VyaWFsaXphYmxlQ2lwaGVyLmVuY3J5cHQuY2FsbCh0aGlzLCBjaXBoZXIsIG1lc3NhZ2UsIGRlcml2ZWRQYXJhbXMua2V5LCBjZmcpO1xuXG4gICAgICAgIC8vIE1peCBpbiBkZXJpdmVkIHBhcmFtc1xuICAgICAgICBjaXBoZXJ0ZXh0Lm1peEluKGRlcml2ZWRQYXJhbXMpO1xuXG4gICAgICAgIHJldHVybiBjaXBoZXJ0ZXh0O1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBEZWNyeXB0cyBzZXJpYWxpemVkIGNpcGhlcnRleHQgdXNpbmcgYSBwYXNzd29yZC5cbiAgICAgICAqXG4gICAgICAgKiBAcGFyYW0ge0NpcGhlcn0gY2lwaGVyIFRoZSBjaXBoZXIgYWxnb3JpdGhtIHRvIHVzZS5cbiAgICAgICAqIEBwYXJhbSB7Q2lwaGVyUGFyYW1zfHN0cmluZ30gY2lwaGVydGV4dCBUaGUgY2lwaGVydGV4dCB0byBkZWNyeXB0LlxuICAgICAgICogQHBhcmFtIHtzdHJpbmd9IHBhc3N3b3JkIFRoZSBwYXNzd29yZC5cbiAgICAgICAqIEBwYXJhbSB7T2JqZWN0fSBjZmcgKE9wdGlvbmFsKSBUaGUgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIHVzZSBmb3IgdGhpcyBvcGVyYXRpb24uXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7V29yZEFycmF5fSBUaGUgcGxhaW50ZXh0LlxuICAgICAgICpcbiAgICAgICAqIEBzdGF0aWNcbiAgICAgICAqXG4gICAgICAgKiBAZXhhbXBsZVxuICAgICAgICpcbiAgICAgICAqICAgICB2YXIgcGxhaW50ZXh0ID0gQ3J5cHRvSlMubGliLlBhc3N3b3JkQmFzZWRDaXBoZXIuZGVjcnlwdChDcnlwdG9KUy5hbGdvLkFFUywgZm9ybWF0dGVkQ2lwaGVydGV4dCwgJ3Bhc3N3b3JkJywgeyBmb3JtYXQ6IENyeXB0b0pTLmZvcm1hdC5PcGVuU1NMIH0pO1xuICAgICAgICogICAgIHZhciBwbGFpbnRleHQgPSBDcnlwdG9KUy5saWIuUGFzc3dvcmRCYXNlZENpcGhlci5kZWNyeXB0KENyeXB0b0pTLmFsZ28uQUVTLCBjaXBoZXJ0ZXh0UGFyYW1zLCAncGFzc3dvcmQnLCB7IGZvcm1hdDogQ3J5cHRvSlMuZm9ybWF0Lk9wZW5TU0wgfSk7XG4gICAgICAgKi9cbiAgICAgIGRlY3J5cHQ6IGZ1bmN0aW9uKGNpcGhlciwgY2lwaGVydGV4dCwgcGFzc3dvcmQsIGNmZykge1xuICAgICAgICAvLyBBcHBseSBjb25maWcgZGVmYXVsdHNcbiAgICAgICAgY2ZnID0gdGhpcy5jZmcuZXh0ZW5kKGNmZyk7XG5cbiAgICAgICAgLy8gQ29udmVydCBzdHJpbmcgdG8gQ2lwaGVyUGFyYW1zXG4gICAgICAgIGNpcGhlcnRleHQgPSB0aGlzLl9wYXJzZShjaXBoZXJ0ZXh0LCBjZmcuZm9ybWF0KTtcblxuICAgICAgICAvLyBEZXJpdmUga2V5IGFuZCBvdGhlciBwYXJhbXNcbiAgICAgICAgdmFyIGRlcml2ZWRQYXJhbXMgPSBjZmcua2RmLmV4ZWN1dGUocGFzc3dvcmQsIGNpcGhlci5rZXlTaXplLCBjaXBoZXIuaXZTaXplLCBjaXBoZXJ0ZXh0LnNhbHQpO1xuXG4gICAgICAgIC8vIEFkZCBJViB0byBjb25maWdcbiAgICAgICAgY2ZnLml2ID0gZGVyaXZlZFBhcmFtcy5pdjtcblxuICAgICAgICAvLyBEZWNyeXB0XG4gICAgICAgIHZhciBwbGFpbnRleHQgPSBTZXJpYWxpemFibGVDaXBoZXIuZGVjcnlwdC5jYWxsKHRoaXMsIGNpcGhlciwgY2lwaGVydGV4dCwgZGVyaXZlZFBhcmFtcy5rZXksIGNmZyk7XG5cbiAgICAgICAgcmV0dXJuIHBsYWludGV4dDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSgpKTtcblxuXG4gIC8qKlxuICAgKiBDaXBoZXIgRmVlZGJhY2sgYmxvY2sgbW9kZS5cbiAgICovXG4gIENyeXB0b0pTLm1vZGUuQ0ZCID0gKGZ1bmN0aW9uKCkge1xuICAgIHZhciBDRkIgPSBDcnlwdG9KUy5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpO1xuXG4gICAgQ0ZCLkVuY3J5cHRvciA9IENGQi5leHRlbmQoe1xuICAgICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbih3b3Jkcywgb2Zmc2V0KSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgY2lwaGVyID0gdGhpcy5fY2lwaGVyO1xuICAgICAgICB2YXIgYmxvY2tTaXplID0gY2lwaGVyLmJsb2NrU2l6ZTtcblxuICAgICAgICBnZW5lcmF0ZUtleXN0cmVhbUFuZEVuY3J5cHQuY2FsbCh0aGlzLCB3b3Jkcywgb2Zmc2V0LCBibG9ja1NpemUsIGNpcGhlcik7XG5cbiAgICAgICAgLy8gUmVtZW1iZXIgdGhpcyBibG9jayB0byB1c2Ugd2l0aCBuZXh0IGJsb2NrXG4gICAgICAgIHRoaXMuX3ByZXZCbG9jayA9IHdvcmRzLnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgYmxvY2tTaXplKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIENGQi5EZWNyeXB0b3IgPSBDRkIuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24od29yZHMsIG9mZnNldCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGNpcGhlciA9IHRoaXMuX2NpcGhlcjtcbiAgICAgICAgdmFyIGJsb2NrU2l6ZSA9IGNpcGhlci5ibG9ja1NpemU7XG5cbiAgICAgICAgLy8gUmVtZW1iZXIgdGhpcyBibG9jayB0byB1c2Ugd2l0aCBuZXh0IGJsb2NrXG4gICAgICAgIHZhciB0aGlzQmxvY2sgPSB3b3Jkcy5zbGljZShvZmZzZXQsIG9mZnNldCArIGJsb2NrU2l6ZSk7XG5cbiAgICAgICAgZ2VuZXJhdGVLZXlzdHJlYW1BbmRFbmNyeXB0LmNhbGwodGhpcywgd29yZHMsIG9mZnNldCwgYmxvY2tTaXplLCBjaXBoZXIpO1xuXG4gICAgICAgIC8vIFRoaXMgYmxvY2sgYmVjb21lcyB0aGUgcHJldmlvdXMgYmxvY2tcbiAgICAgICAgdGhpcy5fcHJldkJsb2NrID0gdGhpc0Jsb2NrO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gZ2VuZXJhdGVLZXlzdHJlYW1BbmRFbmNyeXB0KHdvcmRzLCBvZmZzZXQsIGJsb2NrU2l6ZSwgY2lwaGVyKSB7XG4gICAgICB2YXIga2V5c3RyZWFtO1xuXG4gICAgICAvLyBTaG9ydGN1dFxuICAgICAgdmFyIGl2ID0gdGhpcy5faXY7XG5cbiAgICAgIC8vIEdlbmVyYXRlIGtleXN0cmVhbVxuICAgICAgaWYgKGl2KSB7XG4gICAgICAgIGtleXN0cmVhbSA9IGl2LnNsaWNlKDApO1xuXG4gICAgICAgIC8vIFJlbW92ZSBJViBmb3Igc3Vic2VxdWVudCBibG9ja3NcbiAgICAgICAgdGhpcy5faXYgPSB1bmRlZmluZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXlzdHJlYW0gPSB0aGlzLl9wcmV2QmxvY2s7XG4gICAgICB9XG4gICAgICBjaXBoZXIuZW5jcnlwdEJsb2NrKGtleXN0cmVhbSwgMCk7XG5cbiAgICAgIC8vIEVuY3J5cHRcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tTaXplOyBpKyspIHtcbiAgICAgICAgd29yZHNbb2Zmc2V0ICsgaV0gXj0ga2V5c3RyZWFtW2ldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBDRkI7XG4gIH0oKSk7XG5cblxuICAvKipcbiAgICogRWxlY3Ryb25pYyBDb2RlYm9vayBibG9jayBtb2RlLlxuICAgKi9cbiAgQ3J5cHRvSlMubW9kZS5FQ0IgPSAoZnVuY3Rpb24oKSB7XG4gICAgdmFyIEVDQiA9IENyeXB0b0pTLmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCk7XG5cbiAgICBFQ0IuRW5jcnlwdG9yID0gRUNCLmV4dGVuZCh7XG4gICAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uKHdvcmRzLCBvZmZzZXQpIHtcbiAgICAgICAgdGhpcy5fY2lwaGVyLmVuY3J5cHRCbG9jayh3b3Jkcywgb2Zmc2V0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIEVDQi5EZWNyeXB0b3IgPSBFQ0IuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24od29yZHMsIG9mZnNldCkge1xuICAgICAgICB0aGlzLl9jaXBoZXIuZGVjcnlwdEJsb2NrKHdvcmRzLCBvZmZzZXQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIEVDQjtcbiAgfSgpKTtcblxuXG4gIC8qKlxuICAgKiBBTlNJIFguOTIzIHBhZGRpbmcgc3RyYXRlZ3kuXG4gICAqL1xuICBDcnlwdG9KUy5wYWQuQW5zaVg5MjMgPSB7XG4gICAgcGFkOiBmdW5jdGlvbihkYXRhLCBibG9ja1NpemUpIHtcbiAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgdmFyIGRhdGFTaWdCeXRlcyA9IGRhdGEuc2lnQnl0ZXM7XG4gICAgICB2YXIgYmxvY2tTaXplQnl0ZXMgPSBibG9ja1NpemUgKiA0O1xuXG4gICAgICAvLyBDb3VudCBwYWRkaW5nIGJ5dGVzXG4gICAgICB2YXIgblBhZGRpbmdCeXRlcyA9IGJsb2NrU2l6ZUJ5dGVzIC0gZGF0YVNpZ0J5dGVzICUgYmxvY2tTaXplQnl0ZXM7XG5cbiAgICAgIC8vIENvbXB1dGUgbGFzdCBieXRlIHBvc2l0aW9uXG4gICAgICB2YXIgbGFzdEJ5dGVQb3MgPSBkYXRhU2lnQnl0ZXMgKyBuUGFkZGluZ0J5dGVzIC0gMTtcblxuICAgICAgLy8gUGFkXG4gICAgICBkYXRhLmNsYW1wKCk7XG4gICAgICBkYXRhLndvcmRzW2xhc3RCeXRlUG9zID4+PiAyXSB8PSBuUGFkZGluZ0J5dGVzIDw8ICgyNCAtIChsYXN0Qnl0ZVBvcyAlIDQpICogOCk7XG4gICAgICBkYXRhLnNpZ0J5dGVzICs9IG5QYWRkaW5nQnl0ZXM7XG4gICAgfSxcblxuICAgIHVucGFkOiBmdW5jdGlvbihkYXRhKSB7XG4gICAgICAvLyBHZXQgbnVtYmVyIG9mIHBhZGRpbmcgYnl0ZXMgZnJvbSBsYXN0IGJ5dGVcbiAgICAgIHZhciBuUGFkZGluZ0J5dGVzID0gZGF0YS53b3Jkc1soZGF0YS5zaWdCeXRlcyAtIDEpID4+PiAyXSAmIDB4ZmY7XG5cbiAgICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgICBkYXRhLnNpZ0J5dGVzIC09IG5QYWRkaW5nQnl0ZXM7XG4gICAgfVxuICB9O1xuXG5cbiAgLyoqXG4gICAqIElTTyAxMDEyNiBwYWRkaW5nIHN0cmF0ZWd5LlxuICAgKi9cbiAgQ3J5cHRvSlMucGFkLklzbzEwMTI2ID0ge1xuICAgIHBhZDogZnVuY3Rpb24oZGF0YSwgYmxvY2tTaXplKSB7XG4gICAgICAvLyBTaG9ydGN1dFxuICAgICAgdmFyIGJsb2NrU2l6ZUJ5dGVzID0gYmxvY2tTaXplICogNDtcblxuICAgICAgLy8gQ291bnQgcGFkZGluZyBieXRlc1xuICAgICAgdmFyIG5QYWRkaW5nQnl0ZXMgPSBibG9ja1NpemVCeXRlcyAtIGRhdGEuc2lnQnl0ZXMgJSBibG9ja1NpemVCeXRlcztcblxuICAgICAgLy8gUGFkXG4gICAgICBkYXRhLmNvbmNhdChDcnlwdG9KUy5saWIuV29yZEFycmF5LnJhbmRvbShuUGFkZGluZ0J5dGVzIC0gMSkpLlxuICAgICAgY29uY2F0KENyeXB0b0pTLmxpYi5Xb3JkQXJyYXkuY3JlYXRlKFtuUGFkZGluZ0J5dGVzIDw8IDI0XSwgMSkpO1xuICAgIH0sXG5cbiAgICB1bnBhZDogZnVuY3Rpb24oZGF0YSkge1xuICAgICAgLy8gR2V0IG51bWJlciBvZiBwYWRkaW5nIGJ5dGVzIGZyb20gbGFzdCBieXRlXG4gICAgICB2YXIgblBhZGRpbmdCeXRlcyA9IGRhdGEud29yZHNbKGRhdGEuc2lnQnl0ZXMgLSAxKSA+Pj4gMl0gJiAweGZmO1xuXG4gICAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICAgZGF0YS5zaWdCeXRlcyAtPSBuUGFkZGluZ0J5dGVzO1xuICAgIH1cbiAgfTtcblxuXG4gIC8qKlxuICAgKiBJU08vSUVDIDk3OTctMSBQYWRkaW5nIE1ldGhvZCAyLlxuICAgKi9cbiAgQ3J5cHRvSlMucGFkLklzbzk3OTcxID0ge1xuICAgIHBhZDogZnVuY3Rpb24oZGF0YSwgYmxvY2tTaXplKSB7XG4gICAgICAvLyBBZGQgMHg4MCBieXRlXG4gICAgICBkYXRhLmNvbmNhdChDcnlwdG9KUy5saWIuV29yZEFycmF5LmNyZWF0ZShbMHg4MDAwMDAwMF0sIDEpKTtcblxuICAgICAgLy8gWmVybyBwYWQgdGhlIHJlc3RcbiAgICAgIENyeXB0b0pTLnBhZC5aZXJvUGFkZGluZy5wYWQoZGF0YSwgYmxvY2tTaXplKTtcbiAgICB9LFxuXG4gICAgdW5wYWQ6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgIC8vIFJlbW92ZSB6ZXJvIHBhZGRpbmdcbiAgICAgIENyeXB0b0pTLnBhZC5aZXJvUGFkZGluZy51bnBhZChkYXRhKTtcblxuICAgICAgLy8gUmVtb3ZlIG9uZSBtb3JlIGJ5dGUgLS0gdGhlIDB4ODAgYnl0ZVxuICAgICAgZGF0YS5zaWdCeXRlcy0tO1xuICAgIH1cbiAgfTtcblxuXG4gIC8qKlxuICAgKiBPdXRwdXQgRmVlZGJhY2sgYmxvY2sgbW9kZS5cbiAgICovXG4gIENyeXB0b0pTLm1vZGUuT0ZCID0gKGZ1bmN0aW9uKCkge1xuICAgIHZhciBPRkIgPSBDcnlwdG9KUy5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpO1xuXG4gICAgdmFyIEVuY3J5cHRvciA9IE9GQi5FbmNyeXB0b3IgPSBPRkIuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24od29yZHMsIG9mZnNldCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGNpcGhlciA9IHRoaXMuX2NpcGhlclxuICAgICAgICB2YXIgYmxvY2tTaXplID0gY2lwaGVyLmJsb2NrU2l6ZTtcbiAgICAgICAgdmFyIGl2ID0gdGhpcy5faXY7XG4gICAgICAgIHZhciBrZXlzdHJlYW0gPSB0aGlzLl9rZXlzdHJlYW07XG5cbiAgICAgICAgLy8gR2VuZXJhdGUga2V5c3RyZWFtXG4gICAgICAgIGlmIChpdikge1xuICAgICAgICAgIGtleXN0cmVhbSA9IHRoaXMuX2tleXN0cmVhbSA9IGl2LnNsaWNlKDApO1xuXG4gICAgICAgICAgLy8gUmVtb3ZlIElWIGZvciBzdWJzZXF1ZW50IGJsb2Nrc1xuICAgICAgICAgIHRoaXMuX2l2ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNpcGhlci5lbmNyeXB0QmxvY2soa2V5c3RyZWFtLCAwKTtcblxuICAgICAgICAvLyBFbmNyeXB0XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tTaXplOyBpKyspIHtcbiAgICAgICAgICB3b3Jkc1tvZmZzZXQgKyBpXSBePSBrZXlzdHJlYW1baV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIE9GQi5EZWNyeXB0b3IgPSBFbmNyeXB0b3I7XG5cbiAgICByZXR1cm4gT0ZCO1xuICB9KCkpO1xuXG5cbiAgLyoqXG4gICAqIEEgbm9vcCBwYWRkaW5nIHN0cmF0ZWd5LlxuICAgKi9cbiAgQ3J5cHRvSlMucGFkLk5vUGFkZGluZyA9IHtcbiAgICBwYWQ6IGZ1bmN0aW9uKCkge30sXG5cbiAgICB1bnBhZDogZnVuY3Rpb24oKSB7fVxuICB9O1xuXG5cbiAgKGZ1bmN0aW9uKHVuZGVmaW5lZCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIENpcGhlclBhcmFtcyA9IENfbGliLkNpcGhlclBhcmFtcztcbiAgICB2YXIgQ19lbmMgPSBDLmVuYztcbiAgICB2YXIgSGV4ID0gQ19lbmMuSGV4O1xuICAgIHZhciBDX2Zvcm1hdCA9IEMuZm9ybWF0O1xuXG4gICAgdmFyIEhleEZvcm1hdHRlciA9IENfZm9ybWF0LkhleCA9IHtcbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydHMgdGhlIGNpcGhlcnRleHQgb2YgYSBjaXBoZXIgcGFyYW1zIG9iamVjdCB0byBhIGhleGFkZWNpbWFsbHkgZW5jb2RlZCBzdHJpbmcuXG4gICAgICAgKlxuICAgICAgICogQHBhcmFtIHtDaXBoZXJQYXJhbXN9IGNpcGhlclBhcmFtcyBUaGUgY2lwaGVyIHBhcmFtcyBvYmplY3QuXG4gICAgICAgKlxuICAgICAgICogQHJldHVybiB7c3RyaW5nfSBUaGUgaGV4YWRlY2ltYWxseSBlbmNvZGVkIHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGhleFN0cmluZyA9IENyeXB0b0pTLmZvcm1hdC5IZXguc3RyaW5naWZ5KGNpcGhlclBhcmFtcyk7XG4gICAgICAgKi9cbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24oY2lwaGVyUGFyYW1zKSB7XG4gICAgICAgIHJldHVybiBjaXBoZXJQYXJhbXMuY2lwaGVydGV4dC50b1N0cmluZyhIZXgpO1xuICAgICAgfSxcblxuICAgICAgLyoqXG4gICAgICAgKiBDb252ZXJ0cyBhIGhleGFkZWNpbWFsbHkgZW5jb2RlZCBjaXBoZXJ0ZXh0IHN0cmluZyB0byBhIGNpcGhlciBwYXJhbXMgb2JqZWN0LlxuICAgICAgICpcbiAgICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCBUaGUgaGV4YWRlY2ltYWxseSBlbmNvZGVkIHN0cmluZy5cbiAgICAgICAqXG4gICAgICAgKiBAcmV0dXJuIHtDaXBoZXJQYXJhbXN9IFRoZSBjaXBoZXIgcGFyYW1zIG9iamVjdC5cbiAgICAgICAqXG4gICAgICAgKiBAc3RhdGljXG4gICAgICAgKlxuICAgICAgICogQGV4YW1wbGVcbiAgICAgICAqXG4gICAgICAgKiAgICAgdmFyIGNpcGhlclBhcmFtcyA9IENyeXB0b0pTLmZvcm1hdC5IZXgucGFyc2UoaGV4U3RyaW5nKTtcbiAgICAgICAqL1xuICAgICAgcGFyc2U6IGZ1bmN0aW9uKGlucHV0KSB7XG4gICAgICAgIHZhciBjaXBoZXJ0ZXh0ID0gSGV4LnBhcnNlKGlucHV0KTtcbiAgICAgICAgcmV0dXJuIENpcGhlclBhcmFtcy5jcmVhdGUoe1xuICAgICAgICAgIGNpcGhlcnRleHQ6IGNpcGhlcnRleHRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSgpKTtcblxuXG4gIChmdW5jdGlvbigpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBCbG9ja0NpcGhlciA9IENfbGliLkJsb2NrQ2lwaGVyO1xuICAgIHZhciBDX2FsZ28gPSBDLmFsZ287XG5cbiAgICAvLyBMb29rdXAgdGFibGVzXG4gICAgdmFyIFNCT1ggPSBbXTtcbiAgICB2YXIgSU5WX1NCT1ggPSBbXTtcbiAgICB2YXIgU1VCX01JWF8wID0gW107XG4gICAgdmFyIFNVQl9NSVhfMSA9IFtdO1xuICAgIHZhciBTVUJfTUlYXzIgPSBbXTtcbiAgICB2YXIgU1VCX01JWF8zID0gW107XG4gICAgdmFyIElOVl9TVUJfTUlYXzAgPSBbXTtcbiAgICB2YXIgSU5WX1NVQl9NSVhfMSA9IFtdO1xuICAgIHZhciBJTlZfU1VCX01JWF8yID0gW107XG4gICAgdmFyIElOVl9TVUJfTUlYXzMgPSBbXTtcblxuICAgIC8vIENvbXB1dGUgbG9va3VwIHRhYmxlc1xuICAgIChmdW5jdGlvbigpIHtcbiAgICAgIC8vIENvbXB1dGUgZG91YmxlIHRhYmxlXG4gICAgICB2YXIgZCA9IFtdO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTY7IGkrKykge1xuICAgICAgICBpZiAoaSA8IDEyOCkge1xuICAgICAgICAgIGRbaV0gPSBpIDw8IDE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZFtpXSA9IChpIDw8IDEpIF4gMHgxMWI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gV2FsayBHRigyXjgpXG4gICAgICB2YXIgeCA9IDA7XG4gICAgICB2YXIgeGkgPSAwO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAyNTY7IGkrKykge1xuICAgICAgICAvLyBDb21wdXRlIHNib3hcbiAgICAgICAgdmFyIHN4ID0geGkgXiAoeGkgPDwgMSkgXiAoeGkgPDwgMikgXiAoeGkgPDwgMykgXiAoeGkgPDwgNCk7XG4gICAgICAgIHN4ID0gKHN4ID4+PiA4KSBeIChzeCAmIDB4ZmYpIF4gMHg2MztcbiAgICAgICAgU0JPWFt4XSA9IHN4O1xuICAgICAgICBJTlZfU0JPWFtzeF0gPSB4O1xuXG4gICAgICAgIC8vIENvbXB1dGUgbXVsdGlwbGljYXRpb25cbiAgICAgICAgdmFyIHgyID0gZFt4XTtcbiAgICAgICAgdmFyIHg0ID0gZFt4Ml07XG4gICAgICAgIHZhciB4OCA9IGRbeDRdO1xuXG4gICAgICAgIC8vIENvbXB1dGUgc3ViIGJ5dGVzLCBtaXggY29sdW1ucyB0YWJsZXNcbiAgICAgICAgdmFyIHQgPSAoZFtzeF0gKiAweDEwMSkgXiAoc3ggKiAweDEwMTAxMDApO1xuICAgICAgICBTVUJfTUlYXzBbeF0gPSAodCA8PCAyNCkgfCAodCA+Pj4gOCk7XG4gICAgICAgIFNVQl9NSVhfMVt4XSA9ICh0IDw8IDE2KSB8ICh0ID4+PiAxNik7XG4gICAgICAgIFNVQl9NSVhfMlt4XSA9ICh0IDw8IDgpIHwgKHQgPj4+IDI0KTtcbiAgICAgICAgU1VCX01JWF8zW3hdID0gdDtcblxuICAgICAgICAvLyBDb21wdXRlIGludiBzdWIgYnl0ZXMsIGludiBtaXggY29sdW1ucyB0YWJsZXNcbiAgICAgICAgdmFyIHQgPSAoeDggKiAweDEwMTAxMDEpIF4gKHg0ICogMHgxMDAwMSkgXiAoeDIgKiAweDEwMSkgXiAoeCAqIDB4MTAxMDEwMCk7XG4gICAgICAgIElOVl9TVUJfTUlYXzBbc3hdID0gKHQgPDwgMjQpIHwgKHQgPj4+IDgpO1xuICAgICAgICBJTlZfU1VCX01JWF8xW3N4XSA9ICh0IDw8IDE2KSB8ICh0ID4+PiAxNik7XG4gICAgICAgIElOVl9TVUJfTUlYXzJbc3hdID0gKHQgPDwgOCkgfCAodCA+Pj4gMjQpO1xuICAgICAgICBJTlZfU1VCX01JWF8zW3N4XSA9IHQ7XG5cbiAgICAgICAgLy8gQ29tcHV0ZSBuZXh0IGNvdW50ZXJcbiAgICAgICAgaWYgKCF4KSB7XG4gICAgICAgICAgeCA9IHhpID0gMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB4ID0geDIgXiBkW2RbZFt4OCBeIHgyXV1dO1xuICAgICAgICAgIHhpIF49IGRbZFt4aV1dO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSgpKTtcblxuICAgIC8vIFByZWNvbXB1dGVkIFJjb24gbG9va3VwXG4gICAgdmFyIFJDT04gPSBbMHgwMCwgMHgwMSwgMHgwMiwgMHgwNCwgMHgwOCwgMHgxMCwgMHgyMCwgMHg0MCwgMHg4MCwgMHgxYiwgMHgzNl07XG5cbiAgICAvKipcbiAgICAgKiBBRVMgYmxvY2sgY2lwaGVyIGFsZ29yaXRobS5cbiAgICAgKi9cbiAgICB2YXIgQUVTID0gQ19hbGdvLkFFUyA9IEJsb2NrQ2lwaGVyLmV4dGVuZCh7XG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciB0O1xuXG4gICAgICAgIC8vIFNraXAgcmVzZXQgb2YgblJvdW5kcyBoYXMgYmVlbiBzZXQgYmVmb3JlIGFuZCBrZXkgZGlkIG5vdCBjaGFuZ2VcbiAgICAgICAgaWYgKHRoaXMuX25Sb3VuZHMgJiYgdGhpcy5fa2V5UHJpb3JSZXNldCA9PT0gdGhpcy5fa2V5KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgIHZhciBrZXkgPSB0aGlzLl9rZXlQcmlvclJlc2V0ID0gdGhpcy5fa2V5O1xuICAgICAgICB2YXIga2V5V29yZHMgPSBrZXkud29yZHM7XG4gICAgICAgIHZhciBrZXlTaXplID0ga2V5LnNpZ0J5dGVzIC8gNDtcblxuICAgICAgICAvLyBDb21wdXRlIG51bWJlciBvZiByb3VuZHNcbiAgICAgICAgdmFyIG5Sb3VuZHMgPSB0aGlzLl9uUm91bmRzID0ga2V5U2l6ZSArIDY7XG5cbiAgICAgICAgLy8gQ29tcHV0ZSBudW1iZXIgb2Yga2V5IHNjaGVkdWxlIHJvd3NcbiAgICAgICAgdmFyIGtzUm93cyA9IChuUm91bmRzICsgMSkgKiA0O1xuXG4gICAgICAgIC8vIENvbXB1dGUga2V5IHNjaGVkdWxlXG4gICAgICAgIHZhciBrZXlTY2hlZHVsZSA9IHRoaXMuX2tleVNjaGVkdWxlID0gW107XG4gICAgICAgIGZvciAodmFyIGtzUm93ID0gMDsga3NSb3cgPCBrc1Jvd3M7IGtzUm93KyspIHtcbiAgICAgICAgICBpZiAoa3NSb3cgPCBrZXlTaXplKSB7XG4gICAgICAgICAgICBrZXlTY2hlZHVsZVtrc1Jvd10gPSBrZXlXb3Jkc1trc1Jvd107XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHQgPSBrZXlTY2hlZHVsZVtrc1JvdyAtIDFdO1xuXG4gICAgICAgICAgICBpZiAoIShrc1JvdyAlIGtleVNpemUpKSB7XG4gICAgICAgICAgICAgIC8vIFJvdCB3b3JkXG4gICAgICAgICAgICAgIHQgPSAodCA8PCA4KSB8ICh0ID4+PiAyNCk7XG5cbiAgICAgICAgICAgICAgLy8gU3ViIHdvcmRcbiAgICAgICAgICAgICAgdCA9IChTQk9YW3QgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsodCA+Pj4gMTYpICYgMHhmZl0gPDwgMTYpIHwgKFNCT1hbKHQgPj4+IDgpICYgMHhmZl0gPDwgOCkgfCBTQk9YW3QgJiAweGZmXTtcblxuICAgICAgICAgICAgICAvLyBNaXggUmNvblxuICAgICAgICAgICAgICB0IF49IFJDT05bKGtzUm93IC8ga2V5U2l6ZSkgfCAwXSA8PCAyNDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5U2l6ZSA+IDYgJiYga3NSb3cgJSBrZXlTaXplID09IDQpIHtcbiAgICAgICAgICAgICAgLy8gU3ViIHdvcmRcbiAgICAgICAgICAgICAgdCA9IChTQk9YW3QgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsodCA+Pj4gMTYpICYgMHhmZl0gPDwgMTYpIHwgKFNCT1hbKHQgPj4+IDgpICYgMHhmZl0gPDwgOCkgfCBTQk9YW3QgJiAweGZmXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAga2V5U2NoZWR1bGVba3NSb3ddID0ga2V5U2NoZWR1bGVba3NSb3cgLSBrZXlTaXplXSBeIHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29tcHV0ZSBpbnYga2V5IHNjaGVkdWxlXG4gICAgICAgIHZhciBpbnZLZXlTY2hlZHVsZSA9IHRoaXMuX2ludktleVNjaGVkdWxlID0gW107XG4gICAgICAgIGZvciAodmFyIGludktzUm93ID0gMDsgaW52S3NSb3cgPCBrc1Jvd3M7IGludktzUm93KyspIHtcbiAgICAgICAgICB2YXIga3NSb3cgPSBrc1Jvd3MgLSBpbnZLc1JvdztcblxuICAgICAgICAgIGlmIChpbnZLc1JvdyAlIDQpIHtcbiAgICAgICAgICAgIHZhciB0ID0ga2V5U2NoZWR1bGVba3NSb3ddO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgdCA9IGtleVNjaGVkdWxlW2tzUm93IC0gNF07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGludktzUm93IDwgNCB8fCBrc1JvdyA8PSA0KSB7XG4gICAgICAgICAgICBpbnZLZXlTY2hlZHVsZVtpbnZLc1Jvd10gPSB0O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpbnZLZXlTY2hlZHVsZVtpbnZLc1Jvd10gPSBJTlZfU1VCX01JWF8wW1NCT1hbdCA+Pj4gMjRdXSBeIElOVl9TVUJfTUlYXzFbU0JPWFsodCA+Pj4gMTYpICYgMHhmZl1dIF5cbiAgICAgICAgICAgICAgSU5WX1NVQl9NSVhfMltTQk9YWyh0ID4+PiA4KSAmIDB4ZmZdXSBeIElOVl9TVUJfTUlYXzNbU0JPWFt0ICYgMHhmZl1dO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgZW5jcnlwdEJsb2NrOiBmdW5jdGlvbihNLCBvZmZzZXQpIHtcbiAgICAgICAgdGhpcy5fZG9DcnlwdEJsb2NrKE0sIG9mZnNldCwgdGhpcy5fa2V5U2NoZWR1bGUsIFNVQl9NSVhfMCwgU1VCX01JWF8xLCBTVUJfTUlYXzIsIFNVQl9NSVhfMywgU0JPWCk7XG4gICAgICB9LFxuXG4gICAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uKE0sIG9mZnNldCkge1xuICAgICAgICAvLyBTd2FwIDJuZCBhbmQgNHRoIHJvd3NcbiAgICAgICAgdmFyIHQgPSBNW29mZnNldCArIDFdO1xuICAgICAgICBNW29mZnNldCArIDFdID0gTVtvZmZzZXQgKyAzXTtcbiAgICAgICAgTVtvZmZzZXQgKyAzXSA9IHQ7XG5cbiAgICAgICAgdGhpcy5fZG9DcnlwdEJsb2NrKE0sIG9mZnNldCwgdGhpcy5faW52S2V5U2NoZWR1bGUsIElOVl9TVUJfTUlYXzAsIElOVl9TVUJfTUlYXzEsIElOVl9TVUJfTUlYXzIsIElOVl9TVUJfTUlYXzMsIElOVl9TQk9YKTtcblxuICAgICAgICAvLyBJbnYgc3dhcCAybmQgYW5kIDR0aCByb3dzXG4gICAgICAgIHZhciB0ID0gTVtvZmZzZXQgKyAxXTtcbiAgICAgICAgTVtvZmZzZXQgKyAxXSA9IE1bb2Zmc2V0ICsgM107XG4gICAgICAgIE1bb2Zmc2V0ICsgM10gPSB0O1xuICAgICAgfSxcblxuICAgICAgX2RvQ3J5cHRCbG9jazogZnVuY3Rpb24oTSwgb2Zmc2V0LCBrZXlTY2hlZHVsZSwgU1VCX01JWF8wLCBTVUJfTUlYXzEsIFNVQl9NSVhfMiwgU1VCX01JWF8zLCBTQk9YKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0XG4gICAgICAgIHZhciBuUm91bmRzID0gdGhpcy5fblJvdW5kcztcblxuICAgICAgICAvLyBHZXQgaW5wdXQsIGFkZCByb3VuZCBrZXlcbiAgICAgICAgdmFyIHMwID0gTVtvZmZzZXRdIF4ga2V5U2NoZWR1bGVbMF07XG4gICAgICAgIHZhciBzMSA9IE1bb2Zmc2V0ICsgMV0gXiBrZXlTY2hlZHVsZVsxXTtcbiAgICAgICAgdmFyIHMyID0gTVtvZmZzZXQgKyAyXSBeIGtleVNjaGVkdWxlWzJdO1xuICAgICAgICB2YXIgczMgPSBNW29mZnNldCArIDNdIF4ga2V5U2NoZWR1bGVbM107XG5cbiAgICAgICAgLy8gS2V5IHNjaGVkdWxlIHJvdyBjb3VudGVyXG4gICAgICAgIHZhciBrc1JvdyA9IDQ7XG5cbiAgICAgICAgLy8gUm91bmRzXG4gICAgICAgIGZvciAodmFyIHJvdW5kID0gMTsgcm91bmQgPCBuUm91bmRzOyByb3VuZCsrKSB7XG4gICAgICAgICAgLy8gU2hpZnQgcm93cywgc3ViIGJ5dGVzLCBtaXggY29sdW1ucywgYWRkIHJvdW5kIGtleVxuICAgICAgICAgIHZhciB0MCA9IFNVQl9NSVhfMFtzMCA+Pj4gMjRdIF4gU1VCX01JWF8xWyhzMSA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYXzJbKHMyID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWF8zW3MzICYgMHhmZl0gXiBrZXlTY2hlZHVsZVtrc1JvdysrXTtcbiAgICAgICAgICB2YXIgdDEgPSBTVUJfTUlYXzBbczEgPj4+IDI0XSBeIFNVQl9NSVhfMVsoczIgPj4+IDE2KSAmIDB4ZmZdIF4gU1VCX01JWF8yWyhzMyA+Pj4gOCkgJiAweGZmXSBeIFNVQl9NSVhfM1tzMCAmIDB4ZmZdIF4ga2V5U2NoZWR1bGVba3NSb3crK107XG4gICAgICAgICAgdmFyIHQyID0gU1VCX01JWF8wW3MyID4+PiAyNF0gXiBTVUJfTUlYXzFbKHMzID4+PiAxNikgJiAweGZmXSBeIFNVQl9NSVhfMlsoczAgPj4+IDgpICYgMHhmZl0gXiBTVUJfTUlYXzNbczEgJiAweGZmXSBeIGtleVNjaGVkdWxlW2tzUm93KytdO1xuICAgICAgICAgIHZhciB0MyA9IFNVQl9NSVhfMFtzMyA+Pj4gMjRdIF4gU1VCX01JWF8xWyhzMCA+Pj4gMTYpICYgMHhmZl0gXiBTVUJfTUlYXzJbKHMxID4+PiA4KSAmIDB4ZmZdIF4gU1VCX01JWF8zW3MyICYgMHhmZl0gXiBrZXlTY2hlZHVsZVtrc1JvdysrXTtcblxuICAgICAgICAgIC8vIFVwZGF0ZSBzdGF0ZVxuICAgICAgICAgIHMwID0gdDA7XG4gICAgICAgICAgczEgPSB0MTtcbiAgICAgICAgICBzMiA9IHQyO1xuICAgICAgICAgIHMzID0gdDM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTaGlmdCByb3dzLCBzdWIgYnl0ZXMsIGFkZCByb3VuZCBrZXlcbiAgICAgICAgdmFyIHQwID0gKChTQk9YW3MwID4+PiAyNF0gPDwgMjQpIHwgKFNCT1hbKHMxID4+PiAxNikgJiAweGZmXSA8PCAxNikgfCAoU0JPWFsoczIgPj4+IDgpICYgMHhmZl0gPDwgOCkgfCBTQk9YW3MzICYgMHhmZl0pIF4ga2V5U2NoZWR1bGVba3NSb3crK107XG4gICAgICAgIHZhciB0MSA9ICgoU0JPWFtzMSA+Pj4gMjRdIDw8IDI0KSB8IChTQk9YWyhzMiA+Pj4gMTYpICYgMHhmZl0gPDwgMTYpIHwgKFNCT1hbKHMzID4+PiA4KSAmIDB4ZmZdIDw8IDgpIHwgU0JPWFtzMCAmIDB4ZmZdKSBeIGtleVNjaGVkdWxlW2tzUm93KytdO1xuICAgICAgICB2YXIgdDIgPSAoKFNCT1hbczIgPj4+IDI0XSA8PCAyNCkgfCAoU0JPWFsoczMgPj4+IDE2KSAmIDB4ZmZdIDw8IDE2KSB8IChTQk9YWyhzMCA+Pj4gOCkgJiAweGZmXSA8PCA4KSB8IFNCT1hbczEgJiAweGZmXSkgXiBrZXlTY2hlZHVsZVtrc1JvdysrXTtcbiAgICAgICAgdmFyIHQzID0gKChTQk9YW3MzID4+PiAyNF0gPDwgMjQpIHwgKFNCT1hbKHMwID4+PiAxNikgJiAweGZmXSA8PCAxNikgfCAoU0JPWFsoczEgPj4+IDgpICYgMHhmZl0gPDwgOCkgfCBTQk9YW3MyICYgMHhmZl0pIF4ga2V5U2NoZWR1bGVba3NSb3crK107XG5cbiAgICAgICAgLy8gU2V0IG91dHB1dFxuICAgICAgICBNW29mZnNldF0gPSB0MDtcbiAgICAgICAgTVtvZmZzZXQgKyAxXSA9IHQxO1xuICAgICAgICBNW29mZnNldCArIDJdID0gdDI7XG4gICAgICAgIE1bb2Zmc2V0ICsgM10gPSB0MztcbiAgICAgIH0sXG5cbiAgICAgIGtleVNpemU6IDI1NiAvIDMyXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbnMgdG8gdGhlIGNpcGhlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBjaXBoZXJ0ZXh0ID0gQ3J5cHRvSlMuQUVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCBjZmcpO1xuICAgICAqICAgICB2YXIgcGxhaW50ZXh0ICA9IENyeXB0b0pTLkFFUy5kZWNyeXB0KGNpcGhlcnRleHQsIGtleSwgY2ZnKTtcbiAgICAgKi9cbiAgICBDLkFFUyA9IEJsb2NrQ2lwaGVyLl9jcmVhdGVIZWxwZXIoQUVTKTtcbiAgfSgpKTtcblxuXG4gIChmdW5jdGlvbigpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBXb3JkQXJyYXkgPSBDX2xpYi5Xb3JkQXJyYXk7XG4gICAgdmFyIEJsb2NrQ2lwaGVyID0gQ19saWIuQmxvY2tDaXBoZXI7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcblxuICAgIC8vIFBlcm11dGVkIENob2ljZSAxIGNvbnN0YW50c1xuICAgIHZhciBQQzEgPSBbXG4gICAgICA1NywgNDksIDQxLCAzMywgMjUsIDE3LCA5LCAxLFxuICAgICAgNTgsIDUwLCA0MiwgMzQsIDI2LCAxOCwgMTAsIDIsXG4gICAgICA1OSwgNTEsIDQzLCAzNSwgMjcsIDE5LCAxMSwgMyxcbiAgICAgIDYwLCA1MiwgNDQsIDM2LCA2MywgNTUsIDQ3LCAzOSxcbiAgICAgIDMxLCAyMywgMTUsIDcsIDYyLCA1NCwgNDYsIDM4LFxuICAgICAgMzAsIDIyLCAxNCwgNiwgNjEsIDUzLCA0NSwgMzcsXG4gICAgICAyOSwgMjEsIDEzLCA1LCAyOCwgMjAsIDEyLCA0XG4gICAgXTtcblxuICAgIC8vIFBlcm11dGVkIENob2ljZSAyIGNvbnN0YW50c1xuICAgIHZhciBQQzIgPSBbXG4gICAgICAxNCwgMTcsIDExLCAyNCwgMSwgNSxcbiAgICAgIDMsIDI4LCAxNSwgNiwgMjEsIDEwLFxuICAgICAgMjMsIDE5LCAxMiwgNCwgMjYsIDgsXG4gICAgICAxNiwgNywgMjcsIDIwLCAxMywgMixcbiAgICAgIDQxLCA1MiwgMzEsIDM3LCA0NywgNTUsXG4gICAgICAzMCwgNDAsIDUxLCA0NSwgMzMsIDQ4LFxuICAgICAgNDQsIDQ5LCAzOSwgNTYsIDM0LCA1MyxcbiAgICAgIDQ2LCA0MiwgNTAsIDM2LCAyOSwgMzJcbiAgICBdO1xuXG4gICAgLy8gQ3VtdWxhdGl2ZSBiaXQgc2hpZnQgY29uc3RhbnRzXG4gICAgdmFyIEJJVF9TSElGVFMgPSBbMSwgMiwgNCwgNiwgOCwgMTAsIDEyLCAxNCwgMTUsIDE3LCAxOSwgMjEsIDIzLCAyNSwgMjcsIDI4XTtcblxuICAgIC8vIFNCT1hlcyBhbmQgcm91bmQgcGVybXV0YXRpb24gY29uc3RhbnRzXG4gICAgdmFyIFNCT1hfUCA9IFt7XG4gICAgICAgIDB4MDogMHg4MDgyMDAsXG4gICAgICAgIDB4MTAwMDAwMDA6IDB4ODAwMCxcbiAgICAgICAgMHgyMDAwMDAwMDogMHg4MDgwMDIsXG4gICAgICAgIDB4MzAwMDAwMDA6IDB4MixcbiAgICAgICAgMHg0MDAwMDAwMDogMHgyMDAsXG4gICAgICAgIDB4NTAwMDAwMDA6IDB4ODA4MjAyLFxuICAgICAgICAweDYwMDAwMDAwOiAweDgwMDIwMixcbiAgICAgICAgMHg3MDAwMDAwMDogMHg4MDAwMDAsXG4gICAgICAgIDB4ODAwMDAwMDA6IDB4MjAyLFxuICAgICAgICAweDkwMDAwMDAwOiAweDgwMDIwMCxcbiAgICAgICAgMHhhMDAwMDAwMDogMHg4MjAwLFxuICAgICAgICAweGIwMDAwMDAwOiAweDgwODAwMCxcbiAgICAgICAgMHhjMDAwMDAwMDogMHg4MDAyLFxuICAgICAgICAweGQwMDAwMDAwOiAweDgwMDAwMixcbiAgICAgICAgMHhlMDAwMDAwMDogMHgwLFxuICAgICAgICAweGYwMDAwMDAwOiAweDgyMDIsXG4gICAgICAgIDB4ODAwMDAwMDogMHgwLFxuICAgICAgICAweDE4MDAwMDAwOiAweDgwODIwMixcbiAgICAgICAgMHgyODAwMDAwMDogMHg4MjAyLFxuICAgICAgICAweDM4MDAwMDAwOiAweDgwMDAsXG4gICAgICAgIDB4NDgwMDAwMDA6IDB4ODA4MjAwLFxuICAgICAgICAweDU4MDAwMDAwOiAweDIwMCxcbiAgICAgICAgMHg2ODAwMDAwMDogMHg4MDgwMDIsXG4gICAgICAgIDB4NzgwMDAwMDA6IDB4MixcbiAgICAgICAgMHg4ODAwMDAwMDogMHg4MDAyMDAsXG4gICAgICAgIDB4OTgwMDAwMDA6IDB4ODIwMCxcbiAgICAgICAgMHhhODAwMDAwMDogMHg4MDgwMDAsXG4gICAgICAgIDB4YjgwMDAwMDA6IDB4ODAwMjAyLFxuICAgICAgICAweGM4MDAwMDAwOiAweDgwMDAwMixcbiAgICAgICAgMHhkODAwMDAwMDogMHg4MDAyLFxuICAgICAgICAweGU4MDAwMDAwOiAweDIwMixcbiAgICAgICAgMHhmODAwMDAwMDogMHg4MDAwMDAsXG4gICAgICAgIDB4MTogMHg4MDAwLFxuICAgICAgICAweDEwMDAwMDAxOiAweDIsXG4gICAgICAgIDB4MjAwMDAwMDE6IDB4ODA4MjAwLFxuICAgICAgICAweDMwMDAwMDAxOiAweDgwMDAwMCxcbiAgICAgICAgMHg0MDAwMDAwMTogMHg4MDgwMDIsXG4gICAgICAgIDB4NTAwMDAwMDE6IDB4ODIwMCxcbiAgICAgICAgMHg2MDAwMDAwMTogMHgyMDAsXG4gICAgICAgIDB4NzAwMDAwMDE6IDB4ODAwMjAyLFxuICAgICAgICAweDgwMDAwMDAxOiAweDgwODIwMixcbiAgICAgICAgMHg5MDAwMDAwMTogMHg4MDgwMDAsXG4gICAgICAgIDB4YTAwMDAwMDE6IDB4ODAwMDAyLFxuICAgICAgICAweGIwMDAwMDAxOiAweDgyMDIsXG4gICAgICAgIDB4YzAwMDAwMDE6IDB4MjAyLFxuICAgICAgICAweGQwMDAwMDAxOiAweDgwMDIwMCxcbiAgICAgICAgMHhlMDAwMDAwMTogMHg4MDAyLFxuICAgICAgICAweGYwMDAwMDAxOiAweDAsXG4gICAgICAgIDB4ODAwMDAwMTogMHg4MDgyMDIsXG4gICAgICAgIDB4MTgwMDAwMDE6IDB4ODA4MDAwLFxuICAgICAgICAweDI4MDAwMDAxOiAweDgwMDAwMCxcbiAgICAgICAgMHgzODAwMDAwMTogMHgyMDAsXG4gICAgICAgIDB4NDgwMDAwMDE6IDB4ODAwMCxcbiAgICAgICAgMHg1ODAwMDAwMTogMHg4MDAwMDIsXG4gICAgICAgIDB4NjgwMDAwMDE6IDB4MixcbiAgICAgICAgMHg3ODAwMDAwMTogMHg4MjAyLFxuICAgICAgICAweDg4MDAwMDAxOiAweDgwMDIsXG4gICAgICAgIDB4OTgwMDAwMDE6IDB4ODAwMjAyLFxuICAgICAgICAweGE4MDAwMDAxOiAweDIwMixcbiAgICAgICAgMHhiODAwMDAwMTogMHg4MDgyMDAsXG4gICAgICAgIDB4YzgwMDAwMDE6IDB4ODAwMjAwLFxuICAgICAgICAweGQ4MDAwMDAxOiAweDAsXG4gICAgICAgIDB4ZTgwMDAwMDE6IDB4ODIwMCxcbiAgICAgICAgMHhmODAwMDAwMTogMHg4MDgwMDJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIDB4MDogMHg0MDA4NDAxMCxcbiAgICAgICAgMHgxMDAwMDAwOiAweDQwMDAsXG4gICAgICAgIDB4MjAwMDAwMDogMHg4MDAwMCxcbiAgICAgICAgMHgzMDAwMDAwOiAweDQwMDgwMDEwLFxuICAgICAgICAweDQwMDAwMDA6IDB4NDAwMDAwMTAsXG4gICAgICAgIDB4NTAwMDAwMDogMHg0MDA4NDAwMCxcbiAgICAgICAgMHg2MDAwMDAwOiAweDQwMDA0MDAwLFxuICAgICAgICAweDcwMDAwMDA6IDB4MTAsXG4gICAgICAgIDB4ODAwMDAwMDogMHg4NDAwMCxcbiAgICAgICAgMHg5MDAwMDAwOiAweDQwMDA0MDEwLFxuICAgICAgICAweGEwMDAwMDA6IDB4NDAwMDAwMDAsXG4gICAgICAgIDB4YjAwMDAwMDogMHg4NDAxMCxcbiAgICAgICAgMHhjMDAwMDAwOiAweDgwMDEwLFxuICAgICAgICAweGQwMDAwMDA6IDB4MCxcbiAgICAgICAgMHhlMDAwMDAwOiAweDQwMTAsXG4gICAgICAgIDB4ZjAwMDAwMDogMHg0MDA4MDAwMCxcbiAgICAgICAgMHg4MDAwMDA6IDB4NDAwMDQwMDAsXG4gICAgICAgIDB4MTgwMDAwMDogMHg4NDAxMCxcbiAgICAgICAgMHgyODAwMDAwOiAweDEwLFxuICAgICAgICAweDM4MDAwMDA6IDB4NDAwMDQwMTAsXG4gICAgICAgIDB4NDgwMDAwMDogMHg0MDA4NDAxMCxcbiAgICAgICAgMHg1ODAwMDAwOiAweDQwMDAwMDAwLFxuICAgICAgICAweDY4MDAwMDA6IDB4ODAwMDAsXG4gICAgICAgIDB4NzgwMDAwMDogMHg0MDA4MDAxMCxcbiAgICAgICAgMHg4ODAwMDAwOiAweDgwMDEwLFxuICAgICAgICAweDk4MDAwMDA6IDB4MCxcbiAgICAgICAgMHhhODAwMDAwOiAweDQwMDAsXG4gICAgICAgIDB4YjgwMDAwMDogMHg0MDA4MDAwMCxcbiAgICAgICAgMHhjODAwMDAwOiAweDQwMDAwMDEwLFxuICAgICAgICAweGQ4MDAwMDA6IDB4ODQwMDAsXG4gICAgICAgIDB4ZTgwMDAwMDogMHg0MDA4NDAwMCxcbiAgICAgICAgMHhmODAwMDAwOiAweDQwMTAsXG4gICAgICAgIDB4MTAwMDAwMDA6IDB4MCxcbiAgICAgICAgMHgxMTAwMDAwMDogMHg0MDA4MDAxMCxcbiAgICAgICAgMHgxMjAwMDAwMDogMHg0MDAwNDAxMCxcbiAgICAgICAgMHgxMzAwMDAwMDogMHg0MDA4NDAwMCxcbiAgICAgICAgMHgxNDAwMDAwMDogMHg0MDA4MDAwMCxcbiAgICAgICAgMHgxNTAwMDAwMDogMHgxMCxcbiAgICAgICAgMHgxNjAwMDAwMDogMHg4NDAxMCxcbiAgICAgICAgMHgxNzAwMDAwMDogMHg0MDAwLFxuICAgICAgICAweDE4MDAwMDAwOiAweDQwMTAsXG4gICAgICAgIDB4MTkwMDAwMDA6IDB4ODAwMDAsXG4gICAgICAgIDB4MWEwMDAwMDA6IDB4ODAwMTAsXG4gICAgICAgIDB4MWIwMDAwMDA6IDB4NDAwMDAwMTAsXG4gICAgICAgIDB4MWMwMDAwMDA6IDB4ODQwMDAsXG4gICAgICAgIDB4MWQwMDAwMDA6IDB4NDAwMDQwMDAsXG4gICAgICAgIDB4MWUwMDAwMDA6IDB4NDAwMDAwMDAsXG4gICAgICAgIDB4MWYwMDAwMDA6IDB4NDAwODQwMTAsXG4gICAgICAgIDB4MTA4MDAwMDA6IDB4ODQwMTAsXG4gICAgICAgIDB4MTE4MDAwMDA6IDB4ODAwMDAsXG4gICAgICAgIDB4MTI4MDAwMDA6IDB4NDAwODAwMDAsXG4gICAgICAgIDB4MTM4MDAwMDA6IDB4NDAwMCxcbiAgICAgICAgMHgxNDgwMDAwMDogMHg0MDAwNDAwMCxcbiAgICAgICAgMHgxNTgwMDAwMDogMHg0MDA4NDAxMCxcbiAgICAgICAgMHgxNjgwMDAwMDogMHgxMCxcbiAgICAgICAgMHgxNzgwMDAwMDogMHg0MDAwMDAwMCxcbiAgICAgICAgMHgxODgwMDAwMDogMHg0MDA4NDAwMCxcbiAgICAgICAgMHgxOTgwMDAwMDogMHg0MDAwMDAxMCxcbiAgICAgICAgMHgxYTgwMDAwMDogMHg0MDAwNDAxMCxcbiAgICAgICAgMHgxYjgwMDAwMDogMHg4MDAxMCxcbiAgICAgICAgMHgxYzgwMDAwMDogMHgwLFxuICAgICAgICAweDFkODAwMDAwOiAweDQwMTAsXG4gICAgICAgIDB4MWU4MDAwMDA6IDB4NDAwODAwMTAsXG4gICAgICAgIDB4MWY4MDAwMDA6IDB4ODQwMDBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIDB4MDogMHgxMDQsXG4gICAgICAgIDB4MTAwMDAwOiAweDAsXG4gICAgICAgIDB4MjAwMDAwOiAweDQwMDAxMDAsXG4gICAgICAgIDB4MzAwMDAwOiAweDEwMTA0LFxuICAgICAgICAweDQwMDAwMDogMHgxMDAwNCxcbiAgICAgICAgMHg1MDAwMDA6IDB4NDAwMDAwNCxcbiAgICAgICAgMHg2MDAwMDA6IDB4NDAxMDEwNCxcbiAgICAgICAgMHg3MDAwMDA6IDB4NDAxMDAwMCxcbiAgICAgICAgMHg4MDAwMDA6IDB4NDAwMDAwMCxcbiAgICAgICAgMHg5MDAwMDA6IDB4NDAxMDEwMCxcbiAgICAgICAgMHhhMDAwMDA6IDB4MTAxMDAsXG4gICAgICAgIDB4YjAwMDAwOiAweDQwMTAwMDQsXG4gICAgICAgIDB4YzAwMDAwOiAweDQwMDAxMDQsXG4gICAgICAgIDB4ZDAwMDAwOiAweDEwMDAwLFxuICAgICAgICAweGUwMDAwMDogMHg0LFxuICAgICAgICAweGYwMDAwMDogMHgxMDAsXG4gICAgICAgIDB4ODAwMDA6IDB4NDAxMDEwMCxcbiAgICAgICAgMHgxODAwMDA6IDB4NDAxMDAwNCxcbiAgICAgICAgMHgyODAwMDA6IDB4MCxcbiAgICAgICAgMHgzODAwMDA6IDB4NDAwMDEwMCxcbiAgICAgICAgMHg0ODAwMDA6IDB4NDAwMDAwNCxcbiAgICAgICAgMHg1ODAwMDA6IDB4MTAwMDAsXG4gICAgICAgIDB4NjgwMDAwOiAweDEwMDA0LFxuICAgICAgICAweDc4MDAwMDogMHgxMDQsXG4gICAgICAgIDB4ODgwMDAwOiAweDQsXG4gICAgICAgIDB4OTgwMDAwOiAweDEwMCxcbiAgICAgICAgMHhhODAwMDA6IDB4NDAxMDAwMCxcbiAgICAgICAgMHhiODAwMDA6IDB4MTAxMDQsXG4gICAgICAgIDB4YzgwMDAwOiAweDEwMTAwLFxuICAgICAgICAweGQ4MDAwMDogMHg0MDAwMTA0LFxuICAgICAgICAweGU4MDAwMDogMHg0MDEwMTA0LFxuICAgICAgICAweGY4MDAwMDogMHg0MDAwMDAwLFxuICAgICAgICAweDEwMDAwMDA6IDB4NDAxMDEwMCxcbiAgICAgICAgMHgxMTAwMDAwOiAweDEwMDA0LFxuICAgICAgICAweDEyMDAwMDA6IDB4MTAwMDAsXG4gICAgICAgIDB4MTMwMDAwMDogMHg0MDAwMTAwLFxuICAgICAgICAweDE0MDAwMDA6IDB4MTAwLFxuICAgICAgICAweDE1MDAwMDA6IDB4NDAxMDEwNCxcbiAgICAgICAgMHgxNjAwMDAwOiAweDQwMDAwMDQsXG4gICAgICAgIDB4MTcwMDAwMDogMHgwLFxuICAgICAgICAweDE4MDAwMDA6IDB4NDAwMDEwNCxcbiAgICAgICAgMHgxOTAwMDAwOiAweDQwMDAwMDAsXG4gICAgICAgIDB4MWEwMDAwMDogMHg0LFxuICAgICAgICAweDFiMDAwMDA6IDB4MTAxMDAsXG4gICAgICAgIDB4MWMwMDAwMDogMHg0MDEwMDAwLFxuICAgICAgICAweDFkMDAwMDA6IDB4MTA0LFxuICAgICAgICAweDFlMDAwMDA6IDB4MTAxMDQsXG4gICAgICAgIDB4MWYwMDAwMDogMHg0MDEwMDA0LFxuICAgICAgICAweDEwODAwMDA6IDB4NDAwMDAwMCxcbiAgICAgICAgMHgxMTgwMDAwOiAweDEwNCxcbiAgICAgICAgMHgxMjgwMDAwOiAweDQwMTAxMDAsXG4gICAgICAgIDB4MTM4MDAwMDogMHgwLFxuICAgICAgICAweDE0ODAwMDA6IDB4MTAwMDQsXG4gICAgICAgIDB4MTU4MDAwMDogMHg0MDAwMTAwLFxuICAgICAgICAweDE2ODAwMDA6IDB4MTAwLFxuICAgICAgICAweDE3ODAwMDA6IDB4NDAxMDAwNCxcbiAgICAgICAgMHgxODgwMDAwOiAweDEwMDAwLFxuICAgICAgICAweDE5ODAwMDA6IDB4NDAxMDEwNCxcbiAgICAgICAgMHgxYTgwMDAwOiAweDEwMTA0LFxuICAgICAgICAweDFiODAwMDA6IDB4NDAwMDAwNCxcbiAgICAgICAgMHgxYzgwMDAwOiAweDQwMDAxMDQsXG4gICAgICAgIDB4MWQ4MDAwMDogMHg0MDEwMDAwLFxuICAgICAgICAweDFlODAwMDA6IDB4NCxcbiAgICAgICAgMHgxZjgwMDAwOiAweDEwMTAwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICAweDA6IDB4ODA0MDEwMDAsXG4gICAgICAgIDB4MTAwMDA6IDB4ODAwMDEwNDAsXG4gICAgICAgIDB4MjAwMDA6IDB4NDAxMDQwLFxuICAgICAgICAweDMwMDAwOiAweDgwNDAwMDAwLFxuICAgICAgICAweDQwMDAwOiAweDAsXG4gICAgICAgIDB4NTAwMDA6IDB4NDAxMDAwLFxuICAgICAgICAweDYwMDAwOiAweDgwMDAwMDQwLFxuICAgICAgICAweDcwMDAwOiAweDQwMDA0MCxcbiAgICAgICAgMHg4MDAwMDogMHg4MDAwMDAwMCxcbiAgICAgICAgMHg5MDAwMDogMHg0MDAwMDAsXG4gICAgICAgIDB4YTAwMDA6IDB4NDAsXG4gICAgICAgIDB4YjAwMDA6IDB4ODAwMDEwMDAsXG4gICAgICAgIDB4YzAwMDA6IDB4ODA0MDAwNDAsXG4gICAgICAgIDB4ZDAwMDA6IDB4MTA0MCxcbiAgICAgICAgMHhlMDAwMDogMHgxMDAwLFxuICAgICAgICAweGYwMDAwOiAweDgwNDAxMDQwLFxuICAgICAgICAweDgwMDA6IDB4ODAwMDEwNDAsXG4gICAgICAgIDB4MTgwMDA6IDB4NDAsXG4gICAgICAgIDB4MjgwMDA6IDB4ODA0MDAwNDAsXG4gICAgICAgIDB4MzgwMDA6IDB4ODAwMDEwMDAsXG4gICAgICAgIDB4NDgwMDA6IDB4NDAxMDAwLFxuICAgICAgICAweDU4MDAwOiAweDgwNDAxMDQwLFxuICAgICAgICAweDY4MDAwOiAweDAsXG4gICAgICAgIDB4NzgwMDA6IDB4ODA0MDAwMDAsXG4gICAgICAgIDB4ODgwMDA6IDB4MTAwMCxcbiAgICAgICAgMHg5ODAwMDogMHg4MDQwMTAwMCxcbiAgICAgICAgMHhhODAwMDogMHg0MDAwMDAsXG4gICAgICAgIDB4YjgwMDA6IDB4MTA0MCxcbiAgICAgICAgMHhjODAwMDogMHg4MDAwMDAwMCxcbiAgICAgICAgMHhkODAwMDogMHg0MDAwNDAsXG4gICAgICAgIDB4ZTgwMDA6IDB4NDAxMDQwLFxuICAgICAgICAweGY4MDAwOiAweDgwMDAwMDQwLFxuICAgICAgICAweDEwMDAwMDogMHg0MDAwNDAsXG4gICAgICAgIDB4MTEwMDAwOiAweDQwMTAwMCxcbiAgICAgICAgMHgxMjAwMDA6IDB4ODAwMDAwNDAsXG4gICAgICAgIDB4MTMwMDAwOiAweDAsXG4gICAgICAgIDB4MTQwMDAwOiAweDEwNDAsXG4gICAgICAgIDB4MTUwMDAwOiAweDgwNDAwMDQwLFxuICAgICAgICAweDE2MDAwMDogMHg4MDQwMTAwMCxcbiAgICAgICAgMHgxNzAwMDA6IDB4ODAwMDEwNDAsXG4gICAgICAgIDB4MTgwMDAwOiAweDgwNDAxMDQwLFxuICAgICAgICAweDE5MDAwMDogMHg4MDAwMDAwMCxcbiAgICAgICAgMHgxYTAwMDA6IDB4ODA0MDAwMDAsXG4gICAgICAgIDB4MWIwMDAwOiAweDQwMTA0MCxcbiAgICAgICAgMHgxYzAwMDA6IDB4ODAwMDEwMDAsXG4gICAgICAgIDB4MWQwMDAwOiAweDQwMDAwMCxcbiAgICAgICAgMHgxZTAwMDA6IDB4NDAsXG4gICAgICAgIDB4MWYwMDAwOiAweDEwMDAsXG4gICAgICAgIDB4MTA4MDAwOiAweDgwNDAwMDAwLFxuICAgICAgICAweDExODAwMDogMHg4MDQwMTA0MCxcbiAgICAgICAgMHgxMjgwMDA6IDB4MCxcbiAgICAgICAgMHgxMzgwMDA6IDB4NDAxMDAwLFxuICAgICAgICAweDE0ODAwMDogMHg0MDAwNDAsXG4gICAgICAgIDB4MTU4MDAwOiAweDgwMDAwMDAwLFxuICAgICAgICAweDE2ODAwMDogMHg4MDAwMTA0MCxcbiAgICAgICAgMHgxNzgwMDA6IDB4NDAsXG4gICAgICAgIDB4MTg4MDAwOiAweDgwMDAwMDQwLFxuICAgICAgICAweDE5ODAwMDogMHgxMDAwLFxuICAgICAgICAweDFhODAwMDogMHg4MDAwMTAwMCxcbiAgICAgICAgMHgxYjgwMDA6IDB4ODA0MDAwNDAsXG4gICAgICAgIDB4MWM4MDAwOiAweDEwNDAsXG4gICAgICAgIDB4MWQ4MDAwOiAweDgwNDAxMDAwLFxuICAgICAgICAweDFlODAwMDogMHg0MDAwMDAsXG4gICAgICAgIDB4MWY4MDAwOiAweDQwMTA0MFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgMHgwOiAweDgwLFxuICAgICAgICAweDEwMDA6IDB4MTA0MDAwMCxcbiAgICAgICAgMHgyMDAwOiAweDQwMDAwLFxuICAgICAgICAweDMwMDA6IDB4MjAwMDAwMDAsXG4gICAgICAgIDB4NDAwMDogMHgyMDA0MDA4MCxcbiAgICAgICAgMHg1MDAwOiAweDEwMDAwODAsXG4gICAgICAgIDB4NjAwMDogMHgyMTAwMDA4MCxcbiAgICAgICAgMHg3MDAwOiAweDQwMDgwLFxuICAgICAgICAweDgwMDA6IDB4MTAwMDAwMCxcbiAgICAgICAgMHg5MDAwOiAweDIwMDQwMDAwLFxuICAgICAgICAweGEwMDA6IDB4MjAwMDAwODAsXG4gICAgICAgIDB4YjAwMDogMHgyMTA0MDA4MCxcbiAgICAgICAgMHhjMDAwOiAweDIxMDQwMDAwLFxuICAgICAgICAweGQwMDA6IDB4MCxcbiAgICAgICAgMHhlMDAwOiAweDEwNDAwODAsXG4gICAgICAgIDB4ZjAwMDogMHgyMTAwMDAwMCxcbiAgICAgICAgMHg4MDA6IDB4MTA0MDA4MCxcbiAgICAgICAgMHgxODAwOiAweDIxMDAwMDgwLFxuICAgICAgICAweDI4MDA6IDB4ODAsXG4gICAgICAgIDB4MzgwMDogMHgxMDQwMDAwLFxuICAgICAgICAweDQ4MDA6IDB4NDAwMDAsXG4gICAgICAgIDB4NTgwMDogMHgyMDA0MDA4MCxcbiAgICAgICAgMHg2ODAwOiAweDIxMDQwMDAwLFxuICAgICAgICAweDc4MDA6IDB4MjAwMDAwMDAsXG4gICAgICAgIDB4ODgwMDogMHgyMDA0MDAwMCxcbiAgICAgICAgMHg5ODAwOiAweDAsXG4gICAgICAgIDB4YTgwMDogMHgyMTA0MDA4MCxcbiAgICAgICAgMHhiODAwOiAweDEwMDAwODAsXG4gICAgICAgIDB4YzgwMDogMHgyMDAwMDA4MCxcbiAgICAgICAgMHhkODAwOiAweDIxMDAwMDAwLFxuICAgICAgICAweGU4MDA6IDB4MTAwMDAwMCxcbiAgICAgICAgMHhmODAwOiAweDQwMDgwLFxuICAgICAgICAweDEwMDAwOiAweDQwMDAwLFxuICAgICAgICAweDExMDAwOiAweDgwLFxuICAgICAgICAweDEyMDAwOiAweDIwMDAwMDAwLFxuICAgICAgICAweDEzMDAwOiAweDIxMDAwMDgwLFxuICAgICAgICAweDE0MDAwOiAweDEwMDAwODAsXG4gICAgICAgIDB4MTUwMDA6IDB4MjEwNDAwMDAsXG4gICAgICAgIDB4MTYwMDA6IDB4MjAwNDAwODAsXG4gICAgICAgIDB4MTcwMDA6IDB4MTAwMDAwMCxcbiAgICAgICAgMHgxODAwMDogMHgyMTA0MDA4MCxcbiAgICAgICAgMHgxOTAwMDogMHgyMTAwMDAwMCxcbiAgICAgICAgMHgxYTAwMDogMHgxMDQwMDAwLFxuICAgICAgICAweDFiMDAwOiAweDIwMDQwMDAwLFxuICAgICAgICAweDFjMDAwOiAweDQwMDgwLFxuICAgICAgICAweDFkMDAwOiAweDIwMDAwMDgwLFxuICAgICAgICAweDFlMDAwOiAweDAsXG4gICAgICAgIDB4MWYwMDA6IDB4MTA0MDA4MCxcbiAgICAgICAgMHgxMDgwMDogMHgyMTAwMDA4MCxcbiAgICAgICAgMHgxMTgwMDogMHgxMDAwMDAwLFxuICAgICAgICAweDEyODAwOiAweDEwNDAwMDAsXG4gICAgICAgIDB4MTM4MDA6IDB4MjAwNDAwODAsXG4gICAgICAgIDB4MTQ4MDA6IDB4MjAwMDAwMDAsXG4gICAgICAgIDB4MTU4MDA6IDB4MTA0MDA4MCxcbiAgICAgICAgMHgxNjgwMDogMHg4MCxcbiAgICAgICAgMHgxNzgwMDogMHgyMTA0MDAwMCxcbiAgICAgICAgMHgxODgwMDogMHg0MDA4MCxcbiAgICAgICAgMHgxOTgwMDogMHgyMTA0MDA4MCxcbiAgICAgICAgMHgxYTgwMDogMHgwLFxuICAgICAgICAweDFiODAwOiAweDIxMDAwMDAwLFxuICAgICAgICAweDFjODAwOiAweDEwMDAwODAsXG4gICAgICAgIDB4MWQ4MDA6IDB4NDAwMDAsXG4gICAgICAgIDB4MWU4MDA6IDB4MjAwNDAwMDAsXG4gICAgICAgIDB4MWY4MDA6IDB4MjAwMDAwODBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIDB4MDogMHgxMDAwMDAwOCxcbiAgICAgICAgMHgxMDA6IDB4MjAwMCxcbiAgICAgICAgMHgyMDA6IDB4MTAyMDAwMDAsXG4gICAgICAgIDB4MzAwOiAweDEwMjAyMDA4LFxuICAgICAgICAweDQwMDogMHgxMDAwMjAwMCxcbiAgICAgICAgMHg1MDA6IDB4MjAwMDAwLFxuICAgICAgICAweDYwMDogMHgyMDAwMDgsXG4gICAgICAgIDB4NzAwOiAweDEwMDAwMDAwLFxuICAgICAgICAweDgwMDogMHgwLFxuICAgICAgICAweDkwMDogMHgxMDAwMjAwOCxcbiAgICAgICAgMHhhMDA6IDB4MjAyMDAwLFxuICAgICAgICAweGIwMDogMHg4LFxuICAgICAgICAweGMwMDogMHgxMDIwMDAwOCxcbiAgICAgICAgMHhkMDA6IDB4MjAyMDA4LFxuICAgICAgICAweGUwMDogMHgyMDA4LFxuICAgICAgICAweGYwMDogMHgxMDIwMjAwMCxcbiAgICAgICAgMHg4MDogMHgxMDIwMDAwMCxcbiAgICAgICAgMHgxODA6IDB4MTAyMDIwMDgsXG4gICAgICAgIDB4MjgwOiAweDgsXG4gICAgICAgIDB4MzgwOiAweDIwMDAwMCxcbiAgICAgICAgMHg0ODA6IDB4MjAyMDA4LFxuICAgICAgICAweDU4MDogMHgxMDAwMDAwOCxcbiAgICAgICAgMHg2ODA6IDB4MTAwMDIwMDAsXG4gICAgICAgIDB4NzgwOiAweDIwMDgsXG4gICAgICAgIDB4ODgwOiAweDIwMDAwOCxcbiAgICAgICAgMHg5ODA6IDB4MjAwMCxcbiAgICAgICAgMHhhODA6IDB4MTAwMDIwMDgsXG4gICAgICAgIDB4YjgwOiAweDEwMjAwMDA4LFxuICAgICAgICAweGM4MDogMHgwLFxuICAgICAgICAweGQ4MDogMHgxMDIwMjAwMCxcbiAgICAgICAgMHhlODA6IDB4MjAyMDAwLFxuICAgICAgICAweGY4MDogMHgxMDAwMDAwMCxcbiAgICAgICAgMHgxMDAwOiAweDEwMDAyMDAwLFxuICAgICAgICAweDExMDA6IDB4MTAyMDAwMDgsXG4gICAgICAgIDB4MTIwMDogMHgxMDIwMjAwOCxcbiAgICAgICAgMHgxMzAwOiAweDIwMDgsXG4gICAgICAgIDB4MTQwMDogMHgyMDAwMDAsXG4gICAgICAgIDB4MTUwMDogMHgxMDAwMDAwMCxcbiAgICAgICAgMHgxNjAwOiAweDEwMDAwMDA4LFxuICAgICAgICAweDE3MDA6IDB4MjAyMDAwLFxuICAgICAgICAweDE4MDA6IDB4MjAyMDA4LFxuICAgICAgICAweDE5MDA6IDB4MCxcbiAgICAgICAgMHgxYTAwOiAweDgsXG4gICAgICAgIDB4MWIwMDogMHgxMDIwMDAwMCxcbiAgICAgICAgMHgxYzAwOiAweDIwMDAsXG4gICAgICAgIDB4MWQwMDogMHgxMDAwMjAwOCxcbiAgICAgICAgMHgxZTAwOiAweDEwMjAyMDAwLFxuICAgICAgICAweDFmMDA6IDB4MjAwMDA4LFxuICAgICAgICAweDEwODA6IDB4OCxcbiAgICAgICAgMHgxMTgwOiAweDIwMjAwMCxcbiAgICAgICAgMHgxMjgwOiAweDIwMDAwMCxcbiAgICAgICAgMHgxMzgwOiAweDEwMDAwMDA4LFxuICAgICAgICAweDE0ODA6IDB4MTAwMDIwMDAsXG4gICAgICAgIDB4MTU4MDogMHgyMDA4LFxuICAgICAgICAweDE2ODA6IDB4MTAyMDIwMDgsXG4gICAgICAgIDB4MTc4MDogMHgxMDIwMDAwMCxcbiAgICAgICAgMHgxODgwOiAweDEwMjAyMDAwLFxuICAgICAgICAweDE5ODA6IDB4MTAyMDAwMDgsXG4gICAgICAgIDB4MWE4MDogMHgyMDAwLFxuICAgICAgICAweDFiODA6IDB4MjAyMDA4LFxuICAgICAgICAweDFjODA6IDB4MjAwMDA4LFxuICAgICAgICAweDFkODA6IDB4MCxcbiAgICAgICAgMHgxZTgwOiAweDEwMDAwMDAwLFxuICAgICAgICAweDFmODA6IDB4MTAwMDIwMDhcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIDB4MDogMHgxMDAwMDAsXG4gICAgICAgIDB4MTA6IDB4MjAwMDQwMSxcbiAgICAgICAgMHgyMDogMHg0MDAsXG4gICAgICAgIDB4MzA6IDB4MTAwNDAxLFxuICAgICAgICAweDQwOiAweDIxMDA0MDEsXG4gICAgICAgIDB4NTA6IDB4MCxcbiAgICAgICAgMHg2MDogMHgxLFxuICAgICAgICAweDcwOiAweDIxMDAwMDEsXG4gICAgICAgIDB4ODA6IDB4MjAwMDQwMCxcbiAgICAgICAgMHg5MDogMHgxMDAwMDEsXG4gICAgICAgIDB4YTA6IDB4MjAwMDAwMSxcbiAgICAgICAgMHhiMDogMHgyMTAwNDAwLFxuICAgICAgICAweGMwOiAweDIxMDAwMDAsXG4gICAgICAgIDB4ZDA6IDB4NDAxLFxuICAgICAgICAweGUwOiAweDEwMDQwMCxcbiAgICAgICAgMHhmMDogMHgyMDAwMDAwLFxuICAgICAgICAweDg6IDB4MjEwMDAwMSxcbiAgICAgICAgMHgxODogMHgwLFxuICAgICAgICAweDI4OiAweDIwMDA0MDEsXG4gICAgICAgIDB4Mzg6IDB4MjEwMDQwMCxcbiAgICAgICAgMHg0ODogMHgxMDAwMDAsXG4gICAgICAgIDB4NTg6IDB4MjAwMDAwMSxcbiAgICAgICAgMHg2ODogMHgyMDAwMDAwLFxuICAgICAgICAweDc4OiAweDQwMSxcbiAgICAgICAgMHg4ODogMHgxMDA0MDEsXG4gICAgICAgIDB4OTg6IDB4MjAwMDQwMCxcbiAgICAgICAgMHhhODogMHgyMTAwMDAwLFxuICAgICAgICAweGI4OiAweDEwMDAwMSxcbiAgICAgICAgMHhjODogMHg0MDAsXG4gICAgICAgIDB4ZDg6IDB4MjEwMDQwMSxcbiAgICAgICAgMHhlODogMHgxLFxuICAgICAgICAweGY4OiAweDEwMDQwMCxcbiAgICAgICAgMHgxMDA6IDB4MjAwMDAwMCxcbiAgICAgICAgMHgxMTA6IDB4MTAwMDAwLFxuICAgICAgICAweDEyMDogMHgyMDAwNDAxLFxuICAgICAgICAweDEzMDogMHgyMTAwMDAxLFxuICAgICAgICAweDE0MDogMHgxMDAwMDEsXG4gICAgICAgIDB4MTUwOiAweDIwMDA0MDAsXG4gICAgICAgIDB4MTYwOiAweDIxMDA0MDAsXG4gICAgICAgIDB4MTcwOiAweDEwMDQwMSxcbiAgICAgICAgMHgxODA6IDB4NDAxLFxuICAgICAgICAweDE5MDogMHgyMTAwNDAxLFxuICAgICAgICAweDFhMDogMHgxMDA0MDAsXG4gICAgICAgIDB4MWIwOiAweDEsXG4gICAgICAgIDB4MWMwOiAweDAsXG4gICAgICAgIDB4MWQwOiAweDIxMDAwMDAsXG4gICAgICAgIDB4MWUwOiAweDIwMDAwMDEsXG4gICAgICAgIDB4MWYwOiAweDQwMCxcbiAgICAgICAgMHgxMDg6IDB4MTAwNDAwLFxuICAgICAgICAweDExODogMHgyMDAwNDAxLFxuICAgICAgICAweDEyODogMHgyMTAwMDAxLFxuICAgICAgICAweDEzODogMHgxLFxuICAgICAgICAweDE0ODogMHgyMDAwMDAwLFxuICAgICAgICAweDE1ODogMHgxMDAwMDAsXG4gICAgICAgIDB4MTY4OiAweDQwMSxcbiAgICAgICAgMHgxNzg6IDB4MjEwMDQwMCxcbiAgICAgICAgMHgxODg6IDB4MjAwMDAwMSxcbiAgICAgICAgMHgxOTg6IDB4MjEwMDAwMCxcbiAgICAgICAgMHgxYTg6IDB4MCxcbiAgICAgICAgMHgxYjg6IDB4MjEwMDQwMSxcbiAgICAgICAgMHgxYzg6IDB4MTAwNDAxLFxuICAgICAgICAweDFkODogMHg0MDAsXG4gICAgICAgIDB4MWU4OiAweDIwMDA0MDAsXG4gICAgICAgIDB4MWY4OiAweDEwMDAwMVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgMHgwOiAweDgwMDA4MjAsXG4gICAgICAgIDB4MTogMHgyMDAwMCxcbiAgICAgICAgMHgyOiAweDgwMDAwMDAsXG4gICAgICAgIDB4MzogMHgyMCxcbiAgICAgICAgMHg0OiAweDIwMDIwLFxuICAgICAgICAweDU6IDB4ODAyMDgyMCxcbiAgICAgICAgMHg2OiAweDgwMjA4MDAsXG4gICAgICAgIDB4NzogMHg4MDAsXG4gICAgICAgIDB4ODogMHg4MDIwMDAwLFxuICAgICAgICAweDk6IDB4ODAwMDgwMCxcbiAgICAgICAgMHhhOiAweDIwODAwLFxuICAgICAgICAweGI6IDB4ODAyMDAyMCxcbiAgICAgICAgMHhjOiAweDgyMCxcbiAgICAgICAgMHhkOiAweDAsXG4gICAgICAgIDB4ZTogMHg4MDAwMDIwLFxuICAgICAgICAweGY6IDB4MjA4MjAsXG4gICAgICAgIDB4ODAwMDAwMDA6IDB4ODAwLFxuICAgICAgICAweDgwMDAwMDAxOiAweDgwMjA4MjAsXG4gICAgICAgIDB4ODAwMDAwMDI6IDB4ODAwMDgyMCxcbiAgICAgICAgMHg4MDAwMDAwMzogMHg4MDAwMDAwLFxuICAgICAgICAweDgwMDAwMDA0OiAweDgwMjAwMDAsXG4gICAgICAgIDB4ODAwMDAwMDU6IDB4MjA4MDAsXG4gICAgICAgIDB4ODAwMDAwMDY6IDB4MjA4MjAsXG4gICAgICAgIDB4ODAwMDAwMDc6IDB4MjAsXG4gICAgICAgIDB4ODAwMDAwMDg6IDB4ODAwMDAyMCxcbiAgICAgICAgMHg4MDAwMDAwOTogMHg4MjAsXG4gICAgICAgIDB4ODAwMDAwMGE6IDB4MjAwMjAsXG4gICAgICAgIDB4ODAwMDAwMGI6IDB4ODAyMDgwMCxcbiAgICAgICAgMHg4MDAwMDAwYzogMHgwLFxuICAgICAgICAweDgwMDAwMDBkOiAweDgwMjAwMjAsXG4gICAgICAgIDB4ODAwMDAwMGU6IDB4ODAwMDgwMCxcbiAgICAgICAgMHg4MDAwMDAwZjogMHgyMDAwMCxcbiAgICAgICAgMHgxMDogMHgyMDgyMCxcbiAgICAgICAgMHgxMTogMHg4MDIwODAwLFxuICAgICAgICAweDEyOiAweDIwLFxuICAgICAgICAweDEzOiAweDgwMCxcbiAgICAgICAgMHgxNDogMHg4MDAwODAwLFxuICAgICAgICAweDE1OiAweDgwMDAwMjAsXG4gICAgICAgIDB4MTY6IDB4ODAyMDAyMCxcbiAgICAgICAgMHgxNzogMHgyMDAwMCxcbiAgICAgICAgMHgxODogMHgwLFxuICAgICAgICAweDE5OiAweDIwMDIwLFxuICAgICAgICAweDFhOiAweDgwMjAwMDAsXG4gICAgICAgIDB4MWI6IDB4ODAwMDgyMCxcbiAgICAgICAgMHgxYzogMHg4MDIwODIwLFxuICAgICAgICAweDFkOiAweDIwODAwLFxuICAgICAgICAweDFlOiAweDgyMCxcbiAgICAgICAgMHgxZjogMHg4MDAwMDAwLFxuICAgICAgICAweDgwMDAwMDEwOiAweDIwMDAwLFxuICAgICAgICAweDgwMDAwMDExOiAweDgwMCxcbiAgICAgICAgMHg4MDAwMDAxMjogMHg4MDIwMDIwLFxuICAgICAgICAweDgwMDAwMDEzOiAweDIwODIwLFxuICAgICAgICAweDgwMDAwMDE0OiAweDIwLFxuICAgICAgICAweDgwMDAwMDE1OiAweDgwMjAwMDAsXG4gICAgICAgIDB4ODAwMDAwMTY6IDB4ODAwMDAwMCxcbiAgICAgICAgMHg4MDAwMDAxNzogMHg4MDAwODIwLFxuICAgICAgICAweDgwMDAwMDE4OiAweDgwMjA4MjAsXG4gICAgICAgIDB4ODAwMDAwMTk6IDB4ODAwMDAyMCxcbiAgICAgICAgMHg4MDAwMDAxYTogMHg4MDAwODAwLFxuICAgICAgICAweDgwMDAwMDFiOiAweDAsXG4gICAgICAgIDB4ODAwMDAwMWM6IDB4MjA4MDAsXG4gICAgICAgIDB4ODAwMDAwMWQ6IDB4ODIwLFxuICAgICAgICAweDgwMDAwMDFlOiAweDIwMDIwLFxuICAgICAgICAweDgwMDAwMDFmOiAweDgwMjA4MDBcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgLy8gTWFza3MgdGhhdCBzZWxlY3QgdGhlIFNCT1ggaW5wdXRcbiAgICB2YXIgU0JPWF9NQVNLID0gW1xuICAgICAgMHhmODAwMDAwMSwgMHgxZjgwMDAwMCwgMHgwMWY4MDAwMCwgMHgwMDFmODAwMCxcbiAgICAgIDB4MDAwMWY4MDAsIDB4MDAwMDFmODAsIDB4MDAwMDAxZjgsIDB4ODAwMDAwMWZcbiAgICBdO1xuXG4gICAgLyoqXG4gICAgICogREVTIGJsb2NrIGNpcGhlciBhbGdvcml0aG0uXG4gICAgICovXG4gICAgdmFyIERFUyA9IENfYWxnby5ERVMgPSBCbG9ja0NpcGhlci5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGtleSA9IHRoaXMuX2tleTtcbiAgICAgICAgdmFyIGtleVdvcmRzID0ga2V5LndvcmRzO1xuXG4gICAgICAgIC8vIFNlbGVjdCA1NiBiaXRzIGFjY29yZGluZyB0byBQQzFcbiAgICAgICAgdmFyIGtleUJpdHMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA1NjsgaSsrKSB7XG4gICAgICAgICAgdmFyIGtleUJpdFBvcyA9IFBDMVtpXSAtIDE7XG4gICAgICAgICAga2V5Qml0c1tpXSA9IChrZXlXb3Jkc1trZXlCaXRQb3MgPj4+IDVdID4+PiAoMzEgLSBrZXlCaXRQb3MgJSAzMikpICYgMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFzc2VtYmxlIDE2IHN1YmtleXNcbiAgICAgICAgdmFyIHN1YktleXMgPSB0aGlzLl9zdWJLZXlzID0gW107XG4gICAgICAgIGZvciAodmFyIG5TdWJLZXkgPSAwOyBuU3ViS2V5IDwgMTY7IG5TdWJLZXkrKykge1xuICAgICAgICAgIC8vIENyZWF0ZSBzdWJrZXlcbiAgICAgICAgICB2YXIgc3ViS2V5ID0gc3ViS2V5c1tuU3ViS2V5XSA9IFtdO1xuXG4gICAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgICB2YXIgYml0U2hpZnQgPSBCSVRfU0hJRlRTW25TdWJLZXldO1xuXG4gICAgICAgICAgLy8gU2VsZWN0IDQ4IGJpdHMgYWNjb3JkaW5nIHRvIFBDMlxuICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMjQ7IGkrKykge1xuICAgICAgICAgICAgLy8gU2VsZWN0IGZyb20gdGhlIGxlZnQgMjgga2V5IGJpdHNcbiAgICAgICAgICAgIHN1YktleVsoaSAvIDYpIHwgMF0gfD0ga2V5Qml0c1soKFBDMltpXSAtIDEpICsgYml0U2hpZnQpICUgMjhdIDw8ICgzMSAtIGkgJSA2KTtcblxuICAgICAgICAgICAgLy8gU2VsZWN0IGZyb20gdGhlIHJpZ2h0IDI4IGtleSBiaXRzXG4gICAgICAgICAgICBzdWJLZXlbNCArICgoaSAvIDYpIHwgMCldIHw9IGtleUJpdHNbMjggKyAoKChQQzJbaSArIDI0XSAtIDEpICsgYml0U2hpZnQpICUgMjgpXSA8PCAoMzEgLSBpICUgNik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2luY2UgZWFjaCBzdWJrZXkgaXMgYXBwbGllZCB0byBhbiBleHBhbmRlZCAzMi1iaXQgaW5wdXQsXG4gICAgICAgICAgLy8gdGhlIHN1YmtleSBjYW4gYmUgYnJva2VuIGludG8gOCB2YWx1ZXMgc2NhbGVkIHRvIDMyLWJpdHMsXG4gICAgICAgICAgLy8gd2hpY2ggYWxsb3dzIHRoZSBrZXkgdG8gYmUgdXNlZCB3aXRob3V0IGV4cGFuc2lvblxuICAgICAgICAgIHN1YktleVswXSA9IChzdWJLZXlbMF0gPDwgMSkgfCAoc3ViS2V5WzBdID4+PiAzMSk7XG4gICAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPCA3OyBpKyspIHtcbiAgICAgICAgICAgIHN1YktleVtpXSA9IHN1YktleVtpXSA+Pj4gKChpIC0gMSkgKiA0ICsgMyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN1YktleVs3XSA9IChzdWJLZXlbN10gPDwgNSkgfCAoc3ViS2V5WzddID4+PiAyNyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb21wdXRlIGludmVyc2Ugc3Via2V5c1xuICAgICAgICB2YXIgaW52U3ViS2V5cyA9IHRoaXMuX2ludlN1YktleXMgPSBbXTtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKSB7XG4gICAgICAgICAgaW52U3ViS2V5c1tpXSA9IHN1YktleXNbMTUgLSBpXTtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgZW5jcnlwdEJsb2NrOiBmdW5jdGlvbihNLCBvZmZzZXQpIHtcbiAgICAgICAgdGhpcy5fZG9DcnlwdEJsb2NrKE0sIG9mZnNldCwgdGhpcy5fc3ViS2V5cyk7XG4gICAgICB9LFxuXG4gICAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uKE0sIG9mZnNldCkge1xuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soTSwgb2Zmc2V0LCB0aGlzLl9pbnZTdWJLZXlzKTtcbiAgICAgIH0sXG5cbiAgICAgIF9kb0NyeXB0QmxvY2s6IGZ1bmN0aW9uKE0sIG9mZnNldCwgc3ViS2V5cykge1xuICAgICAgICAvLyBHZXQgaW5wdXRcbiAgICAgICAgdGhpcy5fbEJsb2NrID0gTVtvZmZzZXRdO1xuICAgICAgICB0aGlzLl9yQmxvY2sgPSBNW29mZnNldCArIDFdO1xuXG4gICAgICAgIC8vIEluaXRpYWwgcGVybXV0YXRpb25cbiAgICAgICAgZXhjaGFuZ2VMUi5jYWxsKHRoaXMsIDQsIDB4MGYwZjBmMGYpO1xuICAgICAgICBleGNoYW5nZUxSLmNhbGwodGhpcywgMTYsIDB4MDAwMGZmZmYpO1xuICAgICAgICBleGNoYW5nZVJMLmNhbGwodGhpcywgMiwgMHgzMzMzMzMzMyk7XG4gICAgICAgIGV4Y2hhbmdlUkwuY2FsbCh0aGlzLCA4LCAweDAwZmYwMGZmKTtcbiAgICAgICAgZXhjaGFuZ2VMUi5jYWxsKHRoaXMsIDEsIDB4NTU1NTU1NTUpO1xuXG4gICAgICAgIC8vIFJvdW5kc1xuICAgICAgICBmb3IgKHZhciByb3VuZCA9IDA7IHJvdW5kIDwgMTY7IHJvdW5kKyspIHtcbiAgICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgICB2YXIgc3ViS2V5ID0gc3ViS2V5c1tyb3VuZF07XG4gICAgICAgICAgdmFyIGxCbG9jayA9IHRoaXMuX2xCbG9jaztcbiAgICAgICAgICB2YXIgckJsb2NrID0gdGhpcy5fckJsb2NrO1xuXG4gICAgICAgICAgLy8gRmVpc3RlbCBmdW5jdGlvblxuICAgICAgICAgIHZhciBmID0gMDtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKykge1xuICAgICAgICAgICAgZiB8PSBTQk9YX1BbaV1bKChyQmxvY2sgXiBzdWJLZXlbaV0pICYgU0JPWF9NQVNLW2ldKSA+Pj4gMF07XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX2xCbG9jayA9IHJCbG9jaztcbiAgICAgICAgICB0aGlzLl9yQmxvY2sgPSBsQmxvY2sgXiBmO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVW5kbyBzd2FwIGZyb20gbGFzdCByb3VuZFxuICAgICAgICB2YXIgdCA9IHRoaXMuX2xCbG9jaztcbiAgICAgICAgdGhpcy5fbEJsb2NrID0gdGhpcy5fckJsb2NrO1xuICAgICAgICB0aGlzLl9yQmxvY2sgPSB0O1xuXG4gICAgICAgIC8vIEZpbmFsIHBlcm11dGF0aW9uXG4gICAgICAgIGV4Y2hhbmdlTFIuY2FsbCh0aGlzLCAxLCAweDU1NTU1NTU1KTtcbiAgICAgICAgZXhjaGFuZ2VSTC5jYWxsKHRoaXMsIDgsIDB4MDBmZjAwZmYpO1xuICAgICAgICBleGNoYW5nZVJMLmNhbGwodGhpcywgMiwgMHgzMzMzMzMzMyk7XG4gICAgICAgIGV4Y2hhbmdlTFIuY2FsbCh0aGlzLCAxNiwgMHgwMDAwZmZmZik7XG4gICAgICAgIGV4Y2hhbmdlTFIuY2FsbCh0aGlzLCA0LCAweDBmMGYwZjBmKTtcblxuICAgICAgICAvLyBTZXQgb3V0cHV0XG4gICAgICAgIE1bb2Zmc2V0XSA9IHRoaXMuX2xCbG9jaztcbiAgICAgICAgTVtvZmZzZXQgKyAxXSA9IHRoaXMuX3JCbG9jaztcbiAgICAgIH0sXG5cbiAgICAgIGtleVNpemU6IDY0IC8gMzIsXG5cbiAgICAgIGl2U2l6ZTogNjQgLyAzMixcblxuICAgICAgYmxvY2tTaXplOiA2NCAvIDMyXG4gICAgfSk7XG5cbiAgICAvLyBTd2FwIGJpdHMgYWNyb3NzIHRoZSBsZWZ0IGFuZCByaWdodCB3b3Jkc1xuICAgIGZ1bmN0aW9uIGV4Y2hhbmdlTFIob2Zmc2V0LCBtYXNrKSB7XG4gICAgICB2YXIgdCA9ICgodGhpcy5fbEJsb2NrID4+PiBvZmZzZXQpIF4gdGhpcy5fckJsb2NrKSAmIG1hc2s7XG4gICAgICB0aGlzLl9yQmxvY2sgXj0gdDtcbiAgICAgIHRoaXMuX2xCbG9jayBePSB0IDw8IG9mZnNldDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBleGNoYW5nZVJMKG9mZnNldCwgbWFzaykge1xuICAgICAgdmFyIHQgPSAoKHRoaXMuX3JCbG9jayA+Pj4gb2Zmc2V0KSBeIHRoaXMuX2xCbG9jaykgJiBtYXNrO1xuICAgICAgdGhpcy5fbEJsb2NrIF49IHQ7XG4gICAgICB0aGlzLl9yQmxvY2sgXj0gdCA8PCBvZmZzZXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb25zIHRvIHRoZSBjaXBoZXIncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgY2lwaGVydGV4dCA9IENyeXB0b0pTLkRFUy5lbmNyeXB0KG1lc3NhZ2UsIGtleSwgY2ZnKTtcbiAgICAgKiAgICAgdmFyIHBsYWludGV4dCAgPSBDcnlwdG9KUy5ERVMuZGVjcnlwdChjaXBoZXJ0ZXh0LCBrZXksIGNmZyk7XG4gICAgICovXG4gICAgQy5ERVMgPSBCbG9ja0NpcGhlci5fY3JlYXRlSGVscGVyKERFUyk7XG5cbiAgICAvKipcbiAgICAgKiBUcmlwbGUtREVTIGJsb2NrIGNpcGhlciBhbGdvcml0aG0uXG4gICAgICovXG4gICAgdmFyIFRyaXBsZURFUyA9IENfYWxnby5UcmlwbGVERVMgPSBCbG9ja0NpcGhlci5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGtleSA9IHRoaXMuX2tleTtcbiAgICAgICAgdmFyIGtleVdvcmRzID0ga2V5LndvcmRzO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGtleSBsZW5ndGggaXMgdmFsaWQgKDY0LCAxMjggb3IgPj0gMTkyIGJpdClcbiAgICAgICAgaWYgKGtleVdvcmRzLmxlbmd0aCAhPT0gMiAmJiBrZXlXb3Jkcy5sZW5ndGggIT09IDQgJiYga2V5V29yZHMubGVuZ3RoIDwgNikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXkgbGVuZ3RoIC0gM0RFUyByZXF1aXJlcyB0aGUga2V5IGxlbmd0aCB0byBiZSA2NCwgMTI4LCAxOTIgb3IgPjE5Mi4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEV4dGVuZCB0aGUga2V5IGFjY29yZGluZyB0byB0aGUga2V5aW5nIG9wdGlvbnMgZGVmaW5lZCBpbiAzREVTIHN0YW5kYXJkXG4gICAgICAgIHZhciBrZXkxID0ga2V5V29yZHMuc2xpY2UoMCwgMik7XG4gICAgICAgIHZhciBrZXkyID0ga2V5V29yZHMubGVuZ3RoIDwgNCA/IGtleVdvcmRzLnNsaWNlKDAsIDIpIDoga2V5V29yZHMuc2xpY2UoMiwgNCk7XG4gICAgICAgIHZhciBrZXkzID0ga2V5V29yZHMubGVuZ3RoIDwgNiA/IGtleVdvcmRzLnNsaWNlKDAsIDIpIDoga2V5V29yZHMuc2xpY2UoNCwgNik7XG5cbiAgICAgICAgLy8gQ3JlYXRlIERFUyBpbnN0YW5jZXNcbiAgICAgICAgdGhpcy5fZGVzMSA9IERFUy5jcmVhdGVFbmNyeXB0b3IoV29yZEFycmF5LmNyZWF0ZShrZXkxKSk7XG4gICAgICAgIHRoaXMuX2RlczIgPSBERVMuY3JlYXRlRW5jcnlwdG9yKFdvcmRBcnJheS5jcmVhdGUoa2V5MikpO1xuICAgICAgICB0aGlzLl9kZXMzID0gREVTLmNyZWF0ZUVuY3J5cHRvcihXb3JkQXJyYXkuY3JlYXRlKGtleTMpKTtcbiAgICAgIH0sXG5cbiAgICAgIGVuY3J5cHRCbG9jazogZnVuY3Rpb24oTSwgb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMuX2RlczEuZW5jcnlwdEJsb2NrKE0sIG9mZnNldCk7XG4gICAgICAgIHRoaXMuX2RlczIuZGVjcnlwdEJsb2NrKE0sIG9mZnNldCk7XG4gICAgICAgIHRoaXMuX2RlczMuZW5jcnlwdEJsb2NrKE0sIG9mZnNldCk7XG4gICAgICB9LFxuXG4gICAgICBkZWNyeXB0QmxvY2s6IGZ1bmN0aW9uKE0sIG9mZnNldCkge1xuICAgICAgICB0aGlzLl9kZXMzLmRlY3J5cHRCbG9jayhNLCBvZmZzZXQpO1xuICAgICAgICB0aGlzLl9kZXMyLmVuY3J5cHRCbG9jayhNLCBvZmZzZXQpO1xuICAgICAgICB0aGlzLl9kZXMxLmRlY3J5cHRCbG9jayhNLCBvZmZzZXQpO1xuICAgICAgfSxcblxuICAgICAga2V5U2l6ZTogMTkyIC8gMzIsXG5cbiAgICAgIGl2U2l6ZTogNjQgLyAzMixcblxuICAgICAgYmxvY2tTaXplOiA2NCAvIDMyXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbnMgdG8gdGhlIGNpcGhlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBjaXBoZXJ0ZXh0ID0gQ3J5cHRvSlMuVHJpcGxlREVTLmVuY3J5cHQobWVzc2FnZSwga2V5LCBjZmcpO1xuICAgICAqICAgICB2YXIgcGxhaW50ZXh0ICA9IENyeXB0b0pTLlRyaXBsZURFUy5kZWNyeXB0KGNpcGhlcnRleHQsIGtleSwgY2ZnKTtcbiAgICAgKi9cbiAgICBDLlRyaXBsZURFUyA9IEJsb2NrQ2lwaGVyLl9jcmVhdGVIZWxwZXIoVHJpcGxlREVTKTtcbiAgfSgpKTtcblxuXG4gIChmdW5jdGlvbigpIHtcbiAgICAvLyBTaG9ydGN1dHNcbiAgICB2YXIgQyA9IENyeXB0b0pTO1xuICAgIHZhciBDX2xpYiA9IEMubGliO1xuICAgIHZhciBTdHJlYW1DaXBoZXIgPSBDX2xpYi5TdHJlYW1DaXBoZXI7XG4gICAgdmFyIENfYWxnbyA9IEMuYWxnbztcblxuICAgIC8qKlxuICAgICAqIFJDNCBzdHJlYW0gY2lwaGVyIGFsZ29yaXRobS5cbiAgICAgKi9cbiAgICB2YXIgUkM0ID0gQ19hbGdvLlJDNCA9IFN0cmVhbUNpcGhlci5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGtleSA9IHRoaXMuX2tleTtcbiAgICAgICAgdmFyIGtleVdvcmRzID0ga2V5LndvcmRzO1xuICAgICAgICB2YXIga2V5U2lnQnl0ZXMgPSBrZXkuc2lnQnl0ZXM7XG5cbiAgICAgICAgLy8gSW5pdCBzYm94XG4gICAgICAgIHZhciBTID0gdGhpcy5fUyA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgaSsrKSB7XG4gICAgICAgICAgU1tpXSA9IGk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBLZXkgc2V0dXBcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGogPSAwOyBpIDwgMjU2OyBpKyspIHtcbiAgICAgICAgICB2YXIga2V5Qnl0ZUluZGV4ID0gaSAlIGtleVNpZ0J5dGVzO1xuICAgICAgICAgIHZhciBrZXlCeXRlID0gKGtleVdvcmRzW2tleUJ5dGVJbmRleCA+Pj4gMl0gPj4+ICgyNCAtIChrZXlCeXRlSW5kZXggJSA0KSAqIDgpKSAmIDB4ZmY7XG5cbiAgICAgICAgICBqID0gKGogKyBTW2ldICsga2V5Qnl0ZSkgJSAyNTY7XG5cbiAgICAgICAgICAvLyBTd2FwXG4gICAgICAgICAgdmFyIHQgPSBTW2ldO1xuICAgICAgICAgIFNbaV0gPSBTW2pdO1xuICAgICAgICAgIFNbal0gPSB0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ291bnRlcnNcbiAgICAgICAgdGhpcy5faSA9IHRoaXMuX2ogPSAwO1xuICAgICAgfSxcblxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbihNLCBvZmZzZXQpIHtcbiAgICAgICAgTVtvZmZzZXRdIF49IGdlbmVyYXRlS2V5c3RyZWFtV29yZC5jYWxsKHRoaXMpO1xuICAgICAgfSxcblxuICAgICAga2V5U2l6ZTogMjU2IC8gMzIsXG5cbiAgICAgIGl2U2l6ZTogMFxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gZ2VuZXJhdGVLZXlzdHJlYW1Xb3JkKCkge1xuICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICB2YXIgUyA9IHRoaXMuX1M7XG4gICAgICB2YXIgaSA9IHRoaXMuX2k7XG4gICAgICB2YXIgaiA9IHRoaXMuX2o7XG5cbiAgICAgIC8vIEdlbmVyYXRlIGtleXN0cmVhbSB3b3JkXG4gICAgICB2YXIga2V5c3RyZWFtV29yZCA9IDA7XG4gICAgICBmb3IgKHZhciBuID0gMDsgbiA8IDQ7IG4rKykge1xuICAgICAgICBpID0gKGkgKyAxKSAlIDI1NjtcbiAgICAgICAgaiA9IChqICsgU1tpXSkgJSAyNTY7XG5cbiAgICAgICAgLy8gU3dhcFxuICAgICAgICB2YXIgdCA9IFNbaV07XG4gICAgICAgIFNbaV0gPSBTW2pdO1xuICAgICAgICBTW2pdID0gdDtcblxuICAgICAgICBrZXlzdHJlYW1Xb3JkIHw9IFNbKFNbaV0gKyBTW2pdKSAlIDI1Nl0gPDwgKDI0IC0gbiAqIDgpO1xuICAgICAgfVxuXG4gICAgICAvLyBVcGRhdGUgY291bnRlcnNcbiAgICAgIHRoaXMuX2kgPSBpO1xuICAgICAgdGhpcy5faiA9IGo7XG5cbiAgICAgIHJldHVybiBrZXlzdHJlYW1Xb3JkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9ucyB0byB0aGUgY2lwaGVyJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGNpcGhlcnRleHQgPSBDcnlwdG9KUy5SQzQuZW5jcnlwdChtZXNzYWdlLCBrZXksIGNmZyk7XG4gICAgICogICAgIHZhciBwbGFpbnRleHQgID0gQ3J5cHRvSlMuUkM0LmRlY3J5cHQoY2lwaGVydGV4dCwga2V5LCBjZmcpO1xuICAgICAqL1xuICAgIEMuUkM0ID0gU3RyZWFtQ2lwaGVyLl9jcmVhdGVIZWxwZXIoUkM0KTtcblxuICAgIC8qKlxuICAgICAqIE1vZGlmaWVkIFJDNCBzdHJlYW0gY2lwaGVyIGFsZ29yaXRobS5cbiAgICAgKi9cbiAgICB2YXIgUkM0RHJvcCA9IENfYWxnby5SQzREcm9wID0gUkM0LmV4dGVuZCh7XG4gICAgICAvKipcbiAgICAgICAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkge251bWJlcn0gZHJvcCBUaGUgbnVtYmVyIG9mIGtleXN0cmVhbSB3b3JkcyB0byBkcm9wLiBEZWZhdWx0IDE5MlxuICAgICAgICovXG4gICAgICBjZmc6IFJDNC5jZmcuZXh0ZW5kKHtcbiAgICAgICAgZHJvcDogMTkyXG4gICAgICB9KSxcblxuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICBSQzQuX2RvUmVzZXQuY2FsbCh0aGlzKTtcblxuICAgICAgICAvLyBEcm9wXG4gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLmNmZy5kcm9wOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgZ2VuZXJhdGVLZXlzdHJlYW1Xb3JkLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFNob3J0Y3V0IGZ1bmN0aW9ucyB0byB0aGUgY2lwaGVyJ3Mgb2JqZWN0IGludGVyZmFjZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAgICAgdmFyIGNpcGhlcnRleHQgPSBDcnlwdG9KUy5SQzREcm9wLmVuY3J5cHQobWVzc2FnZSwga2V5LCBjZmcpO1xuICAgICAqICAgICB2YXIgcGxhaW50ZXh0ICA9IENyeXB0b0pTLlJDNERyb3AuZGVjcnlwdChjaXBoZXJ0ZXh0LCBrZXksIGNmZyk7XG4gICAgICovXG4gICAgQy5SQzREcm9wID0gU3RyZWFtQ2lwaGVyLl9jcmVhdGVIZWxwZXIoUkM0RHJvcCk7XG4gIH0oKSk7XG5cblxuICAvKiogQHByZXNlcnZlXG4gICAqIENvdW50ZXIgYmxvY2sgbW9kZSBjb21wYXRpYmxlIHdpdGggIERyIEJyaWFuIEdsYWRtYW4gZmlsZWVuYy5jXG4gICAqIGRlcml2ZWQgZnJvbSBDcnlwdG9KUy5tb2RlLkNUUlxuICAgKiBKYW4gSHJ1YnkgamhydWJ5LndlYkBnbWFpbC5jb21cbiAgICovXG4gIENyeXB0b0pTLm1vZGUuQ1RSR2xhZG1hbiA9IChmdW5jdGlvbigpIHtcbiAgICB2YXIgQ1RSR2xhZG1hbiA9IENyeXB0b0pTLmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCk7XG5cbiAgICBmdW5jdGlvbiBpbmNXb3JkKHdvcmQpIHtcbiAgICAgIGlmICgoKHdvcmQgPj4gMjQpICYgMHhmZikgPT09IDB4ZmYpIHsgLy9vdmVyZmxvd1xuICAgICAgICB2YXIgYjEgPSAod29yZCA+PiAxNikgJiAweGZmO1xuICAgICAgICB2YXIgYjIgPSAod29yZCA+PiA4KSAmIDB4ZmY7XG4gICAgICAgIHZhciBiMyA9IHdvcmQgJiAweGZmO1xuXG4gICAgICAgIGlmIChiMSA9PT0gMHhmZikgLy8gb3ZlcmZsb3cgYjFcbiAgICAgICAge1xuICAgICAgICAgIGIxID0gMDtcbiAgICAgICAgICBpZiAoYjIgPT09IDB4ZmYpIHtcbiAgICAgICAgICAgIGIyID0gMDtcbiAgICAgICAgICAgIGlmIChiMyA9PT0gMHhmZikge1xuICAgICAgICAgICAgICBiMyA9IDA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICArK2IzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICArK2IyO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICArK2IxO1xuICAgICAgICB9XG5cbiAgICAgICAgd29yZCA9IDA7XG4gICAgICAgIHdvcmQgKz0gKGIxIDw8IDE2KTtcbiAgICAgICAgd29yZCArPSAoYjIgPDwgOCk7XG4gICAgICAgIHdvcmQgKz0gYjM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3b3JkICs9ICgweDAxIDw8IDI0KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3b3JkO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGluY0NvdW50ZXIoY291bnRlcikge1xuICAgICAgaWYgKChjb3VudGVyWzBdID0gaW5jV29yZChjb3VudGVyWzBdKSkgPT09IDApIHtcbiAgICAgICAgLy8gZW5jcl9kYXRhIGluIGZpbGVlbmMuYyBmcm9tICBEciBCcmlhbiBHbGFkbWFuJ3MgY291bnRzIG9ubHkgd2l0aCBEV09SRCBqIDwgOFxuICAgICAgICBjb3VudGVyWzFdID0gaW5jV29yZChjb3VudGVyWzFdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb3VudGVyO1xuICAgIH1cblxuICAgIHZhciBFbmNyeXB0b3IgPSBDVFJHbGFkbWFuLkVuY3J5cHRvciA9IENUUkdsYWRtYW4uZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24od29yZHMsIG9mZnNldCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGNpcGhlciA9IHRoaXMuX2NpcGhlclxuICAgICAgICB2YXIgYmxvY2tTaXplID0gY2lwaGVyLmJsb2NrU2l6ZTtcbiAgICAgICAgdmFyIGl2ID0gdGhpcy5faXY7XG4gICAgICAgIHZhciBjb3VudGVyID0gdGhpcy5fY291bnRlcjtcblxuICAgICAgICAvLyBHZW5lcmF0ZSBrZXlzdHJlYW1cbiAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgY291bnRlciA9IHRoaXMuX2NvdW50ZXIgPSBpdi5zbGljZSgwKTtcblxuICAgICAgICAgIC8vIFJlbW92ZSBJViBmb3Igc3Vic2VxdWVudCBibG9ja3NcbiAgICAgICAgICB0aGlzLl9pdiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGluY0NvdW50ZXIoY291bnRlcik7XG5cbiAgICAgICAgdmFyIGtleXN0cmVhbSA9IGNvdW50ZXIuc2xpY2UoMCk7XG4gICAgICAgIGNpcGhlci5lbmNyeXB0QmxvY2soa2V5c3RyZWFtLCAwKTtcblxuICAgICAgICAvLyBFbmNyeXB0XG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmxvY2tTaXplOyBpKyspIHtcbiAgICAgICAgICB3b3Jkc1tvZmZzZXQgKyBpXSBePSBrZXlzdHJlYW1baV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIENUUkdsYWRtYW4uRGVjcnlwdG9yID0gRW5jcnlwdG9yO1xuXG4gICAgcmV0dXJuIENUUkdsYWRtYW47XG4gIH0oKSk7XG5cblxuXG5cbiAgKGZ1bmN0aW9uKCkge1xuICAgIC8vIFNob3J0Y3V0c1xuICAgIHZhciBDID0gQ3J5cHRvSlM7XG4gICAgdmFyIENfbGliID0gQy5saWI7XG4gICAgdmFyIFN0cmVhbUNpcGhlciA9IENfbGliLlN0cmVhbUNpcGhlcjtcbiAgICB2YXIgQ19hbGdvID0gQy5hbGdvO1xuXG4gICAgLy8gUmV1c2FibGUgb2JqZWN0c1xuICAgIHZhciBTID0gW107XG4gICAgdmFyIENfID0gW107XG4gICAgdmFyIEcgPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFJhYmJpdCBzdHJlYW0gY2lwaGVyIGFsZ29yaXRobVxuICAgICAqL1xuICAgIHZhciBSYWJiaXQgPSBDX2FsZ28uUmFiYml0ID0gU3RyZWFtQ2lwaGVyLmV4dGVuZCh7XG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICB2YXIgSyA9IHRoaXMuX2tleS53b3JkcztcbiAgICAgICAgdmFyIGl2ID0gdGhpcy5jZmcuaXY7XG5cbiAgICAgICAgLy8gU3dhcCBlbmRpYW5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICBLW2ldID0gKCgoS1tpXSA8PCA4KSB8IChLW2ldID4+PiAyNCkpICYgMHgwMGZmMDBmZikgfFxuICAgICAgICAgICAgKCgoS1tpXSA8PCAyNCkgfCAoS1tpXSA+Pj4gOCkpICYgMHhmZjAwZmYwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBHZW5lcmF0ZSBpbml0aWFsIHN0YXRlIHZhbHVlc1xuICAgICAgICB2YXIgWCA9IHRoaXMuX1ggPSBbXG4gICAgICAgICAgS1swXSwgKEtbM10gPDwgMTYpIHwgKEtbMl0gPj4+IDE2KSxcbiAgICAgICAgICBLWzFdLCAoS1swXSA8PCAxNikgfCAoS1szXSA+Pj4gMTYpLFxuICAgICAgICAgIEtbMl0sIChLWzFdIDw8IDE2KSB8IChLWzBdID4+PiAxNiksXG4gICAgICAgICAgS1szXSwgKEtbMl0gPDwgMTYpIHwgKEtbMV0gPj4+IDE2KVxuICAgICAgICBdO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGluaXRpYWwgY291bnRlciB2YWx1ZXNcbiAgICAgICAgdmFyIEMgPSB0aGlzLl9DID0gW1xuICAgICAgICAgIChLWzJdIDw8IDE2KSB8IChLWzJdID4+PiAxNiksIChLWzBdICYgMHhmZmZmMDAwMCkgfCAoS1sxXSAmIDB4MDAwMGZmZmYpLFxuICAgICAgICAgIChLWzNdIDw8IDE2KSB8IChLWzNdID4+PiAxNiksIChLWzFdICYgMHhmZmZmMDAwMCkgfCAoS1syXSAmIDB4MDAwMGZmZmYpLFxuICAgICAgICAgIChLWzBdIDw8IDE2KSB8IChLWzBdID4+PiAxNiksIChLWzJdICYgMHhmZmZmMDAwMCkgfCAoS1szXSAmIDB4MDAwMGZmZmYpLFxuICAgICAgICAgIChLWzFdIDw8IDE2KSB8IChLWzFdID4+PiAxNiksIChLWzNdICYgMHhmZmZmMDAwMCkgfCAoS1swXSAmIDB4MDAwMGZmZmYpXG4gICAgICAgIF07XG5cbiAgICAgICAgLy8gQ2FycnkgYml0XG4gICAgICAgIHRoaXMuX2IgPSAwO1xuXG4gICAgICAgIC8vIEl0ZXJhdGUgdGhlIHN5c3RlbSBmb3VyIHRpbWVzXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSB7XG4gICAgICAgICAgbmV4dFN0YXRlLmNhbGwodGhpcyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNb2RpZnkgdGhlIGNvdW50ZXJzXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKSB7XG4gICAgICAgICAgQ1tpXSBePSBYWyhpICsgNCkgJiA3XTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElWIHNldHVwXG4gICAgICAgIGlmIChpdikge1xuICAgICAgICAgIC8vIFNob3J0Y3V0c1xuICAgICAgICAgIHZhciBJViA9IGl2LndvcmRzO1xuICAgICAgICAgIHZhciBJVl8wID0gSVZbMF07XG4gICAgICAgICAgdmFyIElWXzEgPSBJVlsxXTtcblxuICAgICAgICAgIC8vIEdlbmVyYXRlIGZvdXIgc3VidmVjdG9yc1xuICAgICAgICAgIHZhciBpMCA9ICgoKElWXzAgPDwgOCkgfCAoSVZfMCA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHwgKCgoSVZfMCA8PCAyNCkgfCAoSVZfMCA+Pj4gOCkpICYgMHhmZjAwZmYwMCk7XG4gICAgICAgICAgdmFyIGkyID0gKCgoSVZfMSA8PCA4KSB8IChJVl8xID4+PiAyNCkpICYgMHgwMGZmMDBmZikgfCAoKChJVl8xIDw8IDI0KSB8IChJVl8xID4+PiA4KSkgJiAweGZmMDBmZjAwKTtcbiAgICAgICAgICB2YXIgaTEgPSAoaTAgPj4+IDE2KSB8IChpMiAmIDB4ZmZmZjAwMDApO1xuICAgICAgICAgIHZhciBpMyA9IChpMiA8PCAxNikgfCAoaTAgJiAweDAwMDBmZmZmKTtcblxuICAgICAgICAgIC8vIE1vZGlmeSBjb3VudGVyIHZhbHVlc1xuICAgICAgICAgIENbMF0gXj0gaTA7XG4gICAgICAgICAgQ1sxXSBePSBpMTtcbiAgICAgICAgICBDWzJdIF49IGkyO1xuICAgICAgICAgIENbM10gXj0gaTM7XG4gICAgICAgICAgQ1s0XSBePSBpMDtcbiAgICAgICAgICBDWzVdIF49IGkxO1xuICAgICAgICAgIENbNl0gXj0gaTI7XG4gICAgICAgICAgQ1s3XSBePSBpMztcblxuICAgICAgICAgIC8vIEl0ZXJhdGUgdGhlIHN5c3RlbSBmb3VyIHRpbWVzXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICAgIG5leHRTdGF0ZS5jYWxsKHRoaXMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbihNLCBvZmZzZXQpIHtcbiAgICAgICAgLy8gU2hvcnRjdXRcbiAgICAgICAgdmFyIFggPSB0aGlzLl9YO1xuXG4gICAgICAgIC8vIEl0ZXJhdGUgdGhlIHN5c3RlbVxuICAgICAgICBuZXh0U3RhdGUuY2FsbCh0aGlzKTtcblxuICAgICAgICAvLyBHZW5lcmF0ZSBmb3VyIGtleXN0cmVhbSB3b3Jkc1xuICAgICAgICBTWzBdID0gWFswXSBeIChYWzVdID4+PiAxNikgXiAoWFszXSA8PCAxNik7XG4gICAgICAgIFNbMV0gPSBYWzJdIF4gKFhbN10gPj4+IDE2KSBeIChYWzVdIDw8IDE2KTtcbiAgICAgICAgU1syXSA9IFhbNF0gXiAoWFsxXSA+Pj4gMTYpIF4gKFhbN10gPDwgMTYpO1xuICAgICAgICBTWzNdID0gWFs2XSBeIChYWzNdID4+PiAxNikgXiAoWFsxXSA8PCAxNik7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICAvLyBTd2FwIGVuZGlhblxuICAgICAgICAgIFNbaV0gPSAoKChTW2ldIDw8IDgpIHwgKFNbaV0gPj4+IDI0KSkgJiAweDAwZmYwMGZmKSB8XG4gICAgICAgICAgICAoKChTW2ldIDw8IDI0KSB8IChTW2ldID4+PiA4KSkgJiAweGZmMDBmZjAwKTtcblxuICAgICAgICAgIC8vIEVuY3J5cHRcbiAgICAgICAgICBNW29mZnNldCArIGldIF49IFNbaV07XG4gICAgICAgIH1cbiAgICAgIH0sXG5cbiAgICAgIGJsb2NrU2l6ZTogMTI4IC8gMzIsXG5cbiAgICAgIGl2U2l6ZTogNjQgLyAzMlxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gbmV4dFN0YXRlKCkge1xuICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICB2YXIgWCA9IHRoaXMuX1g7XG4gICAgICB2YXIgQyA9IHRoaXMuX0M7XG5cbiAgICAgIC8vIFNhdmUgb2xkIGNvdW50ZXIgdmFsdWVzXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDg7IGkrKykge1xuICAgICAgICBDX1tpXSA9IENbaV07XG4gICAgICB9XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBuZXcgY291bnRlciB2YWx1ZXNcbiAgICAgIENbMF0gPSAoQ1swXSArIDB4NGQzNGQzNGQgKyB0aGlzLl9iKSB8IDA7XG4gICAgICBDWzFdID0gKENbMV0gKyAweGQzNGQzNGQzICsgKChDWzBdID4+PiAwKSA8IChDX1swXSA+Pj4gMCkgPyAxIDogMCkpIHwgMDtcbiAgICAgIENbMl0gPSAoQ1syXSArIDB4MzRkMzRkMzQgKyAoKENbMV0gPj4+IDApIDwgKENfWzFdID4+PiAwKSA/IDEgOiAwKSkgfCAwO1xuICAgICAgQ1szXSA9IChDWzNdICsgMHg0ZDM0ZDM0ZCArICgoQ1syXSA+Pj4gMCkgPCAoQ19bMl0gPj4+IDApID8gMSA6IDApKSB8IDA7XG4gICAgICBDWzRdID0gKENbNF0gKyAweGQzNGQzNGQzICsgKChDWzNdID4+PiAwKSA8IChDX1szXSA+Pj4gMCkgPyAxIDogMCkpIHwgMDtcbiAgICAgIENbNV0gPSAoQ1s1XSArIDB4MzRkMzRkMzQgKyAoKENbNF0gPj4+IDApIDwgKENfWzRdID4+PiAwKSA/IDEgOiAwKSkgfCAwO1xuICAgICAgQ1s2XSA9IChDWzZdICsgMHg0ZDM0ZDM0ZCArICgoQ1s1XSA+Pj4gMCkgPCAoQ19bNV0gPj4+IDApID8gMSA6IDApKSB8IDA7XG4gICAgICBDWzddID0gKENbN10gKyAweGQzNGQzNGQzICsgKChDWzZdID4+PiAwKSA8IChDX1s2XSA+Pj4gMCkgPyAxIDogMCkpIHwgMDtcbiAgICAgIHRoaXMuX2IgPSAoQ1s3XSA+Pj4gMCkgPCAoQ19bN10gPj4+IDApID8gMSA6IDA7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSB0aGUgZy12YWx1ZXNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKSB7XG4gICAgICAgIHZhciBneCA9IFhbaV0gKyBDW2ldO1xuXG4gICAgICAgIC8vIENvbnN0cnVjdCBoaWdoIGFuZCBsb3cgYXJndW1lbnQgZm9yIHNxdWFyaW5nXG4gICAgICAgIHZhciBnYSA9IGd4ICYgMHhmZmZmO1xuICAgICAgICB2YXIgZ2IgPSBneCA+Pj4gMTY7XG5cbiAgICAgICAgLy8gQ2FsY3VsYXRlIGhpZ2ggYW5kIGxvdyByZXN1bHQgb2Ygc3F1YXJpbmdcbiAgICAgICAgdmFyIGdoID0gKCgoKGdhICogZ2EpID4+PiAxNykgKyBnYSAqIGdiKSA+Pj4gMTUpICsgZ2IgKiBnYjtcbiAgICAgICAgdmFyIGdsID0gKCgoZ3ggJiAweGZmZmYwMDAwKSAqIGd4KSB8IDApICsgKCgoZ3ggJiAweDAwMDBmZmZmKSAqIGd4KSB8IDApO1xuXG4gICAgICAgIC8vIEhpZ2ggWE9SIGxvd1xuICAgICAgICBHW2ldID0gZ2ggXiBnbDtcbiAgICAgIH1cblxuICAgICAgLy8gQ2FsY3VsYXRlIG5ldyBzdGF0ZSB2YWx1ZXNcbiAgICAgIFhbMF0gPSAoR1swXSArICgoR1s3XSA8PCAxNikgfCAoR1s3XSA+Pj4gMTYpKSArICgoR1s2XSA8PCAxNikgfCAoR1s2XSA+Pj4gMTYpKSkgfCAwO1xuICAgICAgWFsxXSA9IChHWzFdICsgKChHWzBdIDw8IDgpIHwgKEdbMF0gPj4+IDI0KSkgKyBHWzddKSB8IDA7XG4gICAgICBYWzJdID0gKEdbMl0gKyAoKEdbMV0gPDwgMTYpIHwgKEdbMV0gPj4+IDE2KSkgKyAoKEdbMF0gPDwgMTYpIHwgKEdbMF0gPj4+IDE2KSkpIHwgMDtcbiAgICAgIFhbM10gPSAoR1szXSArICgoR1syXSA8PCA4KSB8IChHWzJdID4+PiAyNCkpICsgR1sxXSkgfCAwO1xuICAgICAgWFs0XSA9IChHWzRdICsgKChHWzNdIDw8IDE2KSB8IChHWzNdID4+PiAxNikpICsgKChHWzJdIDw8IDE2KSB8IChHWzJdID4+PiAxNikpKSB8IDA7XG4gICAgICBYWzVdID0gKEdbNV0gKyAoKEdbNF0gPDwgOCkgfCAoR1s0XSA+Pj4gMjQpKSArIEdbM10pIHwgMDtcbiAgICAgIFhbNl0gPSAoR1s2XSArICgoR1s1XSA8PCAxNikgfCAoR1s1XSA+Pj4gMTYpKSArICgoR1s0XSA8PCAxNikgfCAoR1s0XSA+Pj4gMTYpKSkgfCAwO1xuICAgICAgWFs3XSA9IChHWzddICsgKChHWzZdIDw8IDgpIHwgKEdbNl0gPj4+IDI0KSkgKyBHWzVdKSB8IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvcnRjdXQgZnVuY3Rpb25zIHRvIHRoZSBjaXBoZXIncyBvYmplY3QgaW50ZXJmYWNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqICAgICB2YXIgY2lwaGVydGV4dCA9IENyeXB0b0pTLlJhYmJpdC5lbmNyeXB0KG1lc3NhZ2UsIGtleSwgY2ZnKTtcbiAgICAgKiAgICAgdmFyIHBsYWludGV4dCAgPSBDcnlwdG9KUy5SYWJiaXQuZGVjcnlwdChjaXBoZXJ0ZXh0LCBrZXksIGNmZyk7XG4gICAgICovXG4gICAgQy5SYWJiaXQgPSBTdHJlYW1DaXBoZXIuX2NyZWF0ZUhlbHBlcihSYWJiaXQpO1xuICB9KCkpO1xuXG5cbiAgLyoqXG4gICAqIENvdW50ZXIgYmxvY2sgbW9kZS5cbiAgICovXG4gIENyeXB0b0pTLm1vZGUuQ1RSID0gKGZ1bmN0aW9uKCkge1xuICAgIHZhciBDVFIgPSBDcnlwdG9KUy5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpO1xuXG4gICAgdmFyIEVuY3J5cHRvciA9IENUUi5FbmNyeXB0b3IgPSBDVFIuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24od29yZHMsIG9mZnNldCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIGNpcGhlciA9IHRoaXMuX2NpcGhlclxuICAgICAgICB2YXIgYmxvY2tTaXplID0gY2lwaGVyLmJsb2NrU2l6ZTtcbiAgICAgICAgdmFyIGl2ID0gdGhpcy5faXY7XG4gICAgICAgIHZhciBjb3VudGVyID0gdGhpcy5fY291bnRlcjtcblxuICAgICAgICAvLyBHZW5lcmF0ZSBrZXlzdHJlYW1cbiAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgY291bnRlciA9IHRoaXMuX2NvdW50ZXIgPSBpdi5zbGljZSgwKTtcblxuICAgICAgICAgIC8vIFJlbW92ZSBJViBmb3Igc3Vic2VxdWVudCBibG9ja3NcbiAgICAgICAgICB0aGlzLl9pdiA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICB2YXIga2V5c3RyZWFtID0gY291bnRlci5zbGljZSgwKTtcbiAgICAgICAgY2lwaGVyLmVuY3J5cHRCbG9jayhrZXlzdHJlYW0sIDApO1xuXG4gICAgICAgIC8vIEluY3JlbWVudCBjb3VudGVyXG4gICAgICAgIGNvdW50ZXJbYmxvY2tTaXplIC0gMV0gPSAoY291bnRlcltibG9ja1NpemUgLSAxXSArIDEpIHwgMFxuXG4gICAgICAgIC8vIEVuY3J5cHRcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBibG9ja1NpemU7IGkrKykge1xuICAgICAgICAgIHdvcmRzW29mZnNldCArIGldIF49IGtleXN0cmVhbVtpXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgQ1RSLkRlY3J5cHRvciA9IEVuY3J5cHRvcjtcblxuICAgIHJldHVybiBDVFI7XG4gIH0oKSk7XG5cblxuICAoZnVuY3Rpb24oKSB7XG4gICAgLy8gU2hvcnRjdXRzXG4gICAgdmFyIEMgPSBDcnlwdG9KUztcbiAgICB2YXIgQ19saWIgPSBDLmxpYjtcbiAgICB2YXIgU3RyZWFtQ2lwaGVyID0gQ19saWIuU3RyZWFtQ2lwaGVyO1xuICAgIHZhciBDX2FsZ28gPSBDLmFsZ287XG5cbiAgICAvLyBSZXVzYWJsZSBvYmplY3RzXG4gICAgdmFyIFMgPSBbXTtcbiAgICB2YXIgQ18gPSBbXTtcbiAgICB2YXIgRyA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogUmFiYml0IHN0cmVhbSBjaXBoZXIgYWxnb3JpdGhtLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBhIGxlZ2FjeSB2ZXJzaW9uIHRoYXQgbmVnbGVjdGVkIHRvIGNvbnZlcnQgdGhlIGtleSB0byBsaXR0bGUtZW5kaWFuLlxuICAgICAqIFRoaXMgZXJyb3IgZG9lc24ndCBhZmZlY3QgdGhlIGNpcGhlcidzIHNlY3VyaXR5LFxuICAgICAqIGJ1dCBpdCBkb2VzIGFmZmVjdCBpdHMgY29tcGF0aWJpbGl0eSB3aXRoIG90aGVyIGltcGxlbWVudGF0aW9ucy5cbiAgICAgKi9cbiAgICB2YXIgUmFiYml0TGVnYWN5ID0gQ19hbGdvLlJhYmJpdExlZ2FjeSA9IFN0cmVhbUNpcGhlci5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICAvLyBTaG9ydGN1dHNcbiAgICAgICAgdmFyIEsgPSB0aGlzLl9rZXkud29yZHM7XG4gICAgICAgIHZhciBpdiA9IHRoaXMuY2ZnLml2O1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGluaXRpYWwgc3RhdGUgdmFsdWVzXG4gICAgICAgIHZhciBYID0gdGhpcy5fWCA9IFtcbiAgICAgICAgICBLWzBdLCAoS1szXSA8PCAxNikgfCAoS1syXSA+Pj4gMTYpLFxuICAgICAgICAgIEtbMV0sIChLWzBdIDw8IDE2KSB8IChLWzNdID4+PiAxNiksXG4gICAgICAgICAgS1syXSwgKEtbMV0gPDwgMTYpIHwgKEtbMF0gPj4+IDE2KSxcbiAgICAgICAgICBLWzNdLCAoS1syXSA8PCAxNikgfCAoS1sxXSA+Pj4gMTYpXG4gICAgICAgIF07XG5cbiAgICAgICAgLy8gR2VuZXJhdGUgaW5pdGlhbCBjb3VudGVyIHZhbHVlc1xuICAgICAgICB2YXIgQyA9IHRoaXMuX0MgPSBbXG4gICAgICAgICAgKEtbMl0gPDwgMTYpIHwgKEtbMl0gPj4+IDE2KSwgKEtbMF0gJiAweGZmZmYwMDAwKSB8IChLWzFdICYgMHgwMDAwZmZmZiksXG4gICAgICAgICAgKEtbM10gPDwgMTYpIHwgKEtbM10gPj4+IDE2KSwgKEtbMV0gJiAweGZmZmYwMDAwKSB8IChLWzJdICYgMHgwMDAwZmZmZiksXG4gICAgICAgICAgKEtbMF0gPDwgMTYpIHwgKEtbMF0gPj4+IDE2KSwgKEtbMl0gJiAweGZmZmYwMDAwKSB8IChLWzNdICYgMHgwMDAwZmZmZiksXG4gICAgICAgICAgKEtbMV0gPDwgMTYpIHwgKEtbMV0gPj4+IDE2KSwgKEtbM10gJiAweGZmZmYwMDAwKSB8IChLWzBdICYgMHgwMDAwZmZmZilcbiAgICAgICAgXTtcblxuICAgICAgICAvLyBDYXJyeSBiaXRcbiAgICAgICAgdGhpcy5fYiA9IDA7XG5cbiAgICAgICAgLy8gSXRlcmF0ZSB0aGUgc3lzdGVtIGZvdXIgdGltZXNcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgICBuZXh0U3RhdGUuY2FsbCh0aGlzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1vZGlmeSB0aGUgY291bnRlcnNcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4OyBpKyspIHtcbiAgICAgICAgICBDW2ldIF49IFhbKGkgKyA0KSAmIDddO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSVYgc2V0dXBcbiAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgLy8gU2hvcnRjdXRzXG4gICAgICAgICAgdmFyIElWID0gaXYud29yZHM7XG4gICAgICAgICAgdmFyIElWXzAgPSBJVlswXTtcbiAgICAgICAgICB2YXIgSVZfMSA9IElWWzFdO1xuXG4gICAgICAgICAgLy8gR2VuZXJhdGUgZm91ciBzdWJ2ZWN0b3JzXG4gICAgICAgICAgdmFyIGkwID0gKCgoSVZfMCA8PCA4KSB8IChJVl8wID4+PiAyNCkpICYgMHgwMGZmMDBmZikgfCAoKChJVl8wIDw8IDI0KSB8IChJVl8wID4+PiA4KSkgJiAweGZmMDBmZjAwKTtcbiAgICAgICAgICB2YXIgaTIgPSAoKChJVl8xIDw8IDgpIHwgKElWXzEgPj4+IDI0KSkgJiAweDAwZmYwMGZmKSB8ICgoKElWXzEgPDwgMjQpIHwgKElWXzEgPj4+IDgpKSAmIDB4ZmYwMGZmMDApO1xuICAgICAgICAgIHZhciBpMSA9IChpMCA+Pj4gMTYpIHwgKGkyICYgMHhmZmZmMDAwMCk7XG4gICAgICAgICAgdmFyIGkzID0gKGkyIDw8IDE2KSB8IChpMCAmIDB4MDAwMGZmZmYpO1xuXG4gICAgICAgICAgLy8gTW9kaWZ5IGNvdW50ZXIgdmFsdWVzXG4gICAgICAgICAgQ1swXSBePSBpMDtcbiAgICAgICAgICBDWzFdIF49IGkxO1xuICAgICAgICAgIENbMl0gXj0gaTI7XG4gICAgICAgICAgQ1szXSBePSBpMztcbiAgICAgICAgICBDWzRdIF49IGkwO1xuICAgICAgICAgIENbNV0gXj0gaTE7XG4gICAgICAgICAgQ1s2XSBePSBpMjtcbiAgICAgICAgICBDWzddIF49IGkzO1xuXG4gICAgICAgICAgLy8gSXRlcmF0ZSB0aGUgc3lzdGVtIGZvdXIgdGltZXNcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgICAgICAgbmV4dFN0YXRlLmNhbGwodGhpcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uKE0sIG9mZnNldCkge1xuICAgICAgICAvLyBTaG9ydGN1dFxuICAgICAgICB2YXIgWCA9IHRoaXMuX1g7XG5cbiAgICAgICAgLy8gSXRlcmF0ZSB0aGUgc3lzdGVtXG4gICAgICAgIG5leHRTdGF0ZS5jYWxsKHRoaXMpO1xuXG4gICAgICAgIC8vIEdlbmVyYXRlIGZvdXIga2V5c3RyZWFtIHdvcmRzXG4gICAgICAgIFNbMF0gPSBYWzBdIF4gKFhbNV0gPj4+IDE2KSBeIChYWzNdIDw8IDE2KTtcbiAgICAgICAgU1sxXSA9IFhbMl0gXiAoWFs3XSA+Pj4gMTYpIF4gKFhbNV0gPDwgMTYpO1xuICAgICAgICBTWzJdID0gWFs0XSBeIChYWzFdID4+PiAxNikgXiAoWFs3XSA8PCAxNik7XG4gICAgICAgIFNbM10gPSBYWzZdIF4gKFhbM10gPj4+IDE2KSBeIChYWzFdIDw8IDE2KTtcblxuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDQ7IGkrKykge1xuICAgICAgICAgIC8vIFN3YXAgZW5kaWFuXG4gICAgICAgICAgU1tpXSA9ICgoKFNbaV0gPDwgOCkgfCAoU1tpXSA+Pj4gMjQpKSAmIDB4MDBmZjAwZmYpIHxcbiAgICAgICAgICAgICgoKFNbaV0gPDwgMjQpIHwgKFNbaV0gPj4+IDgpKSAmIDB4ZmYwMGZmMDApO1xuXG4gICAgICAgICAgLy8gRW5jcnlwdFxuICAgICAgICAgIE1bb2Zmc2V0ICsgaV0gXj0gU1tpXTtcbiAgICAgICAgfVxuICAgICAgfSxcblxuICAgICAgYmxvY2tTaXplOiAxMjggLyAzMixcblxuICAgICAgaXZTaXplOiA2NCAvIDMyXG4gICAgfSk7XG5cbiAgICBmdW5jdGlvbiBuZXh0U3RhdGUoKSB7XG4gICAgICAvLyBTaG9ydGN1dHNcbiAgICAgIHZhciBYID0gdGhpcy5fWDtcbiAgICAgIHZhciBDID0gdGhpcy5fQztcblxuICAgICAgLy8gU2F2ZSBvbGQgY291bnRlciB2YWx1ZXNcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgODsgaSsrKSB7XG4gICAgICAgIENfW2ldID0gQ1tpXTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2FsY3VsYXRlIG5ldyBjb3VudGVyIHZhbHVlc1xuICAgICAgQ1swXSA9IChDWzBdICsgMHg0ZDM0ZDM0ZCArIHRoaXMuX2IpIHwgMDtcbiAgICAgIENbMV0gPSAoQ1sxXSArIDB4ZDM0ZDM0ZDMgKyAoKENbMF0gPj4+IDApIDwgKENfWzBdID4+PiAwKSA/IDEgOiAwKSkgfCAwO1xuICAgICAgQ1syXSA9IChDWzJdICsgMHgzNGQzNGQzNCArICgoQ1sxXSA+Pj4gMCkgPCAoQ19bMV0gPj4+IDApID8gMSA6IDApKSB8IDA7XG4gICAgICBDWzNdID0gKENbM10gKyAweDRkMzRkMzRkICsgKChDWzJdID4+PiAwKSA8IChDX1syXSA+Pj4gMCkgPyAxIDogMCkpIHwgMDtcbiAgICAgIENbNF0gPSAoQ1s0XSArIDB4ZDM0ZDM0ZDMgKyAoKENbM10gPj4+IDApIDwgKENfWzNdID4+PiAwKSA/IDEgOiAwKSkgfCAwO1xuICAgICAgQ1s1XSA9IChDWzVdICsgMHgzNGQzNGQzNCArICgoQ1s0XSA+Pj4gMCkgPCAoQ19bNF0gPj4+IDApID8gMSA6IDApKSB8IDA7XG4gICAgICBDWzZdID0gKENbNl0gKyAweDRkMzRkMzRkICsgKChDWzVdID4+PiAwKSA8IChDX1s1XSA+Pj4gMCkgPyAxIDogMCkpIHwgMDtcbiAgICAgIENbN10gPSAoQ1s3XSArIDB4ZDM0ZDM0ZDMgKyAoKENbNl0gPj4+IDApIDwgKENfWzZdID4+PiAwKSA/IDEgOiAwKSkgfCAwO1xuICAgICAgdGhpcy5fYiA9IChDWzddID4+PiAwKSA8IChDX1s3XSA+Pj4gMCkgPyAxIDogMDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBnLXZhbHVlc1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA4OyBpKyspIHtcbiAgICAgICAgdmFyIGd4ID0gWFtpXSArIENbaV07XG5cbiAgICAgICAgLy8gQ29uc3RydWN0IGhpZ2ggYW5kIGxvdyBhcmd1bWVudCBmb3Igc3F1YXJpbmdcbiAgICAgICAgdmFyIGdhID0gZ3ggJiAweGZmZmY7XG4gICAgICAgIHZhciBnYiA9IGd4ID4+PiAxNjtcblxuICAgICAgICAvLyBDYWxjdWxhdGUgaGlnaCBhbmQgbG93IHJlc3VsdCBvZiBzcXVhcmluZ1xuICAgICAgICB2YXIgZ2ggPSAoKCgoZ2EgKiBnYSkgPj4+IDE3KSArIGdhICogZ2IpID4+PiAxNSkgKyBnYiAqIGdiO1xuICAgICAgICB2YXIgZ2wgPSAoKChneCAmIDB4ZmZmZjAwMDApICogZ3gpIHwgMCkgKyAoKChneCAmIDB4MDAwMGZmZmYpICogZ3gpIHwgMCk7XG5cbiAgICAgICAgLy8gSGlnaCBYT1IgbG93XG4gICAgICAgIEdbaV0gPSBnaCBeIGdsO1xuICAgICAgfVxuXG4gICAgICAvLyBDYWxjdWxhdGUgbmV3IHN0YXRlIHZhbHVlc1xuICAgICAgWFswXSA9IChHWzBdICsgKChHWzddIDw8IDE2KSB8IChHWzddID4+PiAxNikpICsgKChHWzZdIDw8IDE2KSB8IChHWzZdID4+PiAxNikpKSB8IDA7XG4gICAgICBYWzFdID0gKEdbMV0gKyAoKEdbMF0gPDwgOCkgfCAoR1swXSA+Pj4gMjQpKSArIEdbN10pIHwgMDtcbiAgICAgIFhbMl0gPSAoR1syXSArICgoR1sxXSA8PCAxNikgfCAoR1sxXSA+Pj4gMTYpKSArICgoR1swXSA8PCAxNikgfCAoR1swXSA+Pj4gMTYpKSkgfCAwO1xuICAgICAgWFszXSA9IChHWzNdICsgKChHWzJdIDw8IDgpIHwgKEdbMl0gPj4+IDI0KSkgKyBHWzFdKSB8IDA7XG4gICAgICBYWzRdID0gKEdbNF0gKyAoKEdbM10gPDwgMTYpIHwgKEdbM10gPj4+IDE2KSkgKyAoKEdbMl0gPDwgMTYpIHwgKEdbMl0gPj4+IDE2KSkpIHwgMDtcbiAgICAgIFhbNV0gPSAoR1s1XSArICgoR1s0XSA8PCA4KSB8IChHWzRdID4+PiAyNCkpICsgR1szXSkgfCAwO1xuICAgICAgWFs2XSA9IChHWzZdICsgKChHWzVdIDw8IDE2KSB8IChHWzVdID4+PiAxNikpICsgKChHWzRdIDw8IDE2KSB8IChHWzRdID4+PiAxNikpKSB8IDA7XG4gICAgICBYWzddID0gKEdbN10gKyAoKEdbNl0gPDwgOCkgfCAoR1s2XSA+Pj4gMjQpKSArIEdbNV0pIHwgMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG9ydGN1dCBmdW5jdGlvbnMgdG8gdGhlIGNpcGhlcidzIG9iamVjdCBpbnRlcmZhY2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogICAgIHZhciBjaXBoZXJ0ZXh0ID0gQ3J5cHRvSlMuUmFiYml0TGVnYWN5LmVuY3J5cHQobWVzc2FnZSwga2V5LCBjZmcpO1xuICAgICAqICAgICB2YXIgcGxhaW50ZXh0ICA9IENyeXB0b0pTLlJhYmJpdExlZ2FjeS5kZWNyeXB0KGNpcGhlcnRleHQsIGtleSwgY2ZnKTtcbiAgICAgKi9cbiAgICBDLlJhYmJpdExlZ2FjeSA9IFN0cmVhbUNpcGhlci5fY3JlYXRlSGVscGVyKFJhYmJpdExlZ2FjeSk7XG4gIH0oKSk7XG5cblxuICAvKipcbiAgICogWmVybyBwYWRkaW5nIHN0cmF0ZWd5LlxuICAgKi9cbiAgQ3J5cHRvSlMucGFkLlplcm9QYWRkaW5nID0ge1xuICAgIHBhZDogZnVuY3Rpb24oZGF0YSwgYmxvY2tTaXplKSB7XG4gICAgICAvLyBTaG9ydGN1dFxuICAgICAgdmFyIGJsb2NrU2l6ZUJ5dGVzID0gYmxvY2tTaXplICogNDtcblxuICAgICAgLy8gUGFkXG4gICAgICBkYXRhLmNsYW1wKCk7XG4gICAgICBkYXRhLnNpZ0J5dGVzICs9IGJsb2NrU2l6ZUJ5dGVzIC0gKChkYXRhLnNpZ0J5dGVzICUgYmxvY2tTaXplQnl0ZXMpIHx8IGJsb2NrU2l6ZUJ5dGVzKTtcbiAgICB9LFxuXG4gICAgdW5wYWQ6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgIC8vIFNob3J0Y3V0XG4gICAgICB2YXIgZGF0YVdvcmRzID0gZGF0YS53b3JkcztcblxuICAgICAgLy8gVW5wYWRcbiAgICAgIHZhciBpID0gZGF0YS5zaWdCeXRlcyAtIDE7XG4gICAgICBmb3IgKHZhciBpID0gZGF0YS5zaWdCeXRlcyAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGlmICgoKGRhdGFXb3Jkc1tpID4+PiAyXSA+Pj4gKDI0IC0gKGkgJSA0KSAqIDgpKSAmIDB4ZmYpKSB7XG4gICAgICAgICAgZGF0YS5zaWdCeXRlcyA9IGkgKyAxO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG5cbiAgcmV0dXJuIENyeXB0b0pTO1xuXG59KSk7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///54\n");
  3019. /***/ }),
  3020. /* 55 */
  3021. /*!*****************************************************************!*\
  3022. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/crypto.js ***!
  3023. \*****************************************************************/
  3024. /*! exports provided: default */
  3025. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  3026. "use strict";
  3027. __webpack_require__.r(__webpack_exports__);
  3028. var lookup = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  3029. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 0, 62, 0, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
  3030. 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
  3031. 21, 22, 23, 24, 25, 0, 0, 0, 0, 63, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
  3032. 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51
  3033. ]
  3034. function base64Decode (source, target) {
  3035. var sourceLength = source.length
  3036. var paddingLength = (source[sourceLength - 2] === '=' ? 2 : (source[sourceLength - 1] === '=' ? 1
  3037. : 0))
  3038. var tmp
  3039. var byteIndex = 0
  3040. var baseLength = (sourceLength - paddingLength) & 0xfffffffc
  3041. for (var i = 0; i < baseLength; i += 4) {
  3042. tmp = (lookup[source.charCodeAt(i)] << 18) |
  3043. (lookup[source.charCodeAt(i + 1)] << 12) |
  3044. (lookup[source.charCodeAt(i + 2)] << 6) |
  3045. (lookup[source.charCodeAt(i + 3)])
  3046. target[byteIndex++] = (tmp >> 16) & 0xFF
  3047. target[byteIndex++] = (tmp >> 8) & 0xFF
  3048. target[byteIndex++] = (tmp) & 0xFF
  3049. }
  3050. if (paddingLength === 1) {
  3051. tmp = (lookup[source.charCodeAt(i)] << 10) |
  3052. (lookup[source.charCodeAt(i + 1)] << 4) |
  3053. (lookup[source.charCodeAt(i + 2)] >> 2)
  3054. target[byteIndex++] = (tmp >> 8) & 0xFF
  3055. target[byteIndex++] = tmp & 0xFF
  3056. }
  3057. if (paddingLength === 2) {
  3058. tmp = (lookup[source.charCodeAt(i)] << 2) | (lookup[source.charCodeAt(i + 1)] >> 4)
  3059. target[byteIndex++] = tmp & 0xFF
  3060. }
  3061. }
  3062. /* harmony default export */ __webpack_exports__["default"] = ({
  3063. getRandomValues (arr) {
  3064. if (!(
  3065. arr instanceof Int8Array ||
  3066. arr instanceof Uint8Array ||
  3067. arr instanceof Int16Array ||
  3068. arr instanceof Uint16Array ||
  3069. arr instanceof Int32Array ||
  3070. arr instanceof Uint32Array ||
  3071. arr instanceof Uint8ClampedArray
  3072. )) {
  3073. throw new Error('Expected an integer array')
  3074. }
  3075. if (arr.byteLength > 65536) {
  3076. throw new Error('Can only request a maximum of 65536 bytes')
  3077. }
  3078. var crypto = uni.requireNativePlugin('DCloud-Crypto')
  3079. base64Decode(crypto.getRandomValues(arr.byteLength), new Uint8Array(arr.buffer, arr.byteOffset,
  3080. arr.byteLength))
  3081. return arr
  3082. }
  3083. });
  3084. /***/ }),
  3085. /* 56 */
  3086. /*!*************************************************!*\
  3087. !*** ./node_modules/crypto-browserify/index.js ***!
  3088. \*************************************************/
  3089. /*! no static exports found */
  3090. /***/ (function(module, exports, __webpack_require__) {
  3091. "use strict";
  3092. exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(/*! randombytes */ 57)
  3093. exports.createHash = exports.Hash = __webpack_require__(/*! create-hash */ 65)
  3094. exports.createHmac = exports.Hmac = __webpack_require__(/*! create-hmac */ 100)
  3095. var algos = __webpack_require__(/*! browserify-sign/algos */ 103)
  3096. var algoKeys = Object.keys(algos)
  3097. var hashes = ['sha1', 'sha224', 'sha256', 'sha384', 'sha512', 'md5', 'rmd160'].concat(algoKeys)
  3098. exports.getHashes = function () {
  3099. return hashes
  3100. }
  3101. var p = __webpack_require__(/*! pbkdf2 */ 105)
  3102. exports.pbkdf2 = p.pbkdf2
  3103. exports.pbkdf2Sync = p.pbkdf2Sync
  3104. var aes = __webpack_require__(/*! browserify-cipher */ 111)
  3105. exports.Cipher = aes.Cipher
  3106. exports.createCipher = aes.createCipher
  3107. exports.Cipheriv = aes.Cipheriv
  3108. exports.createCipheriv = aes.createCipheriv
  3109. exports.Decipher = aes.Decipher
  3110. exports.createDecipher = aes.createDecipher
  3111. exports.Decipheriv = aes.Decipheriv
  3112. exports.createDecipheriv = aes.createDecipheriv
  3113. exports.getCiphers = aes.getCiphers
  3114. exports.listCiphers = aes.listCiphers
  3115. var dh = __webpack_require__(/*! diffie-hellman */ 140)
  3116. exports.DiffieHellmanGroup = dh.DiffieHellmanGroup
  3117. exports.createDiffieHellmanGroup = dh.createDiffieHellmanGroup
  3118. exports.getDiffieHellman = dh.getDiffieHellman
  3119. exports.createDiffieHellman = dh.createDiffieHellman
  3120. exports.DiffieHellman = dh.DiffieHellman
  3121. var sign = __webpack_require__(/*! browserify-sign */ 150)
  3122. exports.createSign = sign.createSign
  3123. exports.Sign = sign.Sign
  3124. exports.createVerify = sign.createVerify
  3125. exports.Verify = sign.Verify
  3126. exports.createECDH = __webpack_require__(/*! create-ecdh */ 205)
  3127. var publicEncrypt = __webpack_require__(/*! public-encrypt */ 206)
  3128. exports.publicEncrypt = publicEncrypt.publicEncrypt
  3129. exports.privateEncrypt = publicEncrypt.privateEncrypt
  3130. exports.publicDecrypt = publicEncrypt.publicDecrypt
  3131. exports.privateDecrypt = publicEncrypt.privateDecrypt
  3132. // the least I can do is make error messages for the rest of the node.js/crypto api.
  3133. // ;[
  3134. // 'createCredentials'
  3135. // ].forEach(function (name) {
  3136. // exports[name] = function () {
  3137. // throw new Error([
  3138. // 'sorry, ' + name + ' is not implemented yet',
  3139. // 'we accept pull requests',
  3140. // 'https://github.com/crypto-browserify/crypto-browserify'
  3141. // ].join('\n'))
  3142. // }
  3143. // })
  3144. var rf = __webpack_require__(/*! randomfill */ 212)
  3145. exports.randomFill = rf.randomFill
  3146. exports.randomFillSync = rf.randomFillSync
  3147. exports.createCredentials = function () {
  3148. throw new Error([
  3149. 'sorry, createCredentials is not implemented yet',
  3150. 'we accept pull requests',
  3151. 'https://github.com/crypto-browserify/crypto-browserify'
  3152. ].join('\n'))
  3153. }
  3154. exports.constants = {
  3155. 'DH_CHECK_P_NOT_SAFE_PRIME': 2,
  3156. 'DH_CHECK_P_NOT_PRIME': 1,
  3157. 'DH_UNABLE_TO_CHECK_GENERATOR': 4,
  3158. 'DH_NOT_SUITABLE_GENERATOR': 8,
  3159. 'NPN_ENABLED': 1,
  3160. 'ALPN_ENABLED': 1,
  3161. 'RSA_PKCS1_PADDING': 1,
  3162. 'RSA_SSLV23_PADDING': 2,
  3163. 'RSA_NO_PADDING': 3,
  3164. 'RSA_PKCS1_OAEP_PADDING': 4,
  3165. 'RSA_X931_PADDING': 5,
  3166. 'RSA_PKCS1_PSS_PADDING': 6,
  3167. 'POINT_CONVERSION_COMPRESSED': 2,
  3168. 'POINT_CONVERSION_UNCOMPRESSED': 4,
  3169. 'POINT_CONVERSION_HYBRID': 6
  3170. }
  3171. /***/ }),
  3172. /* 57 */
  3173. /*!*********************************************!*\
  3174. !*** ./node_modules/randombytes/browser.js ***!
  3175. \*********************************************/
  3176. /*! no static exports found */
  3177. /***/ (function(module, exports, __webpack_require__) {
  3178. "use strict";
  3179. /* WEBPACK VAR INJECTION */(function(__webpack_provided_global_dot_crypto, global, process) {
  3180. // limit of Crypto.getRandomValues()
  3181. // https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues
  3182. var MAX_BYTES = 65536
  3183. // Node supports requesting up to this number of bytes
  3184. // https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48
  3185. var MAX_UINT32 = 4294967295
  3186. function oldBrowser () {
  3187. throw new Error('Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11')
  3188. }
  3189. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  3190. var crypto = __webpack_provided_global_dot_crypto || global.msCrypto
  3191. if (crypto && crypto.getRandomValues) {
  3192. module.exports = randomBytes
  3193. } else {
  3194. module.exports = oldBrowser
  3195. }
  3196. function randomBytes (size, cb) {
  3197. // phantomjs needs to throw
  3198. if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')
  3199. var bytes = Buffer.allocUnsafe(size)
  3200. if (size > 0) { // getRandomValues fails on IE if size == 0
  3201. if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues
  3202. // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues
  3203. for (var generated = 0; generated < size; generated += MAX_BYTES) {
  3204. // buffer.slice automatically checks if the end is past the end of
  3205. // the buffer so we don't have to here
  3206. crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))
  3207. }
  3208. } else {
  3209. crypto.getRandomValues(bytes)
  3210. }
  3211. }
  3212. if (typeof cb === 'function') {
  3213. return process.nextTick(function () {
  3214. cb(null, bytes)
  3215. })
  3216. }
  3217. return bytes
  3218. }
  3219. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/crypto.js */ 55)["default"], __webpack_require__(/*! ./../webpack/buildin/global.js */ 11), __webpack_require__(/*! ./../node-libs-browser/mock/process.js */ 58)))
  3220. /***/ }),
  3221. /* 58 */
  3222. /*!********************************************************!*\
  3223. !*** ./node_modules/node-libs-browser/mock/process.js ***!
  3224. \********************************************************/
  3225. /*! no static exports found */
  3226. /***/ (function(module, exports, __webpack_require__) {
  3227. exports.nextTick = function nextTick(fn) {
  3228. var args = Array.prototype.slice.call(arguments);
  3229. args.shift();
  3230. setTimeout(function () {
  3231. fn.apply(null, args);
  3232. }, 0);
  3233. };
  3234. exports.platform = exports.arch =
  3235. exports.execPath = exports.title = 'browser';
  3236. exports.pid = 1;
  3237. exports.browser = true;
  3238. exports.env = {};
  3239. exports.argv = [];
  3240. exports.binding = function (name) {
  3241. throw new Error('No such module. (Possibly not yet loaded)')
  3242. };
  3243. (function () {
  3244. var cwd = '/';
  3245. var path;
  3246. exports.cwd = function () { return cwd };
  3247. exports.chdir = function (dir) {
  3248. if (!path) path = __webpack_require__(/*! path */ 59);
  3249. cwd = path.resolve(dir, cwd);
  3250. };
  3251. })();
  3252. exports.exit = exports.kill =
  3253. exports.umask = exports.dlopen =
  3254. exports.uptime = exports.memoryUsage =
  3255. exports.uvCounters = function() {};
  3256. exports.features = {};
  3257. /***/ }),
  3258. /* 59 */
  3259. /*!***********************************************!*\
  3260. !*** ./node_modules/path-browserify/index.js ***!
  3261. \***********************************************/
  3262. /*! no static exports found */
  3263. /***/ (function(module, exports, __webpack_require__) {
  3264. /* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,
  3265. // backported and transplited with Babel, with backwards-compat fixes
  3266. // Copyright Joyent, Inc. and other Node contributors.
  3267. //
  3268. // Permission is hereby granted, free of charge, to any person obtaining a
  3269. // copy of this software and associated documentation files (the
  3270. // "Software"), to deal in the Software without restriction, including
  3271. // without limitation the rights to use, copy, modify, merge, publish,
  3272. // distribute, sublicense, and/or sell copies of the Software, and to permit
  3273. // persons to whom the Software is furnished to do so, subject to the
  3274. // following conditions:
  3275. //
  3276. // The above copyright notice and this permission notice shall be included
  3277. // in all copies or substantial portions of the Software.
  3278. //
  3279. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  3280. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  3281. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  3282. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  3283. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  3284. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  3285. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  3286. // resolves . and .. elements in a path array with directory names there
  3287. // must be no slashes, empty elements, or device names (c:\) in the array
  3288. // (so also no leading and trailing slashes - it does not distinguish
  3289. // relative and absolute paths)
  3290. function normalizeArray(parts, allowAboveRoot) {
  3291. // if the path tries to go above the root, `up` ends up > 0
  3292. var up = 0;
  3293. for (var i = parts.length - 1; i >= 0; i--) {
  3294. var last = parts[i];
  3295. if (last === '.') {
  3296. parts.splice(i, 1);
  3297. } else if (last === '..') {
  3298. parts.splice(i, 1);
  3299. up++;
  3300. } else if (up) {
  3301. parts.splice(i, 1);
  3302. up--;
  3303. }
  3304. }
  3305. // if the path is allowed to go above the root, restore leading ..s
  3306. if (allowAboveRoot) {
  3307. for (; up--; up) {
  3308. parts.unshift('..');
  3309. }
  3310. }
  3311. return parts;
  3312. }
  3313. // path.resolve([from ...], to)
  3314. // posix version
  3315. exports.resolve = function() {
  3316. var resolvedPath = '',
  3317. resolvedAbsolute = false;
  3318. for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
  3319. var path = (i >= 0) ? arguments[i] : process.cwd();
  3320. // Skip empty and invalid entries
  3321. if (typeof path !== 'string') {
  3322. throw new TypeError('Arguments to path.resolve must be strings');
  3323. } else if (!path) {
  3324. continue;
  3325. }
  3326. resolvedPath = path + '/' + resolvedPath;
  3327. resolvedAbsolute = path.charAt(0) === '/';
  3328. }
  3329. // At this point the path should be resolved to a full absolute path, but
  3330. // handle relative paths to be safe (might happen when process.cwd() fails)
  3331. // Normalize the path
  3332. resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {
  3333. return !!p;
  3334. }), !resolvedAbsolute).join('/');
  3335. return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
  3336. };
  3337. // path.normalize(path)
  3338. // posix version
  3339. exports.normalize = function(path) {
  3340. var isAbsolute = exports.isAbsolute(path),
  3341. trailingSlash = substr(path, -1) === '/';
  3342. // Normalize the path
  3343. path = normalizeArray(filter(path.split('/'), function(p) {
  3344. return !!p;
  3345. }), !isAbsolute).join('/');
  3346. if (!path && !isAbsolute) {
  3347. path = '.';
  3348. }
  3349. if (path && trailingSlash) {
  3350. path += '/';
  3351. }
  3352. return (isAbsolute ? '/' : '') + path;
  3353. };
  3354. // posix version
  3355. exports.isAbsolute = function(path) {
  3356. return path.charAt(0) === '/';
  3357. };
  3358. // posix version
  3359. exports.join = function() {
  3360. var paths = Array.prototype.slice.call(arguments, 0);
  3361. return exports.normalize(filter(paths, function(p, index) {
  3362. if (typeof p !== 'string') {
  3363. throw new TypeError('Arguments to path.join must be strings');
  3364. }
  3365. return p;
  3366. }).join('/'));
  3367. };
  3368. // path.relative(from, to)
  3369. // posix version
  3370. exports.relative = function(from, to) {
  3371. from = exports.resolve(from).substr(1);
  3372. to = exports.resolve(to).substr(1);
  3373. function trim(arr) {
  3374. var start = 0;
  3375. for (; start < arr.length; start++) {
  3376. if (arr[start] !== '') break;
  3377. }
  3378. var end = arr.length - 1;
  3379. for (; end >= 0; end--) {
  3380. if (arr[end] !== '') break;
  3381. }
  3382. if (start > end) return [];
  3383. return arr.slice(start, end - start + 1);
  3384. }
  3385. var fromParts = trim(from.split('/'));
  3386. var toParts = trim(to.split('/'));
  3387. var length = Math.min(fromParts.length, toParts.length);
  3388. var samePartsLength = length;
  3389. for (var i = 0; i < length; i++) {
  3390. if (fromParts[i] !== toParts[i]) {
  3391. samePartsLength = i;
  3392. break;
  3393. }
  3394. }
  3395. var outputParts = [];
  3396. for (var i = samePartsLength; i < fromParts.length; i++) {
  3397. outputParts.push('..');
  3398. }
  3399. outputParts = outputParts.concat(toParts.slice(samePartsLength));
  3400. return outputParts.join('/');
  3401. };
  3402. exports.sep = '/';
  3403. exports.delimiter = ':';
  3404. exports.dirname = function (path) {
  3405. if (typeof path !== 'string') path = path + '';
  3406. if (path.length === 0) return '.';
  3407. var code = path.charCodeAt(0);
  3408. var hasRoot = code === 47 /*/*/;
  3409. var end = -1;
  3410. var matchedSlash = true;
  3411. for (var i = path.length - 1; i >= 1; --i) {
  3412. code = path.charCodeAt(i);
  3413. if (code === 47 /*/*/) {
  3414. if (!matchedSlash) {
  3415. end = i;
  3416. break;
  3417. }
  3418. } else {
  3419. // We saw the first non-path separator
  3420. matchedSlash = false;
  3421. }
  3422. }
  3423. if (end === -1) return hasRoot ? '/' : '.';
  3424. if (hasRoot && end === 1) {
  3425. // return '//';
  3426. // Backwards-compat fix:
  3427. return '/';
  3428. }
  3429. return path.slice(0, end);
  3430. };
  3431. function basename(path) {
  3432. if (typeof path !== 'string') path = path + '';
  3433. var start = 0;
  3434. var end = -1;
  3435. var matchedSlash = true;
  3436. var i;
  3437. for (i = path.length - 1; i >= 0; --i) {
  3438. if (path.charCodeAt(i) === 47 /*/*/) {
  3439. // If we reached a path separator that was not part of a set of path
  3440. // separators at the end of the string, stop now
  3441. if (!matchedSlash) {
  3442. start = i + 1;
  3443. break;
  3444. }
  3445. } else if (end === -1) {
  3446. // We saw the first non-path separator, mark this as the end of our
  3447. // path component
  3448. matchedSlash = false;
  3449. end = i + 1;
  3450. }
  3451. }
  3452. if (end === -1) return '';
  3453. return path.slice(start, end);
  3454. }
  3455. // Uses a mixed approach for backwards-compatibility, as ext behavior changed
  3456. // in new Node.js versions, so only basename() above is backported here
  3457. exports.basename = function (path, ext) {
  3458. var f = basename(path);
  3459. if (ext && f.substr(-1 * ext.length) === ext) {
  3460. f = f.substr(0, f.length - ext.length);
  3461. }
  3462. return f;
  3463. };
  3464. exports.extname = function (path) {
  3465. if (typeof path !== 'string') path = path + '';
  3466. var startDot = -1;
  3467. var startPart = 0;
  3468. var end = -1;
  3469. var matchedSlash = true;
  3470. // Track the state of characters (if any) we see before our first dot and
  3471. // after any path separator we find
  3472. var preDotState = 0;
  3473. for (var i = path.length - 1; i >= 0; --i) {
  3474. var code = path.charCodeAt(i);
  3475. if (code === 47 /*/*/) {
  3476. // If we reached a path separator that was not part of a set of path
  3477. // separators at the end of the string, stop now
  3478. if (!matchedSlash) {
  3479. startPart = i + 1;
  3480. break;
  3481. }
  3482. continue;
  3483. }
  3484. if (end === -1) {
  3485. // We saw the first non-path separator, mark this as the end of our
  3486. // extension
  3487. matchedSlash = false;
  3488. end = i + 1;
  3489. }
  3490. if (code === 46 /*.*/) {
  3491. // If this is our first dot, mark it as the start of our extension
  3492. if (startDot === -1)
  3493. startDot = i;
  3494. else if (preDotState !== 1)
  3495. preDotState = 1;
  3496. } else if (startDot !== -1) {
  3497. // We saw a non-dot and non-path separator before our dot, so we should
  3498. // have a good chance at having a non-empty extension
  3499. preDotState = -1;
  3500. }
  3501. }
  3502. if (startDot === -1 || end === -1 ||
  3503. // We saw a non-dot character immediately before the dot
  3504. preDotState === 0 ||
  3505. // The (right-most) trimmed path component is exactly '..'
  3506. preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
  3507. return '';
  3508. }
  3509. return path.slice(startDot, end);
  3510. };
  3511. function filter (xs, f) {
  3512. if (xs.filter) return xs.filter(f);
  3513. var res = [];
  3514. for (var i = 0; i < xs.length; i++) {
  3515. if (f(xs[i], i, xs)) res.push(xs[i]);
  3516. }
  3517. return res;
  3518. }
  3519. // String.prototype.substr - negative index don't work in IE8
  3520. var substr = 'ab'.substr(-1) === 'b'
  3521. ? function (str, start, len) { return str.substr(start, len) }
  3522. : function (str, start, len) {
  3523. if (start < 0) start = str.length + start;
  3524. return str.substr(start, len);
  3525. }
  3526. ;
  3527. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node-libs-browser/mock/process.js */ 58)))
  3528. /***/ }),
  3529. /* 60 */
  3530. /*!*******************************************!*\
  3531. !*** ./node_modules/safe-buffer/index.js ***!
  3532. \*******************************************/
  3533. /*! no static exports found */
  3534. /***/ (function(module, exports, __webpack_require__) {
  3535. /* eslint-disable node/no-deprecated-api */
  3536. var buffer = __webpack_require__(/*! buffer */ 61)
  3537. var Buffer = buffer.Buffer
  3538. // alternative to using Object.keys for old browsers
  3539. function copyProps (src, dst) {
  3540. for (var key in src) {
  3541. dst[key] = src[key]
  3542. }
  3543. }
  3544. if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
  3545. module.exports = buffer
  3546. } else {
  3547. // Copy properties from require('buffer')
  3548. copyProps(buffer, exports)
  3549. exports.Buffer = SafeBuffer
  3550. }
  3551. function SafeBuffer (arg, encodingOrOffset, length) {
  3552. return Buffer(arg, encodingOrOffset, length)
  3553. }
  3554. // Copy static methods from Buffer
  3555. copyProps(Buffer, SafeBuffer)
  3556. SafeBuffer.from = function (arg, encodingOrOffset, length) {
  3557. if (typeof arg === 'number') {
  3558. throw new TypeError('Argument must not be a number')
  3559. }
  3560. return Buffer(arg, encodingOrOffset, length)
  3561. }
  3562. SafeBuffer.alloc = function (size, fill, encoding) {
  3563. if (typeof size !== 'number') {
  3564. throw new TypeError('Argument must be a number')
  3565. }
  3566. var buf = Buffer(size)
  3567. if (fill !== undefined) {
  3568. if (typeof encoding === 'string') {
  3569. buf.fill(fill, encoding)
  3570. } else {
  3571. buf.fill(fill)
  3572. }
  3573. } else {
  3574. buf.fill(0)
  3575. }
  3576. return buf
  3577. }
  3578. SafeBuffer.allocUnsafe = function (size) {
  3579. if (typeof size !== 'number') {
  3580. throw new TypeError('Argument must be a number')
  3581. }
  3582. return Buffer(size)
  3583. }
  3584. SafeBuffer.allocUnsafeSlow = function (size) {
  3585. if (typeof size !== 'number') {
  3586. throw new TypeError('Argument must be a number')
  3587. }
  3588. return buffer.SlowBuffer(size)
  3589. }
  3590. /***/ }),
  3591. /* 61 */
  3592. /*!**************************************!*\
  3593. !*** ./node_modules/buffer/index.js ***!
  3594. \**************************************/
  3595. /*! no static exports found */
  3596. /***/ (function(module, exports, __webpack_require__) {
  3597. "use strict";
  3598. /* WEBPACK VAR INJECTION */(function(global) {/*!
  3599. * The buffer module from node.js, for the browser.
  3600. *
  3601. * @author Feross Aboukhadijeh <http://feross.org>
  3602. * @license MIT
  3603. */
  3604. /* eslint-disable no-proto */
  3605. var base64 = __webpack_require__(/*! base64-js */ 62)
  3606. var ieee754 = __webpack_require__(/*! ieee754 */ 63)
  3607. var isArray = __webpack_require__(/*! isarray */ 64)
  3608. exports.Buffer = Buffer
  3609. exports.SlowBuffer = SlowBuffer
  3610. exports.INSPECT_MAX_BYTES = 50
  3611. /**
  3612. * If `Buffer.TYPED_ARRAY_SUPPORT`:
  3613. * === true Use Uint8Array implementation (fastest)
  3614. * === false Use Object implementation (most compatible, even IE6)
  3615. *
  3616. * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
  3617. * Opera 11.6+, iOS 4.2+.
  3618. *
  3619. * Due to various browser bugs, sometimes the Object implementation will be used even
  3620. * when the browser supports typed arrays.
  3621. *
  3622. * Note:
  3623. *
  3624. * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
  3625. * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
  3626. *
  3627. * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
  3628. *
  3629. * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
  3630. * incorrect length in some situations.
  3631. * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
  3632. * get the Object implementation, which is slower but behaves correctly.
  3633. */
  3634. Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
  3635. ? global.TYPED_ARRAY_SUPPORT
  3636. : typedArraySupport()
  3637. /*
  3638. * Export kMaxLength after typed array support is determined.
  3639. */
  3640. exports.kMaxLength = kMaxLength()
  3641. function typedArraySupport () {
  3642. try {
  3643. var arr = new Uint8Array(1)
  3644. arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
  3645. return arr.foo() === 42 && // typed array instances can be augmented
  3646. typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
  3647. arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
  3648. } catch (e) {
  3649. return false
  3650. }
  3651. }
  3652. function kMaxLength () {
  3653. return Buffer.TYPED_ARRAY_SUPPORT
  3654. ? 0x7fffffff
  3655. : 0x3fffffff
  3656. }
  3657. function createBuffer (that, length) {
  3658. if (kMaxLength() < length) {
  3659. throw new RangeError('Invalid typed array length')
  3660. }
  3661. if (Buffer.TYPED_ARRAY_SUPPORT) {
  3662. // Return an augmented `Uint8Array` instance, for best performance
  3663. that = new Uint8Array(length)
  3664. that.__proto__ = Buffer.prototype
  3665. } else {
  3666. // Fallback: Return an object instance of the Buffer class
  3667. if (that === null) {
  3668. that = new Buffer(length)
  3669. }
  3670. that.length = length
  3671. }
  3672. return that
  3673. }
  3674. /**
  3675. * The Buffer constructor returns instances of `Uint8Array` that have their
  3676. * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
  3677. * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
  3678. * and the `Uint8Array` methods. Square bracket notation works as expected -- it
  3679. * returns a single octet.
  3680. *
  3681. * The `Uint8Array` prototype remains unmodified.
  3682. */
  3683. function Buffer (arg, encodingOrOffset, length) {
  3684. if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
  3685. return new Buffer(arg, encodingOrOffset, length)
  3686. }
  3687. // Common case.
  3688. if (typeof arg === 'number') {
  3689. if (typeof encodingOrOffset === 'string') {
  3690. throw new Error(
  3691. 'If encoding is specified then the first argument must be a string'
  3692. )
  3693. }
  3694. return allocUnsafe(this, arg)
  3695. }
  3696. return from(this, arg, encodingOrOffset, length)
  3697. }
  3698. Buffer.poolSize = 8192 // not used by this implementation
  3699. // TODO: Legacy, not needed anymore. Remove in next major version.
  3700. Buffer._augment = function (arr) {
  3701. arr.__proto__ = Buffer.prototype
  3702. return arr
  3703. }
  3704. function from (that, value, encodingOrOffset, length) {
  3705. if (typeof value === 'number') {
  3706. throw new TypeError('"value" argument must not be a number')
  3707. }
  3708. if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
  3709. return fromArrayBuffer(that, value, encodingOrOffset, length)
  3710. }
  3711. if (typeof value === 'string') {
  3712. return fromString(that, value, encodingOrOffset)
  3713. }
  3714. return fromObject(that, value)
  3715. }
  3716. /**
  3717. * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
  3718. * if value is a number.
  3719. * Buffer.from(str[, encoding])
  3720. * Buffer.from(array)
  3721. * Buffer.from(buffer)
  3722. * Buffer.from(arrayBuffer[, byteOffset[, length]])
  3723. **/
  3724. Buffer.from = function (value, encodingOrOffset, length) {
  3725. return from(null, value, encodingOrOffset, length)
  3726. }
  3727. if (Buffer.TYPED_ARRAY_SUPPORT) {
  3728. Buffer.prototype.__proto__ = Uint8Array.prototype
  3729. Buffer.__proto__ = Uint8Array
  3730. if (typeof Symbol !== 'undefined' && Symbol.species &&
  3731. Buffer[Symbol.species] === Buffer) {
  3732. // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
  3733. Object.defineProperty(Buffer, Symbol.species, {
  3734. value: null,
  3735. configurable: true
  3736. })
  3737. }
  3738. }
  3739. function assertSize (size) {
  3740. if (typeof size !== 'number') {
  3741. throw new TypeError('"size" argument must be a number')
  3742. } else if (size < 0) {
  3743. throw new RangeError('"size" argument must not be negative')
  3744. }
  3745. }
  3746. function alloc (that, size, fill, encoding) {
  3747. assertSize(size)
  3748. if (size <= 0) {
  3749. return createBuffer(that, size)
  3750. }
  3751. if (fill !== undefined) {
  3752. // Only pay attention to encoding if it's a string. This
  3753. // prevents accidentally sending in a number that would
  3754. // be interpretted as a start offset.
  3755. return typeof encoding === 'string'
  3756. ? createBuffer(that, size).fill(fill, encoding)
  3757. : createBuffer(that, size).fill(fill)
  3758. }
  3759. return createBuffer(that, size)
  3760. }
  3761. /**
  3762. * Creates a new filled Buffer instance.
  3763. * alloc(size[, fill[, encoding]])
  3764. **/
  3765. Buffer.alloc = function (size, fill, encoding) {
  3766. return alloc(null, size, fill, encoding)
  3767. }
  3768. function allocUnsafe (that, size) {
  3769. assertSize(size)
  3770. that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
  3771. if (!Buffer.TYPED_ARRAY_SUPPORT) {
  3772. for (var i = 0; i < size; ++i) {
  3773. that[i] = 0
  3774. }
  3775. }
  3776. return that
  3777. }
  3778. /**
  3779. * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
  3780. * */
  3781. Buffer.allocUnsafe = function (size) {
  3782. return allocUnsafe(null, size)
  3783. }
  3784. /**
  3785. * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
  3786. */
  3787. Buffer.allocUnsafeSlow = function (size) {
  3788. return allocUnsafe(null, size)
  3789. }
  3790. function fromString (that, string, encoding) {
  3791. if (typeof encoding !== 'string' || encoding === '') {
  3792. encoding = 'utf8'
  3793. }
  3794. if (!Buffer.isEncoding(encoding)) {
  3795. throw new TypeError('"encoding" must be a valid string encoding')
  3796. }
  3797. var length = byteLength(string, encoding) | 0
  3798. that = createBuffer(that, length)
  3799. var actual = that.write(string, encoding)
  3800. if (actual !== length) {
  3801. // Writing a hex string, for example, that contains invalid characters will
  3802. // cause everything after the first invalid character to be ignored. (e.g.
  3803. // 'abxxcd' will be treated as 'ab')
  3804. that = that.slice(0, actual)
  3805. }
  3806. return that
  3807. }
  3808. function fromArrayLike (that, array) {
  3809. var length = array.length < 0 ? 0 : checked(array.length) | 0
  3810. that = createBuffer(that, length)
  3811. for (var i = 0; i < length; i += 1) {
  3812. that[i] = array[i] & 255
  3813. }
  3814. return that
  3815. }
  3816. function fromArrayBuffer (that, array, byteOffset, length) {
  3817. array.byteLength // this throws if `array` is not a valid ArrayBuffer
  3818. if (byteOffset < 0 || array.byteLength < byteOffset) {
  3819. throw new RangeError('\'offset\' is out of bounds')
  3820. }
  3821. if (array.byteLength < byteOffset + (length || 0)) {
  3822. throw new RangeError('\'length\' is out of bounds')
  3823. }
  3824. if (byteOffset === undefined && length === undefined) {
  3825. array = new Uint8Array(array)
  3826. } else if (length === undefined) {
  3827. array = new Uint8Array(array, byteOffset)
  3828. } else {
  3829. array = new Uint8Array(array, byteOffset, length)
  3830. }
  3831. if (Buffer.TYPED_ARRAY_SUPPORT) {
  3832. // Return an augmented `Uint8Array` instance, for best performance
  3833. that = array
  3834. that.__proto__ = Buffer.prototype
  3835. } else {
  3836. // Fallback: Return an object instance of the Buffer class
  3837. that = fromArrayLike(that, array)
  3838. }
  3839. return that
  3840. }
  3841. function fromObject (that, obj) {
  3842. if (Buffer.isBuffer(obj)) {
  3843. var len = checked(obj.length) | 0
  3844. that = createBuffer(that, len)
  3845. if (that.length === 0) {
  3846. return that
  3847. }
  3848. obj.copy(that, 0, 0, len)
  3849. return that
  3850. }
  3851. if (obj) {
  3852. if ((typeof ArrayBuffer !== 'undefined' &&
  3853. obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
  3854. if (typeof obj.length !== 'number' || isnan(obj.length)) {
  3855. return createBuffer(that, 0)
  3856. }
  3857. return fromArrayLike(that, obj)
  3858. }
  3859. if (obj.type === 'Buffer' && isArray(obj.data)) {
  3860. return fromArrayLike(that, obj.data)
  3861. }
  3862. }
  3863. throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
  3864. }
  3865. function checked (length) {
  3866. // Note: cannot use `length < kMaxLength()` here because that fails when
  3867. // length is NaN (which is otherwise coerced to zero.)
  3868. if (length >= kMaxLength()) {
  3869. throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
  3870. 'size: 0x' + kMaxLength().toString(16) + ' bytes')
  3871. }
  3872. return length | 0
  3873. }
  3874. function SlowBuffer (length) {
  3875. if (+length != length) { // eslint-disable-line eqeqeq
  3876. length = 0
  3877. }
  3878. return Buffer.alloc(+length)
  3879. }
  3880. Buffer.isBuffer = function isBuffer (b) {
  3881. return !!(b != null && b._isBuffer)
  3882. }
  3883. Buffer.compare = function compare (a, b) {
  3884. if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
  3885. throw new TypeError('Arguments must be Buffers')
  3886. }
  3887. if (a === b) return 0
  3888. var x = a.length
  3889. var y = b.length
  3890. for (var i = 0, len = Math.min(x, y); i < len; ++i) {
  3891. if (a[i] !== b[i]) {
  3892. x = a[i]
  3893. y = b[i]
  3894. break
  3895. }
  3896. }
  3897. if (x < y) return -1
  3898. if (y < x) return 1
  3899. return 0
  3900. }
  3901. Buffer.isEncoding = function isEncoding (encoding) {
  3902. switch (String(encoding).toLowerCase()) {
  3903. case 'hex':
  3904. case 'utf8':
  3905. case 'utf-8':
  3906. case 'ascii':
  3907. case 'latin1':
  3908. case 'binary':
  3909. case 'base64':
  3910. case 'ucs2':
  3911. case 'ucs-2':
  3912. case 'utf16le':
  3913. case 'utf-16le':
  3914. return true
  3915. default:
  3916. return false
  3917. }
  3918. }
  3919. Buffer.concat = function concat (list, length) {
  3920. if (!isArray(list)) {
  3921. throw new TypeError('"list" argument must be an Array of Buffers')
  3922. }
  3923. if (list.length === 0) {
  3924. return Buffer.alloc(0)
  3925. }
  3926. var i
  3927. if (length === undefined) {
  3928. length = 0
  3929. for (i = 0; i < list.length; ++i) {
  3930. length += list[i].length
  3931. }
  3932. }
  3933. var buffer = Buffer.allocUnsafe(length)
  3934. var pos = 0
  3935. for (i = 0; i < list.length; ++i) {
  3936. var buf = list[i]
  3937. if (!Buffer.isBuffer(buf)) {
  3938. throw new TypeError('"list" argument must be an Array of Buffers')
  3939. }
  3940. buf.copy(buffer, pos)
  3941. pos += buf.length
  3942. }
  3943. return buffer
  3944. }
  3945. function byteLength (string, encoding) {
  3946. if (Buffer.isBuffer(string)) {
  3947. return string.length
  3948. }
  3949. if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
  3950. (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
  3951. return string.byteLength
  3952. }
  3953. if (typeof string !== 'string') {
  3954. string = '' + string
  3955. }
  3956. var len = string.length
  3957. if (len === 0) return 0
  3958. // Use a for loop to avoid recursion
  3959. var loweredCase = false
  3960. for (;;) {
  3961. switch (encoding) {
  3962. case 'ascii':
  3963. case 'latin1':
  3964. case 'binary':
  3965. return len
  3966. case 'utf8':
  3967. case 'utf-8':
  3968. case undefined:
  3969. return utf8ToBytes(string).length
  3970. case 'ucs2':
  3971. case 'ucs-2':
  3972. case 'utf16le':
  3973. case 'utf-16le':
  3974. return len * 2
  3975. case 'hex':
  3976. return len >>> 1
  3977. case 'base64':
  3978. return base64ToBytes(string).length
  3979. default:
  3980. if (loweredCase) return utf8ToBytes(string).length // assume utf8
  3981. encoding = ('' + encoding).toLowerCase()
  3982. loweredCase = true
  3983. }
  3984. }
  3985. }
  3986. Buffer.byteLength = byteLength
  3987. function slowToString (encoding, start, end) {
  3988. var loweredCase = false
  3989. // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
  3990. // property of a typed array.
  3991. // This behaves neither like String nor Uint8Array in that we set start/end
  3992. // to their upper/lower bounds if the value passed is out of range.
  3993. // undefined is handled specially as per ECMA-262 6th Edition,
  3994. // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
  3995. if (start === undefined || start < 0) {
  3996. start = 0
  3997. }
  3998. // Return early if start > this.length. Done here to prevent potential uint32
  3999. // coercion fail below.
  4000. if (start > this.length) {
  4001. return ''
  4002. }
  4003. if (end === undefined || end > this.length) {
  4004. end = this.length
  4005. }
  4006. if (end <= 0) {
  4007. return ''
  4008. }
  4009. // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
  4010. end >>>= 0
  4011. start >>>= 0
  4012. if (end <= start) {
  4013. return ''
  4014. }
  4015. if (!encoding) encoding = 'utf8'
  4016. while (true) {
  4017. switch (encoding) {
  4018. case 'hex':
  4019. return hexSlice(this, start, end)
  4020. case 'utf8':
  4021. case 'utf-8':
  4022. return utf8Slice(this, start, end)
  4023. case 'ascii':
  4024. return asciiSlice(this, start, end)
  4025. case 'latin1':
  4026. case 'binary':
  4027. return latin1Slice(this, start, end)
  4028. case 'base64':
  4029. return base64Slice(this, start, end)
  4030. case 'ucs2':
  4031. case 'ucs-2':
  4032. case 'utf16le':
  4033. case 'utf-16le':
  4034. return utf16leSlice(this, start, end)
  4035. default:
  4036. if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
  4037. encoding = (encoding + '').toLowerCase()
  4038. loweredCase = true
  4039. }
  4040. }
  4041. }
  4042. // The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
  4043. // Buffer instances.
  4044. Buffer.prototype._isBuffer = true
  4045. function swap (b, n, m) {
  4046. var i = b[n]
  4047. b[n] = b[m]
  4048. b[m] = i
  4049. }
  4050. Buffer.prototype.swap16 = function swap16 () {
  4051. var len = this.length
  4052. if (len % 2 !== 0) {
  4053. throw new RangeError('Buffer size must be a multiple of 16-bits')
  4054. }
  4055. for (var i = 0; i < len; i += 2) {
  4056. swap(this, i, i + 1)
  4057. }
  4058. return this
  4059. }
  4060. Buffer.prototype.swap32 = function swap32 () {
  4061. var len = this.length
  4062. if (len % 4 !== 0) {
  4063. throw new RangeError('Buffer size must be a multiple of 32-bits')
  4064. }
  4065. for (var i = 0; i < len; i += 4) {
  4066. swap(this, i, i + 3)
  4067. swap(this, i + 1, i + 2)
  4068. }
  4069. return this
  4070. }
  4071. Buffer.prototype.swap64 = function swap64 () {
  4072. var len = this.length
  4073. if (len % 8 !== 0) {
  4074. throw new RangeError('Buffer size must be a multiple of 64-bits')
  4075. }
  4076. for (var i = 0; i < len; i += 8) {
  4077. swap(this, i, i + 7)
  4078. swap(this, i + 1, i + 6)
  4079. swap(this, i + 2, i + 5)
  4080. swap(this, i + 3, i + 4)
  4081. }
  4082. return this
  4083. }
  4084. Buffer.prototype.toString = function toString () {
  4085. var length = this.length | 0
  4086. if (length === 0) return ''
  4087. if (arguments.length === 0) return utf8Slice(this, 0, length)
  4088. return slowToString.apply(this, arguments)
  4089. }
  4090. Buffer.prototype.equals = function equals (b) {
  4091. if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
  4092. if (this === b) return true
  4093. return Buffer.compare(this, b) === 0
  4094. }
  4095. Buffer.prototype.inspect = function inspect () {
  4096. var str = ''
  4097. var max = exports.INSPECT_MAX_BYTES
  4098. if (this.length > 0) {
  4099. str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
  4100. if (this.length > max) str += ' ... '
  4101. }
  4102. return '<Buffer ' + str + '>'
  4103. }
  4104. Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
  4105. if (!Buffer.isBuffer(target)) {
  4106. throw new TypeError('Argument must be a Buffer')
  4107. }
  4108. if (start === undefined) {
  4109. start = 0
  4110. }
  4111. if (end === undefined) {
  4112. end = target ? target.length : 0
  4113. }
  4114. if (thisStart === undefined) {
  4115. thisStart = 0
  4116. }
  4117. if (thisEnd === undefined) {
  4118. thisEnd = this.length
  4119. }
  4120. if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
  4121. throw new RangeError('out of range index')
  4122. }
  4123. if (thisStart >= thisEnd && start >= end) {
  4124. return 0
  4125. }
  4126. if (thisStart >= thisEnd) {
  4127. return -1
  4128. }
  4129. if (start >= end) {
  4130. return 1
  4131. }
  4132. start >>>= 0
  4133. end >>>= 0
  4134. thisStart >>>= 0
  4135. thisEnd >>>= 0
  4136. if (this === target) return 0
  4137. var x = thisEnd - thisStart
  4138. var y = end - start
  4139. var len = Math.min(x, y)
  4140. var thisCopy = this.slice(thisStart, thisEnd)
  4141. var targetCopy = target.slice(start, end)
  4142. for (var i = 0; i < len; ++i) {
  4143. if (thisCopy[i] !== targetCopy[i]) {
  4144. x = thisCopy[i]
  4145. y = targetCopy[i]
  4146. break
  4147. }
  4148. }
  4149. if (x < y) return -1
  4150. if (y < x) return 1
  4151. return 0
  4152. }
  4153. // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
  4154. // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
  4155. //
  4156. // Arguments:
  4157. // - buffer - a Buffer to search
  4158. // - val - a string, Buffer, or number
  4159. // - byteOffset - an index into `buffer`; will be clamped to an int32
  4160. // - encoding - an optional encoding, relevant is val is a string
  4161. // - dir - true for indexOf, false for lastIndexOf
  4162. function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
  4163. // Empty buffer means no match
  4164. if (buffer.length === 0) return -1
  4165. // Normalize byteOffset
  4166. if (typeof byteOffset === 'string') {
  4167. encoding = byteOffset
  4168. byteOffset = 0
  4169. } else if (byteOffset > 0x7fffffff) {
  4170. byteOffset = 0x7fffffff
  4171. } else if (byteOffset < -0x80000000) {
  4172. byteOffset = -0x80000000
  4173. }
  4174. byteOffset = +byteOffset // Coerce to Number.
  4175. if (isNaN(byteOffset)) {
  4176. // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
  4177. byteOffset = dir ? 0 : (buffer.length - 1)
  4178. }
  4179. // Normalize byteOffset: negative offsets start from the end of the buffer
  4180. if (byteOffset < 0) byteOffset = buffer.length + byteOffset
  4181. if (byteOffset >= buffer.length) {
  4182. if (dir) return -1
  4183. else byteOffset = buffer.length - 1
  4184. } else if (byteOffset < 0) {
  4185. if (dir) byteOffset = 0
  4186. else return -1
  4187. }
  4188. // Normalize val
  4189. if (typeof val === 'string') {
  4190. val = Buffer.from(val, encoding)
  4191. }
  4192. // Finally, search either indexOf (if dir is true) or lastIndexOf
  4193. if (Buffer.isBuffer(val)) {
  4194. // Special case: looking for empty string/buffer always fails
  4195. if (val.length === 0) {
  4196. return -1
  4197. }
  4198. return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
  4199. } else if (typeof val === 'number') {
  4200. val = val & 0xFF // Search for a byte value [0-255]
  4201. if (Buffer.TYPED_ARRAY_SUPPORT &&
  4202. typeof Uint8Array.prototype.indexOf === 'function') {
  4203. if (dir) {
  4204. return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
  4205. } else {
  4206. return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
  4207. }
  4208. }
  4209. return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
  4210. }
  4211. throw new TypeError('val must be string, number or Buffer')
  4212. }
  4213. function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
  4214. var indexSize = 1
  4215. var arrLength = arr.length
  4216. var valLength = val.length
  4217. if (encoding !== undefined) {
  4218. encoding = String(encoding).toLowerCase()
  4219. if (encoding === 'ucs2' || encoding === 'ucs-2' ||
  4220. encoding === 'utf16le' || encoding === 'utf-16le') {
  4221. if (arr.length < 2 || val.length < 2) {
  4222. return -1
  4223. }
  4224. indexSize = 2
  4225. arrLength /= 2
  4226. valLength /= 2
  4227. byteOffset /= 2
  4228. }
  4229. }
  4230. function read (buf, i) {
  4231. if (indexSize === 1) {
  4232. return buf[i]
  4233. } else {
  4234. return buf.readUInt16BE(i * indexSize)
  4235. }
  4236. }
  4237. var i
  4238. if (dir) {
  4239. var foundIndex = -1
  4240. for (i = byteOffset; i < arrLength; i++) {
  4241. if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
  4242. if (foundIndex === -1) foundIndex = i
  4243. if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
  4244. } else {
  4245. if (foundIndex !== -1) i -= i - foundIndex
  4246. foundIndex = -1
  4247. }
  4248. }
  4249. } else {
  4250. if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
  4251. for (i = byteOffset; i >= 0; i--) {
  4252. var found = true
  4253. for (var j = 0; j < valLength; j++) {
  4254. if (read(arr, i + j) !== read(val, j)) {
  4255. found = false
  4256. break
  4257. }
  4258. }
  4259. if (found) return i
  4260. }
  4261. }
  4262. return -1
  4263. }
  4264. Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
  4265. return this.indexOf(val, byteOffset, encoding) !== -1
  4266. }
  4267. Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
  4268. return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
  4269. }
  4270. Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
  4271. return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
  4272. }
  4273. function hexWrite (buf, string, offset, length) {
  4274. offset = Number(offset) || 0
  4275. var remaining = buf.length - offset
  4276. if (!length) {
  4277. length = remaining
  4278. } else {
  4279. length = Number(length)
  4280. if (length > remaining) {
  4281. length = remaining
  4282. }
  4283. }
  4284. // must be an even number of digits
  4285. var strLen = string.length
  4286. if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
  4287. if (length > strLen / 2) {
  4288. length = strLen / 2
  4289. }
  4290. for (var i = 0; i < length; ++i) {
  4291. var parsed = parseInt(string.substr(i * 2, 2), 16)
  4292. if (isNaN(parsed)) return i
  4293. buf[offset + i] = parsed
  4294. }
  4295. return i
  4296. }
  4297. function utf8Write (buf, string, offset, length) {
  4298. return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
  4299. }
  4300. function asciiWrite (buf, string, offset, length) {
  4301. return blitBuffer(asciiToBytes(string), buf, offset, length)
  4302. }
  4303. function latin1Write (buf, string, offset, length) {
  4304. return asciiWrite(buf, string, offset, length)
  4305. }
  4306. function base64Write (buf, string, offset, length) {
  4307. return blitBuffer(base64ToBytes(string), buf, offset, length)
  4308. }
  4309. function ucs2Write (buf, string, offset, length) {
  4310. return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
  4311. }
  4312. Buffer.prototype.write = function write (string, offset, length, encoding) {
  4313. // Buffer#write(string)
  4314. if (offset === undefined) {
  4315. encoding = 'utf8'
  4316. length = this.length
  4317. offset = 0
  4318. // Buffer#write(string, encoding)
  4319. } else if (length === undefined && typeof offset === 'string') {
  4320. encoding = offset
  4321. length = this.length
  4322. offset = 0
  4323. // Buffer#write(string, offset[, length][, encoding])
  4324. } else if (isFinite(offset)) {
  4325. offset = offset | 0
  4326. if (isFinite(length)) {
  4327. length = length | 0
  4328. if (encoding === undefined) encoding = 'utf8'
  4329. } else {
  4330. encoding = length
  4331. length = undefined
  4332. }
  4333. // legacy write(string, encoding, offset, length) - remove in v0.13
  4334. } else {
  4335. throw new Error(
  4336. 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
  4337. )
  4338. }
  4339. var remaining = this.length - offset
  4340. if (length === undefined || length > remaining) length = remaining
  4341. if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
  4342. throw new RangeError('Attempt to write outside buffer bounds')
  4343. }
  4344. if (!encoding) encoding = 'utf8'
  4345. var loweredCase = false
  4346. for (;;) {
  4347. switch (encoding) {
  4348. case 'hex':
  4349. return hexWrite(this, string, offset, length)
  4350. case 'utf8':
  4351. case 'utf-8':
  4352. return utf8Write(this, string, offset, length)
  4353. case 'ascii':
  4354. return asciiWrite(this, string, offset, length)
  4355. case 'latin1':
  4356. case 'binary':
  4357. return latin1Write(this, string, offset, length)
  4358. case 'base64':
  4359. // Warning: maxLength not taken into account in base64Write
  4360. return base64Write(this, string, offset, length)
  4361. case 'ucs2':
  4362. case 'ucs-2':
  4363. case 'utf16le':
  4364. case 'utf-16le':
  4365. return ucs2Write(this, string, offset, length)
  4366. default:
  4367. if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
  4368. encoding = ('' + encoding).toLowerCase()
  4369. loweredCase = true
  4370. }
  4371. }
  4372. }
  4373. Buffer.prototype.toJSON = function toJSON () {
  4374. return {
  4375. type: 'Buffer',
  4376. data: Array.prototype.slice.call(this._arr || this, 0)
  4377. }
  4378. }
  4379. function base64Slice (buf, start, end) {
  4380. if (start === 0 && end === buf.length) {
  4381. return base64.fromByteArray(buf)
  4382. } else {
  4383. return base64.fromByteArray(buf.slice(start, end))
  4384. }
  4385. }
  4386. function utf8Slice (buf, start, end) {
  4387. end = Math.min(buf.length, end)
  4388. var res = []
  4389. var i = start
  4390. while (i < end) {
  4391. var firstByte = buf[i]
  4392. var codePoint = null
  4393. var bytesPerSequence = (firstByte > 0xEF) ? 4
  4394. : (firstByte > 0xDF) ? 3
  4395. : (firstByte > 0xBF) ? 2
  4396. : 1
  4397. if (i + bytesPerSequence <= end) {
  4398. var secondByte, thirdByte, fourthByte, tempCodePoint
  4399. switch (bytesPerSequence) {
  4400. case 1:
  4401. if (firstByte < 0x80) {
  4402. codePoint = firstByte
  4403. }
  4404. break
  4405. case 2:
  4406. secondByte = buf[i + 1]
  4407. if ((secondByte & 0xC0) === 0x80) {
  4408. tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
  4409. if (tempCodePoint > 0x7F) {
  4410. codePoint = tempCodePoint
  4411. }
  4412. }
  4413. break
  4414. case 3:
  4415. secondByte = buf[i + 1]
  4416. thirdByte = buf[i + 2]
  4417. if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
  4418. tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
  4419. if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
  4420. codePoint = tempCodePoint
  4421. }
  4422. }
  4423. break
  4424. case 4:
  4425. secondByte = buf[i + 1]
  4426. thirdByte = buf[i + 2]
  4427. fourthByte = buf[i + 3]
  4428. if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
  4429. tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
  4430. if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
  4431. codePoint = tempCodePoint
  4432. }
  4433. }
  4434. }
  4435. }
  4436. if (codePoint === null) {
  4437. // we did not generate a valid codePoint so insert a
  4438. // replacement char (U+FFFD) and advance only 1 byte
  4439. codePoint = 0xFFFD
  4440. bytesPerSequence = 1
  4441. } else if (codePoint > 0xFFFF) {
  4442. // encode to utf16 (surrogate pair dance)
  4443. codePoint -= 0x10000
  4444. res.push(codePoint >>> 10 & 0x3FF | 0xD800)
  4445. codePoint = 0xDC00 | codePoint & 0x3FF
  4446. }
  4447. res.push(codePoint)
  4448. i += bytesPerSequence
  4449. }
  4450. return decodeCodePointsArray(res)
  4451. }
  4452. // Based on http://stackoverflow.com/a/22747272/680742, the browser with
  4453. // the lowest limit is Chrome, with 0x10000 args.
  4454. // We go 1 magnitude less, for safety
  4455. var MAX_ARGUMENTS_LENGTH = 0x1000
  4456. function decodeCodePointsArray (codePoints) {
  4457. var len = codePoints.length
  4458. if (len <= MAX_ARGUMENTS_LENGTH) {
  4459. return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
  4460. }
  4461. // Decode in chunks to avoid "call stack size exceeded".
  4462. var res = ''
  4463. var i = 0
  4464. while (i < len) {
  4465. res += String.fromCharCode.apply(
  4466. String,
  4467. codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
  4468. )
  4469. }
  4470. return res
  4471. }
  4472. function asciiSlice (buf, start, end) {
  4473. var ret = ''
  4474. end = Math.min(buf.length, end)
  4475. for (var i = start; i < end; ++i) {
  4476. ret += String.fromCharCode(buf[i] & 0x7F)
  4477. }
  4478. return ret
  4479. }
  4480. function latin1Slice (buf, start, end) {
  4481. var ret = ''
  4482. end = Math.min(buf.length, end)
  4483. for (var i = start; i < end; ++i) {
  4484. ret += String.fromCharCode(buf[i])
  4485. }
  4486. return ret
  4487. }
  4488. function hexSlice (buf, start, end) {
  4489. var len = buf.length
  4490. if (!start || start < 0) start = 0
  4491. if (!end || end < 0 || end > len) end = len
  4492. var out = ''
  4493. for (var i = start; i < end; ++i) {
  4494. out += toHex(buf[i])
  4495. }
  4496. return out
  4497. }
  4498. function utf16leSlice (buf, start, end) {
  4499. var bytes = buf.slice(start, end)
  4500. var res = ''
  4501. for (var i = 0; i < bytes.length; i += 2) {
  4502. res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
  4503. }
  4504. return res
  4505. }
  4506. Buffer.prototype.slice = function slice (start, end) {
  4507. var len = this.length
  4508. start = ~~start
  4509. end = end === undefined ? len : ~~end
  4510. if (start < 0) {
  4511. start += len
  4512. if (start < 0) start = 0
  4513. } else if (start > len) {
  4514. start = len
  4515. }
  4516. if (end < 0) {
  4517. end += len
  4518. if (end < 0) end = 0
  4519. } else if (end > len) {
  4520. end = len
  4521. }
  4522. if (end < start) end = start
  4523. var newBuf
  4524. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4525. newBuf = this.subarray(start, end)
  4526. newBuf.__proto__ = Buffer.prototype
  4527. } else {
  4528. var sliceLen = end - start
  4529. newBuf = new Buffer(sliceLen, undefined)
  4530. for (var i = 0; i < sliceLen; ++i) {
  4531. newBuf[i] = this[i + start]
  4532. }
  4533. }
  4534. return newBuf
  4535. }
  4536. /*
  4537. * Need to make sure that buffer isn't trying to write out of bounds.
  4538. */
  4539. function checkOffset (offset, ext, length) {
  4540. if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
  4541. if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
  4542. }
  4543. Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
  4544. offset = offset | 0
  4545. byteLength = byteLength | 0
  4546. if (!noAssert) checkOffset(offset, byteLength, this.length)
  4547. var val = this[offset]
  4548. var mul = 1
  4549. var i = 0
  4550. while (++i < byteLength && (mul *= 0x100)) {
  4551. val += this[offset + i] * mul
  4552. }
  4553. return val
  4554. }
  4555. Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
  4556. offset = offset | 0
  4557. byteLength = byteLength | 0
  4558. if (!noAssert) {
  4559. checkOffset(offset, byteLength, this.length)
  4560. }
  4561. var val = this[offset + --byteLength]
  4562. var mul = 1
  4563. while (byteLength > 0 && (mul *= 0x100)) {
  4564. val += this[offset + --byteLength] * mul
  4565. }
  4566. return val
  4567. }
  4568. Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
  4569. if (!noAssert) checkOffset(offset, 1, this.length)
  4570. return this[offset]
  4571. }
  4572. Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
  4573. if (!noAssert) checkOffset(offset, 2, this.length)
  4574. return this[offset] | (this[offset + 1] << 8)
  4575. }
  4576. Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
  4577. if (!noAssert) checkOffset(offset, 2, this.length)
  4578. return (this[offset] << 8) | this[offset + 1]
  4579. }
  4580. Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
  4581. if (!noAssert) checkOffset(offset, 4, this.length)
  4582. return ((this[offset]) |
  4583. (this[offset + 1] << 8) |
  4584. (this[offset + 2] << 16)) +
  4585. (this[offset + 3] * 0x1000000)
  4586. }
  4587. Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
  4588. if (!noAssert) checkOffset(offset, 4, this.length)
  4589. return (this[offset] * 0x1000000) +
  4590. ((this[offset + 1] << 16) |
  4591. (this[offset + 2] << 8) |
  4592. this[offset + 3])
  4593. }
  4594. Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
  4595. offset = offset | 0
  4596. byteLength = byteLength | 0
  4597. if (!noAssert) checkOffset(offset, byteLength, this.length)
  4598. var val = this[offset]
  4599. var mul = 1
  4600. var i = 0
  4601. while (++i < byteLength && (mul *= 0x100)) {
  4602. val += this[offset + i] * mul
  4603. }
  4604. mul *= 0x80
  4605. if (val >= mul) val -= Math.pow(2, 8 * byteLength)
  4606. return val
  4607. }
  4608. Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
  4609. offset = offset | 0
  4610. byteLength = byteLength | 0
  4611. if (!noAssert) checkOffset(offset, byteLength, this.length)
  4612. var i = byteLength
  4613. var mul = 1
  4614. var val = this[offset + --i]
  4615. while (i > 0 && (mul *= 0x100)) {
  4616. val += this[offset + --i] * mul
  4617. }
  4618. mul *= 0x80
  4619. if (val >= mul) val -= Math.pow(2, 8 * byteLength)
  4620. return val
  4621. }
  4622. Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
  4623. if (!noAssert) checkOffset(offset, 1, this.length)
  4624. if (!(this[offset] & 0x80)) return (this[offset])
  4625. return ((0xff - this[offset] + 1) * -1)
  4626. }
  4627. Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
  4628. if (!noAssert) checkOffset(offset, 2, this.length)
  4629. var val = this[offset] | (this[offset + 1] << 8)
  4630. return (val & 0x8000) ? val | 0xFFFF0000 : val
  4631. }
  4632. Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
  4633. if (!noAssert) checkOffset(offset, 2, this.length)
  4634. var val = this[offset + 1] | (this[offset] << 8)
  4635. return (val & 0x8000) ? val | 0xFFFF0000 : val
  4636. }
  4637. Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
  4638. if (!noAssert) checkOffset(offset, 4, this.length)
  4639. return (this[offset]) |
  4640. (this[offset + 1] << 8) |
  4641. (this[offset + 2] << 16) |
  4642. (this[offset + 3] << 24)
  4643. }
  4644. Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
  4645. if (!noAssert) checkOffset(offset, 4, this.length)
  4646. return (this[offset] << 24) |
  4647. (this[offset + 1] << 16) |
  4648. (this[offset + 2] << 8) |
  4649. (this[offset + 3])
  4650. }
  4651. Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
  4652. if (!noAssert) checkOffset(offset, 4, this.length)
  4653. return ieee754.read(this, offset, true, 23, 4)
  4654. }
  4655. Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
  4656. if (!noAssert) checkOffset(offset, 4, this.length)
  4657. return ieee754.read(this, offset, false, 23, 4)
  4658. }
  4659. Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
  4660. if (!noAssert) checkOffset(offset, 8, this.length)
  4661. return ieee754.read(this, offset, true, 52, 8)
  4662. }
  4663. Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
  4664. if (!noAssert) checkOffset(offset, 8, this.length)
  4665. return ieee754.read(this, offset, false, 52, 8)
  4666. }
  4667. function checkInt (buf, value, offset, ext, max, min) {
  4668. if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
  4669. if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
  4670. if (offset + ext > buf.length) throw new RangeError('Index out of range')
  4671. }
  4672. Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
  4673. value = +value
  4674. offset = offset | 0
  4675. byteLength = byteLength | 0
  4676. if (!noAssert) {
  4677. var maxBytes = Math.pow(2, 8 * byteLength) - 1
  4678. checkInt(this, value, offset, byteLength, maxBytes, 0)
  4679. }
  4680. var mul = 1
  4681. var i = 0
  4682. this[offset] = value & 0xFF
  4683. while (++i < byteLength && (mul *= 0x100)) {
  4684. this[offset + i] = (value / mul) & 0xFF
  4685. }
  4686. return offset + byteLength
  4687. }
  4688. Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
  4689. value = +value
  4690. offset = offset | 0
  4691. byteLength = byteLength | 0
  4692. if (!noAssert) {
  4693. var maxBytes = Math.pow(2, 8 * byteLength) - 1
  4694. checkInt(this, value, offset, byteLength, maxBytes, 0)
  4695. }
  4696. var i = byteLength - 1
  4697. var mul = 1
  4698. this[offset + i] = value & 0xFF
  4699. while (--i >= 0 && (mul *= 0x100)) {
  4700. this[offset + i] = (value / mul) & 0xFF
  4701. }
  4702. return offset + byteLength
  4703. }
  4704. Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
  4705. value = +value
  4706. offset = offset | 0
  4707. if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
  4708. if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  4709. this[offset] = (value & 0xff)
  4710. return offset + 1
  4711. }
  4712. function objectWriteUInt16 (buf, value, offset, littleEndian) {
  4713. if (value < 0) value = 0xffff + value + 1
  4714. for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
  4715. buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
  4716. (littleEndian ? i : 1 - i) * 8
  4717. }
  4718. }
  4719. Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
  4720. value = +value
  4721. offset = offset | 0
  4722. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  4723. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4724. this[offset] = (value & 0xff)
  4725. this[offset + 1] = (value >>> 8)
  4726. } else {
  4727. objectWriteUInt16(this, value, offset, true)
  4728. }
  4729. return offset + 2
  4730. }
  4731. Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
  4732. value = +value
  4733. offset = offset | 0
  4734. if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  4735. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4736. this[offset] = (value >>> 8)
  4737. this[offset + 1] = (value & 0xff)
  4738. } else {
  4739. objectWriteUInt16(this, value, offset, false)
  4740. }
  4741. return offset + 2
  4742. }
  4743. function objectWriteUInt32 (buf, value, offset, littleEndian) {
  4744. if (value < 0) value = 0xffffffff + value + 1
  4745. for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
  4746. buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
  4747. }
  4748. }
  4749. Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
  4750. value = +value
  4751. offset = offset | 0
  4752. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  4753. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4754. this[offset + 3] = (value >>> 24)
  4755. this[offset + 2] = (value >>> 16)
  4756. this[offset + 1] = (value >>> 8)
  4757. this[offset] = (value & 0xff)
  4758. } else {
  4759. objectWriteUInt32(this, value, offset, true)
  4760. }
  4761. return offset + 4
  4762. }
  4763. Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
  4764. value = +value
  4765. offset = offset | 0
  4766. if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  4767. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4768. this[offset] = (value >>> 24)
  4769. this[offset + 1] = (value >>> 16)
  4770. this[offset + 2] = (value >>> 8)
  4771. this[offset + 3] = (value & 0xff)
  4772. } else {
  4773. objectWriteUInt32(this, value, offset, false)
  4774. }
  4775. return offset + 4
  4776. }
  4777. Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
  4778. value = +value
  4779. offset = offset | 0
  4780. if (!noAssert) {
  4781. var limit = Math.pow(2, 8 * byteLength - 1)
  4782. checkInt(this, value, offset, byteLength, limit - 1, -limit)
  4783. }
  4784. var i = 0
  4785. var mul = 1
  4786. var sub = 0
  4787. this[offset] = value & 0xFF
  4788. while (++i < byteLength && (mul *= 0x100)) {
  4789. if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
  4790. sub = 1
  4791. }
  4792. this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  4793. }
  4794. return offset + byteLength
  4795. }
  4796. Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
  4797. value = +value
  4798. offset = offset | 0
  4799. if (!noAssert) {
  4800. var limit = Math.pow(2, 8 * byteLength - 1)
  4801. checkInt(this, value, offset, byteLength, limit - 1, -limit)
  4802. }
  4803. var i = byteLength - 1
  4804. var mul = 1
  4805. var sub = 0
  4806. this[offset + i] = value & 0xFF
  4807. while (--i >= 0 && (mul *= 0x100)) {
  4808. if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
  4809. sub = 1
  4810. }
  4811. this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  4812. }
  4813. return offset + byteLength
  4814. }
  4815. Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
  4816. value = +value
  4817. offset = offset | 0
  4818. if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
  4819. if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  4820. if (value < 0) value = 0xff + value + 1
  4821. this[offset] = (value & 0xff)
  4822. return offset + 1
  4823. }
  4824. Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
  4825. value = +value
  4826. offset = offset | 0
  4827. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  4828. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4829. this[offset] = (value & 0xff)
  4830. this[offset + 1] = (value >>> 8)
  4831. } else {
  4832. objectWriteUInt16(this, value, offset, true)
  4833. }
  4834. return offset + 2
  4835. }
  4836. Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
  4837. value = +value
  4838. offset = offset | 0
  4839. if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  4840. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4841. this[offset] = (value >>> 8)
  4842. this[offset + 1] = (value & 0xff)
  4843. } else {
  4844. objectWriteUInt16(this, value, offset, false)
  4845. }
  4846. return offset + 2
  4847. }
  4848. Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
  4849. value = +value
  4850. offset = offset | 0
  4851. if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  4852. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4853. this[offset] = (value & 0xff)
  4854. this[offset + 1] = (value >>> 8)
  4855. this[offset + 2] = (value >>> 16)
  4856. this[offset + 3] = (value >>> 24)
  4857. } else {
  4858. objectWriteUInt32(this, value, offset, true)
  4859. }
  4860. return offset + 4
  4861. }
  4862. Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
  4863. value = +value
  4864. offset = offset | 0
  4865. if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  4866. if (value < 0) value = 0xffffffff + value + 1
  4867. if (Buffer.TYPED_ARRAY_SUPPORT) {
  4868. this[offset] = (value >>> 24)
  4869. this[offset + 1] = (value >>> 16)
  4870. this[offset + 2] = (value >>> 8)
  4871. this[offset + 3] = (value & 0xff)
  4872. } else {
  4873. objectWriteUInt32(this, value, offset, false)
  4874. }
  4875. return offset + 4
  4876. }
  4877. function checkIEEE754 (buf, value, offset, ext, max, min) {
  4878. if (offset + ext > buf.length) throw new RangeError('Index out of range')
  4879. if (offset < 0) throw new RangeError('Index out of range')
  4880. }
  4881. function writeFloat (buf, value, offset, littleEndian, noAssert) {
  4882. if (!noAssert) {
  4883. checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
  4884. }
  4885. ieee754.write(buf, value, offset, littleEndian, 23, 4)
  4886. return offset + 4
  4887. }
  4888. Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
  4889. return writeFloat(this, value, offset, true, noAssert)
  4890. }
  4891. Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
  4892. return writeFloat(this, value, offset, false, noAssert)
  4893. }
  4894. function writeDouble (buf, value, offset, littleEndian, noAssert) {
  4895. if (!noAssert) {
  4896. checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
  4897. }
  4898. ieee754.write(buf, value, offset, littleEndian, 52, 8)
  4899. return offset + 8
  4900. }
  4901. Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
  4902. return writeDouble(this, value, offset, true, noAssert)
  4903. }
  4904. Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
  4905. return writeDouble(this, value, offset, false, noAssert)
  4906. }
  4907. // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
  4908. Buffer.prototype.copy = function copy (target, targetStart, start, end) {
  4909. if (!start) start = 0
  4910. if (!end && end !== 0) end = this.length
  4911. if (targetStart >= target.length) targetStart = target.length
  4912. if (!targetStart) targetStart = 0
  4913. if (end > 0 && end < start) end = start
  4914. // Copy 0 bytes; we're done
  4915. if (end === start) return 0
  4916. if (target.length === 0 || this.length === 0) return 0
  4917. // Fatal error conditions
  4918. if (targetStart < 0) {
  4919. throw new RangeError('targetStart out of bounds')
  4920. }
  4921. if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
  4922. if (end < 0) throw new RangeError('sourceEnd out of bounds')
  4923. // Are we oob?
  4924. if (end > this.length) end = this.length
  4925. if (target.length - targetStart < end - start) {
  4926. end = target.length - targetStart + start
  4927. }
  4928. var len = end - start
  4929. var i
  4930. if (this === target && start < targetStart && targetStart < end) {
  4931. // descending copy from end
  4932. for (i = len - 1; i >= 0; --i) {
  4933. target[i + targetStart] = this[i + start]
  4934. }
  4935. } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
  4936. // ascending copy from start
  4937. for (i = 0; i < len; ++i) {
  4938. target[i + targetStart] = this[i + start]
  4939. }
  4940. } else {
  4941. Uint8Array.prototype.set.call(
  4942. target,
  4943. this.subarray(start, start + len),
  4944. targetStart
  4945. )
  4946. }
  4947. return len
  4948. }
  4949. // Usage:
  4950. // buffer.fill(number[, offset[, end]])
  4951. // buffer.fill(buffer[, offset[, end]])
  4952. // buffer.fill(string[, offset[, end]][, encoding])
  4953. Buffer.prototype.fill = function fill (val, start, end, encoding) {
  4954. // Handle string cases:
  4955. if (typeof val === 'string') {
  4956. if (typeof start === 'string') {
  4957. encoding = start
  4958. start = 0
  4959. end = this.length
  4960. } else if (typeof end === 'string') {
  4961. encoding = end
  4962. end = this.length
  4963. }
  4964. if (val.length === 1) {
  4965. var code = val.charCodeAt(0)
  4966. if (code < 256) {
  4967. val = code
  4968. }
  4969. }
  4970. if (encoding !== undefined && typeof encoding !== 'string') {
  4971. throw new TypeError('encoding must be a string')
  4972. }
  4973. if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
  4974. throw new TypeError('Unknown encoding: ' + encoding)
  4975. }
  4976. } else if (typeof val === 'number') {
  4977. val = val & 255
  4978. }
  4979. // Invalid ranges are not set to a default, so can range check early.
  4980. if (start < 0 || this.length < start || this.length < end) {
  4981. throw new RangeError('Out of range index')
  4982. }
  4983. if (end <= start) {
  4984. return this
  4985. }
  4986. start = start >>> 0
  4987. end = end === undefined ? this.length : end >>> 0
  4988. if (!val) val = 0
  4989. var i
  4990. if (typeof val === 'number') {
  4991. for (i = start; i < end; ++i) {
  4992. this[i] = val
  4993. }
  4994. } else {
  4995. var bytes = Buffer.isBuffer(val)
  4996. ? val
  4997. : utf8ToBytes(new Buffer(val, encoding).toString())
  4998. var len = bytes.length
  4999. for (i = 0; i < end - start; ++i) {
  5000. this[i + start] = bytes[i % len]
  5001. }
  5002. }
  5003. return this
  5004. }
  5005. // HELPER FUNCTIONS
  5006. // ================
  5007. var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
  5008. function base64clean (str) {
  5009. // Node strips out invalid characters like \n and \t from the string, base64-js does not
  5010. str = stringtrim(str).replace(INVALID_BASE64_RE, '')
  5011. // Node converts strings with length < 2 to ''
  5012. if (str.length < 2) return ''
  5013. // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
  5014. while (str.length % 4 !== 0) {
  5015. str = str + '='
  5016. }
  5017. return str
  5018. }
  5019. function stringtrim (str) {
  5020. if (str.trim) return str.trim()
  5021. return str.replace(/^\s+|\s+$/g, '')
  5022. }
  5023. function toHex (n) {
  5024. if (n < 16) return '0' + n.toString(16)
  5025. return n.toString(16)
  5026. }
  5027. function utf8ToBytes (string, units) {
  5028. units = units || Infinity
  5029. var codePoint
  5030. var length = string.length
  5031. var leadSurrogate = null
  5032. var bytes = []
  5033. for (var i = 0; i < length; ++i) {
  5034. codePoint = string.charCodeAt(i)
  5035. // is surrogate component
  5036. if (codePoint > 0xD7FF && codePoint < 0xE000) {
  5037. // last char was a lead
  5038. if (!leadSurrogate) {
  5039. // no lead yet
  5040. if (codePoint > 0xDBFF) {
  5041. // unexpected trail
  5042. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  5043. continue
  5044. } else if (i + 1 === length) {
  5045. // unpaired lead
  5046. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  5047. continue
  5048. }
  5049. // valid lead
  5050. leadSurrogate = codePoint
  5051. continue
  5052. }
  5053. // 2 leads in a row
  5054. if (codePoint < 0xDC00) {
  5055. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  5056. leadSurrogate = codePoint
  5057. continue
  5058. }
  5059. // valid surrogate pair
  5060. codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
  5061. } else if (leadSurrogate) {
  5062. // valid bmp char, but last char was a lead
  5063. if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
  5064. }
  5065. leadSurrogate = null
  5066. // encode utf8
  5067. if (codePoint < 0x80) {
  5068. if ((units -= 1) < 0) break
  5069. bytes.push(codePoint)
  5070. } else if (codePoint < 0x800) {
  5071. if ((units -= 2) < 0) break
  5072. bytes.push(
  5073. codePoint >> 0x6 | 0xC0,
  5074. codePoint & 0x3F | 0x80
  5075. )
  5076. } else if (codePoint < 0x10000) {
  5077. if ((units -= 3) < 0) break
  5078. bytes.push(
  5079. codePoint >> 0xC | 0xE0,
  5080. codePoint >> 0x6 & 0x3F | 0x80,
  5081. codePoint & 0x3F | 0x80
  5082. )
  5083. } else if (codePoint < 0x110000) {
  5084. if ((units -= 4) < 0) break
  5085. bytes.push(
  5086. codePoint >> 0x12 | 0xF0,
  5087. codePoint >> 0xC & 0x3F | 0x80,
  5088. codePoint >> 0x6 & 0x3F | 0x80,
  5089. codePoint & 0x3F | 0x80
  5090. )
  5091. } else {
  5092. throw new Error('Invalid code point')
  5093. }
  5094. }
  5095. return bytes
  5096. }
  5097. function asciiToBytes (str) {
  5098. var byteArray = []
  5099. for (var i = 0; i < str.length; ++i) {
  5100. // Node's code seems to be doing this and not & 0x7F..
  5101. byteArray.push(str.charCodeAt(i) & 0xFF)
  5102. }
  5103. return byteArray
  5104. }
  5105. function utf16leToBytes (str, units) {
  5106. var c, hi, lo
  5107. var byteArray = []
  5108. for (var i = 0; i < str.length; ++i) {
  5109. if ((units -= 2) < 0) break
  5110. c = str.charCodeAt(i)
  5111. hi = c >> 8
  5112. lo = c % 256
  5113. byteArray.push(lo)
  5114. byteArray.push(hi)
  5115. }
  5116. return byteArray
  5117. }
  5118. function base64ToBytes (str) {
  5119. return base64.toByteArray(base64clean(str))
  5120. }
  5121. function blitBuffer (src, dst, offset, length) {
  5122. for (var i = 0; i < length; ++i) {
  5123. if ((i + offset >= dst.length) || (i >= src.length)) break
  5124. dst[i + offset] = src[i]
  5125. }
  5126. return i
  5127. }
  5128. function isnan (val) {
  5129. return val !== val // eslint-disable-line no-self-compare
  5130. }
  5131. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 11)))
  5132. /***/ }),
  5133. /* 62 */
  5134. /*!*****************************************!*\
  5135. !*** ./node_modules/base64-js/index.js ***!
  5136. \*****************************************/
  5137. /*! no static exports found */
  5138. /***/ (function(module, exports, __webpack_require__) {
  5139. "use strict";
  5140. exports.byteLength = byteLength
  5141. exports.toByteArray = toByteArray
  5142. exports.fromByteArray = fromByteArray
  5143. var lookup = []
  5144. var revLookup = []
  5145. var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
  5146. var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
  5147. for (var i = 0, len = code.length; i < len; ++i) {
  5148. lookup[i] = code[i]
  5149. revLookup[code.charCodeAt(i)] = i
  5150. }
  5151. // Support decoding URL-safe base64 strings, as Node.js does.
  5152. // See: https://en.wikipedia.org/wiki/Base64#URL_applications
  5153. revLookup['-'.charCodeAt(0)] = 62
  5154. revLookup['_'.charCodeAt(0)] = 63
  5155. function getLens (b64) {
  5156. var len = b64.length
  5157. if (len % 4 > 0) {
  5158. throw new Error('Invalid string. Length must be a multiple of 4')
  5159. }
  5160. // Trim off extra bytes after placeholder bytes are found
  5161. // See: https://github.com/beatgammit/base64-js/issues/42
  5162. var validLen = b64.indexOf('=')
  5163. if (validLen === -1) validLen = len
  5164. var placeHoldersLen = validLen === len
  5165. ? 0
  5166. : 4 - (validLen % 4)
  5167. return [validLen, placeHoldersLen]
  5168. }
  5169. // base64 is 4/3 + up to two characters of the original data
  5170. function byteLength (b64) {
  5171. var lens = getLens(b64)
  5172. var validLen = lens[0]
  5173. var placeHoldersLen = lens[1]
  5174. return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
  5175. }
  5176. function _byteLength (b64, validLen, placeHoldersLen) {
  5177. return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
  5178. }
  5179. function toByteArray (b64) {
  5180. var tmp
  5181. var lens = getLens(b64)
  5182. var validLen = lens[0]
  5183. var placeHoldersLen = lens[1]
  5184. var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))
  5185. var curByte = 0
  5186. // if there are placeholders, only get up to the last complete 4 chars
  5187. var len = placeHoldersLen > 0
  5188. ? validLen - 4
  5189. : validLen
  5190. var i
  5191. for (i = 0; i < len; i += 4) {
  5192. tmp =
  5193. (revLookup[b64.charCodeAt(i)] << 18) |
  5194. (revLookup[b64.charCodeAt(i + 1)] << 12) |
  5195. (revLookup[b64.charCodeAt(i + 2)] << 6) |
  5196. revLookup[b64.charCodeAt(i + 3)]
  5197. arr[curByte++] = (tmp >> 16) & 0xFF
  5198. arr[curByte++] = (tmp >> 8) & 0xFF
  5199. arr[curByte++] = tmp & 0xFF
  5200. }
  5201. if (placeHoldersLen === 2) {
  5202. tmp =
  5203. (revLookup[b64.charCodeAt(i)] << 2) |
  5204. (revLookup[b64.charCodeAt(i + 1)] >> 4)
  5205. arr[curByte++] = tmp & 0xFF
  5206. }
  5207. if (placeHoldersLen === 1) {
  5208. tmp =
  5209. (revLookup[b64.charCodeAt(i)] << 10) |
  5210. (revLookup[b64.charCodeAt(i + 1)] << 4) |
  5211. (revLookup[b64.charCodeAt(i + 2)] >> 2)
  5212. arr[curByte++] = (tmp >> 8) & 0xFF
  5213. arr[curByte++] = tmp & 0xFF
  5214. }
  5215. return arr
  5216. }
  5217. function tripletToBase64 (num) {
  5218. return lookup[num >> 18 & 0x3F] +
  5219. lookup[num >> 12 & 0x3F] +
  5220. lookup[num >> 6 & 0x3F] +
  5221. lookup[num & 0x3F]
  5222. }
  5223. function encodeChunk (uint8, start, end) {
  5224. var tmp
  5225. var output = []
  5226. for (var i = start; i < end; i += 3) {
  5227. tmp =
  5228. ((uint8[i] << 16) & 0xFF0000) +
  5229. ((uint8[i + 1] << 8) & 0xFF00) +
  5230. (uint8[i + 2] & 0xFF)
  5231. output.push(tripletToBase64(tmp))
  5232. }
  5233. return output.join('')
  5234. }
  5235. function fromByteArray (uint8) {
  5236. var tmp
  5237. var len = uint8.length
  5238. var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
  5239. var parts = []
  5240. var maxChunkLength = 16383 // must be multiple of 3
  5241. // go through the array every three bytes, we'll deal with trailing stuff later
  5242. for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
  5243. parts.push(encodeChunk(
  5244. uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)
  5245. ))
  5246. }
  5247. // pad the end with zeros, but make sure to not forget the extra bytes
  5248. if (extraBytes === 1) {
  5249. tmp = uint8[len - 1]
  5250. parts.push(
  5251. lookup[tmp >> 2] +
  5252. lookup[(tmp << 4) & 0x3F] +
  5253. '=='
  5254. )
  5255. } else if (extraBytes === 2) {
  5256. tmp = (uint8[len - 2] << 8) + uint8[len - 1]
  5257. parts.push(
  5258. lookup[tmp >> 10] +
  5259. lookup[(tmp >> 4) & 0x3F] +
  5260. lookup[(tmp << 2) & 0x3F] +
  5261. '='
  5262. )
  5263. }
  5264. return parts.join('')
  5265. }
  5266. /***/ }),
  5267. /* 63 */
  5268. /*!***************************************!*\
  5269. !*** ./node_modules/ieee754/index.js ***!
  5270. \***************************************/
  5271. /*! no static exports found */
  5272. /***/ (function(module, exports) {
  5273. exports.read = function (buffer, offset, isLE, mLen, nBytes) {
  5274. var e, m
  5275. var eLen = (nBytes * 8) - mLen - 1
  5276. var eMax = (1 << eLen) - 1
  5277. var eBias = eMax >> 1
  5278. var nBits = -7
  5279. var i = isLE ? (nBytes - 1) : 0
  5280. var d = isLE ? -1 : 1
  5281. var s = buffer[offset + i]
  5282. i += d
  5283. e = s & ((1 << (-nBits)) - 1)
  5284. s >>= (-nBits)
  5285. nBits += eLen
  5286. for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
  5287. m = e & ((1 << (-nBits)) - 1)
  5288. e >>= (-nBits)
  5289. nBits += mLen
  5290. for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
  5291. if (e === 0) {
  5292. e = 1 - eBias
  5293. } else if (e === eMax) {
  5294. return m ? NaN : ((s ? -1 : 1) * Infinity)
  5295. } else {
  5296. m = m + Math.pow(2, mLen)
  5297. e = e - eBias
  5298. }
  5299. return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
  5300. }
  5301. exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
  5302. var e, m, c
  5303. var eLen = (nBytes * 8) - mLen - 1
  5304. var eMax = (1 << eLen) - 1
  5305. var eBias = eMax >> 1
  5306. var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
  5307. var i = isLE ? 0 : (nBytes - 1)
  5308. var d = isLE ? 1 : -1
  5309. var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
  5310. value = Math.abs(value)
  5311. if (isNaN(value) || value === Infinity) {
  5312. m = isNaN(value) ? 1 : 0
  5313. e = eMax
  5314. } else {
  5315. e = Math.floor(Math.log(value) / Math.LN2)
  5316. if (value * (c = Math.pow(2, -e)) < 1) {
  5317. e--
  5318. c *= 2
  5319. }
  5320. if (e + eBias >= 1) {
  5321. value += rt / c
  5322. } else {
  5323. value += rt * Math.pow(2, 1 - eBias)
  5324. }
  5325. if (value * c >= 2) {
  5326. e++
  5327. c /= 2
  5328. }
  5329. if (e + eBias >= eMax) {
  5330. m = 0
  5331. e = eMax
  5332. } else if (e + eBias >= 1) {
  5333. m = ((value * c) - 1) * Math.pow(2, mLen)
  5334. e = e + eBias
  5335. } else {
  5336. m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
  5337. e = 0
  5338. }
  5339. }
  5340. for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
  5341. e = (e << mLen) | m
  5342. eLen += mLen
  5343. for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
  5344. buffer[offset + i - d] |= s * 128
  5345. }
  5346. /***/ }),
  5347. /* 64 */
  5348. /*!***************************************!*\
  5349. !*** ./node_modules/isarray/index.js ***!
  5350. \***************************************/
  5351. /*! no static exports found */
  5352. /***/ (function(module, exports) {
  5353. var toString = {}.toString;
  5354. module.exports = Array.isArray || function (arr) {
  5355. return toString.call(arr) == '[object Array]';
  5356. };
  5357. /***/ }),
  5358. /* 65 */
  5359. /*!*********************************************!*\
  5360. !*** ./node_modules/create-hash/browser.js ***!
  5361. \*********************************************/
  5362. /*! no static exports found */
  5363. /***/ (function(module, exports, __webpack_require__) {
  5364. "use strict";
  5365. var inherits = __webpack_require__(/*! inherits */ 66)
  5366. var MD5 = __webpack_require__(/*! md5.js */ 67)
  5367. var RIPEMD160 = __webpack_require__(/*! ripemd160 */ 85)
  5368. var sha = __webpack_require__(/*! sha.js */ 86)
  5369. var Base = __webpack_require__(/*! cipher-base */ 94)
  5370. function Hash (hash) {
  5371. Base.call(this, 'digest')
  5372. this._hash = hash
  5373. }
  5374. inherits(Hash, Base)
  5375. Hash.prototype._update = function (data) {
  5376. this._hash.update(data)
  5377. }
  5378. Hash.prototype._final = function () {
  5379. return this._hash.digest()
  5380. }
  5381. module.exports = function createHash (alg) {
  5382. alg = alg.toLowerCase()
  5383. if (alg === 'md5') return new MD5()
  5384. if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()
  5385. return new Hash(sha(alg))
  5386. }
  5387. /***/ }),
  5388. /* 66 */
  5389. /*!***************************************************!*\
  5390. !*** ./node_modules/inherits/inherits_browser.js ***!
  5391. \***************************************************/
  5392. /*! no static exports found */
  5393. /***/ (function(module, exports) {
  5394. if (typeof Object.create === 'function') {
  5395. // implementation from standard node.js 'util' module
  5396. module.exports = function inherits(ctor, superCtor) {
  5397. if (superCtor) {
  5398. ctor.super_ = superCtor
  5399. ctor.prototype = Object.create(superCtor.prototype, {
  5400. constructor: {
  5401. value: ctor,
  5402. enumerable: false,
  5403. writable: true,
  5404. configurable: true
  5405. }
  5406. })
  5407. }
  5408. };
  5409. } else {
  5410. // old school shim for old browsers
  5411. module.exports = function inherits(ctor, superCtor) {
  5412. if (superCtor) {
  5413. ctor.super_ = superCtor
  5414. var TempCtor = function () {}
  5415. TempCtor.prototype = superCtor.prototype
  5416. ctor.prototype = new TempCtor()
  5417. ctor.prototype.constructor = ctor
  5418. }
  5419. }
  5420. }
  5421. /***/ }),
  5422. /* 67 */
  5423. /*!**************************************!*\
  5424. !*** ./node_modules/md5.js/index.js ***!
  5425. \**************************************/
  5426. /*! no static exports found */
  5427. /***/ (function(module, exports, __webpack_require__) {
  5428. "use strict";
  5429. var inherits = __webpack_require__(/*! inherits */ 66)
  5430. var HashBase = __webpack_require__(/*! hash-base */ 68)
  5431. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  5432. var ARRAY16 = new Array(16)
  5433. function MD5 () {
  5434. HashBase.call(this, 64)
  5435. // state
  5436. this._a = 0x67452301
  5437. this._b = 0xefcdab89
  5438. this._c = 0x98badcfe
  5439. this._d = 0x10325476
  5440. }
  5441. inherits(MD5, HashBase)
  5442. MD5.prototype._update = function () {
  5443. var M = ARRAY16
  5444. for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)
  5445. var a = this._a
  5446. var b = this._b
  5447. var c = this._c
  5448. var d = this._d
  5449. a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)
  5450. d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)
  5451. c = fnF(c, d, a, b, M[2], 0x242070db, 17)
  5452. b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)
  5453. a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)
  5454. d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)
  5455. c = fnF(c, d, a, b, M[6], 0xa8304613, 17)
  5456. b = fnF(b, c, d, a, M[7], 0xfd469501, 22)
  5457. a = fnF(a, b, c, d, M[8], 0x698098d8, 7)
  5458. d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)
  5459. c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)
  5460. b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)
  5461. a = fnF(a, b, c, d, M[12], 0x6b901122, 7)
  5462. d = fnF(d, a, b, c, M[13], 0xfd987193, 12)
  5463. c = fnF(c, d, a, b, M[14], 0xa679438e, 17)
  5464. b = fnF(b, c, d, a, M[15], 0x49b40821, 22)
  5465. a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)
  5466. d = fnG(d, a, b, c, M[6], 0xc040b340, 9)
  5467. c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)
  5468. b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)
  5469. a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)
  5470. d = fnG(d, a, b, c, M[10], 0x02441453, 9)
  5471. c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)
  5472. b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)
  5473. a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)
  5474. d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)
  5475. c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)
  5476. b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)
  5477. a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)
  5478. d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)
  5479. c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)
  5480. b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)
  5481. a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)
  5482. d = fnH(d, a, b, c, M[8], 0x8771f681, 11)
  5483. c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)
  5484. b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)
  5485. a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)
  5486. d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)
  5487. c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)
  5488. b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)
  5489. a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)
  5490. d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)
  5491. c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)
  5492. b = fnH(b, c, d, a, M[6], 0x04881d05, 23)
  5493. a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)
  5494. d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)
  5495. c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)
  5496. b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)
  5497. a = fnI(a, b, c, d, M[0], 0xf4292244, 6)
  5498. d = fnI(d, a, b, c, M[7], 0x432aff97, 10)
  5499. c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)
  5500. b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)
  5501. a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)
  5502. d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)
  5503. c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)
  5504. b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)
  5505. a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)
  5506. d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)
  5507. c = fnI(c, d, a, b, M[6], 0xa3014314, 15)
  5508. b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)
  5509. a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)
  5510. d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)
  5511. c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)
  5512. b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)
  5513. this._a = (this._a + a) | 0
  5514. this._b = (this._b + b) | 0
  5515. this._c = (this._c + c) | 0
  5516. this._d = (this._d + d) | 0
  5517. }
  5518. MD5.prototype._digest = function () {
  5519. // create padding and handle blocks
  5520. this._block[this._blockOffset++] = 0x80
  5521. if (this._blockOffset > 56) {
  5522. this._block.fill(0, this._blockOffset, 64)
  5523. this._update()
  5524. this._blockOffset = 0
  5525. }
  5526. this._block.fill(0, this._blockOffset, 56)
  5527. this._block.writeUInt32LE(this._length[0], 56)
  5528. this._block.writeUInt32LE(this._length[1], 60)
  5529. this._update()
  5530. // produce result
  5531. var buffer = Buffer.allocUnsafe(16)
  5532. buffer.writeInt32LE(this._a, 0)
  5533. buffer.writeInt32LE(this._b, 4)
  5534. buffer.writeInt32LE(this._c, 8)
  5535. buffer.writeInt32LE(this._d, 12)
  5536. return buffer
  5537. }
  5538. function rotl (x, n) {
  5539. return (x << n) | (x >>> (32 - n))
  5540. }
  5541. function fnF (a, b, c, d, m, k, s) {
  5542. return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0
  5543. }
  5544. function fnG (a, b, c, d, m, k, s) {
  5545. return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0
  5546. }
  5547. function fnH (a, b, c, d, m, k, s) {
  5548. return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0
  5549. }
  5550. function fnI (a, b, c, d, m, k, s) {
  5551. return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0
  5552. }
  5553. module.exports = MD5
  5554. /***/ }),
  5555. /* 68 */
  5556. /*!*****************************************!*\
  5557. !*** ./node_modules/hash-base/index.js ***!
  5558. \*****************************************/
  5559. /*! no static exports found */
  5560. /***/ (function(module, exports, __webpack_require__) {
  5561. "use strict";
  5562. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  5563. var Transform = __webpack_require__(/*! readable-stream */ 69).Transform
  5564. var inherits = __webpack_require__(/*! inherits */ 66)
  5565. function throwIfNotStringOrBuffer (val, prefix) {
  5566. if (!Buffer.isBuffer(val) && typeof val !== 'string') {
  5567. throw new TypeError(prefix + ' must be a string or a buffer')
  5568. }
  5569. }
  5570. function HashBase (blockSize) {
  5571. Transform.call(this)
  5572. this._block = Buffer.allocUnsafe(blockSize)
  5573. this._blockSize = blockSize
  5574. this._blockOffset = 0
  5575. this._length = [0, 0, 0, 0]
  5576. this._finalized = false
  5577. }
  5578. inherits(HashBase, Transform)
  5579. HashBase.prototype._transform = function (chunk, encoding, callback) {
  5580. var error = null
  5581. try {
  5582. this.update(chunk, encoding)
  5583. } catch (err) {
  5584. error = err
  5585. }
  5586. callback(error)
  5587. }
  5588. HashBase.prototype._flush = function (callback) {
  5589. var error = null
  5590. try {
  5591. this.push(this.digest())
  5592. } catch (err) {
  5593. error = err
  5594. }
  5595. callback(error)
  5596. }
  5597. HashBase.prototype.update = function (data, encoding) {
  5598. throwIfNotStringOrBuffer(data, 'Data')
  5599. if (this._finalized) throw new Error('Digest already called')
  5600. if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)
  5601. // consume data
  5602. var block = this._block
  5603. var offset = 0
  5604. while (this._blockOffset + data.length - offset >= this._blockSize) {
  5605. for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]
  5606. this._update()
  5607. this._blockOffset = 0
  5608. }
  5609. while (offset < data.length) block[this._blockOffset++] = data[offset++]
  5610. // update length
  5611. for (var j = 0, carry = data.length * 8; carry > 0; ++j) {
  5612. this._length[j] += carry
  5613. carry = (this._length[j] / 0x0100000000) | 0
  5614. if (carry > 0) this._length[j] -= 0x0100000000 * carry
  5615. }
  5616. return this
  5617. }
  5618. HashBase.prototype._update = function () {
  5619. throw new Error('_update is not implemented')
  5620. }
  5621. HashBase.prototype.digest = function (encoding) {
  5622. if (this._finalized) throw new Error('Digest already called')
  5623. this._finalized = true
  5624. var digest = this._digest()
  5625. if (encoding !== undefined) digest = digest.toString(encoding)
  5626. // reset state
  5627. this._block.fill(0)
  5628. this._blockOffset = 0
  5629. for (var i = 0; i < 4; ++i) this._length[i] = 0
  5630. return digest
  5631. }
  5632. HashBase.prototype._digest = function () {
  5633. throw new Error('_digest is not implemented')
  5634. }
  5635. module.exports = HashBase
  5636. /***/ }),
  5637. /* 69 */
  5638. /*!**********************************************************!*\
  5639. !*** ./node_modules/readable-stream/readable-browser.js ***!
  5640. \**********************************************************/
  5641. /*! no static exports found */
  5642. /***/ (function(module, exports, __webpack_require__) {
  5643. exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ 70);
  5644. exports.Stream = exports;
  5645. exports.Readable = exports;
  5646. exports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ 80);
  5647. exports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ 79);
  5648. exports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ 83);
  5649. exports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ 84);
  5650. /***/ }),
  5651. /* 70 */
  5652. /*!**************************************************************!*\
  5653. !*** ./node_modules/readable-stream/lib/_stream_readable.js ***!
  5654. \**************************************************************/
  5655. /*! no static exports found */
  5656. /***/ (function(module, exports, __webpack_require__) {
  5657. "use strict";
  5658. /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.
  5659. //
  5660. // Permission is hereby granted, free of charge, to any person obtaining a
  5661. // copy of this software and associated documentation files (the
  5662. // "Software"), to deal in the Software without restriction, including
  5663. // without limitation the rights to use, copy, modify, merge, publish,
  5664. // distribute, sublicense, and/or sell copies of the Software, and to permit
  5665. // persons to whom the Software is furnished to do so, subject to the
  5666. // following conditions:
  5667. //
  5668. // The above copyright notice and this permission notice shall be included
  5669. // in all copies or substantial portions of the Software.
  5670. //
  5671. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  5672. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  5673. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  5674. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  5675. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  5676. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  5677. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  5678. /*<replacement>*/
  5679. var pna = __webpack_require__(/*! process-nextick-args */ 71);
  5680. /*</replacement>*/
  5681. module.exports = Readable;
  5682. /*<replacement>*/
  5683. var isArray = __webpack_require__(/*! isarray */ 64);
  5684. /*</replacement>*/
  5685. /*<replacement>*/
  5686. var Duplex;
  5687. /*</replacement>*/
  5688. Readable.ReadableState = ReadableState;
  5689. /*<replacement>*/
  5690. var EE = __webpack_require__(/*! events */ 72).EventEmitter;
  5691. var EElistenerCount = function (emitter, type) {
  5692. return emitter.listeners(type).length;
  5693. };
  5694. /*</replacement>*/
  5695. /*<replacement>*/
  5696. var Stream = __webpack_require__(/*! ./internal/streams/stream */ 73);
  5697. /*</replacement>*/
  5698. /*<replacement>*/
  5699. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer;
  5700. var OurUint8Array = global.Uint8Array || function () {};
  5701. function _uint8ArrayToBuffer(chunk) {
  5702. return Buffer.from(chunk);
  5703. }
  5704. function _isUint8Array(obj) {
  5705. return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
  5706. }
  5707. /*</replacement>*/
  5708. /*<replacement>*/
  5709. var util = Object.create(__webpack_require__(/*! core-util-is */ 74));
  5710. util.inherits = __webpack_require__(/*! inherits */ 66);
  5711. /*</replacement>*/
  5712. /*<replacement>*/
  5713. var debugUtil = __webpack_require__(/*! util */ 75);
  5714. var debug = void 0;
  5715. if (debugUtil && debugUtil.debuglog) {
  5716. debug = debugUtil.debuglog('stream');
  5717. } else {
  5718. debug = function () {};
  5719. }
  5720. /*</replacement>*/
  5721. var BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ 76);
  5722. var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 78);
  5723. var StringDecoder;
  5724. util.inherits(Readable, Stream);
  5725. var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];
  5726. function prependListener(emitter, event, fn) {
  5727. // Sadly this is not cacheable as some libraries bundle their own
  5728. // event emitter implementation with them.
  5729. if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);
  5730. // This is a hack to make sure that our error handler is attached before any
  5731. // userland ones. NEVER DO THIS. This is here only because this code needs
  5732. // to continue to work with older versions of Node.js that do not include
  5733. // the prependListener() method. The goal is to eventually remove this hack.
  5734. if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];
  5735. }
  5736. function ReadableState(options, stream) {
  5737. Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 79);
  5738. options = options || {};
  5739. // Duplex streams are both readable and writable, but share
  5740. // the same options object.
  5741. // However, some cases require setting options to different
  5742. // values for the readable and the writable sides of the duplex stream.
  5743. // These options can be provided separately as readableXXX and writableXXX.
  5744. var isDuplex = stream instanceof Duplex;
  5745. // object stream flag. Used to make read(n) ignore n and to
  5746. // make all the buffer merging and length checks go away
  5747. this.objectMode = !!options.objectMode;
  5748. if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
  5749. // the point at which it stops calling _read() to fill the buffer
  5750. // Note: 0 is a valid value, means "don't call _read preemptively ever"
  5751. var hwm = options.highWaterMark;
  5752. var readableHwm = options.readableHighWaterMark;
  5753. var defaultHwm = this.objectMode ? 16 : 16 * 1024;
  5754. if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm;
  5755. // cast to ints.
  5756. this.highWaterMark = Math.floor(this.highWaterMark);
  5757. // A linked list is used to store data chunks instead of an array because the
  5758. // linked list can remove elements from the beginning faster than
  5759. // array.shift()
  5760. this.buffer = new BufferList();
  5761. this.length = 0;
  5762. this.pipes = null;
  5763. this.pipesCount = 0;
  5764. this.flowing = null;
  5765. this.ended = false;
  5766. this.endEmitted = false;
  5767. this.reading = false;
  5768. // a flag to be able to tell if the event 'readable'/'data' is emitted
  5769. // immediately, or on a later tick. We set this to true at first, because
  5770. // any actions that shouldn't happen until "later" should generally also
  5771. // not happen before the first read call.
  5772. this.sync = true;
  5773. // whenever we return null, then we set a flag to say
  5774. // that we're awaiting a 'readable' event emission.
  5775. this.needReadable = false;
  5776. this.emittedReadable = false;
  5777. this.readableListening = false;
  5778. this.resumeScheduled = false;
  5779. // has it been destroyed
  5780. this.destroyed = false;
  5781. // Crypto is kind of old and crusty. Historically, its default string
  5782. // encoding is 'binary' so we have to make this configurable.
  5783. // Everything else in the universe uses 'utf8', though.
  5784. this.defaultEncoding = options.defaultEncoding || 'utf8';
  5785. // the number of writers that are awaiting a drain event in .pipe()s
  5786. this.awaitDrain = 0;
  5787. // if true, a maybeReadMore has been scheduled
  5788. this.readingMore = false;
  5789. this.decoder = null;
  5790. this.encoding = null;
  5791. if (options.encoding) {
  5792. if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ 82).StringDecoder;
  5793. this.decoder = new StringDecoder(options.encoding);
  5794. this.encoding = options.encoding;
  5795. }
  5796. }
  5797. function Readable(options) {
  5798. Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 79);
  5799. if (!(this instanceof Readable)) return new Readable(options);
  5800. this._readableState = new ReadableState(options, this);
  5801. // legacy
  5802. this.readable = true;
  5803. if (options) {
  5804. if (typeof options.read === 'function') this._read = options.read;
  5805. if (typeof options.destroy === 'function') this._destroy = options.destroy;
  5806. }
  5807. Stream.call(this);
  5808. }
  5809. Object.defineProperty(Readable.prototype, 'destroyed', {
  5810. get: function () {
  5811. if (this._readableState === undefined) {
  5812. return false;
  5813. }
  5814. return this._readableState.destroyed;
  5815. },
  5816. set: function (value) {
  5817. // we ignore the value if the stream
  5818. // has not been initialized yet
  5819. if (!this._readableState) {
  5820. return;
  5821. }
  5822. // backward compatibility, the user is explicitly
  5823. // managing destroyed
  5824. this._readableState.destroyed = value;
  5825. }
  5826. });
  5827. Readable.prototype.destroy = destroyImpl.destroy;
  5828. Readable.prototype._undestroy = destroyImpl.undestroy;
  5829. Readable.prototype._destroy = function (err, cb) {
  5830. this.push(null);
  5831. cb(err);
  5832. };
  5833. // Manually shove something into the read() buffer.
  5834. // This returns true if the highWaterMark has not been hit yet,
  5835. // similar to how Writable.write() returns true if you should
  5836. // write() some more.
  5837. Readable.prototype.push = function (chunk, encoding) {
  5838. var state = this._readableState;
  5839. var skipChunkCheck;
  5840. if (!state.objectMode) {
  5841. if (typeof chunk === 'string') {
  5842. encoding = encoding || state.defaultEncoding;
  5843. if (encoding !== state.encoding) {
  5844. chunk = Buffer.from(chunk, encoding);
  5845. encoding = '';
  5846. }
  5847. skipChunkCheck = true;
  5848. }
  5849. } else {
  5850. skipChunkCheck = true;
  5851. }
  5852. return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
  5853. };
  5854. // Unshift should *always* be something directly out of read()
  5855. Readable.prototype.unshift = function (chunk) {
  5856. return readableAddChunk(this, chunk, null, true, false);
  5857. };
  5858. function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
  5859. var state = stream._readableState;
  5860. if (chunk === null) {
  5861. state.reading = false;
  5862. onEofChunk(stream, state);
  5863. } else {
  5864. var er;
  5865. if (!skipChunkCheck) er = chunkInvalid(state, chunk);
  5866. if (er) {
  5867. stream.emit('error', er);
  5868. } else if (state.objectMode || chunk && chunk.length > 0) {
  5869. if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {
  5870. chunk = _uint8ArrayToBuffer(chunk);
  5871. }
  5872. if (addToFront) {
  5873. if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true);
  5874. } else if (state.ended) {
  5875. stream.emit('error', new Error('stream.push() after EOF'));
  5876. } else {
  5877. state.reading = false;
  5878. if (state.decoder && !encoding) {
  5879. chunk = state.decoder.write(chunk);
  5880. if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);
  5881. } else {
  5882. addChunk(stream, state, chunk, false);
  5883. }
  5884. }
  5885. } else if (!addToFront) {
  5886. state.reading = false;
  5887. }
  5888. }
  5889. return needMoreData(state);
  5890. }
  5891. function addChunk(stream, state, chunk, addToFront) {
  5892. if (state.flowing && state.length === 0 && !state.sync) {
  5893. stream.emit('data', chunk);
  5894. stream.read(0);
  5895. } else {
  5896. // update the buffer info.
  5897. state.length += state.objectMode ? 1 : chunk.length;
  5898. if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);
  5899. if (state.needReadable) emitReadable(stream);
  5900. }
  5901. maybeReadMore(stream, state);
  5902. }
  5903. function chunkInvalid(state, chunk) {
  5904. var er;
  5905. if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
  5906. er = new TypeError('Invalid non-string/buffer chunk');
  5907. }
  5908. return er;
  5909. }
  5910. // if it's past the high water mark, we can push in some more.
  5911. // Also, if we have no data yet, we can stand some
  5912. // more bytes. This is to work around cases where hwm=0,
  5913. // such as the repl. Also, if the push() triggered a
  5914. // readable event, and the user called read(largeNumber) such that
  5915. // needReadable was set, then we ought to push more, so that another
  5916. // 'readable' event will be triggered.
  5917. function needMoreData(state) {
  5918. return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0);
  5919. }
  5920. Readable.prototype.isPaused = function () {
  5921. return this._readableState.flowing === false;
  5922. };
  5923. // backwards compatibility.
  5924. Readable.prototype.setEncoding = function (enc) {
  5925. if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ 82).StringDecoder;
  5926. this._readableState.decoder = new StringDecoder(enc);
  5927. this._readableState.encoding = enc;
  5928. return this;
  5929. };
  5930. // Don't raise the hwm > 8MB
  5931. var MAX_HWM = 0x800000;
  5932. function computeNewHighWaterMark(n) {
  5933. if (n >= MAX_HWM) {
  5934. n = MAX_HWM;
  5935. } else {
  5936. // Get the next highest power of 2 to prevent increasing hwm excessively in
  5937. // tiny amounts
  5938. n--;
  5939. n |= n >>> 1;
  5940. n |= n >>> 2;
  5941. n |= n >>> 4;
  5942. n |= n >>> 8;
  5943. n |= n >>> 16;
  5944. n++;
  5945. }
  5946. return n;
  5947. }
  5948. // This function is designed to be inlinable, so please take care when making
  5949. // changes to the function body.
  5950. function howMuchToRead(n, state) {
  5951. if (n <= 0 || state.length === 0 && state.ended) return 0;
  5952. if (state.objectMode) return 1;
  5953. if (n !== n) {
  5954. // Only flow one buffer at a time
  5955. if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;
  5956. }
  5957. // If we're asking for more than the current hwm, then raise the hwm.
  5958. if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
  5959. if (n <= state.length) return n;
  5960. // Don't have enough
  5961. if (!state.ended) {
  5962. state.needReadable = true;
  5963. return 0;
  5964. }
  5965. return state.length;
  5966. }
  5967. // you can override either this method, or the async _read(n) below.
  5968. Readable.prototype.read = function (n) {
  5969. debug('read', n);
  5970. n = parseInt(n, 10);
  5971. var state = this._readableState;
  5972. var nOrig = n;
  5973. if (n !== 0) state.emittedReadable = false;
  5974. // if we're doing read(0) to trigger a readable event, but we
  5975. // already have a bunch of data in the buffer, then just trigger
  5976. // the 'readable' event and move on.
  5977. if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) {
  5978. debug('read: emitReadable', state.length, state.ended);
  5979. if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);
  5980. return null;
  5981. }
  5982. n = howMuchToRead(n, state);
  5983. // if we've ended, and we're now clear, then finish it up.
  5984. if (n === 0 && state.ended) {
  5985. if (state.length === 0) endReadable(this);
  5986. return null;
  5987. }
  5988. // All the actual chunk generation logic needs to be
  5989. // *below* the call to _read. The reason is that in certain
  5990. // synthetic stream cases, such as passthrough streams, _read
  5991. // may be a completely synchronous operation which may change
  5992. // the state of the read buffer, providing enough data when
  5993. // before there was *not* enough.
  5994. //
  5995. // So, the steps are:
  5996. // 1. Figure out what the state of things will be after we do
  5997. // a read from the buffer.
  5998. //
  5999. // 2. If that resulting state will trigger a _read, then call _read.
  6000. // Note that this may be asynchronous, or synchronous. Yes, it is
  6001. // deeply ugly to write APIs this way, but that still doesn't mean
  6002. // that the Readable class should behave improperly, as streams are
  6003. // designed to be sync/async agnostic.
  6004. // Take note if the _read call is sync or async (ie, if the read call
  6005. // has returned yet), so that we know whether or not it's safe to emit
  6006. // 'readable' etc.
  6007. //
  6008. // 3. Actually pull the requested chunks out of the buffer and return.
  6009. // if we need a readable event, then we need to do some reading.
  6010. var doRead = state.needReadable;
  6011. debug('need readable', doRead);
  6012. // if we currently have less than the highWaterMark, then also read some
  6013. if (state.length === 0 || state.length - n < state.highWaterMark) {
  6014. doRead = true;
  6015. debug('length less than watermark', doRead);
  6016. }
  6017. // however, if we've ended, then there's no point, and if we're already
  6018. // reading, then it's unnecessary.
  6019. if (state.ended || state.reading) {
  6020. doRead = false;
  6021. debug('reading or ended', doRead);
  6022. } else if (doRead) {
  6023. debug('do read');
  6024. state.reading = true;
  6025. state.sync = true;
  6026. // if the length is currently zero, then we *need* a readable event.
  6027. if (state.length === 0) state.needReadable = true;
  6028. // call internal read method
  6029. this._read(state.highWaterMark);
  6030. state.sync = false;
  6031. // If _read pushed data synchronously, then `reading` will be false,
  6032. // and we need to re-evaluate how much data we can return to the user.
  6033. if (!state.reading) n = howMuchToRead(nOrig, state);
  6034. }
  6035. var ret;
  6036. if (n > 0) ret = fromList(n, state);else ret = null;
  6037. if (ret === null) {
  6038. state.needReadable = true;
  6039. n = 0;
  6040. } else {
  6041. state.length -= n;
  6042. }
  6043. if (state.length === 0) {
  6044. // If we have nothing in the buffer, then we want to know
  6045. // as soon as we *do* get something into the buffer.
  6046. if (!state.ended) state.needReadable = true;
  6047. // If we tried to read() past the EOF, then emit end on the next tick.
  6048. if (nOrig !== n && state.ended) endReadable(this);
  6049. }
  6050. if (ret !== null) this.emit('data', ret);
  6051. return ret;
  6052. };
  6053. function onEofChunk(stream, state) {
  6054. if (state.ended) return;
  6055. if (state.decoder) {
  6056. var chunk = state.decoder.end();
  6057. if (chunk && chunk.length) {
  6058. state.buffer.push(chunk);
  6059. state.length += state.objectMode ? 1 : chunk.length;
  6060. }
  6061. }
  6062. state.ended = true;
  6063. // emit 'readable' now to make sure it gets picked up.
  6064. emitReadable(stream);
  6065. }
  6066. // Don't emit readable right away in sync mode, because this can trigger
  6067. // another read() call => stack overflow. This way, it might trigger
  6068. // a nextTick recursion warning, but that's not so bad.
  6069. function emitReadable(stream) {
  6070. var state = stream._readableState;
  6071. state.needReadable = false;
  6072. if (!state.emittedReadable) {
  6073. debug('emitReadable', state.flowing);
  6074. state.emittedReadable = true;
  6075. if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream);
  6076. }
  6077. }
  6078. function emitReadable_(stream) {
  6079. debug('emit readable');
  6080. stream.emit('readable');
  6081. flow(stream);
  6082. }
  6083. // at this point, the user has presumably seen the 'readable' event,
  6084. // and called read() to consume some data. that may have triggered
  6085. // in turn another _read(n) call, in which case reading = true if
  6086. // it's in progress.
  6087. // However, if we're not ended, or reading, and the length < hwm,
  6088. // then go ahead and try to read some more preemptively.
  6089. function maybeReadMore(stream, state) {
  6090. if (!state.readingMore) {
  6091. state.readingMore = true;
  6092. pna.nextTick(maybeReadMore_, stream, state);
  6093. }
  6094. }
  6095. function maybeReadMore_(stream, state) {
  6096. var len = state.length;
  6097. while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) {
  6098. debug('maybeReadMore read 0');
  6099. stream.read(0);
  6100. if (len === state.length)
  6101. // didn't get any data, stop spinning.
  6102. break;else len = state.length;
  6103. }
  6104. state.readingMore = false;
  6105. }
  6106. // abstract method. to be overridden in specific implementation classes.
  6107. // call cb(er, data) where data is <= n in length.
  6108. // for virtual (non-string, non-buffer) streams, "length" is somewhat
  6109. // arbitrary, and perhaps not very meaningful.
  6110. Readable.prototype._read = function (n) {
  6111. this.emit('error', new Error('_read() is not implemented'));
  6112. };
  6113. Readable.prototype.pipe = function (dest, pipeOpts) {
  6114. var src = this;
  6115. var state = this._readableState;
  6116. switch (state.pipesCount) {
  6117. case 0:
  6118. state.pipes = dest;
  6119. break;
  6120. case 1:
  6121. state.pipes = [state.pipes, dest];
  6122. break;
  6123. default:
  6124. state.pipes.push(dest);
  6125. break;
  6126. }
  6127. state.pipesCount += 1;
  6128. debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);
  6129. var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
  6130. var endFn = doEnd ? onend : unpipe;
  6131. if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn);
  6132. dest.on('unpipe', onunpipe);
  6133. function onunpipe(readable, unpipeInfo) {
  6134. debug('onunpipe');
  6135. if (readable === src) {
  6136. if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
  6137. unpipeInfo.hasUnpiped = true;
  6138. cleanup();
  6139. }
  6140. }
  6141. }
  6142. function onend() {
  6143. debug('onend');
  6144. dest.end();
  6145. }
  6146. // when the dest drains, it reduces the awaitDrain counter
  6147. // on the source. This would be more elegant with a .once()
  6148. // handler in flow(), but adding and removing repeatedly is
  6149. // too slow.
  6150. var ondrain = pipeOnDrain(src);
  6151. dest.on('drain', ondrain);
  6152. var cleanedUp = false;
  6153. function cleanup() {
  6154. debug('cleanup');
  6155. // cleanup event handlers once the pipe is broken
  6156. dest.removeListener('close', onclose);
  6157. dest.removeListener('finish', onfinish);
  6158. dest.removeListener('drain', ondrain);
  6159. dest.removeListener('error', onerror);
  6160. dest.removeListener('unpipe', onunpipe);
  6161. src.removeListener('end', onend);
  6162. src.removeListener('end', unpipe);
  6163. src.removeListener('data', ondata);
  6164. cleanedUp = true;
  6165. // if the reader is waiting for a drain event from this
  6166. // specific writer, then it would cause it to never start
  6167. // flowing again.
  6168. // So, if this is awaiting a drain, then we just call it now.
  6169. // If we don't know, then assume that we are waiting for one.
  6170. if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
  6171. }
  6172. // If the user pushes more data while we're writing to dest then we'll end up
  6173. // in ondata again. However, we only want to increase awaitDrain once because
  6174. // dest will only emit one 'drain' event for the multiple writes.
  6175. // => Introduce a guard on increasing awaitDrain.
  6176. var increasedAwaitDrain = false;
  6177. src.on('data', ondata);
  6178. function ondata(chunk) {
  6179. debug('ondata');
  6180. increasedAwaitDrain = false;
  6181. var ret = dest.write(chunk);
  6182. if (false === ret && !increasedAwaitDrain) {
  6183. // If the user unpiped during `dest.write()`, it is possible
  6184. // to get stuck in a permanently paused state if that write
  6185. // also returned false.
  6186. // => Check whether `dest` is still a piping destination.
  6187. if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
  6188. debug('false write response, pause', src._readableState.awaitDrain);
  6189. src._readableState.awaitDrain++;
  6190. increasedAwaitDrain = true;
  6191. }
  6192. src.pause();
  6193. }
  6194. }
  6195. // if the dest has an error, then stop piping into it.
  6196. // however, don't suppress the throwing behavior for this.
  6197. function onerror(er) {
  6198. debug('onerror', er);
  6199. unpipe();
  6200. dest.removeListener('error', onerror);
  6201. if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er);
  6202. }
  6203. // Make sure our error handler is attached before userland ones.
  6204. prependListener(dest, 'error', onerror);
  6205. // Both close and finish should trigger unpipe, but only once.
  6206. function onclose() {
  6207. dest.removeListener('finish', onfinish);
  6208. unpipe();
  6209. }
  6210. dest.once('close', onclose);
  6211. function onfinish() {
  6212. debug('onfinish');
  6213. dest.removeListener('close', onclose);
  6214. unpipe();
  6215. }
  6216. dest.once('finish', onfinish);
  6217. function unpipe() {
  6218. debug('unpipe');
  6219. src.unpipe(dest);
  6220. }
  6221. // tell the dest that it's being piped to
  6222. dest.emit('pipe', src);
  6223. // start the flow if it hasn't been started already.
  6224. if (!state.flowing) {
  6225. debug('pipe resume');
  6226. src.resume();
  6227. }
  6228. return dest;
  6229. };
  6230. function pipeOnDrain(src) {
  6231. return function () {
  6232. var state = src._readableState;
  6233. debug('pipeOnDrain', state.awaitDrain);
  6234. if (state.awaitDrain) state.awaitDrain--;
  6235. if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {
  6236. state.flowing = true;
  6237. flow(src);
  6238. }
  6239. };
  6240. }
  6241. Readable.prototype.unpipe = function (dest) {
  6242. var state = this._readableState;
  6243. var unpipeInfo = { hasUnpiped: false };
  6244. // if we're not piping anywhere, then do nothing.
  6245. if (state.pipesCount === 0) return this;
  6246. // just one destination. most common case.
  6247. if (state.pipesCount === 1) {
  6248. // passed in one, but it's not the right one.
  6249. if (dest && dest !== state.pipes) return this;
  6250. if (!dest) dest = state.pipes;
  6251. // got a match.
  6252. state.pipes = null;
  6253. state.pipesCount = 0;
  6254. state.flowing = false;
  6255. if (dest) dest.emit('unpipe', this, unpipeInfo);
  6256. return this;
  6257. }
  6258. // slow case. multiple pipe destinations.
  6259. if (!dest) {
  6260. // remove all.
  6261. var dests = state.pipes;
  6262. var len = state.pipesCount;
  6263. state.pipes = null;
  6264. state.pipesCount = 0;
  6265. state.flowing = false;
  6266. for (var i = 0; i < len; i++) {
  6267. dests[i].emit('unpipe', this, unpipeInfo);
  6268. }return this;
  6269. }
  6270. // try to find the right one.
  6271. var index = indexOf(state.pipes, dest);
  6272. if (index === -1) return this;
  6273. state.pipes.splice(index, 1);
  6274. state.pipesCount -= 1;
  6275. if (state.pipesCount === 1) state.pipes = state.pipes[0];
  6276. dest.emit('unpipe', this, unpipeInfo);
  6277. return this;
  6278. };
  6279. // set up data events if they are asked for
  6280. // Ensure readable listeners eventually get something
  6281. Readable.prototype.on = function (ev, fn) {
  6282. var res = Stream.prototype.on.call(this, ev, fn);
  6283. if (ev === 'data') {
  6284. // Start flowing on next tick if stream isn't explicitly paused
  6285. if (this._readableState.flowing !== false) this.resume();
  6286. } else if (ev === 'readable') {
  6287. var state = this._readableState;
  6288. if (!state.endEmitted && !state.readableListening) {
  6289. state.readableListening = state.needReadable = true;
  6290. state.emittedReadable = false;
  6291. if (!state.reading) {
  6292. pna.nextTick(nReadingNextTick, this);
  6293. } else if (state.length) {
  6294. emitReadable(this);
  6295. }
  6296. }
  6297. }
  6298. return res;
  6299. };
  6300. Readable.prototype.addListener = Readable.prototype.on;
  6301. function nReadingNextTick(self) {
  6302. debug('readable nexttick read 0');
  6303. self.read(0);
  6304. }
  6305. // pause() and resume() are remnants of the legacy readable stream API
  6306. // If the user uses them, then switch into old mode.
  6307. Readable.prototype.resume = function () {
  6308. var state = this._readableState;
  6309. if (!state.flowing) {
  6310. debug('resume');
  6311. state.flowing = true;
  6312. resume(this, state);
  6313. }
  6314. return this;
  6315. };
  6316. function resume(stream, state) {
  6317. if (!state.resumeScheduled) {
  6318. state.resumeScheduled = true;
  6319. pna.nextTick(resume_, stream, state);
  6320. }
  6321. }
  6322. function resume_(stream, state) {
  6323. if (!state.reading) {
  6324. debug('resume read 0');
  6325. stream.read(0);
  6326. }
  6327. state.resumeScheduled = false;
  6328. state.awaitDrain = 0;
  6329. stream.emit('resume');
  6330. flow(stream);
  6331. if (state.flowing && !state.reading) stream.read(0);
  6332. }
  6333. Readable.prototype.pause = function () {
  6334. debug('call pause flowing=%j', this._readableState.flowing);
  6335. if (false !== this._readableState.flowing) {
  6336. debug('pause');
  6337. this._readableState.flowing = false;
  6338. this.emit('pause');
  6339. }
  6340. return this;
  6341. };
  6342. function flow(stream) {
  6343. var state = stream._readableState;
  6344. debug('flow', state.flowing);
  6345. while (state.flowing && stream.read() !== null) {}
  6346. }
  6347. // wrap an old-style stream as the async data source.
  6348. // This is *not* part of the readable stream interface.
  6349. // It is an ugly unfortunate mess of history.
  6350. Readable.prototype.wrap = function (stream) {
  6351. var _this = this;
  6352. var state = this._readableState;
  6353. var paused = false;
  6354. stream.on('end', function () {
  6355. debug('wrapped end');
  6356. if (state.decoder && !state.ended) {
  6357. var chunk = state.decoder.end();
  6358. if (chunk && chunk.length) _this.push(chunk);
  6359. }
  6360. _this.push(null);
  6361. });
  6362. stream.on('data', function (chunk) {
  6363. debug('wrapped data');
  6364. if (state.decoder) chunk = state.decoder.write(chunk);
  6365. // don't skip over falsy values in objectMode
  6366. if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;
  6367. var ret = _this.push(chunk);
  6368. if (!ret) {
  6369. paused = true;
  6370. stream.pause();
  6371. }
  6372. });
  6373. // proxy all the other methods.
  6374. // important when wrapping filters and duplexes.
  6375. for (var i in stream) {
  6376. if (this[i] === undefined && typeof stream[i] === 'function') {
  6377. this[i] = function (method) {
  6378. return function () {
  6379. return stream[method].apply(stream, arguments);
  6380. };
  6381. }(i);
  6382. }
  6383. }
  6384. // proxy certain important events.
  6385. for (var n = 0; n < kProxyEvents.length; n++) {
  6386. stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
  6387. }
  6388. // when we try to consume some more bytes, simply unpause the
  6389. // underlying stream.
  6390. this._read = function (n) {
  6391. debug('wrapped _read', n);
  6392. if (paused) {
  6393. paused = false;
  6394. stream.resume();
  6395. }
  6396. };
  6397. return this;
  6398. };
  6399. Object.defineProperty(Readable.prototype, 'readableHighWaterMark', {
  6400. // making it explicit this property is not enumerable
  6401. // because otherwise some prototype manipulation in
  6402. // userland will fail
  6403. enumerable: false,
  6404. get: function () {
  6405. return this._readableState.highWaterMark;
  6406. }
  6407. });
  6408. // exposed for testing purposes only.
  6409. Readable._fromList = fromList;
  6410. // Pluck off n bytes from an array of buffers.
  6411. // Length is the combined lengths of all the buffers in the list.
  6412. // This function is designed to be inlinable, so please take care when making
  6413. // changes to the function body.
  6414. function fromList(n, state) {
  6415. // nothing buffered
  6416. if (state.length === 0) return null;
  6417. var ret;
  6418. if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {
  6419. // read it all, truncate the list
  6420. if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length);
  6421. state.buffer.clear();
  6422. } else {
  6423. // read part of list
  6424. ret = fromListPartial(n, state.buffer, state.decoder);
  6425. }
  6426. return ret;
  6427. }
  6428. // Extracts only enough buffered data to satisfy the amount requested.
  6429. // This function is designed to be inlinable, so please take care when making
  6430. // changes to the function body.
  6431. function fromListPartial(n, list, hasStrings) {
  6432. var ret;
  6433. if (n < list.head.data.length) {
  6434. // slice is the same for buffers and strings
  6435. ret = list.head.data.slice(0, n);
  6436. list.head.data = list.head.data.slice(n);
  6437. } else if (n === list.head.data.length) {
  6438. // first chunk is a perfect match
  6439. ret = list.shift();
  6440. } else {
  6441. // result spans more than one buffer
  6442. ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list);
  6443. }
  6444. return ret;
  6445. }
  6446. // Copies a specified amount of characters from the list of buffered data
  6447. // chunks.
  6448. // This function is designed to be inlinable, so please take care when making
  6449. // changes to the function body.
  6450. function copyFromBufferString(n, list) {
  6451. var p = list.head;
  6452. var c = 1;
  6453. var ret = p.data;
  6454. n -= ret.length;
  6455. while (p = p.next) {
  6456. var str = p.data;
  6457. var nb = n > str.length ? str.length : n;
  6458. if (nb === str.length) ret += str;else ret += str.slice(0, n);
  6459. n -= nb;
  6460. if (n === 0) {
  6461. if (nb === str.length) {
  6462. ++c;
  6463. if (p.next) list.head = p.next;else list.head = list.tail = null;
  6464. } else {
  6465. list.head = p;
  6466. p.data = str.slice(nb);
  6467. }
  6468. break;
  6469. }
  6470. ++c;
  6471. }
  6472. list.length -= c;
  6473. return ret;
  6474. }
  6475. // Copies a specified amount of bytes from the list of buffered data chunks.
  6476. // This function is designed to be inlinable, so please take care when making
  6477. // changes to the function body.
  6478. function copyFromBuffer(n, list) {
  6479. var ret = Buffer.allocUnsafe(n);
  6480. var p = list.head;
  6481. var c = 1;
  6482. p.data.copy(ret);
  6483. n -= p.data.length;
  6484. while (p = p.next) {
  6485. var buf = p.data;
  6486. var nb = n > buf.length ? buf.length : n;
  6487. buf.copy(ret, ret.length - n, 0, nb);
  6488. n -= nb;
  6489. if (n === 0) {
  6490. if (nb === buf.length) {
  6491. ++c;
  6492. if (p.next) list.head = p.next;else list.head = list.tail = null;
  6493. } else {
  6494. list.head = p;
  6495. p.data = buf.slice(nb);
  6496. }
  6497. break;
  6498. }
  6499. ++c;
  6500. }
  6501. list.length -= c;
  6502. return ret;
  6503. }
  6504. function endReadable(stream) {
  6505. var state = stream._readableState;
  6506. // If we get here before consuming all the bytes, then that is a
  6507. // bug in node. Should never happen.
  6508. if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream');
  6509. if (!state.endEmitted) {
  6510. state.ended = true;
  6511. pna.nextTick(endReadableNT, state, stream);
  6512. }
  6513. }
  6514. function endReadableNT(state, stream) {
  6515. // Check that we didn't get one last unshift.
  6516. if (!state.endEmitted && state.length === 0) {
  6517. state.endEmitted = true;
  6518. stream.readable = false;
  6519. stream.emit('end');
  6520. }
  6521. }
  6522. function indexOf(xs, x) {
  6523. for (var i = 0, l = xs.length; i < l; i++) {
  6524. if (xs[i] === x) return i;
  6525. }
  6526. return -1;
  6527. }
  6528. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 11), __webpack_require__(/*! ./../../node-libs-browser/mock/process.js */ 58)))
  6529. /***/ }),
  6530. /* 71 */
  6531. /*!****************************************************!*\
  6532. !*** ./node_modules/process-nextick-args/index.js ***!
  6533. \****************************************************/
  6534. /*! no static exports found */
  6535. /***/ (function(module, exports, __webpack_require__) {
  6536. "use strict";
  6537. /* WEBPACK VAR INJECTION */(function(process) {
  6538. if (typeof process === 'undefined' ||
  6539. !process.version ||
  6540. process.version.indexOf('v0.') === 0 ||
  6541. process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {
  6542. module.exports = { nextTick: nextTick };
  6543. } else {
  6544. module.exports = process
  6545. }
  6546. function nextTick(fn, arg1, arg2, arg3) {
  6547. if (typeof fn !== 'function') {
  6548. throw new TypeError('"callback" argument must be a function');
  6549. }
  6550. var len = arguments.length;
  6551. var args, i;
  6552. switch (len) {
  6553. case 0:
  6554. case 1:
  6555. return process.nextTick(fn);
  6556. case 2:
  6557. return process.nextTick(function afterTickOne() {
  6558. fn.call(null, arg1);
  6559. });
  6560. case 3:
  6561. return process.nextTick(function afterTickTwo() {
  6562. fn.call(null, arg1, arg2);
  6563. });
  6564. case 4:
  6565. return process.nextTick(function afterTickThree() {
  6566. fn.call(null, arg1, arg2, arg3);
  6567. });
  6568. default:
  6569. args = new Array(len - 1);
  6570. i = 0;
  6571. while (i < args.length) {
  6572. args[i++] = arguments[i];
  6573. }
  6574. return process.nextTick(function afterTick() {
  6575. fn.apply(null, args);
  6576. });
  6577. }
  6578. }
  6579. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node-libs-browser/mock/process.js */ 58)))
  6580. /***/ }),
  6581. /* 72 */
  6582. /*!***************************************!*\
  6583. !*** ./node_modules/events/events.js ***!
  6584. \***************************************/
  6585. /*! no static exports found */
  6586. /***/ (function(module, exports, __webpack_require__) {
  6587. "use strict";
  6588. // Copyright Joyent, Inc. and other Node contributors.
  6589. //
  6590. // Permission is hereby granted, free of charge, to any person obtaining a
  6591. // copy of this software and associated documentation files (the
  6592. // "Software"), to deal in the Software without restriction, including
  6593. // without limitation the rights to use, copy, modify, merge, publish,
  6594. // distribute, sublicense, and/or sell copies of the Software, and to permit
  6595. // persons to whom the Software is furnished to do so, subject to the
  6596. // following conditions:
  6597. //
  6598. // The above copyright notice and this permission notice shall be included
  6599. // in all copies or substantial portions of the Software.
  6600. //
  6601. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  6602. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  6603. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  6604. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  6605. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  6606. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  6607. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  6608. var R = typeof Reflect === 'object' ? Reflect : null
  6609. var ReflectApply = R && typeof R.apply === 'function'
  6610. ? R.apply
  6611. : function ReflectApply(target, receiver, args) {
  6612. return Function.prototype.apply.call(target, receiver, args);
  6613. }
  6614. var ReflectOwnKeys
  6615. if (R && typeof R.ownKeys === 'function') {
  6616. ReflectOwnKeys = R.ownKeys
  6617. } else if (Object.getOwnPropertySymbols) {
  6618. ReflectOwnKeys = function ReflectOwnKeys(target) {
  6619. return Object.getOwnPropertyNames(target)
  6620. .concat(Object.getOwnPropertySymbols(target));
  6621. };
  6622. } else {
  6623. ReflectOwnKeys = function ReflectOwnKeys(target) {
  6624. return Object.getOwnPropertyNames(target);
  6625. };
  6626. }
  6627. function ProcessEmitWarning(warning) {
  6628. if (console && console.warn) console.warn(warning);
  6629. }
  6630. var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
  6631. return value !== value;
  6632. }
  6633. function EventEmitter() {
  6634. EventEmitter.init.call(this);
  6635. }
  6636. module.exports = EventEmitter;
  6637. // Backwards-compat with node 0.10.x
  6638. EventEmitter.EventEmitter = EventEmitter;
  6639. EventEmitter.prototype._events = undefined;
  6640. EventEmitter.prototype._eventsCount = 0;
  6641. EventEmitter.prototype._maxListeners = undefined;
  6642. // By default EventEmitters will print a warning if more than 10 listeners are
  6643. // added to it. This is a useful default which helps finding memory leaks.
  6644. var defaultMaxListeners = 10;
  6645. function checkListener(listener) {
  6646. if (typeof listener !== 'function') {
  6647. throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
  6648. }
  6649. }
  6650. Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
  6651. enumerable: true,
  6652. get: function() {
  6653. return defaultMaxListeners;
  6654. },
  6655. set: function(arg) {
  6656. if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
  6657. throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
  6658. }
  6659. defaultMaxListeners = arg;
  6660. }
  6661. });
  6662. EventEmitter.init = function() {
  6663. if (this._events === undefined ||
  6664. this._events === Object.getPrototypeOf(this)._events) {
  6665. this._events = Object.create(null);
  6666. this._eventsCount = 0;
  6667. }
  6668. this._maxListeners = this._maxListeners || undefined;
  6669. };
  6670. // Obviously not all Emitters should be limited to 10. This function allows
  6671. // that to be increased. Set to zero for unlimited.
  6672. EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
  6673. if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
  6674. throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
  6675. }
  6676. this._maxListeners = n;
  6677. return this;
  6678. };
  6679. function _getMaxListeners(that) {
  6680. if (that._maxListeners === undefined)
  6681. return EventEmitter.defaultMaxListeners;
  6682. return that._maxListeners;
  6683. }
  6684. EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
  6685. return _getMaxListeners(this);
  6686. };
  6687. EventEmitter.prototype.emit = function emit(type) {
  6688. var args = [];
  6689. for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
  6690. var doError = (type === 'error');
  6691. var events = this._events;
  6692. if (events !== undefined)
  6693. doError = (doError && events.error === undefined);
  6694. else if (!doError)
  6695. return false;
  6696. // If there is no 'error' event listener then throw.
  6697. if (doError) {
  6698. var er;
  6699. if (args.length > 0)
  6700. er = args[0];
  6701. if (er instanceof Error) {
  6702. // Note: The comments on the `throw` lines are intentional, they show
  6703. // up in Node's output if this results in an unhandled exception.
  6704. throw er; // Unhandled 'error' event
  6705. }
  6706. // At least give some kind of context to the user
  6707. var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
  6708. err.context = er;
  6709. throw err; // Unhandled 'error' event
  6710. }
  6711. var handler = events[type];
  6712. if (handler === undefined)
  6713. return false;
  6714. if (typeof handler === 'function') {
  6715. ReflectApply(handler, this, args);
  6716. } else {
  6717. var len = handler.length;
  6718. var listeners = arrayClone(handler, len);
  6719. for (var i = 0; i < len; ++i)
  6720. ReflectApply(listeners[i], this, args);
  6721. }
  6722. return true;
  6723. };
  6724. function _addListener(target, type, listener, prepend) {
  6725. var m;
  6726. var events;
  6727. var existing;
  6728. checkListener(listener);
  6729. events = target._events;
  6730. if (events === undefined) {
  6731. events = target._events = Object.create(null);
  6732. target._eventsCount = 0;
  6733. } else {
  6734. // To avoid recursion in the case that type === "newListener"! Before
  6735. // adding it to the listeners, first emit "newListener".
  6736. if (events.newListener !== undefined) {
  6737. target.emit('newListener', type,
  6738. listener.listener ? listener.listener : listener);
  6739. // Re-assign `events` because a newListener handler could have caused the
  6740. // this._events to be assigned to a new object
  6741. events = target._events;
  6742. }
  6743. existing = events[type];
  6744. }
  6745. if (existing === undefined) {
  6746. // Optimize the case of one listener. Don't need the extra array object.
  6747. existing = events[type] = listener;
  6748. ++target._eventsCount;
  6749. } else {
  6750. if (typeof existing === 'function') {
  6751. // Adding the second element, need to change to array.
  6752. existing = events[type] =
  6753. prepend ? [listener, existing] : [existing, listener];
  6754. // If we've already got an array, just append.
  6755. } else if (prepend) {
  6756. existing.unshift(listener);
  6757. } else {
  6758. existing.push(listener);
  6759. }
  6760. // Check for listener leak
  6761. m = _getMaxListeners(target);
  6762. if (m > 0 && existing.length > m && !existing.warned) {
  6763. existing.warned = true;
  6764. // No error code for this since it is a Warning
  6765. // eslint-disable-next-line no-restricted-syntax
  6766. var w = new Error('Possible EventEmitter memory leak detected. ' +
  6767. existing.length + ' ' + String(type) + ' listeners ' +
  6768. 'added. Use emitter.setMaxListeners() to ' +
  6769. 'increase limit');
  6770. w.name = 'MaxListenersExceededWarning';
  6771. w.emitter = target;
  6772. w.type = type;
  6773. w.count = existing.length;
  6774. ProcessEmitWarning(w);
  6775. }
  6776. }
  6777. return target;
  6778. }
  6779. EventEmitter.prototype.addListener = function addListener(type, listener) {
  6780. return _addListener(this, type, listener, false);
  6781. };
  6782. EventEmitter.prototype.on = EventEmitter.prototype.addListener;
  6783. EventEmitter.prototype.prependListener =
  6784. function prependListener(type, listener) {
  6785. return _addListener(this, type, listener, true);
  6786. };
  6787. function onceWrapper() {
  6788. if (!this.fired) {
  6789. this.target.removeListener(this.type, this.wrapFn);
  6790. this.fired = true;
  6791. if (arguments.length === 0)
  6792. return this.listener.call(this.target);
  6793. return this.listener.apply(this.target, arguments);
  6794. }
  6795. }
  6796. function _onceWrap(target, type, listener) {
  6797. var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
  6798. var wrapped = onceWrapper.bind(state);
  6799. wrapped.listener = listener;
  6800. state.wrapFn = wrapped;
  6801. return wrapped;
  6802. }
  6803. EventEmitter.prototype.once = function once(type, listener) {
  6804. checkListener(listener);
  6805. this.on(type, _onceWrap(this, type, listener));
  6806. return this;
  6807. };
  6808. EventEmitter.prototype.prependOnceListener =
  6809. function prependOnceListener(type, listener) {
  6810. checkListener(listener);
  6811. this.prependListener(type, _onceWrap(this, type, listener));
  6812. return this;
  6813. };
  6814. // Emits a 'removeListener' event if and only if the listener was removed.
  6815. EventEmitter.prototype.removeListener =
  6816. function removeListener(type, listener) {
  6817. var list, events, position, i, originalListener;
  6818. checkListener(listener);
  6819. events = this._events;
  6820. if (events === undefined)
  6821. return this;
  6822. list = events[type];
  6823. if (list === undefined)
  6824. return this;
  6825. if (list === listener || list.listener === listener) {
  6826. if (--this._eventsCount === 0)
  6827. this._events = Object.create(null);
  6828. else {
  6829. delete events[type];
  6830. if (events.removeListener)
  6831. this.emit('removeListener', type, list.listener || listener);
  6832. }
  6833. } else if (typeof list !== 'function') {
  6834. position = -1;
  6835. for (i = list.length - 1; i >= 0; i--) {
  6836. if (list[i] === listener || list[i].listener === listener) {
  6837. originalListener = list[i].listener;
  6838. position = i;
  6839. break;
  6840. }
  6841. }
  6842. if (position < 0)
  6843. return this;
  6844. if (position === 0)
  6845. list.shift();
  6846. else {
  6847. spliceOne(list, position);
  6848. }
  6849. if (list.length === 1)
  6850. events[type] = list[0];
  6851. if (events.removeListener !== undefined)
  6852. this.emit('removeListener', type, originalListener || listener);
  6853. }
  6854. return this;
  6855. };
  6856. EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
  6857. EventEmitter.prototype.removeAllListeners =
  6858. function removeAllListeners(type) {
  6859. var listeners, events, i;
  6860. events = this._events;
  6861. if (events === undefined)
  6862. return this;
  6863. // not listening for removeListener, no need to emit
  6864. if (events.removeListener === undefined) {
  6865. if (arguments.length === 0) {
  6866. this._events = Object.create(null);
  6867. this._eventsCount = 0;
  6868. } else if (events[type] !== undefined) {
  6869. if (--this._eventsCount === 0)
  6870. this._events = Object.create(null);
  6871. else
  6872. delete events[type];
  6873. }
  6874. return this;
  6875. }
  6876. // emit removeListener for all listeners on all events
  6877. if (arguments.length === 0) {
  6878. var keys = Object.keys(events);
  6879. var key;
  6880. for (i = 0; i < keys.length; ++i) {
  6881. key = keys[i];
  6882. if (key === 'removeListener') continue;
  6883. this.removeAllListeners(key);
  6884. }
  6885. this.removeAllListeners('removeListener');
  6886. this._events = Object.create(null);
  6887. this._eventsCount = 0;
  6888. return this;
  6889. }
  6890. listeners = events[type];
  6891. if (typeof listeners === 'function') {
  6892. this.removeListener(type, listeners);
  6893. } else if (listeners !== undefined) {
  6894. // LIFO order
  6895. for (i = listeners.length - 1; i >= 0; i--) {
  6896. this.removeListener(type, listeners[i]);
  6897. }
  6898. }
  6899. return this;
  6900. };
  6901. function _listeners(target, type, unwrap) {
  6902. var events = target._events;
  6903. if (events === undefined)
  6904. return [];
  6905. var evlistener = events[type];
  6906. if (evlistener === undefined)
  6907. return [];
  6908. if (typeof evlistener === 'function')
  6909. return unwrap ? [evlistener.listener || evlistener] : [evlistener];
  6910. return unwrap ?
  6911. unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
  6912. }
  6913. EventEmitter.prototype.listeners = function listeners(type) {
  6914. return _listeners(this, type, true);
  6915. };
  6916. EventEmitter.prototype.rawListeners = function rawListeners(type) {
  6917. return _listeners(this, type, false);
  6918. };
  6919. EventEmitter.listenerCount = function(emitter, type) {
  6920. if (typeof emitter.listenerCount === 'function') {
  6921. return emitter.listenerCount(type);
  6922. } else {
  6923. return listenerCount.call(emitter, type);
  6924. }
  6925. };
  6926. EventEmitter.prototype.listenerCount = listenerCount;
  6927. function listenerCount(type) {
  6928. var events = this._events;
  6929. if (events !== undefined) {
  6930. var evlistener = events[type];
  6931. if (typeof evlistener === 'function') {
  6932. return 1;
  6933. } else if (evlistener !== undefined) {
  6934. return evlistener.length;
  6935. }
  6936. }
  6937. return 0;
  6938. }
  6939. EventEmitter.prototype.eventNames = function eventNames() {
  6940. return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
  6941. };
  6942. function arrayClone(arr, n) {
  6943. var copy = new Array(n);
  6944. for (var i = 0; i < n; ++i)
  6945. copy[i] = arr[i];
  6946. return copy;
  6947. }
  6948. function spliceOne(list, index) {
  6949. for (; index + 1 < list.length; index++)
  6950. list[index] = list[index + 1];
  6951. list.pop();
  6952. }
  6953. function unwrapListeners(arr) {
  6954. var ret = new Array(arr.length);
  6955. for (var i = 0; i < ret.length; ++i) {
  6956. ret[i] = arr[i].listener || arr[i];
  6957. }
  6958. return ret;
  6959. }
  6960. /***/ }),
  6961. /* 73 */
  6962. /*!*****************************************************************************!*\
  6963. !*** ./node_modules/readable-stream/lib/internal/streams/stream-browser.js ***!
  6964. \*****************************************************************************/
  6965. /*! no static exports found */
  6966. /***/ (function(module, exports, __webpack_require__) {
  6967. module.exports = __webpack_require__(/*! events */ 72).EventEmitter;
  6968. /***/ }),
  6969. /* 74 */
  6970. /*!***********************************************!*\
  6971. !*** ./node_modules/core-util-is/lib/util.js ***!
  6972. \***********************************************/
  6973. /*! no static exports found */
  6974. /***/ (function(module, exports, __webpack_require__) {
  6975. /* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.
  6976. //
  6977. // Permission is hereby granted, free of charge, to any person obtaining a
  6978. // copy of this software and associated documentation files (the
  6979. // "Software"), to deal in the Software without restriction, including
  6980. // without limitation the rights to use, copy, modify, merge, publish,
  6981. // distribute, sublicense, and/or sell copies of the Software, and to permit
  6982. // persons to whom the Software is furnished to do so, subject to the
  6983. // following conditions:
  6984. //
  6985. // The above copyright notice and this permission notice shall be included
  6986. // in all copies or substantial portions of the Software.
  6987. //
  6988. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  6989. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  6990. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  6991. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  6992. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  6993. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  6994. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  6995. // NOTE: These type checking functions intentionally don't use `instanceof`
  6996. // because it is fragile and can be easily faked with `Object.create()`.
  6997. function isArray(arg) {
  6998. if (Array.isArray) {
  6999. return Array.isArray(arg);
  7000. }
  7001. return objectToString(arg) === '[object Array]';
  7002. }
  7003. exports.isArray = isArray;
  7004. function isBoolean(arg) {
  7005. return typeof arg === 'boolean';
  7006. }
  7007. exports.isBoolean = isBoolean;
  7008. function isNull(arg) {
  7009. return arg === null;
  7010. }
  7011. exports.isNull = isNull;
  7012. function isNullOrUndefined(arg) {
  7013. return arg == null;
  7014. }
  7015. exports.isNullOrUndefined = isNullOrUndefined;
  7016. function isNumber(arg) {
  7017. return typeof arg === 'number';
  7018. }
  7019. exports.isNumber = isNumber;
  7020. function isString(arg) {
  7021. return typeof arg === 'string';
  7022. }
  7023. exports.isString = isString;
  7024. function isSymbol(arg) {
  7025. return typeof arg === 'symbol';
  7026. }
  7027. exports.isSymbol = isSymbol;
  7028. function isUndefined(arg) {
  7029. return arg === void 0;
  7030. }
  7031. exports.isUndefined = isUndefined;
  7032. function isRegExp(re) {
  7033. return objectToString(re) === '[object RegExp]';
  7034. }
  7035. exports.isRegExp = isRegExp;
  7036. function isObject(arg) {
  7037. return typeof arg === 'object' && arg !== null;
  7038. }
  7039. exports.isObject = isObject;
  7040. function isDate(d) {
  7041. return objectToString(d) === '[object Date]';
  7042. }
  7043. exports.isDate = isDate;
  7044. function isError(e) {
  7045. return (objectToString(e) === '[object Error]' || e instanceof Error);
  7046. }
  7047. exports.isError = isError;
  7048. function isFunction(arg) {
  7049. return typeof arg === 'function';
  7050. }
  7051. exports.isFunction = isFunction;
  7052. function isPrimitive(arg) {
  7053. return arg === null ||
  7054. typeof arg === 'boolean' ||
  7055. typeof arg === 'number' ||
  7056. typeof arg === 'string' ||
  7057. typeof arg === 'symbol' || // ES6 symbol
  7058. typeof arg === 'undefined';
  7059. }
  7060. exports.isPrimitive = isPrimitive;
  7061. exports.isBuffer = Buffer.isBuffer;
  7062. function objectToString(o) {
  7063. return Object.prototype.toString.call(o);
  7064. }
  7065. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 61).Buffer))
  7066. /***/ }),
  7067. /* 75 */
  7068. /*!**********************!*\
  7069. !*** util (ignored) ***!
  7070. \**********************/
  7071. /*! no static exports found */
  7072. /***/ (function(module, exports) {
  7073. /* (ignored) */
  7074. /***/ }),
  7075. /* 76 */
  7076. /*!*************************************************************************!*\
  7077. !*** ./node_modules/readable-stream/lib/internal/streams/BufferList.js ***!
  7078. \*************************************************************************/
  7079. /*! no static exports found */
  7080. /***/ (function(module, exports, __webpack_require__) {
  7081. "use strict";
  7082. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  7083. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer;
  7084. var util = __webpack_require__(/*! util */ 77);
  7085. function copyBuffer(src, target, offset) {
  7086. src.copy(target, offset);
  7087. }
  7088. module.exports = function () {
  7089. function BufferList() {
  7090. _classCallCheck(this, BufferList);
  7091. this.head = null;
  7092. this.tail = null;
  7093. this.length = 0;
  7094. }
  7095. BufferList.prototype.push = function push(v) {
  7096. var entry = { data: v, next: null };
  7097. if (this.length > 0) this.tail.next = entry;else this.head = entry;
  7098. this.tail = entry;
  7099. ++this.length;
  7100. };
  7101. BufferList.prototype.unshift = function unshift(v) {
  7102. var entry = { data: v, next: this.head };
  7103. if (this.length === 0) this.tail = entry;
  7104. this.head = entry;
  7105. ++this.length;
  7106. };
  7107. BufferList.prototype.shift = function shift() {
  7108. if (this.length === 0) return;
  7109. var ret = this.head.data;
  7110. if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
  7111. --this.length;
  7112. return ret;
  7113. };
  7114. BufferList.prototype.clear = function clear() {
  7115. this.head = this.tail = null;
  7116. this.length = 0;
  7117. };
  7118. BufferList.prototype.join = function join(s) {
  7119. if (this.length === 0) return '';
  7120. var p = this.head;
  7121. var ret = '' + p.data;
  7122. while (p = p.next) {
  7123. ret += s + p.data;
  7124. }return ret;
  7125. };
  7126. BufferList.prototype.concat = function concat(n) {
  7127. if (this.length === 0) return Buffer.alloc(0);
  7128. if (this.length === 1) return this.head.data;
  7129. var ret = Buffer.allocUnsafe(n >>> 0);
  7130. var p = this.head;
  7131. var i = 0;
  7132. while (p) {
  7133. copyBuffer(p.data, ret, i);
  7134. i += p.data.length;
  7135. p = p.next;
  7136. }
  7137. return ret;
  7138. };
  7139. return BufferList;
  7140. }();
  7141. if (util && util.inspect && util.inspect.custom) {
  7142. module.exports.prototype[util.inspect.custom] = function () {
  7143. var obj = util.inspect({ length: this.length });
  7144. return this.constructor.name + ' ' + obj;
  7145. };
  7146. }
  7147. /***/ }),
  7148. /* 77 */
  7149. /*!**********************!*\
  7150. !*** util (ignored) ***!
  7151. \**********************/
  7152. /*! no static exports found */
  7153. /***/ (function(module, exports) {
  7154. /* (ignored) */
  7155. /***/ }),
  7156. /* 78 */
  7157. /*!**********************************************************************!*\
  7158. !*** ./node_modules/readable-stream/lib/internal/streams/destroy.js ***!
  7159. \**********************************************************************/
  7160. /*! no static exports found */
  7161. /***/ (function(module, exports, __webpack_require__) {
  7162. "use strict";
  7163. /*<replacement>*/
  7164. var pna = __webpack_require__(/*! process-nextick-args */ 71);
  7165. /*</replacement>*/
  7166. // undocumented cb() API, needed for core, not for public API
  7167. function destroy(err, cb) {
  7168. var _this = this;
  7169. var readableDestroyed = this._readableState && this._readableState.destroyed;
  7170. var writableDestroyed = this._writableState && this._writableState.destroyed;
  7171. if (readableDestroyed || writableDestroyed) {
  7172. if (cb) {
  7173. cb(err);
  7174. } else if (err && (!this._writableState || !this._writableState.errorEmitted)) {
  7175. pna.nextTick(emitErrorNT, this, err);
  7176. }
  7177. return this;
  7178. }
  7179. // we set destroyed to true before firing error callbacks in order
  7180. // to make it re-entrance safe in case destroy() is called within callbacks
  7181. if (this._readableState) {
  7182. this._readableState.destroyed = true;
  7183. }
  7184. // if this is a duplex stream mark the writable part as destroyed as well
  7185. if (this._writableState) {
  7186. this._writableState.destroyed = true;
  7187. }
  7188. this._destroy(err || null, function (err) {
  7189. if (!cb && err) {
  7190. pna.nextTick(emitErrorNT, _this, err);
  7191. if (_this._writableState) {
  7192. _this._writableState.errorEmitted = true;
  7193. }
  7194. } else if (cb) {
  7195. cb(err);
  7196. }
  7197. });
  7198. return this;
  7199. }
  7200. function undestroy() {
  7201. if (this._readableState) {
  7202. this._readableState.destroyed = false;
  7203. this._readableState.reading = false;
  7204. this._readableState.ended = false;
  7205. this._readableState.endEmitted = false;
  7206. }
  7207. if (this._writableState) {
  7208. this._writableState.destroyed = false;
  7209. this._writableState.ended = false;
  7210. this._writableState.ending = false;
  7211. this._writableState.finished = false;
  7212. this._writableState.errorEmitted = false;
  7213. }
  7214. }
  7215. function emitErrorNT(self, err) {
  7216. self.emit('error', err);
  7217. }
  7218. module.exports = {
  7219. destroy: destroy,
  7220. undestroy: undestroy
  7221. };
  7222. /***/ }),
  7223. /* 79 */
  7224. /*!************************************************************!*\
  7225. !*** ./node_modules/readable-stream/lib/_stream_duplex.js ***!
  7226. \************************************************************/
  7227. /*! no static exports found */
  7228. /***/ (function(module, exports, __webpack_require__) {
  7229. "use strict";
  7230. // Copyright Joyent, Inc. and other Node contributors.
  7231. //
  7232. // Permission is hereby granted, free of charge, to any person obtaining a
  7233. // copy of this software and associated documentation files (the
  7234. // "Software"), to deal in the Software without restriction, including
  7235. // without limitation the rights to use, copy, modify, merge, publish,
  7236. // distribute, sublicense, and/or sell copies of the Software, and to permit
  7237. // persons to whom the Software is furnished to do so, subject to the
  7238. // following conditions:
  7239. //
  7240. // The above copyright notice and this permission notice shall be included
  7241. // in all copies or substantial portions of the Software.
  7242. //
  7243. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  7244. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  7245. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  7246. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  7247. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  7248. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  7249. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  7250. // a duplex stream is just a stream that is both readable and writable.
  7251. // Since JS doesn't have multiple prototypal inheritance, this class
  7252. // prototypally inherits from Readable, and then parasitically from
  7253. // Writable.
  7254. /*<replacement>*/
  7255. var pna = __webpack_require__(/*! process-nextick-args */ 71);
  7256. /*</replacement>*/
  7257. /*<replacement>*/
  7258. var objectKeys = Object.keys || function (obj) {
  7259. var keys = [];
  7260. for (var key in obj) {
  7261. keys.push(key);
  7262. }return keys;
  7263. };
  7264. /*</replacement>*/
  7265. module.exports = Duplex;
  7266. /*<replacement>*/
  7267. var util = Object.create(__webpack_require__(/*! core-util-is */ 74));
  7268. util.inherits = __webpack_require__(/*! inherits */ 66);
  7269. /*</replacement>*/
  7270. var Readable = __webpack_require__(/*! ./_stream_readable */ 70);
  7271. var Writable = __webpack_require__(/*! ./_stream_writable */ 80);
  7272. util.inherits(Duplex, Readable);
  7273. {
  7274. // avoid scope creep, the keys array can then be collected
  7275. var keys = objectKeys(Writable.prototype);
  7276. for (var v = 0; v < keys.length; v++) {
  7277. var method = keys[v];
  7278. if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
  7279. }
  7280. }
  7281. function Duplex(options) {
  7282. if (!(this instanceof Duplex)) return new Duplex(options);
  7283. Readable.call(this, options);
  7284. Writable.call(this, options);
  7285. if (options && options.readable === false) this.readable = false;
  7286. if (options && options.writable === false) this.writable = false;
  7287. this.allowHalfOpen = true;
  7288. if (options && options.allowHalfOpen === false) this.allowHalfOpen = false;
  7289. this.once('end', onend);
  7290. }
  7291. Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', {
  7292. // making it explicit this property is not enumerable
  7293. // because otherwise some prototype manipulation in
  7294. // userland will fail
  7295. enumerable: false,
  7296. get: function () {
  7297. return this._writableState.highWaterMark;
  7298. }
  7299. });
  7300. // the no-half-open enforcer
  7301. function onend() {
  7302. // if we allow half-open state, or if the writable side ended,
  7303. // then we're ok.
  7304. if (this.allowHalfOpen || this._writableState.ended) return;
  7305. // no more data can be written.
  7306. // But allow more writes to happen in this tick.
  7307. pna.nextTick(onEndNT, this);
  7308. }
  7309. function onEndNT(self) {
  7310. self.end();
  7311. }
  7312. Object.defineProperty(Duplex.prototype, 'destroyed', {
  7313. get: function () {
  7314. if (this._readableState === undefined || this._writableState === undefined) {
  7315. return false;
  7316. }
  7317. return this._readableState.destroyed && this._writableState.destroyed;
  7318. },
  7319. set: function (value) {
  7320. // we ignore the value if the stream
  7321. // has not been initialized yet
  7322. if (this._readableState === undefined || this._writableState === undefined) {
  7323. return;
  7324. }
  7325. // backward compatibility, the user is explicitly
  7326. // managing destroyed
  7327. this._readableState.destroyed = value;
  7328. this._writableState.destroyed = value;
  7329. }
  7330. });
  7331. Duplex.prototype._destroy = function (err, cb) {
  7332. this.push(null);
  7333. this.end();
  7334. pna.nextTick(cb, err);
  7335. };
  7336. /***/ }),
  7337. /* 80 */
  7338. /*!**************************************************************!*\
  7339. !*** ./node_modules/readable-stream/lib/_stream_writable.js ***!
  7340. \**************************************************************/
  7341. /*! no static exports found */
  7342. /***/ (function(module, exports, __webpack_require__) {
  7343. "use strict";
  7344. /* WEBPACK VAR INJECTION */(function(process, global) {// Copyright Joyent, Inc. and other Node contributors.
  7345. //
  7346. // Permission is hereby granted, free of charge, to any person obtaining a
  7347. // copy of this software and associated documentation files (the
  7348. // "Software"), to deal in the Software without restriction, including
  7349. // without limitation the rights to use, copy, modify, merge, publish,
  7350. // distribute, sublicense, and/or sell copies of the Software, and to permit
  7351. // persons to whom the Software is furnished to do so, subject to the
  7352. // following conditions:
  7353. //
  7354. // The above copyright notice and this permission notice shall be included
  7355. // in all copies or substantial portions of the Software.
  7356. //
  7357. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  7358. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  7359. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  7360. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  7361. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  7362. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  7363. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  7364. // A bit simpler than readable streams.
  7365. // Implement an async ._write(chunk, encoding, cb), and it'll handle all
  7366. // the drain event emission and buffering.
  7367. /*<replacement>*/
  7368. var pna = __webpack_require__(/*! process-nextick-args */ 71);
  7369. /*</replacement>*/
  7370. module.exports = Writable;
  7371. /* <replacement> */
  7372. function WriteReq(chunk, encoding, cb) {
  7373. this.chunk = chunk;
  7374. this.encoding = encoding;
  7375. this.callback = cb;
  7376. this.next = null;
  7377. }
  7378. // It seems a linked list but it is not
  7379. // there will be only 2 of these for each stream
  7380. function CorkedRequest(state) {
  7381. var _this = this;
  7382. this.next = null;
  7383. this.entry = null;
  7384. this.finish = function () {
  7385. onCorkedFinish(_this, state);
  7386. };
  7387. }
  7388. /* </replacement> */
  7389. /*<replacement>*/
  7390. var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
  7391. /*</replacement>*/
  7392. /*<replacement>*/
  7393. var Duplex;
  7394. /*</replacement>*/
  7395. Writable.WritableState = WritableState;
  7396. /*<replacement>*/
  7397. var util = Object.create(__webpack_require__(/*! core-util-is */ 74));
  7398. util.inherits = __webpack_require__(/*! inherits */ 66);
  7399. /*</replacement>*/
  7400. /*<replacement>*/
  7401. var internalUtil = {
  7402. deprecate: __webpack_require__(/*! util-deprecate */ 81)
  7403. };
  7404. /*</replacement>*/
  7405. /*<replacement>*/
  7406. var Stream = __webpack_require__(/*! ./internal/streams/stream */ 73);
  7407. /*</replacement>*/
  7408. /*<replacement>*/
  7409. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer;
  7410. var OurUint8Array = global.Uint8Array || function () {};
  7411. function _uint8ArrayToBuffer(chunk) {
  7412. return Buffer.from(chunk);
  7413. }
  7414. function _isUint8Array(obj) {
  7415. return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
  7416. }
  7417. /*</replacement>*/
  7418. var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 78);
  7419. util.inherits(Writable, Stream);
  7420. function nop() {}
  7421. function WritableState(options, stream) {
  7422. Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 79);
  7423. options = options || {};
  7424. // Duplex streams are both readable and writable, but share
  7425. // the same options object.
  7426. // However, some cases require setting options to different
  7427. // values for the readable and the writable sides of the duplex stream.
  7428. // These options can be provided separately as readableXXX and writableXXX.
  7429. var isDuplex = stream instanceof Duplex;
  7430. // object stream flag to indicate whether or not this stream
  7431. // contains buffers or objects.
  7432. this.objectMode = !!options.objectMode;
  7433. if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
  7434. // the point at which write() starts returning false
  7435. // Note: 0 is a valid value, means that we always return false if
  7436. // the entire buffer is not flushed immediately on write()
  7437. var hwm = options.highWaterMark;
  7438. var writableHwm = options.writableHighWaterMark;
  7439. var defaultHwm = this.objectMode ? 16 : 16 * 1024;
  7440. if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;
  7441. // cast to ints.
  7442. this.highWaterMark = Math.floor(this.highWaterMark);
  7443. // if _final has been called
  7444. this.finalCalled = false;
  7445. // drain event flag.
  7446. this.needDrain = false;
  7447. // at the start of calling end()
  7448. this.ending = false;
  7449. // when end() has been called, and returned
  7450. this.ended = false;
  7451. // when 'finish' is emitted
  7452. this.finished = false;
  7453. // has it been destroyed
  7454. this.destroyed = false;
  7455. // should we decode strings into buffers before passing to _write?
  7456. // this is here so that some node-core streams can optimize string
  7457. // handling at a lower level.
  7458. var noDecode = options.decodeStrings === false;
  7459. this.decodeStrings = !noDecode;
  7460. // Crypto is kind of old and crusty. Historically, its default string
  7461. // encoding is 'binary' so we have to make this configurable.
  7462. // Everything else in the universe uses 'utf8', though.
  7463. this.defaultEncoding = options.defaultEncoding || 'utf8';
  7464. // not an actual buffer we keep track of, but a measurement
  7465. // of how much we're waiting to get pushed to some underlying
  7466. // socket or file.
  7467. this.length = 0;
  7468. // a flag to see when we're in the middle of a write.
  7469. this.writing = false;
  7470. // when true all writes will be buffered until .uncork() call
  7471. this.corked = 0;
  7472. // a flag to be able to tell if the onwrite cb is called immediately,
  7473. // or on a later tick. We set this to true at first, because any
  7474. // actions that shouldn't happen until "later" should generally also
  7475. // not happen before the first write call.
  7476. this.sync = true;
  7477. // a flag to know if we're processing previously buffered items, which
  7478. // may call the _write() callback in the same tick, so that we don't
  7479. // end up in an overlapped onwrite situation.
  7480. this.bufferProcessing = false;
  7481. // the callback that's passed to _write(chunk,cb)
  7482. this.onwrite = function (er) {
  7483. onwrite(stream, er);
  7484. };
  7485. // the callback that the user supplies to write(chunk,encoding,cb)
  7486. this.writecb = null;
  7487. // the amount that is being written when _write is called.
  7488. this.writelen = 0;
  7489. this.bufferedRequest = null;
  7490. this.lastBufferedRequest = null;
  7491. // number of pending user-supplied write callbacks
  7492. // this must be 0 before 'finish' can be emitted
  7493. this.pendingcb = 0;
  7494. // emit prefinish if the only thing we're waiting for is _write cbs
  7495. // This is relevant for synchronous Transform streams
  7496. this.prefinished = false;
  7497. // True if the error was already emitted and should not be thrown again
  7498. this.errorEmitted = false;
  7499. // count buffered requests
  7500. this.bufferedRequestCount = 0;
  7501. // allocate the first CorkedRequest, there is always
  7502. // one allocated and free to use, and we maintain at most two
  7503. this.corkedRequestsFree = new CorkedRequest(this);
  7504. }
  7505. WritableState.prototype.getBuffer = function getBuffer() {
  7506. var current = this.bufferedRequest;
  7507. var out = [];
  7508. while (current) {
  7509. out.push(current);
  7510. current = current.next;
  7511. }
  7512. return out;
  7513. };
  7514. (function () {
  7515. try {
  7516. Object.defineProperty(WritableState.prototype, 'buffer', {
  7517. get: internalUtil.deprecate(function () {
  7518. return this.getBuffer();
  7519. }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
  7520. });
  7521. } catch (_) {}
  7522. })();
  7523. // Test _writableState for inheritance to account for Duplex streams,
  7524. // whose prototype chain only points to Readable.
  7525. var realHasInstance;
  7526. if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
  7527. realHasInstance = Function.prototype[Symbol.hasInstance];
  7528. Object.defineProperty(Writable, Symbol.hasInstance, {
  7529. value: function (object) {
  7530. if (realHasInstance.call(this, object)) return true;
  7531. if (this !== Writable) return false;
  7532. return object && object._writableState instanceof WritableState;
  7533. }
  7534. });
  7535. } else {
  7536. realHasInstance = function (object) {
  7537. return object instanceof this;
  7538. };
  7539. }
  7540. function Writable(options) {
  7541. Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 79);
  7542. // Writable ctor is applied to Duplexes, too.
  7543. // `realHasInstance` is necessary because using plain `instanceof`
  7544. // would return false, as no `_writableState` property is attached.
  7545. // Trying to use the custom `instanceof` for Writable here will also break the
  7546. // Node.js LazyTransform implementation, which has a non-trivial getter for
  7547. // `_writableState` that would lead to infinite recursion.
  7548. if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
  7549. return new Writable(options);
  7550. }
  7551. this._writableState = new WritableState(options, this);
  7552. // legacy.
  7553. this.writable = true;
  7554. if (options) {
  7555. if (typeof options.write === 'function') this._write = options.write;
  7556. if (typeof options.writev === 'function') this._writev = options.writev;
  7557. if (typeof options.destroy === 'function') this._destroy = options.destroy;
  7558. if (typeof options.final === 'function') this._final = options.final;
  7559. }
  7560. Stream.call(this);
  7561. }
  7562. // Otherwise people can pipe Writable streams, which is just wrong.
  7563. Writable.prototype.pipe = function () {
  7564. this.emit('error', new Error('Cannot pipe, not readable'));
  7565. };
  7566. function writeAfterEnd(stream, cb) {
  7567. var er = new Error('write after end');
  7568. // TODO: defer error events consistently everywhere, not just the cb
  7569. stream.emit('error', er);
  7570. pna.nextTick(cb, er);
  7571. }
  7572. // Checks that a user-supplied chunk is valid, especially for the particular
  7573. // mode the stream is in. Currently this means that `null` is never accepted
  7574. // and undefined/non-string values are only allowed in object mode.
  7575. function validChunk(stream, state, chunk, cb) {
  7576. var valid = true;
  7577. var er = false;
  7578. if (chunk === null) {
  7579. er = new TypeError('May not write null values to stream');
  7580. } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
  7581. er = new TypeError('Invalid non-string/buffer chunk');
  7582. }
  7583. if (er) {
  7584. stream.emit('error', er);
  7585. pna.nextTick(cb, er);
  7586. valid = false;
  7587. }
  7588. return valid;
  7589. }
  7590. Writable.prototype.write = function (chunk, encoding, cb) {
  7591. var state = this._writableState;
  7592. var ret = false;
  7593. var isBuf = !state.objectMode && _isUint8Array(chunk);
  7594. if (isBuf && !Buffer.isBuffer(chunk)) {
  7595. chunk = _uint8ArrayToBuffer(chunk);
  7596. }
  7597. if (typeof encoding === 'function') {
  7598. cb = encoding;
  7599. encoding = null;
  7600. }
  7601. if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
  7602. if (typeof cb !== 'function') cb = nop;
  7603. if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
  7604. state.pendingcb++;
  7605. ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
  7606. }
  7607. return ret;
  7608. };
  7609. Writable.prototype.cork = function () {
  7610. var state = this._writableState;
  7611. state.corked++;
  7612. };
  7613. Writable.prototype.uncork = function () {
  7614. var state = this._writableState;
  7615. if (state.corked) {
  7616. state.corked--;
  7617. if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
  7618. }
  7619. };
  7620. Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
  7621. // node::ParseEncoding() requires lower case.
  7622. if (typeof encoding === 'string') encoding = encoding.toLowerCase();
  7623. if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);
  7624. this._writableState.defaultEncoding = encoding;
  7625. return this;
  7626. };
  7627. function decodeChunk(state, chunk, encoding) {
  7628. if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
  7629. chunk = Buffer.from(chunk, encoding);
  7630. }
  7631. return chunk;
  7632. }
  7633. Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
  7634. // making it explicit this property is not enumerable
  7635. // because otherwise some prototype manipulation in
  7636. // userland will fail
  7637. enumerable: false,
  7638. get: function () {
  7639. return this._writableState.highWaterMark;
  7640. }
  7641. });
  7642. // if we're already writing something, then just put this
  7643. // in the queue, and wait our turn. Otherwise, call _write
  7644. // If we return false, then we need a drain event, so set that flag.
  7645. function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
  7646. if (!isBuf) {
  7647. var newChunk = decodeChunk(state, chunk, encoding);
  7648. if (chunk !== newChunk) {
  7649. isBuf = true;
  7650. encoding = 'buffer';
  7651. chunk = newChunk;
  7652. }
  7653. }
  7654. var len = state.objectMode ? 1 : chunk.length;
  7655. state.length += len;
  7656. var ret = state.length < state.highWaterMark;
  7657. // we must ensure that previous needDrain will not be reset to false.
  7658. if (!ret) state.needDrain = true;
  7659. if (state.writing || state.corked) {
  7660. var last = state.lastBufferedRequest;
  7661. state.lastBufferedRequest = {
  7662. chunk: chunk,
  7663. encoding: encoding,
  7664. isBuf: isBuf,
  7665. callback: cb,
  7666. next: null
  7667. };
  7668. if (last) {
  7669. last.next = state.lastBufferedRequest;
  7670. } else {
  7671. state.bufferedRequest = state.lastBufferedRequest;
  7672. }
  7673. state.bufferedRequestCount += 1;
  7674. } else {
  7675. doWrite(stream, state, false, len, chunk, encoding, cb);
  7676. }
  7677. return ret;
  7678. }
  7679. function doWrite(stream, state, writev, len, chunk, encoding, cb) {
  7680. state.writelen = len;
  7681. state.writecb = cb;
  7682. state.writing = true;
  7683. state.sync = true;
  7684. if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
  7685. state.sync = false;
  7686. }
  7687. function onwriteError(stream, state, sync, er, cb) {
  7688. --state.pendingcb;
  7689. if (sync) {
  7690. // defer the callback if we are being called synchronously
  7691. // to avoid piling up things on the stack
  7692. pna.nextTick(cb, er);
  7693. // this can emit finish, and it will always happen
  7694. // after error
  7695. pna.nextTick(finishMaybe, stream, state);
  7696. stream._writableState.errorEmitted = true;
  7697. stream.emit('error', er);
  7698. } else {
  7699. // the caller expect this to happen before if
  7700. // it is async
  7701. cb(er);
  7702. stream._writableState.errorEmitted = true;
  7703. stream.emit('error', er);
  7704. // this can emit finish, but finish must
  7705. // always follow error
  7706. finishMaybe(stream, state);
  7707. }
  7708. }
  7709. function onwriteStateUpdate(state) {
  7710. state.writing = false;
  7711. state.writecb = null;
  7712. state.length -= state.writelen;
  7713. state.writelen = 0;
  7714. }
  7715. function onwrite(stream, er) {
  7716. var state = stream._writableState;
  7717. var sync = state.sync;
  7718. var cb = state.writecb;
  7719. onwriteStateUpdate(state);
  7720. if (er) onwriteError(stream, state, sync, er, cb);else {
  7721. // Check if we're actually ready to finish, but don't emit yet
  7722. var finished = needFinish(state);
  7723. if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
  7724. clearBuffer(stream, state);
  7725. }
  7726. if (sync) {
  7727. /*<replacement>*/
  7728. asyncWrite(afterWrite, stream, state, finished, cb);
  7729. /*</replacement>*/
  7730. } else {
  7731. afterWrite(stream, state, finished, cb);
  7732. }
  7733. }
  7734. }
  7735. function afterWrite(stream, state, finished, cb) {
  7736. if (!finished) onwriteDrain(stream, state);
  7737. state.pendingcb--;
  7738. cb();
  7739. finishMaybe(stream, state);
  7740. }
  7741. // Must force callback to be called on nextTick, so that we don't
  7742. // emit 'drain' before the write() consumer gets the 'false' return
  7743. // value, and has a chance to attach a 'drain' listener.
  7744. function onwriteDrain(stream, state) {
  7745. if (state.length === 0 && state.needDrain) {
  7746. state.needDrain = false;
  7747. stream.emit('drain');
  7748. }
  7749. }
  7750. // if there's something in the buffer waiting, then process it
  7751. function clearBuffer(stream, state) {
  7752. state.bufferProcessing = true;
  7753. var entry = state.bufferedRequest;
  7754. if (stream._writev && entry && entry.next) {
  7755. // Fast case, write everything using _writev()
  7756. var l = state.bufferedRequestCount;
  7757. var buffer = new Array(l);
  7758. var holder = state.corkedRequestsFree;
  7759. holder.entry = entry;
  7760. var count = 0;
  7761. var allBuffers = true;
  7762. while (entry) {
  7763. buffer[count] = entry;
  7764. if (!entry.isBuf) allBuffers = false;
  7765. entry = entry.next;
  7766. count += 1;
  7767. }
  7768. buffer.allBuffers = allBuffers;
  7769. doWrite(stream, state, true, state.length, buffer, '', holder.finish);
  7770. // doWrite is almost always async, defer these to save a bit of time
  7771. // as the hot path ends with doWrite
  7772. state.pendingcb++;
  7773. state.lastBufferedRequest = null;
  7774. if (holder.next) {
  7775. state.corkedRequestsFree = holder.next;
  7776. holder.next = null;
  7777. } else {
  7778. state.corkedRequestsFree = new CorkedRequest(state);
  7779. }
  7780. state.bufferedRequestCount = 0;
  7781. } else {
  7782. // Slow case, write chunks one-by-one
  7783. while (entry) {
  7784. var chunk = entry.chunk;
  7785. var encoding = entry.encoding;
  7786. var cb = entry.callback;
  7787. var len = state.objectMode ? 1 : chunk.length;
  7788. doWrite(stream, state, false, len, chunk, encoding, cb);
  7789. entry = entry.next;
  7790. state.bufferedRequestCount--;
  7791. // if we didn't call the onwrite immediately, then
  7792. // it means that we need to wait until it does.
  7793. // also, that means that the chunk and cb are currently
  7794. // being processed, so move the buffer counter past them.
  7795. if (state.writing) {
  7796. break;
  7797. }
  7798. }
  7799. if (entry === null) state.lastBufferedRequest = null;
  7800. }
  7801. state.bufferedRequest = entry;
  7802. state.bufferProcessing = false;
  7803. }
  7804. Writable.prototype._write = function (chunk, encoding, cb) {
  7805. cb(new Error('_write() is not implemented'));
  7806. };
  7807. Writable.prototype._writev = null;
  7808. Writable.prototype.end = function (chunk, encoding, cb) {
  7809. var state = this._writableState;
  7810. if (typeof chunk === 'function') {
  7811. cb = chunk;
  7812. chunk = null;
  7813. encoding = null;
  7814. } else if (typeof encoding === 'function') {
  7815. cb = encoding;
  7816. encoding = null;
  7817. }
  7818. if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
  7819. // .end() fully uncorks
  7820. if (state.corked) {
  7821. state.corked = 1;
  7822. this.uncork();
  7823. }
  7824. // ignore unnecessary end() calls.
  7825. if (!state.ending && !state.finished) endWritable(this, state, cb);
  7826. };
  7827. function needFinish(state) {
  7828. return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
  7829. }
  7830. function callFinal(stream, state) {
  7831. stream._final(function (err) {
  7832. state.pendingcb--;
  7833. if (err) {
  7834. stream.emit('error', err);
  7835. }
  7836. state.prefinished = true;
  7837. stream.emit('prefinish');
  7838. finishMaybe(stream, state);
  7839. });
  7840. }
  7841. function prefinish(stream, state) {
  7842. if (!state.prefinished && !state.finalCalled) {
  7843. if (typeof stream._final === 'function') {
  7844. state.pendingcb++;
  7845. state.finalCalled = true;
  7846. pna.nextTick(callFinal, stream, state);
  7847. } else {
  7848. state.prefinished = true;
  7849. stream.emit('prefinish');
  7850. }
  7851. }
  7852. }
  7853. function finishMaybe(stream, state) {
  7854. var need = needFinish(state);
  7855. if (need) {
  7856. prefinish(stream, state);
  7857. if (state.pendingcb === 0) {
  7858. state.finished = true;
  7859. stream.emit('finish');
  7860. }
  7861. }
  7862. return need;
  7863. }
  7864. function endWritable(stream, state, cb) {
  7865. state.ending = true;
  7866. finishMaybe(stream, state);
  7867. if (cb) {
  7868. if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);
  7869. }
  7870. state.ended = true;
  7871. stream.writable = false;
  7872. }
  7873. function onCorkedFinish(corkReq, state, err) {
  7874. var entry = corkReq.entry;
  7875. corkReq.entry = null;
  7876. while (entry) {
  7877. var cb = entry.callback;
  7878. state.pendingcb--;
  7879. cb(err);
  7880. entry = entry.next;
  7881. }
  7882. if (state.corkedRequestsFree) {
  7883. state.corkedRequestsFree.next = corkReq;
  7884. } else {
  7885. state.corkedRequestsFree = corkReq;
  7886. }
  7887. }
  7888. Object.defineProperty(Writable.prototype, 'destroyed', {
  7889. get: function () {
  7890. if (this._writableState === undefined) {
  7891. return false;
  7892. }
  7893. return this._writableState.destroyed;
  7894. },
  7895. set: function (value) {
  7896. // we ignore the value if the stream
  7897. // has not been initialized yet
  7898. if (!this._writableState) {
  7899. return;
  7900. }
  7901. // backward compatibility, the user is explicitly
  7902. // managing destroyed
  7903. this._writableState.destroyed = value;
  7904. }
  7905. });
  7906. Writable.prototype.destroy = destroyImpl.destroy;
  7907. Writable.prototype._undestroy = destroyImpl.undestroy;
  7908. Writable.prototype._destroy = function (err, cb) {
  7909. this.end();
  7910. cb(err);
  7911. };
  7912. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node-libs-browser/mock/process.js */ 58), __webpack_require__(/*! ./../../webpack/buildin/global.js */ 11)))
  7913. /***/ }),
  7914. /* 81 */
  7915. /*!************************************************!*\
  7916. !*** ./node_modules/util-deprecate/browser.js ***!
  7917. \************************************************/
  7918. /*! no static exports found */
  7919. /***/ (function(module, exports, __webpack_require__) {
  7920. /* WEBPACK VAR INJECTION */(function(global) {
  7921. /**
  7922. * Module exports.
  7923. */
  7924. module.exports = deprecate;
  7925. /**
  7926. * Mark that a method should not be used.
  7927. * Returns a modified function which warns once by default.
  7928. *
  7929. * If `localStorage.noDeprecation = true` is set, then it is a no-op.
  7930. *
  7931. * If `localStorage.throwDeprecation = true` is set, then deprecated functions
  7932. * will throw an Error when invoked.
  7933. *
  7934. * If `localStorage.traceDeprecation = true` is set, then deprecated functions
  7935. * will invoke `console.trace()` instead of `console.error()`.
  7936. *
  7937. * @param {Function} fn - the function to deprecate
  7938. * @param {String} msg - the string to print to the console when `fn` is invoked
  7939. * @returns {Function} a new "deprecated" version of `fn`
  7940. * @api public
  7941. */
  7942. function deprecate (fn, msg) {
  7943. if (config('noDeprecation')) {
  7944. return fn;
  7945. }
  7946. var warned = false;
  7947. function deprecated() {
  7948. if (!warned) {
  7949. if (config('throwDeprecation')) {
  7950. throw new Error(msg);
  7951. } else if (config('traceDeprecation')) {
  7952. console.trace(msg);
  7953. } else {
  7954. console.warn(msg);
  7955. }
  7956. warned = true;
  7957. }
  7958. return fn.apply(this, arguments);
  7959. }
  7960. return deprecated;
  7961. }
  7962. /**
  7963. * Checks `localStorage` for boolean values for the given `name`.
  7964. *
  7965. * @param {String} name
  7966. * @returns {Boolean}
  7967. * @api private
  7968. */
  7969. function config (name) {
  7970. // accessing global.localStorage can trigger a DOMException in sandboxed iframes
  7971. try {
  7972. if (!global.localStorage) return false;
  7973. } catch (_) {
  7974. return false;
  7975. }
  7976. var val = global.localStorage[name];
  7977. if (null == val) return false;
  7978. return String(val).toLowerCase() === 'true';
  7979. }
  7980. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 11)))
  7981. /***/ }),
  7982. /* 82 */
  7983. /*!***********************************************************!*\
  7984. !*** ./node_modules/string_decoder/lib/string_decoder.js ***!
  7985. \***********************************************************/
  7986. /*! no static exports found */
  7987. /***/ (function(module, exports, __webpack_require__) {
  7988. "use strict";
  7989. // Copyright Joyent, Inc. and other Node contributors.
  7990. //
  7991. // Permission is hereby granted, free of charge, to any person obtaining a
  7992. // copy of this software and associated documentation files (the
  7993. // "Software"), to deal in the Software without restriction, including
  7994. // without limitation the rights to use, copy, modify, merge, publish,
  7995. // distribute, sublicense, and/or sell copies of the Software, and to permit
  7996. // persons to whom the Software is furnished to do so, subject to the
  7997. // following conditions:
  7998. //
  7999. // The above copyright notice and this permission notice shall be included
  8000. // in all copies or substantial portions of the Software.
  8001. //
  8002. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  8003. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  8004. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  8005. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  8006. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  8007. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  8008. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  8009. /*<replacement>*/
  8010. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer;
  8011. /*</replacement>*/
  8012. var isEncoding = Buffer.isEncoding || function (encoding) {
  8013. encoding = '' + encoding;
  8014. switch (encoding && encoding.toLowerCase()) {
  8015. case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':
  8016. return true;
  8017. default:
  8018. return false;
  8019. }
  8020. };
  8021. function _normalizeEncoding(enc) {
  8022. if (!enc) return 'utf8';
  8023. var retried;
  8024. while (true) {
  8025. switch (enc) {
  8026. case 'utf8':
  8027. case 'utf-8':
  8028. return 'utf8';
  8029. case 'ucs2':
  8030. case 'ucs-2':
  8031. case 'utf16le':
  8032. case 'utf-16le':
  8033. return 'utf16le';
  8034. case 'latin1':
  8035. case 'binary':
  8036. return 'latin1';
  8037. case 'base64':
  8038. case 'ascii':
  8039. case 'hex':
  8040. return enc;
  8041. default:
  8042. if (retried) return; // undefined
  8043. enc = ('' + enc).toLowerCase();
  8044. retried = true;
  8045. }
  8046. }
  8047. };
  8048. // Do not cache `Buffer.isEncoding` when checking encoding names as some
  8049. // modules monkey-patch it to support additional encodings
  8050. function normalizeEncoding(enc) {
  8051. var nenc = _normalizeEncoding(enc);
  8052. if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);
  8053. return nenc || enc;
  8054. }
  8055. // StringDecoder provides an interface for efficiently splitting a series of
  8056. // buffers into a series of JS strings without breaking apart multi-byte
  8057. // characters.
  8058. exports.StringDecoder = StringDecoder;
  8059. function StringDecoder(encoding) {
  8060. this.encoding = normalizeEncoding(encoding);
  8061. var nb;
  8062. switch (this.encoding) {
  8063. case 'utf16le':
  8064. this.text = utf16Text;
  8065. this.end = utf16End;
  8066. nb = 4;
  8067. break;
  8068. case 'utf8':
  8069. this.fillLast = utf8FillLast;
  8070. nb = 4;
  8071. break;
  8072. case 'base64':
  8073. this.text = base64Text;
  8074. this.end = base64End;
  8075. nb = 3;
  8076. break;
  8077. default:
  8078. this.write = simpleWrite;
  8079. this.end = simpleEnd;
  8080. return;
  8081. }
  8082. this.lastNeed = 0;
  8083. this.lastTotal = 0;
  8084. this.lastChar = Buffer.allocUnsafe(nb);
  8085. }
  8086. StringDecoder.prototype.write = function (buf) {
  8087. if (buf.length === 0) return '';
  8088. var r;
  8089. var i;
  8090. if (this.lastNeed) {
  8091. r = this.fillLast(buf);
  8092. if (r === undefined) return '';
  8093. i = this.lastNeed;
  8094. this.lastNeed = 0;
  8095. } else {
  8096. i = 0;
  8097. }
  8098. if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
  8099. return r || '';
  8100. };
  8101. StringDecoder.prototype.end = utf8End;
  8102. // Returns only complete characters in a Buffer
  8103. StringDecoder.prototype.text = utf8Text;
  8104. // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer
  8105. StringDecoder.prototype.fillLast = function (buf) {
  8106. if (this.lastNeed <= buf.length) {
  8107. buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
  8108. return this.lastChar.toString(this.encoding, 0, this.lastTotal);
  8109. }
  8110. buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
  8111. this.lastNeed -= buf.length;
  8112. };
  8113. // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a
  8114. // continuation byte. If an invalid byte is detected, -2 is returned.
  8115. function utf8CheckByte(byte) {
  8116. if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;
  8117. return byte >> 6 === 0x02 ? -1 : -2;
  8118. }
  8119. // Checks at most 3 bytes at the end of a Buffer in order to detect an
  8120. // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)
  8121. // needed to complete the UTF-8 character (if applicable) are returned.
  8122. function utf8CheckIncomplete(self, buf, i) {
  8123. var j = buf.length - 1;
  8124. if (j < i) return 0;
  8125. var nb = utf8CheckByte(buf[j]);
  8126. if (nb >= 0) {
  8127. if (nb > 0) self.lastNeed = nb - 1;
  8128. return nb;
  8129. }
  8130. if (--j < i || nb === -2) return 0;
  8131. nb = utf8CheckByte(buf[j]);
  8132. if (nb >= 0) {
  8133. if (nb > 0) self.lastNeed = nb - 2;
  8134. return nb;
  8135. }
  8136. if (--j < i || nb === -2) return 0;
  8137. nb = utf8CheckByte(buf[j]);
  8138. if (nb >= 0) {
  8139. if (nb > 0) {
  8140. if (nb === 2) nb = 0;else self.lastNeed = nb - 3;
  8141. }
  8142. return nb;
  8143. }
  8144. return 0;
  8145. }
  8146. // Validates as many continuation bytes for a multi-byte UTF-8 character as
  8147. // needed or are available. If we see a non-continuation byte where we expect
  8148. // one, we "replace" the validated continuation bytes we've seen so far with
  8149. // a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding
  8150. // behavior. The continuation byte check is included three times in the case
  8151. // where all of the continuation bytes for a character exist in the same buffer.
  8152. // It is also done this way as a slight performance increase instead of using a
  8153. // loop.
  8154. function utf8CheckExtraBytes(self, buf, p) {
  8155. if ((buf[0] & 0xC0) !== 0x80) {
  8156. self.lastNeed = 0;
  8157. return '\ufffd';
  8158. }
  8159. if (self.lastNeed > 1 && buf.length > 1) {
  8160. if ((buf[1] & 0xC0) !== 0x80) {
  8161. self.lastNeed = 1;
  8162. return '\ufffd';
  8163. }
  8164. if (self.lastNeed > 2 && buf.length > 2) {
  8165. if ((buf[2] & 0xC0) !== 0x80) {
  8166. self.lastNeed = 2;
  8167. return '\ufffd';
  8168. }
  8169. }
  8170. }
  8171. }
  8172. // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.
  8173. function utf8FillLast(buf) {
  8174. var p = this.lastTotal - this.lastNeed;
  8175. var r = utf8CheckExtraBytes(this, buf, p);
  8176. if (r !== undefined) return r;
  8177. if (this.lastNeed <= buf.length) {
  8178. buf.copy(this.lastChar, p, 0, this.lastNeed);
  8179. return this.lastChar.toString(this.encoding, 0, this.lastTotal);
  8180. }
  8181. buf.copy(this.lastChar, p, 0, buf.length);
  8182. this.lastNeed -= buf.length;
  8183. }
  8184. // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a
  8185. // partial character, the character's bytes are buffered until the required
  8186. // number of bytes are available.
  8187. function utf8Text(buf, i) {
  8188. var total = utf8CheckIncomplete(this, buf, i);
  8189. if (!this.lastNeed) return buf.toString('utf8', i);
  8190. this.lastTotal = total;
  8191. var end = buf.length - (total - this.lastNeed);
  8192. buf.copy(this.lastChar, 0, end);
  8193. return buf.toString('utf8', i, end);
  8194. }
  8195. // For UTF-8, a replacement character is added when ending on a partial
  8196. // character.
  8197. function utf8End(buf) {
  8198. var r = buf && buf.length ? this.write(buf) : '';
  8199. if (this.lastNeed) return r + '\ufffd';
  8200. return r;
  8201. }
  8202. // UTF-16LE typically needs two bytes per character, but even if we have an even
  8203. // number of bytes available, we need to check if we end on a leading/high
  8204. // surrogate. In that case, we need to wait for the next two bytes in order to
  8205. // decode the last character properly.
  8206. function utf16Text(buf, i) {
  8207. if ((buf.length - i) % 2 === 0) {
  8208. var r = buf.toString('utf16le', i);
  8209. if (r) {
  8210. var c = r.charCodeAt(r.length - 1);
  8211. if (c >= 0xD800 && c <= 0xDBFF) {
  8212. this.lastNeed = 2;
  8213. this.lastTotal = 4;
  8214. this.lastChar[0] = buf[buf.length - 2];
  8215. this.lastChar[1] = buf[buf.length - 1];
  8216. return r.slice(0, -1);
  8217. }
  8218. }
  8219. return r;
  8220. }
  8221. this.lastNeed = 1;
  8222. this.lastTotal = 2;
  8223. this.lastChar[0] = buf[buf.length - 1];
  8224. return buf.toString('utf16le', i, buf.length - 1);
  8225. }
  8226. // For UTF-16LE we do not explicitly append special replacement characters if we
  8227. // end on a partial character, we simply let v8 handle that.
  8228. function utf16End(buf) {
  8229. var r = buf && buf.length ? this.write(buf) : '';
  8230. if (this.lastNeed) {
  8231. var end = this.lastTotal - this.lastNeed;
  8232. return r + this.lastChar.toString('utf16le', 0, end);
  8233. }
  8234. return r;
  8235. }
  8236. function base64Text(buf, i) {
  8237. var n = (buf.length - i) % 3;
  8238. if (n === 0) return buf.toString('base64', i);
  8239. this.lastNeed = 3 - n;
  8240. this.lastTotal = 3;
  8241. if (n === 1) {
  8242. this.lastChar[0] = buf[buf.length - 1];
  8243. } else {
  8244. this.lastChar[0] = buf[buf.length - 2];
  8245. this.lastChar[1] = buf[buf.length - 1];
  8246. }
  8247. return buf.toString('base64', i, buf.length - n);
  8248. }
  8249. function base64End(buf) {
  8250. var r = buf && buf.length ? this.write(buf) : '';
  8251. if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);
  8252. return r;
  8253. }
  8254. // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)
  8255. function simpleWrite(buf) {
  8256. return buf.toString(this.encoding);
  8257. }
  8258. function simpleEnd(buf) {
  8259. return buf && buf.length ? this.write(buf) : '';
  8260. }
  8261. /***/ }),
  8262. /* 83 */
  8263. /*!***************************************************************!*\
  8264. !*** ./node_modules/readable-stream/lib/_stream_transform.js ***!
  8265. \***************************************************************/
  8266. /*! no static exports found */
  8267. /***/ (function(module, exports, __webpack_require__) {
  8268. "use strict";
  8269. // Copyright Joyent, Inc. and other Node contributors.
  8270. //
  8271. // Permission is hereby granted, free of charge, to any person obtaining a
  8272. // copy of this software and associated documentation files (the
  8273. // "Software"), to deal in the Software without restriction, including
  8274. // without limitation the rights to use, copy, modify, merge, publish,
  8275. // distribute, sublicense, and/or sell copies of the Software, and to permit
  8276. // persons to whom the Software is furnished to do so, subject to the
  8277. // following conditions:
  8278. //
  8279. // The above copyright notice and this permission notice shall be included
  8280. // in all copies or substantial portions of the Software.
  8281. //
  8282. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  8283. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  8284. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  8285. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  8286. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  8287. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  8288. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  8289. // a transform stream is a readable/writable stream where you do
  8290. // something with the data. Sometimes it's called a "filter",
  8291. // but that's not a great name for it, since that implies a thing where
  8292. // some bits pass through, and others are simply ignored. (That would
  8293. // be a valid example of a transform, of course.)
  8294. //
  8295. // While the output is causally related to the input, it's not a
  8296. // necessarily symmetric or synchronous transformation. For example,
  8297. // a zlib stream might take multiple plain-text writes(), and then
  8298. // emit a single compressed chunk some time in the future.
  8299. //
  8300. // Here's how this works:
  8301. //
  8302. // The Transform stream has all the aspects of the readable and writable
  8303. // stream classes. When you write(chunk), that calls _write(chunk,cb)
  8304. // internally, and returns false if there's a lot of pending writes
  8305. // buffered up. When you call read(), that calls _read(n) until
  8306. // there's enough pending readable data buffered up.
  8307. //
  8308. // In a transform stream, the written data is placed in a buffer. When
  8309. // _read(n) is called, it transforms the queued up data, calling the
  8310. // buffered _write cb's as it consumes chunks. If consuming a single
  8311. // written chunk would result in multiple output chunks, then the first
  8312. // outputted bit calls the readcb, and subsequent chunks just go into
  8313. // the read buffer, and will cause it to emit 'readable' if necessary.
  8314. //
  8315. // This way, back-pressure is actually determined by the reading side,
  8316. // since _read has to be called to start processing a new chunk. However,
  8317. // a pathological inflate type of transform can cause excessive buffering
  8318. // here. For example, imagine a stream where every byte of input is
  8319. // interpreted as an integer from 0-255, and then results in that many
  8320. // bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in
  8321. // 1kb of data being output. In this case, you could write a very small
  8322. // amount of input, and end up with a very large amount of output. In
  8323. // such a pathological inflating mechanism, there'd be no way to tell
  8324. // the system to stop doing the transform. A single 4MB write could
  8325. // cause the system to run out of memory.
  8326. //
  8327. // However, even in such a pathological case, only a single written chunk
  8328. // would be consumed, and then the rest would wait (un-transformed) until
  8329. // the results of the previous transformed chunk were consumed.
  8330. module.exports = Transform;
  8331. var Duplex = __webpack_require__(/*! ./_stream_duplex */ 79);
  8332. /*<replacement>*/
  8333. var util = Object.create(__webpack_require__(/*! core-util-is */ 74));
  8334. util.inherits = __webpack_require__(/*! inherits */ 66);
  8335. /*</replacement>*/
  8336. util.inherits(Transform, Duplex);
  8337. function afterTransform(er, data) {
  8338. var ts = this._transformState;
  8339. ts.transforming = false;
  8340. var cb = ts.writecb;
  8341. if (!cb) {
  8342. return this.emit('error', new Error('write callback called multiple times'));
  8343. }
  8344. ts.writechunk = null;
  8345. ts.writecb = null;
  8346. if (data != null) // single equals check for both `null` and `undefined`
  8347. this.push(data);
  8348. cb(er);
  8349. var rs = this._readableState;
  8350. rs.reading = false;
  8351. if (rs.needReadable || rs.length < rs.highWaterMark) {
  8352. this._read(rs.highWaterMark);
  8353. }
  8354. }
  8355. function Transform(options) {
  8356. if (!(this instanceof Transform)) return new Transform(options);
  8357. Duplex.call(this, options);
  8358. this._transformState = {
  8359. afterTransform: afterTransform.bind(this),
  8360. needTransform: false,
  8361. transforming: false,
  8362. writecb: null,
  8363. writechunk: null,
  8364. writeencoding: null
  8365. };
  8366. // start out asking for a readable event once data is transformed.
  8367. this._readableState.needReadable = true;
  8368. // we have implemented the _read method, and done the other things
  8369. // that Readable wants before the first _read call, so unset the
  8370. // sync guard flag.
  8371. this._readableState.sync = false;
  8372. if (options) {
  8373. if (typeof options.transform === 'function') this._transform = options.transform;
  8374. if (typeof options.flush === 'function') this._flush = options.flush;
  8375. }
  8376. // When the writable side finishes, then flush out anything remaining.
  8377. this.on('prefinish', prefinish);
  8378. }
  8379. function prefinish() {
  8380. var _this = this;
  8381. if (typeof this._flush === 'function') {
  8382. this._flush(function (er, data) {
  8383. done(_this, er, data);
  8384. });
  8385. } else {
  8386. done(this, null, null);
  8387. }
  8388. }
  8389. Transform.prototype.push = function (chunk, encoding) {
  8390. this._transformState.needTransform = false;
  8391. return Duplex.prototype.push.call(this, chunk, encoding);
  8392. };
  8393. // This is the part where you do stuff!
  8394. // override this function in implementation classes.
  8395. // 'chunk' is an input chunk.
  8396. //
  8397. // Call `push(newChunk)` to pass along transformed output
  8398. // to the readable side. You may call 'push' zero or more times.
  8399. //
  8400. // Call `cb(err)` when you are done with this chunk. If you pass
  8401. // an error, then that'll put the hurt on the whole operation. If you
  8402. // never call cb(), then you'll never get another chunk.
  8403. Transform.prototype._transform = function (chunk, encoding, cb) {
  8404. throw new Error('_transform() is not implemented');
  8405. };
  8406. Transform.prototype._write = function (chunk, encoding, cb) {
  8407. var ts = this._transformState;
  8408. ts.writecb = cb;
  8409. ts.writechunk = chunk;
  8410. ts.writeencoding = encoding;
  8411. if (!ts.transforming) {
  8412. var rs = this._readableState;
  8413. if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
  8414. }
  8415. };
  8416. // Doesn't matter what the args are here.
  8417. // _transform does all the work.
  8418. // That we got here means that the readable side wants more data.
  8419. Transform.prototype._read = function (n) {
  8420. var ts = this._transformState;
  8421. if (ts.writechunk !== null && ts.writecb && !ts.transforming) {
  8422. ts.transforming = true;
  8423. this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
  8424. } else {
  8425. // mark that we need a transform, so that any data that comes in
  8426. // will get processed, now that we've asked for it.
  8427. ts.needTransform = true;
  8428. }
  8429. };
  8430. Transform.prototype._destroy = function (err, cb) {
  8431. var _this2 = this;
  8432. Duplex.prototype._destroy.call(this, err, function (err2) {
  8433. cb(err2);
  8434. _this2.emit('close');
  8435. });
  8436. };
  8437. function done(stream, er, data) {
  8438. if (er) return stream.emit('error', er);
  8439. if (data != null) // single equals check for both `null` and `undefined`
  8440. stream.push(data);
  8441. // if there's nothing in the write buffer, then that means
  8442. // that nothing more will ever be provided
  8443. if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0');
  8444. if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming');
  8445. return stream.push(null);
  8446. }
  8447. /***/ }),
  8448. /* 84 */
  8449. /*!*****************************************************************!*\
  8450. !*** ./node_modules/readable-stream/lib/_stream_passthrough.js ***!
  8451. \*****************************************************************/
  8452. /*! no static exports found */
  8453. /***/ (function(module, exports, __webpack_require__) {
  8454. "use strict";
  8455. // Copyright Joyent, Inc. and other Node contributors.
  8456. //
  8457. // Permission is hereby granted, free of charge, to any person obtaining a
  8458. // copy of this software and associated documentation files (the
  8459. // "Software"), to deal in the Software without restriction, including
  8460. // without limitation the rights to use, copy, modify, merge, publish,
  8461. // distribute, sublicense, and/or sell copies of the Software, and to permit
  8462. // persons to whom the Software is furnished to do so, subject to the
  8463. // following conditions:
  8464. //
  8465. // The above copyright notice and this permission notice shall be included
  8466. // in all copies or substantial portions of the Software.
  8467. //
  8468. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  8469. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  8470. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  8471. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  8472. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  8473. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  8474. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  8475. // a passthrough stream.
  8476. // basically just the most minimal sort of Transform stream.
  8477. // Every written chunk gets output as-is.
  8478. module.exports = PassThrough;
  8479. var Transform = __webpack_require__(/*! ./_stream_transform */ 83);
  8480. /*<replacement>*/
  8481. var util = Object.create(__webpack_require__(/*! core-util-is */ 74));
  8482. util.inherits = __webpack_require__(/*! inherits */ 66);
  8483. /*</replacement>*/
  8484. util.inherits(PassThrough, Transform);
  8485. function PassThrough(options) {
  8486. if (!(this instanceof PassThrough)) return new PassThrough(options);
  8487. Transform.call(this, options);
  8488. }
  8489. PassThrough.prototype._transform = function (chunk, encoding, cb) {
  8490. cb(null, chunk);
  8491. };
  8492. /***/ }),
  8493. /* 85 */
  8494. /*!*****************************************!*\
  8495. !*** ./node_modules/ripemd160/index.js ***!
  8496. \*****************************************/
  8497. /*! no static exports found */
  8498. /***/ (function(module, exports, __webpack_require__) {
  8499. "use strict";
  8500. var Buffer = __webpack_require__(/*! buffer */ 61).Buffer
  8501. var inherits = __webpack_require__(/*! inherits */ 66)
  8502. var HashBase = __webpack_require__(/*! hash-base */ 68)
  8503. var ARRAY16 = new Array(16)
  8504. var zl = [
  8505. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  8506. 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
  8507. 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
  8508. 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
  8509. 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
  8510. ]
  8511. var zr = [
  8512. 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
  8513. 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
  8514. 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
  8515. 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
  8516. 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
  8517. ]
  8518. var sl = [
  8519. 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
  8520. 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
  8521. 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
  8522. 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
  8523. 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
  8524. ]
  8525. var sr = [
  8526. 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
  8527. 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
  8528. 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
  8529. 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
  8530. 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
  8531. ]
  8532. var hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]
  8533. var hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]
  8534. function RIPEMD160 () {
  8535. HashBase.call(this, 64)
  8536. // state
  8537. this._a = 0x67452301
  8538. this._b = 0xefcdab89
  8539. this._c = 0x98badcfe
  8540. this._d = 0x10325476
  8541. this._e = 0xc3d2e1f0
  8542. }
  8543. inherits(RIPEMD160, HashBase)
  8544. RIPEMD160.prototype._update = function () {
  8545. var words = ARRAY16
  8546. for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)
  8547. var al = this._a | 0
  8548. var bl = this._b | 0
  8549. var cl = this._c | 0
  8550. var dl = this._d | 0
  8551. var el = this._e | 0
  8552. var ar = this._a | 0
  8553. var br = this._b | 0
  8554. var cr = this._c | 0
  8555. var dr = this._d | 0
  8556. var er = this._e | 0
  8557. // computation
  8558. for (var i = 0; i < 80; i += 1) {
  8559. var tl
  8560. var tr
  8561. if (i < 16) {
  8562. tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])
  8563. tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])
  8564. } else if (i < 32) {
  8565. tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])
  8566. tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])
  8567. } else if (i < 48) {
  8568. tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])
  8569. tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])
  8570. } else if (i < 64) {
  8571. tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])
  8572. tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])
  8573. } else { // if (i<80) {
  8574. tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])
  8575. tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])
  8576. }
  8577. al = el
  8578. el = dl
  8579. dl = rotl(cl, 10)
  8580. cl = bl
  8581. bl = tl
  8582. ar = er
  8583. er = dr
  8584. dr = rotl(cr, 10)
  8585. cr = br
  8586. br = tr
  8587. }
  8588. // update state
  8589. var t = (this._b + cl + dr) | 0
  8590. this._b = (this._c + dl + er) | 0
  8591. this._c = (this._d + el + ar) | 0
  8592. this._d = (this._e + al + br) | 0
  8593. this._e = (this._a + bl + cr) | 0
  8594. this._a = t
  8595. }
  8596. RIPEMD160.prototype._digest = function () {
  8597. // create padding and handle blocks
  8598. this._block[this._blockOffset++] = 0x80
  8599. if (this._blockOffset > 56) {
  8600. this._block.fill(0, this._blockOffset, 64)
  8601. this._update()
  8602. this._blockOffset = 0
  8603. }
  8604. this._block.fill(0, this._blockOffset, 56)
  8605. this._block.writeUInt32LE(this._length[0], 56)
  8606. this._block.writeUInt32LE(this._length[1], 60)
  8607. this._update()
  8608. // produce result
  8609. var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)
  8610. buffer.writeInt32LE(this._a, 0)
  8611. buffer.writeInt32LE(this._b, 4)
  8612. buffer.writeInt32LE(this._c, 8)
  8613. buffer.writeInt32LE(this._d, 12)
  8614. buffer.writeInt32LE(this._e, 16)
  8615. return buffer
  8616. }
  8617. function rotl (x, n) {
  8618. return (x << n) | (x >>> (32 - n))
  8619. }
  8620. function fn1 (a, b, c, d, e, m, k, s) {
  8621. return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0
  8622. }
  8623. function fn2 (a, b, c, d, e, m, k, s) {
  8624. return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0
  8625. }
  8626. function fn3 (a, b, c, d, e, m, k, s) {
  8627. return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0
  8628. }
  8629. function fn4 (a, b, c, d, e, m, k, s) {
  8630. return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0
  8631. }
  8632. function fn5 (a, b, c, d, e, m, k, s) {
  8633. return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0
  8634. }
  8635. module.exports = RIPEMD160
  8636. /***/ }),
  8637. /* 86 */
  8638. /*!**************************************!*\
  8639. !*** ./node_modules/sha.js/index.js ***!
  8640. \**************************************/
  8641. /*! no static exports found */
  8642. /***/ (function(module, exports, __webpack_require__) {
  8643. var exports = module.exports = function SHA (algorithm) {
  8644. algorithm = algorithm.toLowerCase()
  8645. var Algorithm = exports[algorithm]
  8646. if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')
  8647. return new Algorithm()
  8648. }
  8649. exports.sha = __webpack_require__(/*! ./sha */ 87)
  8650. exports.sha1 = __webpack_require__(/*! ./sha1 */ 89)
  8651. exports.sha224 = __webpack_require__(/*! ./sha224 */ 90)
  8652. exports.sha256 = __webpack_require__(/*! ./sha256 */ 91)
  8653. exports.sha384 = __webpack_require__(/*! ./sha384 */ 92)
  8654. exports.sha512 = __webpack_require__(/*! ./sha512 */ 93)
  8655. /***/ }),
  8656. /* 87 */
  8657. /*!************************************!*\
  8658. !*** ./node_modules/sha.js/sha.js ***!
  8659. \************************************/
  8660. /*! no static exports found */
  8661. /***/ (function(module, exports, __webpack_require__) {
  8662. /*
  8663. * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined
  8664. * in FIPS PUB 180-1
  8665. * This source code is derived from sha1.js of the same repository.
  8666. * The difference between SHA-0 and SHA-1 is just a bitwise rotate left
  8667. * operation was added.
  8668. */
  8669. var inherits = __webpack_require__(/*! inherits */ 66)
  8670. var Hash = __webpack_require__(/*! ./hash */ 88)
  8671. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  8672. var K = [
  8673. 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0
  8674. ]
  8675. var W = new Array(80)
  8676. function Sha () {
  8677. this.init()
  8678. this._w = W
  8679. Hash.call(this, 64, 56)
  8680. }
  8681. inherits(Sha, Hash)
  8682. Sha.prototype.init = function () {
  8683. this._a = 0x67452301
  8684. this._b = 0xefcdab89
  8685. this._c = 0x98badcfe
  8686. this._d = 0x10325476
  8687. this._e = 0xc3d2e1f0
  8688. return this
  8689. }
  8690. function rotl5 (num) {
  8691. return (num << 5) | (num >>> 27)
  8692. }
  8693. function rotl30 (num) {
  8694. return (num << 30) | (num >>> 2)
  8695. }
  8696. function ft (s, b, c, d) {
  8697. if (s === 0) return (b & c) | ((~b) & d)
  8698. if (s === 2) return (b & c) | (b & d) | (c & d)
  8699. return b ^ c ^ d
  8700. }
  8701. Sha.prototype._update = function (M) {
  8702. var W = this._w
  8703. var a = this._a | 0
  8704. var b = this._b | 0
  8705. var c = this._c | 0
  8706. var d = this._d | 0
  8707. var e = this._e | 0
  8708. for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)
  8709. for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]
  8710. for (var j = 0; j < 80; ++j) {
  8711. var s = ~~(j / 20)
  8712. var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0
  8713. e = d
  8714. d = c
  8715. c = rotl30(b)
  8716. b = a
  8717. a = t
  8718. }
  8719. this._a = (a + this._a) | 0
  8720. this._b = (b + this._b) | 0
  8721. this._c = (c + this._c) | 0
  8722. this._d = (d + this._d) | 0
  8723. this._e = (e + this._e) | 0
  8724. }
  8725. Sha.prototype._hash = function () {
  8726. var H = Buffer.allocUnsafe(20)
  8727. H.writeInt32BE(this._a | 0, 0)
  8728. H.writeInt32BE(this._b | 0, 4)
  8729. H.writeInt32BE(this._c | 0, 8)
  8730. H.writeInt32BE(this._d | 0, 12)
  8731. H.writeInt32BE(this._e | 0, 16)
  8732. return H
  8733. }
  8734. module.exports = Sha
  8735. /***/ }),
  8736. /* 88 */
  8737. /*!*************************************!*\
  8738. !*** ./node_modules/sha.js/hash.js ***!
  8739. \*************************************/
  8740. /*! no static exports found */
  8741. /***/ (function(module, exports, __webpack_require__) {
  8742. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  8743. // prototype class for hash functions
  8744. function Hash (blockSize, finalSize) {
  8745. this._block = Buffer.alloc(blockSize)
  8746. this._finalSize = finalSize
  8747. this._blockSize = blockSize
  8748. this._len = 0
  8749. }
  8750. Hash.prototype.update = function (data, enc) {
  8751. if (typeof data === 'string') {
  8752. enc = enc || 'utf8'
  8753. data = Buffer.from(data, enc)
  8754. }
  8755. var block = this._block
  8756. var blockSize = this._blockSize
  8757. var length = data.length
  8758. var accum = this._len
  8759. for (var offset = 0; offset < length;) {
  8760. var assigned = accum % blockSize
  8761. var remainder = Math.min(length - offset, blockSize - assigned)
  8762. for (var i = 0; i < remainder; i++) {
  8763. block[assigned + i] = data[offset + i]
  8764. }
  8765. accum += remainder
  8766. offset += remainder
  8767. if ((accum % blockSize) === 0) {
  8768. this._update(block)
  8769. }
  8770. }
  8771. this._len += length
  8772. return this
  8773. }
  8774. Hash.prototype.digest = function (enc) {
  8775. var rem = this._len % this._blockSize
  8776. this._block[rem] = 0x80
  8777. // zero (rem + 1) trailing bits, where (rem + 1) is the smallest
  8778. // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize
  8779. this._block.fill(0, rem + 1)
  8780. if (rem >= this._finalSize) {
  8781. this._update(this._block)
  8782. this._block.fill(0)
  8783. }
  8784. var bits = this._len * 8
  8785. // uint32
  8786. if (bits <= 0xffffffff) {
  8787. this._block.writeUInt32BE(bits, this._blockSize - 4)
  8788. // uint64
  8789. } else {
  8790. var lowBits = (bits & 0xffffffff) >>> 0
  8791. var highBits = (bits - lowBits) / 0x100000000
  8792. this._block.writeUInt32BE(highBits, this._blockSize - 8)
  8793. this._block.writeUInt32BE(lowBits, this._blockSize - 4)
  8794. }
  8795. this._update(this._block)
  8796. var hash = this._hash()
  8797. return enc ? hash.toString(enc) : hash
  8798. }
  8799. Hash.prototype._update = function () {
  8800. throw new Error('_update must be implemented by subclass')
  8801. }
  8802. module.exports = Hash
  8803. /***/ }),
  8804. /* 89 */
  8805. /*!*************************************!*\
  8806. !*** ./node_modules/sha.js/sha1.js ***!
  8807. \*************************************/
  8808. /*! no static exports found */
  8809. /***/ (function(module, exports, __webpack_require__) {
  8810. /*
  8811. * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
  8812. * in FIPS PUB 180-1
  8813. * Version 2.1a Copyright Paul Johnston 2000 - 2002.
  8814. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  8815. * Distributed under the BSD License
  8816. * See http://pajhome.org.uk/crypt/md5 for details.
  8817. */
  8818. var inherits = __webpack_require__(/*! inherits */ 66)
  8819. var Hash = __webpack_require__(/*! ./hash */ 88)
  8820. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  8821. var K = [
  8822. 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0
  8823. ]
  8824. var W = new Array(80)
  8825. function Sha1 () {
  8826. this.init()
  8827. this._w = W
  8828. Hash.call(this, 64, 56)
  8829. }
  8830. inherits(Sha1, Hash)
  8831. Sha1.prototype.init = function () {
  8832. this._a = 0x67452301
  8833. this._b = 0xefcdab89
  8834. this._c = 0x98badcfe
  8835. this._d = 0x10325476
  8836. this._e = 0xc3d2e1f0
  8837. return this
  8838. }
  8839. function rotl1 (num) {
  8840. return (num << 1) | (num >>> 31)
  8841. }
  8842. function rotl5 (num) {
  8843. return (num << 5) | (num >>> 27)
  8844. }
  8845. function rotl30 (num) {
  8846. return (num << 30) | (num >>> 2)
  8847. }
  8848. function ft (s, b, c, d) {
  8849. if (s === 0) return (b & c) | ((~b) & d)
  8850. if (s === 2) return (b & c) | (b & d) | (c & d)
  8851. return b ^ c ^ d
  8852. }
  8853. Sha1.prototype._update = function (M) {
  8854. var W = this._w
  8855. var a = this._a | 0
  8856. var b = this._b | 0
  8857. var c = this._c | 0
  8858. var d = this._d | 0
  8859. var e = this._e | 0
  8860. for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)
  8861. for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])
  8862. for (var j = 0; j < 80; ++j) {
  8863. var s = ~~(j / 20)
  8864. var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0
  8865. e = d
  8866. d = c
  8867. c = rotl30(b)
  8868. b = a
  8869. a = t
  8870. }
  8871. this._a = (a + this._a) | 0
  8872. this._b = (b + this._b) | 0
  8873. this._c = (c + this._c) | 0
  8874. this._d = (d + this._d) | 0
  8875. this._e = (e + this._e) | 0
  8876. }
  8877. Sha1.prototype._hash = function () {
  8878. var H = Buffer.allocUnsafe(20)
  8879. H.writeInt32BE(this._a | 0, 0)
  8880. H.writeInt32BE(this._b | 0, 4)
  8881. H.writeInt32BE(this._c | 0, 8)
  8882. H.writeInt32BE(this._d | 0, 12)
  8883. H.writeInt32BE(this._e | 0, 16)
  8884. return H
  8885. }
  8886. module.exports = Sha1
  8887. /***/ }),
  8888. /* 90 */
  8889. /*!***************************************!*\
  8890. !*** ./node_modules/sha.js/sha224.js ***!
  8891. \***************************************/
  8892. /*! no static exports found */
  8893. /***/ (function(module, exports, __webpack_require__) {
  8894. /**
  8895. * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
  8896. * in FIPS 180-2
  8897. * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
  8898. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  8899. *
  8900. */
  8901. var inherits = __webpack_require__(/*! inherits */ 66)
  8902. var Sha256 = __webpack_require__(/*! ./sha256 */ 91)
  8903. var Hash = __webpack_require__(/*! ./hash */ 88)
  8904. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  8905. var W = new Array(64)
  8906. function Sha224 () {
  8907. this.init()
  8908. this._w = W // new Array(64)
  8909. Hash.call(this, 64, 56)
  8910. }
  8911. inherits(Sha224, Sha256)
  8912. Sha224.prototype.init = function () {
  8913. this._a = 0xc1059ed8
  8914. this._b = 0x367cd507
  8915. this._c = 0x3070dd17
  8916. this._d = 0xf70e5939
  8917. this._e = 0xffc00b31
  8918. this._f = 0x68581511
  8919. this._g = 0x64f98fa7
  8920. this._h = 0xbefa4fa4
  8921. return this
  8922. }
  8923. Sha224.prototype._hash = function () {
  8924. var H = Buffer.allocUnsafe(28)
  8925. H.writeInt32BE(this._a, 0)
  8926. H.writeInt32BE(this._b, 4)
  8927. H.writeInt32BE(this._c, 8)
  8928. H.writeInt32BE(this._d, 12)
  8929. H.writeInt32BE(this._e, 16)
  8930. H.writeInt32BE(this._f, 20)
  8931. H.writeInt32BE(this._g, 24)
  8932. return H
  8933. }
  8934. module.exports = Sha224
  8935. /***/ }),
  8936. /* 91 */
  8937. /*!***************************************!*\
  8938. !*** ./node_modules/sha.js/sha256.js ***!
  8939. \***************************************/
  8940. /*! no static exports found */
  8941. /***/ (function(module, exports, __webpack_require__) {
  8942. /**
  8943. * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined
  8944. * in FIPS 180-2
  8945. * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.
  8946. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  8947. *
  8948. */
  8949. var inherits = __webpack_require__(/*! inherits */ 66)
  8950. var Hash = __webpack_require__(/*! ./hash */ 88)
  8951. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  8952. var K = [
  8953. 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,
  8954. 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,
  8955. 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,
  8956. 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,
  8957. 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,
  8958. 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,
  8959. 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,
  8960. 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,
  8961. 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,
  8962. 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,
  8963. 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,
  8964. 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,
  8965. 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,
  8966. 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,
  8967. 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,
  8968. 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2
  8969. ]
  8970. var W = new Array(64)
  8971. function Sha256 () {
  8972. this.init()
  8973. this._w = W // new Array(64)
  8974. Hash.call(this, 64, 56)
  8975. }
  8976. inherits(Sha256, Hash)
  8977. Sha256.prototype.init = function () {
  8978. this._a = 0x6a09e667
  8979. this._b = 0xbb67ae85
  8980. this._c = 0x3c6ef372
  8981. this._d = 0xa54ff53a
  8982. this._e = 0x510e527f
  8983. this._f = 0x9b05688c
  8984. this._g = 0x1f83d9ab
  8985. this._h = 0x5be0cd19
  8986. return this
  8987. }
  8988. function ch (x, y, z) {
  8989. return z ^ (x & (y ^ z))
  8990. }
  8991. function maj (x, y, z) {
  8992. return (x & y) | (z & (x | y))
  8993. }
  8994. function sigma0 (x) {
  8995. return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)
  8996. }
  8997. function sigma1 (x) {
  8998. return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)
  8999. }
  9000. function gamma0 (x) {
  9001. return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)
  9002. }
  9003. function gamma1 (x) {
  9004. return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)
  9005. }
  9006. Sha256.prototype._update = function (M) {
  9007. var W = this._w
  9008. var a = this._a | 0
  9009. var b = this._b | 0
  9010. var c = this._c | 0
  9011. var d = this._d | 0
  9012. var e = this._e | 0
  9013. var f = this._f | 0
  9014. var g = this._g | 0
  9015. var h = this._h | 0
  9016. for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)
  9017. for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0
  9018. for (var j = 0; j < 64; ++j) {
  9019. var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0
  9020. var T2 = (sigma0(a) + maj(a, b, c)) | 0
  9021. h = g
  9022. g = f
  9023. f = e
  9024. e = (d + T1) | 0
  9025. d = c
  9026. c = b
  9027. b = a
  9028. a = (T1 + T2) | 0
  9029. }
  9030. this._a = (a + this._a) | 0
  9031. this._b = (b + this._b) | 0
  9032. this._c = (c + this._c) | 0
  9033. this._d = (d + this._d) | 0
  9034. this._e = (e + this._e) | 0
  9035. this._f = (f + this._f) | 0
  9036. this._g = (g + this._g) | 0
  9037. this._h = (h + this._h) | 0
  9038. }
  9039. Sha256.prototype._hash = function () {
  9040. var H = Buffer.allocUnsafe(32)
  9041. H.writeInt32BE(this._a, 0)
  9042. H.writeInt32BE(this._b, 4)
  9043. H.writeInt32BE(this._c, 8)
  9044. H.writeInt32BE(this._d, 12)
  9045. H.writeInt32BE(this._e, 16)
  9046. H.writeInt32BE(this._f, 20)
  9047. H.writeInt32BE(this._g, 24)
  9048. H.writeInt32BE(this._h, 28)
  9049. return H
  9050. }
  9051. module.exports = Sha256
  9052. /***/ }),
  9053. /* 92 */
  9054. /*!***************************************!*\
  9055. !*** ./node_modules/sha.js/sha384.js ***!
  9056. \***************************************/
  9057. /*! no static exports found */
  9058. /***/ (function(module, exports, __webpack_require__) {
  9059. var inherits = __webpack_require__(/*! inherits */ 66)
  9060. var SHA512 = __webpack_require__(/*! ./sha512 */ 93)
  9061. var Hash = __webpack_require__(/*! ./hash */ 88)
  9062. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9063. var W = new Array(160)
  9064. function Sha384 () {
  9065. this.init()
  9066. this._w = W
  9067. Hash.call(this, 128, 112)
  9068. }
  9069. inherits(Sha384, SHA512)
  9070. Sha384.prototype.init = function () {
  9071. this._ah = 0xcbbb9d5d
  9072. this._bh = 0x629a292a
  9073. this._ch = 0x9159015a
  9074. this._dh = 0x152fecd8
  9075. this._eh = 0x67332667
  9076. this._fh = 0x8eb44a87
  9077. this._gh = 0xdb0c2e0d
  9078. this._hh = 0x47b5481d
  9079. this._al = 0xc1059ed8
  9080. this._bl = 0x367cd507
  9081. this._cl = 0x3070dd17
  9082. this._dl = 0xf70e5939
  9083. this._el = 0xffc00b31
  9084. this._fl = 0x68581511
  9085. this._gl = 0x64f98fa7
  9086. this._hl = 0xbefa4fa4
  9087. return this
  9088. }
  9089. Sha384.prototype._hash = function () {
  9090. var H = Buffer.allocUnsafe(48)
  9091. function writeInt64BE (h, l, offset) {
  9092. H.writeInt32BE(h, offset)
  9093. H.writeInt32BE(l, offset + 4)
  9094. }
  9095. writeInt64BE(this._ah, this._al, 0)
  9096. writeInt64BE(this._bh, this._bl, 8)
  9097. writeInt64BE(this._ch, this._cl, 16)
  9098. writeInt64BE(this._dh, this._dl, 24)
  9099. writeInt64BE(this._eh, this._el, 32)
  9100. writeInt64BE(this._fh, this._fl, 40)
  9101. return H
  9102. }
  9103. module.exports = Sha384
  9104. /***/ }),
  9105. /* 93 */
  9106. /*!***************************************!*\
  9107. !*** ./node_modules/sha.js/sha512.js ***!
  9108. \***************************************/
  9109. /*! no static exports found */
  9110. /***/ (function(module, exports, __webpack_require__) {
  9111. var inherits = __webpack_require__(/*! inherits */ 66)
  9112. var Hash = __webpack_require__(/*! ./hash */ 88)
  9113. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9114. var K = [
  9115. 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
  9116. 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
  9117. 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
  9118. 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
  9119. 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
  9120. 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
  9121. 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
  9122. 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
  9123. 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
  9124. 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
  9125. 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
  9126. 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
  9127. 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
  9128. 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
  9129. 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
  9130. 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
  9131. 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
  9132. 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
  9133. 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
  9134. 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
  9135. 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
  9136. 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
  9137. 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
  9138. 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
  9139. 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
  9140. 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
  9141. 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
  9142. 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
  9143. 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
  9144. 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
  9145. 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
  9146. 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
  9147. 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
  9148. 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
  9149. 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
  9150. 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
  9151. 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
  9152. 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
  9153. 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
  9154. 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
  9155. ]
  9156. var W = new Array(160)
  9157. function Sha512 () {
  9158. this.init()
  9159. this._w = W
  9160. Hash.call(this, 128, 112)
  9161. }
  9162. inherits(Sha512, Hash)
  9163. Sha512.prototype.init = function () {
  9164. this._ah = 0x6a09e667
  9165. this._bh = 0xbb67ae85
  9166. this._ch = 0x3c6ef372
  9167. this._dh = 0xa54ff53a
  9168. this._eh = 0x510e527f
  9169. this._fh = 0x9b05688c
  9170. this._gh = 0x1f83d9ab
  9171. this._hh = 0x5be0cd19
  9172. this._al = 0xf3bcc908
  9173. this._bl = 0x84caa73b
  9174. this._cl = 0xfe94f82b
  9175. this._dl = 0x5f1d36f1
  9176. this._el = 0xade682d1
  9177. this._fl = 0x2b3e6c1f
  9178. this._gl = 0xfb41bd6b
  9179. this._hl = 0x137e2179
  9180. return this
  9181. }
  9182. function Ch (x, y, z) {
  9183. return z ^ (x & (y ^ z))
  9184. }
  9185. function maj (x, y, z) {
  9186. return (x & y) | (z & (x | y))
  9187. }
  9188. function sigma0 (x, xl) {
  9189. return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)
  9190. }
  9191. function sigma1 (x, xl) {
  9192. return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)
  9193. }
  9194. function Gamma0 (x, xl) {
  9195. return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)
  9196. }
  9197. function Gamma0l (x, xl) {
  9198. return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)
  9199. }
  9200. function Gamma1 (x, xl) {
  9201. return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)
  9202. }
  9203. function Gamma1l (x, xl) {
  9204. return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)
  9205. }
  9206. function getCarry (a, b) {
  9207. return (a >>> 0) < (b >>> 0) ? 1 : 0
  9208. }
  9209. Sha512.prototype._update = function (M) {
  9210. var W = this._w
  9211. var ah = this._ah | 0
  9212. var bh = this._bh | 0
  9213. var ch = this._ch | 0
  9214. var dh = this._dh | 0
  9215. var eh = this._eh | 0
  9216. var fh = this._fh | 0
  9217. var gh = this._gh | 0
  9218. var hh = this._hh | 0
  9219. var al = this._al | 0
  9220. var bl = this._bl | 0
  9221. var cl = this._cl | 0
  9222. var dl = this._dl | 0
  9223. var el = this._el | 0
  9224. var fl = this._fl | 0
  9225. var gl = this._gl | 0
  9226. var hl = this._hl | 0
  9227. for (var i = 0; i < 32; i += 2) {
  9228. W[i] = M.readInt32BE(i * 4)
  9229. W[i + 1] = M.readInt32BE(i * 4 + 4)
  9230. }
  9231. for (; i < 160; i += 2) {
  9232. var xh = W[i - 15 * 2]
  9233. var xl = W[i - 15 * 2 + 1]
  9234. var gamma0 = Gamma0(xh, xl)
  9235. var gamma0l = Gamma0l(xl, xh)
  9236. xh = W[i - 2 * 2]
  9237. xl = W[i - 2 * 2 + 1]
  9238. var gamma1 = Gamma1(xh, xl)
  9239. var gamma1l = Gamma1l(xl, xh)
  9240. // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
  9241. var Wi7h = W[i - 7 * 2]
  9242. var Wi7l = W[i - 7 * 2 + 1]
  9243. var Wi16h = W[i - 16 * 2]
  9244. var Wi16l = W[i - 16 * 2 + 1]
  9245. var Wil = (gamma0l + Wi7l) | 0
  9246. var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0
  9247. Wil = (Wil + gamma1l) | 0
  9248. Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0
  9249. Wil = (Wil + Wi16l) | 0
  9250. Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0
  9251. W[i] = Wih
  9252. W[i + 1] = Wil
  9253. }
  9254. for (var j = 0; j < 160; j += 2) {
  9255. Wih = W[j]
  9256. Wil = W[j + 1]
  9257. var majh = maj(ah, bh, ch)
  9258. var majl = maj(al, bl, cl)
  9259. var sigma0h = sigma0(ah, al)
  9260. var sigma0l = sigma0(al, ah)
  9261. var sigma1h = sigma1(eh, el)
  9262. var sigma1l = sigma1(el, eh)
  9263. // t1 = h + sigma1 + ch + K[j] + W[j]
  9264. var Kih = K[j]
  9265. var Kil = K[j + 1]
  9266. var chh = Ch(eh, fh, gh)
  9267. var chl = Ch(el, fl, gl)
  9268. var t1l = (hl + sigma1l) | 0
  9269. var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0
  9270. t1l = (t1l + chl) | 0
  9271. t1h = (t1h + chh + getCarry(t1l, chl)) | 0
  9272. t1l = (t1l + Kil) | 0
  9273. t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0
  9274. t1l = (t1l + Wil) | 0
  9275. t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0
  9276. // t2 = sigma0 + maj
  9277. var t2l = (sigma0l + majl) | 0
  9278. var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0
  9279. hh = gh
  9280. hl = gl
  9281. gh = fh
  9282. gl = fl
  9283. fh = eh
  9284. fl = el
  9285. el = (dl + t1l) | 0
  9286. eh = (dh + t1h + getCarry(el, dl)) | 0
  9287. dh = ch
  9288. dl = cl
  9289. ch = bh
  9290. cl = bl
  9291. bh = ah
  9292. bl = al
  9293. al = (t1l + t2l) | 0
  9294. ah = (t1h + t2h + getCarry(al, t1l)) | 0
  9295. }
  9296. this._al = (this._al + al) | 0
  9297. this._bl = (this._bl + bl) | 0
  9298. this._cl = (this._cl + cl) | 0
  9299. this._dl = (this._dl + dl) | 0
  9300. this._el = (this._el + el) | 0
  9301. this._fl = (this._fl + fl) | 0
  9302. this._gl = (this._gl + gl) | 0
  9303. this._hl = (this._hl + hl) | 0
  9304. this._ah = (this._ah + ah + getCarry(this._al, al)) | 0
  9305. this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0
  9306. this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0
  9307. this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0
  9308. this._eh = (this._eh + eh + getCarry(this._el, el)) | 0
  9309. this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0
  9310. this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0
  9311. this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0
  9312. }
  9313. Sha512.prototype._hash = function () {
  9314. var H = Buffer.allocUnsafe(64)
  9315. function writeInt64BE (h, l, offset) {
  9316. H.writeInt32BE(h, offset)
  9317. H.writeInt32BE(l, offset + 4)
  9318. }
  9319. writeInt64BE(this._ah, this._al, 0)
  9320. writeInt64BE(this._bh, this._bl, 8)
  9321. writeInt64BE(this._ch, this._cl, 16)
  9322. writeInt64BE(this._dh, this._dl, 24)
  9323. writeInt64BE(this._eh, this._el, 32)
  9324. writeInt64BE(this._fh, this._fl, 40)
  9325. writeInt64BE(this._gh, this._gl, 48)
  9326. writeInt64BE(this._hh, this._hl, 56)
  9327. return H
  9328. }
  9329. module.exports = Sha512
  9330. /***/ }),
  9331. /* 94 */
  9332. /*!*******************************************!*\
  9333. !*** ./node_modules/cipher-base/index.js ***!
  9334. \*******************************************/
  9335. /*! no static exports found */
  9336. /***/ (function(module, exports, __webpack_require__) {
  9337. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9338. var Transform = __webpack_require__(/*! stream */ 95).Transform
  9339. var StringDecoder = __webpack_require__(/*! string_decoder */ 82).StringDecoder
  9340. var inherits = __webpack_require__(/*! inherits */ 66)
  9341. function CipherBase (hashMode) {
  9342. Transform.call(this)
  9343. this.hashMode = typeof hashMode === 'string'
  9344. if (this.hashMode) {
  9345. this[hashMode] = this._finalOrDigest
  9346. } else {
  9347. this.final = this._finalOrDigest
  9348. }
  9349. if (this._final) {
  9350. this.__final = this._final
  9351. this._final = null
  9352. }
  9353. this._decoder = null
  9354. this._encoding = null
  9355. }
  9356. inherits(CipherBase, Transform)
  9357. CipherBase.prototype.update = function (data, inputEnc, outputEnc) {
  9358. if (typeof data === 'string') {
  9359. data = Buffer.from(data, inputEnc)
  9360. }
  9361. var outData = this._update(data)
  9362. if (this.hashMode) return this
  9363. if (outputEnc) {
  9364. outData = this._toString(outData, outputEnc)
  9365. }
  9366. return outData
  9367. }
  9368. CipherBase.prototype.setAutoPadding = function () {}
  9369. CipherBase.prototype.getAuthTag = function () {
  9370. throw new Error('trying to get auth tag in unsupported state')
  9371. }
  9372. CipherBase.prototype.setAuthTag = function () {
  9373. throw new Error('trying to set auth tag in unsupported state')
  9374. }
  9375. CipherBase.prototype.setAAD = function () {
  9376. throw new Error('trying to set aad in unsupported state')
  9377. }
  9378. CipherBase.prototype._transform = function (data, _, next) {
  9379. var err
  9380. try {
  9381. if (this.hashMode) {
  9382. this._update(data)
  9383. } else {
  9384. this.push(this._update(data))
  9385. }
  9386. } catch (e) {
  9387. err = e
  9388. } finally {
  9389. next(err)
  9390. }
  9391. }
  9392. CipherBase.prototype._flush = function (done) {
  9393. var err
  9394. try {
  9395. this.push(this.__final())
  9396. } catch (e) {
  9397. err = e
  9398. }
  9399. done(err)
  9400. }
  9401. CipherBase.prototype._finalOrDigest = function (outputEnc) {
  9402. var outData = this.__final() || Buffer.alloc(0)
  9403. if (outputEnc) {
  9404. outData = this._toString(outData, outputEnc, true)
  9405. }
  9406. return outData
  9407. }
  9408. CipherBase.prototype._toString = function (value, enc, fin) {
  9409. if (!this._decoder) {
  9410. this._decoder = new StringDecoder(enc)
  9411. this._encoding = enc
  9412. }
  9413. if (this._encoding !== enc) throw new Error('can\'t switch encodings')
  9414. var out = this._decoder.write(value)
  9415. if (fin) {
  9416. out += this._decoder.end()
  9417. }
  9418. return out
  9419. }
  9420. module.exports = CipherBase
  9421. /***/ }),
  9422. /* 95 */
  9423. /*!*************************************************!*\
  9424. !*** ./node_modules/stream-browserify/index.js ***!
  9425. \*************************************************/
  9426. /*! no static exports found */
  9427. /***/ (function(module, exports, __webpack_require__) {
  9428. // Copyright Joyent, Inc. and other Node contributors.
  9429. //
  9430. // Permission is hereby granted, free of charge, to any person obtaining a
  9431. // copy of this software and associated documentation files (the
  9432. // "Software"), to deal in the Software without restriction, including
  9433. // without limitation the rights to use, copy, modify, merge, publish,
  9434. // distribute, sublicense, and/or sell copies of the Software, and to permit
  9435. // persons to whom the Software is furnished to do so, subject to the
  9436. // following conditions:
  9437. //
  9438. // The above copyright notice and this permission notice shall be included
  9439. // in all copies or substantial portions of the Software.
  9440. //
  9441. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  9442. // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  9443. // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  9444. // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  9445. // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  9446. // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  9447. // USE OR OTHER DEALINGS IN THE SOFTWARE.
  9448. module.exports = Stream;
  9449. var EE = __webpack_require__(/*! events */ 72).EventEmitter;
  9450. var inherits = __webpack_require__(/*! inherits */ 66);
  9451. inherits(Stream, EE);
  9452. Stream.Readable = __webpack_require__(/*! readable-stream/readable.js */ 69);
  9453. Stream.Writable = __webpack_require__(/*! readable-stream/writable.js */ 96);
  9454. Stream.Duplex = __webpack_require__(/*! readable-stream/duplex.js */ 97);
  9455. Stream.Transform = __webpack_require__(/*! readable-stream/transform.js */ 98);
  9456. Stream.PassThrough = __webpack_require__(/*! readable-stream/passthrough.js */ 99);
  9457. // Backwards-compat with node 0.4.x
  9458. Stream.Stream = Stream;
  9459. // old-style streams. Note that the pipe method (the only relevant
  9460. // part of this class) is overridden in the Readable class.
  9461. function Stream() {
  9462. EE.call(this);
  9463. }
  9464. Stream.prototype.pipe = function(dest, options) {
  9465. var source = this;
  9466. function ondata(chunk) {
  9467. if (dest.writable) {
  9468. if (false === dest.write(chunk) && source.pause) {
  9469. source.pause();
  9470. }
  9471. }
  9472. }
  9473. source.on('data', ondata);
  9474. function ondrain() {
  9475. if (source.readable && source.resume) {
  9476. source.resume();
  9477. }
  9478. }
  9479. dest.on('drain', ondrain);
  9480. // If the 'end' option is not supplied, dest.end() will be called when
  9481. // source gets the 'end' or 'close' events. Only dest.end() once.
  9482. if (!dest._isStdio && (!options || options.end !== false)) {
  9483. source.on('end', onend);
  9484. source.on('close', onclose);
  9485. }
  9486. var didOnEnd = false;
  9487. function onend() {
  9488. if (didOnEnd) return;
  9489. didOnEnd = true;
  9490. dest.end();
  9491. }
  9492. function onclose() {
  9493. if (didOnEnd) return;
  9494. didOnEnd = true;
  9495. if (typeof dest.destroy === 'function') dest.destroy();
  9496. }
  9497. // don't leave dangling pipes when there are errors.
  9498. function onerror(er) {
  9499. cleanup();
  9500. if (EE.listenerCount(this, 'error') === 0) {
  9501. throw er; // Unhandled stream error in pipe.
  9502. }
  9503. }
  9504. source.on('error', onerror);
  9505. dest.on('error', onerror);
  9506. // remove all the event listeners that were added.
  9507. function cleanup() {
  9508. source.removeListener('data', ondata);
  9509. dest.removeListener('drain', ondrain);
  9510. source.removeListener('end', onend);
  9511. source.removeListener('close', onclose);
  9512. source.removeListener('error', onerror);
  9513. dest.removeListener('error', onerror);
  9514. source.removeListener('end', cleanup);
  9515. source.removeListener('close', cleanup);
  9516. dest.removeListener('close', cleanup);
  9517. }
  9518. source.on('end', cleanup);
  9519. source.on('close', cleanup);
  9520. dest.on('close', cleanup);
  9521. dest.emit('pipe', source);
  9522. // Allow for unix-like usage: A.pipe(B).pipe(C)
  9523. return dest;
  9524. };
  9525. /***/ }),
  9526. /* 96 */
  9527. /*!**********************************************************!*\
  9528. !*** ./node_modules/readable-stream/writable-browser.js ***!
  9529. \**********************************************************/
  9530. /*! no static exports found */
  9531. /***/ (function(module, exports, __webpack_require__) {
  9532. module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ 80);
  9533. /***/ }),
  9534. /* 97 */
  9535. /*!********************************************************!*\
  9536. !*** ./node_modules/readable-stream/duplex-browser.js ***!
  9537. \********************************************************/
  9538. /*! no static exports found */
  9539. /***/ (function(module, exports, __webpack_require__) {
  9540. module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ 79);
  9541. /***/ }),
  9542. /* 98 */
  9543. /*!***************************************************!*\
  9544. !*** ./node_modules/readable-stream/transform.js ***!
  9545. \***************************************************/
  9546. /*! no static exports found */
  9547. /***/ (function(module, exports, __webpack_require__) {
  9548. module.exports = __webpack_require__(/*! ./readable */ 69).Transform
  9549. /***/ }),
  9550. /* 99 */
  9551. /*!*****************************************************!*\
  9552. !*** ./node_modules/readable-stream/passthrough.js ***!
  9553. \*****************************************************/
  9554. /*! no static exports found */
  9555. /***/ (function(module, exports, __webpack_require__) {
  9556. module.exports = __webpack_require__(/*! ./readable */ 69).PassThrough
  9557. /***/ }),
  9558. /* 100 */
  9559. /*!*********************************************!*\
  9560. !*** ./node_modules/create-hmac/browser.js ***!
  9561. \*********************************************/
  9562. /*! no static exports found */
  9563. /***/ (function(module, exports, __webpack_require__) {
  9564. "use strict";
  9565. var inherits = __webpack_require__(/*! inherits */ 66)
  9566. var Legacy = __webpack_require__(/*! ./legacy */ 101)
  9567. var Base = __webpack_require__(/*! cipher-base */ 94)
  9568. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9569. var md5 = __webpack_require__(/*! create-hash/md5 */ 102)
  9570. var RIPEMD160 = __webpack_require__(/*! ripemd160 */ 85)
  9571. var sha = __webpack_require__(/*! sha.js */ 86)
  9572. var ZEROS = Buffer.alloc(128)
  9573. function Hmac (alg, key) {
  9574. Base.call(this, 'digest')
  9575. if (typeof key === 'string') {
  9576. key = Buffer.from(key)
  9577. }
  9578. var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
  9579. this._alg = alg
  9580. this._key = key
  9581. if (key.length > blocksize) {
  9582. var hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)
  9583. key = hash.update(key).digest()
  9584. } else if (key.length < blocksize) {
  9585. key = Buffer.concat([key, ZEROS], blocksize)
  9586. }
  9587. var ipad = this._ipad = Buffer.allocUnsafe(blocksize)
  9588. var opad = this._opad = Buffer.allocUnsafe(blocksize)
  9589. for (var i = 0; i < blocksize; i++) {
  9590. ipad[i] = key[i] ^ 0x36
  9591. opad[i] = key[i] ^ 0x5C
  9592. }
  9593. this._hash = alg === 'rmd160' ? new RIPEMD160() : sha(alg)
  9594. this._hash.update(ipad)
  9595. }
  9596. inherits(Hmac, Base)
  9597. Hmac.prototype._update = function (data) {
  9598. this._hash.update(data)
  9599. }
  9600. Hmac.prototype._final = function () {
  9601. var h = this._hash.digest()
  9602. var hash = this._alg === 'rmd160' ? new RIPEMD160() : sha(this._alg)
  9603. return hash.update(this._opad).update(h).digest()
  9604. }
  9605. module.exports = function createHmac (alg, key) {
  9606. alg = alg.toLowerCase()
  9607. if (alg === 'rmd160' || alg === 'ripemd160') {
  9608. return new Hmac('rmd160', key)
  9609. }
  9610. if (alg === 'md5') {
  9611. return new Legacy(md5, key)
  9612. }
  9613. return new Hmac(alg, key)
  9614. }
  9615. /***/ }),
  9616. /* 101 */
  9617. /*!********************************************!*\
  9618. !*** ./node_modules/create-hmac/legacy.js ***!
  9619. \********************************************/
  9620. /*! no static exports found */
  9621. /***/ (function(module, exports, __webpack_require__) {
  9622. "use strict";
  9623. var inherits = __webpack_require__(/*! inherits */ 66)
  9624. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9625. var Base = __webpack_require__(/*! cipher-base */ 94)
  9626. var ZEROS = Buffer.alloc(128)
  9627. var blocksize = 64
  9628. function Hmac (alg, key) {
  9629. Base.call(this, 'digest')
  9630. if (typeof key === 'string') {
  9631. key = Buffer.from(key)
  9632. }
  9633. this._alg = alg
  9634. this._key = key
  9635. if (key.length > blocksize) {
  9636. key = alg(key)
  9637. } else if (key.length < blocksize) {
  9638. key = Buffer.concat([key, ZEROS], blocksize)
  9639. }
  9640. var ipad = this._ipad = Buffer.allocUnsafe(blocksize)
  9641. var opad = this._opad = Buffer.allocUnsafe(blocksize)
  9642. for (var i = 0; i < blocksize; i++) {
  9643. ipad[i] = key[i] ^ 0x36
  9644. opad[i] = key[i] ^ 0x5C
  9645. }
  9646. this._hash = [ipad]
  9647. }
  9648. inherits(Hmac, Base)
  9649. Hmac.prototype._update = function (data) {
  9650. this._hash.push(data)
  9651. }
  9652. Hmac.prototype._final = function () {
  9653. var h = this._alg(Buffer.concat(this._hash))
  9654. return this._alg(Buffer.concat([this._opad, h]))
  9655. }
  9656. module.exports = Hmac
  9657. /***/ }),
  9658. /* 102 */
  9659. /*!*****************************************!*\
  9660. !*** ./node_modules/create-hash/md5.js ***!
  9661. \*****************************************/
  9662. /*! no static exports found */
  9663. /***/ (function(module, exports, __webpack_require__) {
  9664. var MD5 = __webpack_require__(/*! md5.js */ 67)
  9665. module.exports = function (buffer) {
  9666. return new MD5().update(buffer).digest()
  9667. }
  9668. /***/ }),
  9669. /* 103 */
  9670. /*!***********************************************!*\
  9671. !*** ./node_modules/browserify-sign/algos.js ***!
  9672. \***********************************************/
  9673. /*! no static exports found */
  9674. /***/ (function(module, exports, __webpack_require__) {
  9675. module.exports = __webpack_require__(/*! ./browser/algorithms.json */ 104)
  9676. /***/ }),
  9677. /* 104 */
  9678. /*!**************************************************************!*\
  9679. !*** ./node_modules/browserify-sign/browser/algorithms.json ***!
  9680. \**************************************************************/
  9681. /*! exports provided: sha224WithRSAEncryption, RSA-SHA224, sha256WithRSAEncryption, RSA-SHA256, sha384WithRSAEncryption, RSA-SHA384, sha512WithRSAEncryption, RSA-SHA512, RSA-SHA1, ecdsa-with-SHA1, sha256, sha224, sha384, sha512, DSA-SHA, DSA-SHA1, DSA, DSA-WITH-SHA224, DSA-SHA224, DSA-WITH-SHA256, DSA-SHA256, DSA-WITH-SHA384, DSA-SHA384, DSA-WITH-SHA512, DSA-SHA512, DSA-RIPEMD160, ripemd160WithRSA, RSA-RIPEMD160, md5WithRSAEncryption, RSA-MD5, default */
  9682. /***/ (function(module) {
  9683. module.exports = JSON.parse("{\"sha224WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"RSA-SHA224\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha224\",\"id\":\"302d300d06096086480165030402040500041c\"},\"sha256WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"RSA-SHA256\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha256\",\"id\":\"3031300d060960864801650304020105000420\"},\"sha384WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"RSA-SHA384\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha384\",\"id\":\"3041300d060960864801650304020205000430\"},\"sha512WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA512\":{\"sign\":\"ecdsa/rsa\",\"hash\":\"sha512\",\"id\":\"3051300d060960864801650304020305000440\"},\"RSA-SHA1\":{\"sign\":\"rsa\",\"hash\":\"sha1\",\"id\":\"3021300906052b0e03021a05000414\"},\"ecdsa-with-SHA1\":{\"sign\":\"ecdsa\",\"hash\":\"sha1\",\"id\":\"\"},\"sha256\":{\"sign\":\"ecdsa\",\"hash\":\"sha256\",\"id\":\"\"},\"sha224\":{\"sign\":\"ecdsa\",\"hash\":\"sha224\",\"id\":\"\"},\"sha384\":{\"sign\":\"ecdsa\",\"hash\":\"sha384\",\"id\":\"\"},\"sha512\":{\"sign\":\"ecdsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-SHA1\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA\":{\"sign\":\"dsa\",\"hash\":\"sha1\",\"id\":\"\"},\"DSA-WITH-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-SHA224\":{\"sign\":\"dsa\",\"hash\":\"sha224\",\"id\":\"\"},\"DSA-WITH-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-SHA256\":{\"sign\":\"dsa\",\"hash\":\"sha256\",\"id\":\"\"},\"DSA-WITH-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-SHA384\":{\"sign\":\"dsa\",\"hash\":\"sha384\",\"id\":\"\"},\"DSA-WITH-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-SHA512\":{\"sign\":\"dsa\",\"hash\":\"sha512\",\"id\":\"\"},\"DSA-RIPEMD160\":{\"sign\":\"dsa\",\"hash\":\"rmd160\",\"id\":\"\"},\"ripemd160WithRSA\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"RSA-RIPEMD160\":{\"sign\":\"rsa\",\"hash\":\"rmd160\",\"id\":\"3021300906052b2403020105000414\"},\"md5WithRSAEncryption\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"},\"RSA-MD5\":{\"sign\":\"rsa\",\"hash\":\"md5\",\"id\":\"3020300c06082a864886f70d020505000410\"}}");
  9684. /***/ }),
  9685. /* 105 */
  9686. /*!****************************************!*\
  9687. !*** ./node_modules/pbkdf2/browser.js ***!
  9688. \****************************************/
  9689. /*! no static exports found */
  9690. /***/ (function(module, exports, __webpack_require__) {
  9691. exports.pbkdf2 = __webpack_require__(/*! ./lib/async */ 106)
  9692. exports.pbkdf2Sync = __webpack_require__(/*! ./lib/sync */ 109)
  9693. /***/ }),
  9694. /* 106 */
  9695. /*!******************************************!*\
  9696. !*** ./node_modules/pbkdf2/lib/async.js ***!
  9697. \******************************************/
  9698. /*! no static exports found */
  9699. /***/ (function(module, exports, __webpack_require__) {
  9700. /* WEBPACK VAR INJECTION */(function(__webpack_provided_global_dot_crypto, global, process) {var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9701. var checkParameters = __webpack_require__(/*! ./precondition */ 107)
  9702. var defaultEncoding = __webpack_require__(/*! ./default-encoding */ 108)
  9703. var sync = __webpack_require__(/*! ./sync */ 109)
  9704. var toBuffer = __webpack_require__(/*! ./to-buffer */ 110)
  9705. var ZERO_BUF
  9706. var subtle = __webpack_provided_global_dot_crypto && __webpack_provided_global_dot_crypto.subtle
  9707. var toBrowser = {
  9708. sha: 'SHA-1',
  9709. 'sha-1': 'SHA-1',
  9710. sha1: 'SHA-1',
  9711. sha256: 'SHA-256',
  9712. 'sha-256': 'SHA-256',
  9713. sha384: 'SHA-384',
  9714. 'sha-384': 'SHA-384',
  9715. 'sha-512': 'SHA-512',
  9716. sha512: 'SHA-512'
  9717. }
  9718. var checks = []
  9719. function checkNative (algo) {
  9720. if (global.process && !global.process.browser) {
  9721. return Promise.resolve(false)
  9722. }
  9723. if (!subtle || !subtle.importKey || !subtle.deriveBits) {
  9724. return Promise.resolve(false)
  9725. }
  9726. if (checks[algo] !== undefined) {
  9727. return checks[algo]
  9728. }
  9729. ZERO_BUF = ZERO_BUF || Buffer.alloc(8)
  9730. var prom = browserPbkdf2(ZERO_BUF, ZERO_BUF, 10, 128, algo)
  9731. .then(function () {
  9732. return true
  9733. }).catch(function () {
  9734. return false
  9735. })
  9736. checks[algo] = prom
  9737. return prom
  9738. }
  9739. function browserPbkdf2 (password, salt, iterations, length, algo) {
  9740. return subtle.importKey(
  9741. 'raw', password, { name: 'PBKDF2' }, false, ['deriveBits']
  9742. ).then(function (key) {
  9743. return subtle.deriveBits({
  9744. name: 'PBKDF2',
  9745. salt: salt,
  9746. iterations: iterations,
  9747. hash: {
  9748. name: algo
  9749. }
  9750. }, key, length << 3)
  9751. }).then(function (res) {
  9752. return Buffer.from(res)
  9753. })
  9754. }
  9755. function resolvePromise (promise, callback) {
  9756. promise.then(function (out) {
  9757. process.nextTick(function () {
  9758. callback(null, out)
  9759. })
  9760. }, function (e) {
  9761. process.nextTick(function () {
  9762. callback(e)
  9763. })
  9764. })
  9765. }
  9766. module.exports = function (password, salt, iterations, keylen, digest, callback) {
  9767. if (typeof digest === 'function') {
  9768. callback = digest
  9769. digest = undefined
  9770. }
  9771. digest = digest || 'sha1'
  9772. var algo = toBrowser[digest.toLowerCase()]
  9773. if (!algo || typeof global.Promise !== 'function') {
  9774. return process.nextTick(function () {
  9775. var out
  9776. try {
  9777. out = sync(password, salt, iterations, keylen, digest)
  9778. } catch (e) {
  9779. return callback(e)
  9780. }
  9781. callback(null, out)
  9782. })
  9783. }
  9784. checkParameters(iterations, keylen)
  9785. password = toBuffer(password, defaultEncoding, 'Password')
  9786. salt = toBuffer(salt, defaultEncoding, 'Salt')
  9787. if (typeof callback !== 'function') throw new Error('No callback provided to pbkdf2')
  9788. resolvePromise(checkNative(algo).then(function (resp) {
  9789. if (resp) return browserPbkdf2(password, salt, iterations, keylen, algo)
  9790. return sync(password, salt, iterations, keylen, digest)
  9791. }), callback)
  9792. }
  9793. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/crypto.js */ 55)["default"], __webpack_require__(/*! ./../../webpack/buildin/global.js */ 11), __webpack_require__(/*! ./../../node-libs-browser/mock/process.js */ 58)))
  9794. /***/ }),
  9795. /* 107 */
  9796. /*!*************************************************!*\
  9797. !*** ./node_modules/pbkdf2/lib/precondition.js ***!
  9798. \*************************************************/
  9799. /*! no static exports found */
  9800. /***/ (function(module, exports) {
  9801. var MAX_ALLOC = Math.pow(2, 30) - 1 // default in iojs
  9802. module.exports = function (iterations, keylen) {
  9803. if (typeof iterations !== 'number') {
  9804. throw new TypeError('Iterations not a number')
  9805. }
  9806. if (iterations < 0) {
  9807. throw new TypeError('Bad iterations')
  9808. }
  9809. if (typeof keylen !== 'number') {
  9810. throw new TypeError('Key length not a number')
  9811. }
  9812. if (keylen < 0 || keylen > MAX_ALLOC || keylen !== keylen) { /* eslint no-self-compare: 0 */
  9813. throw new TypeError('Bad key length')
  9814. }
  9815. }
  9816. /***/ }),
  9817. /* 108 */
  9818. /*!*****************************************************!*\
  9819. !*** ./node_modules/pbkdf2/lib/default-encoding.js ***!
  9820. \*****************************************************/
  9821. /*! no static exports found */
  9822. /***/ (function(module, exports, __webpack_require__) {
  9823. /* WEBPACK VAR INJECTION */(function(process) {var defaultEncoding
  9824. /* istanbul ignore next */
  9825. if (process.browser) {
  9826. defaultEncoding = 'utf-8'
  9827. } else if (process.version) {
  9828. var pVersionMajor = parseInt(process.version.split('.')[0].slice(1), 10)
  9829. defaultEncoding = pVersionMajor >= 6 ? 'utf-8' : 'binary'
  9830. } else {
  9831. defaultEncoding = 'utf-8'
  9832. }
  9833. module.exports = defaultEncoding
  9834. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node-libs-browser/mock/process.js */ 58)))
  9835. /***/ }),
  9836. /* 109 */
  9837. /*!*************************************************!*\
  9838. !*** ./node_modules/pbkdf2/lib/sync-browser.js ***!
  9839. \*************************************************/
  9840. /*! no static exports found */
  9841. /***/ (function(module, exports, __webpack_require__) {
  9842. var md5 = __webpack_require__(/*! create-hash/md5 */ 102)
  9843. var RIPEMD160 = __webpack_require__(/*! ripemd160 */ 85)
  9844. var sha = __webpack_require__(/*! sha.js */ 86)
  9845. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9846. var checkParameters = __webpack_require__(/*! ./precondition */ 107)
  9847. var defaultEncoding = __webpack_require__(/*! ./default-encoding */ 108)
  9848. var toBuffer = __webpack_require__(/*! ./to-buffer */ 110)
  9849. var ZEROS = Buffer.alloc(128)
  9850. var sizes = {
  9851. md5: 16,
  9852. sha1: 20,
  9853. sha224: 28,
  9854. sha256: 32,
  9855. sha384: 48,
  9856. sha512: 64,
  9857. rmd160: 20,
  9858. ripemd160: 20
  9859. }
  9860. function Hmac (alg, key, saltLen) {
  9861. var hash = getDigest(alg)
  9862. var blocksize = (alg === 'sha512' || alg === 'sha384') ? 128 : 64
  9863. if (key.length > blocksize) {
  9864. key = hash(key)
  9865. } else if (key.length < blocksize) {
  9866. key = Buffer.concat([key, ZEROS], blocksize)
  9867. }
  9868. var ipad = Buffer.allocUnsafe(blocksize + sizes[alg])
  9869. var opad = Buffer.allocUnsafe(blocksize + sizes[alg])
  9870. for (var i = 0; i < blocksize; i++) {
  9871. ipad[i] = key[i] ^ 0x36
  9872. opad[i] = key[i] ^ 0x5C
  9873. }
  9874. var ipad1 = Buffer.allocUnsafe(blocksize + saltLen + 4)
  9875. ipad.copy(ipad1, 0, 0, blocksize)
  9876. this.ipad1 = ipad1
  9877. this.ipad2 = ipad
  9878. this.opad = opad
  9879. this.alg = alg
  9880. this.blocksize = blocksize
  9881. this.hash = hash
  9882. this.size = sizes[alg]
  9883. }
  9884. Hmac.prototype.run = function (data, ipad) {
  9885. data.copy(ipad, this.blocksize)
  9886. var h = this.hash(ipad)
  9887. h.copy(this.opad, this.blocksize)
  9888. return this.hash(this.opad)
  9889. }
  9890. function getDigest (alg) {
  9891. function shaFunc (data) {
  9892. return sha(alg).update(data).digest()
  9893. }
  9894. function rmd160Func (data) {
  9895. return new RIPEMD160().update(data).digest()
  9896. }
  9897. if (alg === 'rmd160' || alg === 'ripemd160') return rmd160Func
  9898. if (alg === 'md5') return md5
  9899. return shaFunc
  9900. }
  9901. function pbkdf2 (password, salt, iterations, keylen, digest) {
  9902. checkParameters(iterations, keylen)
  9903. password = toBuffer(password, defaultEncoding, 'Password')
  9904. salt = toBuffer(salt, defaultEncoding, 'Salt')
  9905. digest = digest || 'sha1'
  9906. var hmac = new Hmac(digest, password, salt.length)
  9907. var DK = Buffer.allocUnsafe(keylen)
  9908. var block1 = Buffer.allocUnsafe(salt.length + 4)
  9909. salt.copy(block1, 0, 0, salt.length)
  9910. var destPos = 0
  9911. var hLen = sizes[digest]
  9912. var l = Math.ceil(keylen / hLen)
  9913. for (var i = 1; i <= l; i++) {
  9914. block1.writeUInt32BE(i, salt.length)
  9915. var T = hmac.run(block1, hmac.ipad1)
  9916. var U = T
  9917. for (var j = 1; j < iterations; j++) {
  9918. U = hmac.run(U, hmac.ipad2)
  9919. for (var k = 0; k < hLen; k++) T[k] ^= U[k]
  9920. }
  9921. T.copy(DK, destPos)
  9922. destPos += hLen
  9923. }
  9924. return DK
  9925. }
  9926. module.exports = pbkdf2
  9927. /***/ }),
  9928. /* 110 */
  9929. /*!**********************************************!*\
  9930. !*** ./node_modules/pbkdf2/lib/to-buffer.js ***!
  9931. \**********************************************/
  9932. /*! no static exports found */
  9933. /***/ (function(module, exports, __webpack_require__) {
  9934. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  9935. module.exports = function (thing, encoding, name) {
  9936. if (Buffer.isBuffer(thing)) {
  9937. return thing
  9938. } else if (typeof thing === 'string') {
  9939. return Buffer.from(thing, encoding)
  9940. } else if (ArrayBuffer.isView(thing)) {
  9941. return Buffer.from(thing.buffer)
  9942. } else {
  9943. throw new TypeError(name + ' must be a string, a Buffer, a typed array or a DataView')
  9944. }
  9945. }
  9946. /***/ }),
  9947. /* 111 */
  9948. /*!***************************************************!*\
  9949. !*** ./node_modules/browserify-cipher/browser.js ***!
  9950. \***************************************************/
  9951. /*! no static exports found */
  9952. /***/ (function(module, exports, __webpack_require__) {
  9953. var DES = __webpack_require__(/*! browserify-des */ 112)
  9954. var aes = __webpack_require__(/*! browserify-aes/browser */ 120)
  9955. var aesModes = __webpack_require__(/*! browserify-aes/modes */ 122)
  9956. var desModes = __webpack_require__(/*! browserify-des/modes */ 139)
  9957. var ebtk = __webpack_require__(/*! evp_bytestokey */ 137)
  9958. function createCipher (suite, password) {
  9959. suite = suite.toLowerCase()
  9960. var keyLen, ivLen
  9961. if (aesModes[suite]) {
  9962. keyLen = aesModes[suite].key
  9963. ivLen = aesModes[suite].iv
  9964. } else if (desModes[suite]) {
  9965. keyLen = desModes[suite].key * 8
  9966. ivLen = desModes[suite].iv
  9967. } else {
  9968. throw new TypeError('invalid suite type')
  9969. }
  9970. var keys = ebtk(password, false, keyLen, ivLen)
  9971. return createCipheriv(suite, keys.key, keys.iv)
  9972. }
  9973. function createDecipher (suite, password) {
  9974. suite = suite.toLowerCase()
  9975. var keyLen, ivLen
  9976. if (aesModes[suite]) {
  9977. keyLen = aesModes[suite].key
  9978. ivLen = aesModes[suite].iv
  9979. } else if (desModes[suite]) {
  9980. keyLen = desModes[suite].key * 8
  9981. ivLen = desModes[suite].iv
  9982. } else {
  9983. throw new TypeError('invalid suite type')
  9984. }
  9985. var keys = ebtk(password, false, keyLen, ivLen)
  9986. return createDecipheriv(suite, keys.key, keys.iv)
  9987. }
  9988. function createCipheriv (suite, key, iv) {
  9989. suite = suite.toLowerCase()
  9990. if (aesModes[suite]) return aes.createCipheriv(suite, key, iv)
  9991. if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite })
  9992. throw new TypeError('invalid suite type')
  9993. }
  9994. function createDecipheriv (suite, key, iv) {
  9995. suite = suite.toLowerCase()
  9996. if (aesModes[suite]) return aes.createDecipheriv(suite, key, iv)
  9997. if (desModes[suite]) return new DES({ key: key, iv: iv, mode: suite, decrypt: true })
  9998. throw new TypeError('invalid suite type')
  9999. }
  10000. function getCiphers () {
  10001. return Object.keys(desModes).concat(aes.getCiphers())
  10002. }
  10003. exports.createCipher = exports.Cipher = createCipher
  10004. exports.createCipheriv = exports.Cipheriv = createCipheriv
  10005. exports.createDecipher = exports.Decipher = createDecipher
  10006. exports.createDecipheriv = exports.Decipheriv = createDecipheriv
  10007. exports.listCiphers = exports.getCiphers = getCiphers
  10008. /***/ }),
  10009. /* 112 */
  10010. /*!**********************************************!*\
  10011. !*** ./node_modules/browserify-des/index.js ***!
  10012. \**********************************************/
  10013. /*! no static exports found */
  10014. /***/ (function(module, exports, __webpack_require__) {
  10015. var CipherBase = __webpack_require__(/*! cipher-base */ 94)
  10016. var des = __webpack_require__(/*! des.js */ 113)
  10017. var inherits = __webpack_require__(/*! inherits */ 66)
  10018. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  10019. var modes = {
  10020. 'des-ede3-cbc': des.CBC.instantiate(des.EDE),
  10021. 'des-ede3': des.EDE,
  10022. 'des-ede-cbc': des.CBC.instantiate(des.EDE),
  10023. 'des-ede': des.EDE,
  10024. 'des-cbc': des.CBC.instantiate(des.DES),
  10025. 'des-ecb': des.DES
  10026. }
  10027. modes.des = modes['des-cbc']
  10028. modes.des3 = modes['des-ede3-cbc']
  10029. module.exports = DES
  10030. inherits(DES, CipherBase)
  10031. function DES (opts) {
  10032. CipherBase.call(this)
  10033. var modeName = opts.mode.toLowerCase()
  10034. var mode = modes[modeName]
  10035. var type
  10036. if (opts.decrypt) {
  10037. type = 'decrypt'
  10038. } else {
  10039. type = 'encrypt'
  10040. }
  10041. var key = opts.key
  10042. if (!Buffer.isBuffer(key)) {
  10043. key = Buffer.from(key)
  10044. }
  10045. if (modeName === 'des-ede' || modeName === 'des-ede-cbc') {
  10046. key = Buffer.concat([key, key.slice(0, 8)])
  10047. }
  10048. var iv = opts.iv
  10049. if (!Buffer.isBuffer(iv)) {
  10050. iv = Buffer.from(iv)
  10051. }
  10052. this._des = mode.create({
  10053. key: key,
  10054. iv: iv,
  10055. type: type
  10056. })
  10057. }
  10058. DES.prototype._update = function (data) {
  10059. return Buffer.from(this._des.update(data))
  10060. }
  10061. DES.prototype._final = function () {
  10062. return Buffer.from(this._des.final())
  10063. }
  10064. /***/ }),
  10065. /* 113 */
  10066. /*!****************************************!*\
  10067. !*** ./node_modules/des.js/lib/des.js ***!
  10068. \****************************************/
  10069. /*! no static exports found */
  10070. /***/ (function(module, exports, __webpack_require__) {
  10071. "use strict";
  10072. exports.utils = __webpack_require__(/*! ./des/utils */ 114);
  10073. exports.Cipher = __webpack_require__(/*! ./des/cipher */ 115);
  10074. exports.DES = __webpack_require__(/*! ./des/des */ 117);
  10075. exports.CBC = __webpack_require__(/*! ./des/cbc */ 118);
  10076. exports.EDE = __webpack_require__(/*! ./des/ede */ 119);
  10077. /***/ }),
  10078. /* 114 */
  10079. /*!**********************************************!*\
  10080. !*** ./node_modules/des.js/lib/des/utils.js ***!
  10081. \**********************************************/
  10082. /*! no static exports found */
  10083. /***/ (function(module, exports, __webpack_require__) {
  10084. "use strict";
  10085. exports.readUInt32BE = function readUInt32BE(bytes, off) {
  10086. var res = (bytes[0 + off] << 24) |
  10087. (bytes[1 + off] << 16) |
  10088. (bytes[2 + off] << 8) |
  10089. bytes[3 + off];
  10090. return res >>> 0;
  10091. };
  10092. exports.writeUInt32BE = function writeUInt32BE(bytes, value, off) {
  10093. bytes[0 + off] = value >>> 24;
  10094. bytes[1 + off] = (value >>> 16) & 0xff;
  10095. bytes[2 + off] = (value >>> 8) & 0xff;
  10096. bytes[3 + off] = value & 0xff;
  10097. };
  10098. exports.ip = function ip(inL, inR, out, off) {
  10099. var outL = 0;
  10100. var outR = 0;
  10101. for (var i = 6; i >= 0; i -= 2) {
  10102. for (var j = 0; j <= 24; j += 8) {
  10103. outL <<= 1;
  10104. outL |= (inR >>> (j + i)) & 1;
  10105. }
  10106. for (var j = 0; j <= 24; j += 8) {
  10107. outL <<= 1;
  10108. outL |= (inL >>> (j + i)) & 1;
  10109. }
  10110. }
  10111. for (var i = 6; i >= 0; i -= 2) {
  10112. for (var j = 1; j <= 25; j += 8) {
  10113. outR <<= 1;
  10114. outR |= (inR >>> (j + i)) & 1;
  10115. }
  10116. for (var j = 1; j <= 25; j += 8) {
  10117. outR <<= 1;
  10118. outR |= (inL >>> (j + i)) & 1;
  10119. }
  10120. }
  10121. out[off + 0] = outL >>> 0;
  10122. out[off + 1] = outR >>> 0;
  10123. };
  10124. exports.rip = function rip(inL, inR, out, off) {
  10125. var outL = 0;
  10126. var outR = 0;
  10127. for (var i = 0; i < 4; i++) {
  10128. for (var j = 24; j >= 0; j -= 8) {
  10129. outL <<= 1;
  10130. outL |= (inR >>> (j + i)) & 1;
  10131. outL <<= 1;
  10132. outL |= (inL >>> (j + i)) & 1;
  10133. }
  10134. }
  10135. for (var i = 4; i < 8; i++) {
  10136. for (var j = 24; j >= 0; j -= 8) {
  10137. outR <<= 1;
  10138. outR |= (inR >>> (j + i)) & 1;
  10139. outR <<= 1;
  10140. outR |= (inL >>> (j + i)) & 1;
  10141. }
  10142. }
  10143. out[off + 0] = outL >>> 0;
  10144. out[off + 1] = outR >>> 0;
  10145. };
  10146. exports.pc1 = function pc1(inL, inR, out, off) {
  10147. var outL = 0;
  10148. var outR = 0;
  10149. // 7, 15, 23, 31, 39, 47, 55, 63
  10150. // 6, 14, 22, 30, 39, 47, 55, 63
  10151. // 5, 13, 21, 29, 39, 47, 55, 63
  10152. // 4, 12, 20, 28
  10153. for (var i = 7; i >= 5; i--) {
  10154. for (var j = 0; j <= 24; j += 8) {
  10155. outL <<= 1;
  10156. outL |= (inR >> (j + i)) & 1;
  10157. }
  10158. for (var j = 0; j <= 24; j += 8) {
  10159. outL <<= 1;
  10160. outL |= (inL >> (j + i)) & 1;
  10161. }
  10162. }
  10163. for (var j = 0; j <= 24; j += 8) {
  10164. outL <<= 1;
  10165. outL |= (inR >> (j + i)) & 1;
  10166. }
  10167. // 1, 9, 17, 25, 33, 41, 49, 57
  10168. // 2, 10, 18, 26, 34, 42, 50, 58
  10169. // 3, 11, 19, 27, 35, 43, 51, 59
  10170. // 36, 44, 52, 60
  10171. for (var i = 1; i <= 3; i++) {
  10172. for (var j = 0; j <= 24; j += 8) {
  10173. outR <<= 1;
  10174. outR |= (inR >> (j + i)) & 1;
  10175. }
  10176. for (var j = 0; j <= 24; j += 8) {
  10177. outR <<= 1;
  10178. outR |= (inL >> (j + i)) & 1;
  10179. }
  10180. }
  10181. for (var j = 0; j <= 24; j += 8) {
  10182. outR <<= 1;
  10183. outR |= (inL >> (j + i)) & 1;
  10184. }
  10185. out[off + 0] = outL >>> 0;
  10186. out[off + 1] = outR >>> 0;
  10187. };
  10188. exports.r28shl = function r28shl(num, shift) {
  10189. return ((num << shift) & 0xfffffff) | (num >>> (28 - shift));
  10190. };
  10191. var pc2table = [
  10192. // inL => outL
  10193. 14, 11, 17, 4, 27, 23, 25, 0,
  10194. 13, 22, 7, 18, 5, 9, 16, 24,
  10195. 2, 20, 12, 21, 1, 8, 15, 26,
  10196. // inR => outR
  10197. 15, 4, 25, 19, 9, 1, 26, 16,
  10198. 5, 11, 23, 8, 12, 7, 17, 0,
  10199. 22, 3, 10, 14, 6, 20, 27, 24
  10200. ];
  10201. exports.pc2 = function pc2(inL, inR, out, off) {
  10202. var outL = 0;
  10203. var outR = 0;
  10204. var len = pc2table.length >>> 1;
  10205. for (var i = 0; i < len; i++) {
  10206. outL <<= 1;
  10207. outL |= (inL >>> pc2table[i]) & 0x1;
  10208. }
  10209. for (var i = len; i < pc2table.length; i++) {
  10210. outR <<= 1;
  10211. outR |= (inR >>> pc2table[i]) & 0x1;
  10212. }
  10213. out[off + 0] = outL >>> 0;
  10214. out[off + 1] = outR >>> 0;
  10215. };
  10216. exports.expand = function expand(r, out, off) {
  10217. var outL = 0;
  10218. var outR = 0;
  10219. outL = ((r & 1) << 5) | (r >>> 27);
  10220. for (var i = 23; i >= 15; i -= 4) {
  10221. outL <<= 6;
  10222. outL |= (r >>> i) & 0x3f;
  10223. }
  10224. for (var i = 11; i >= 3; i -= 4) {
  10225. outR |= (r >>> i) & 0x3f;
  10226. outR <<= 6;
  10227. }
  10228. outR |= ((r & 0x1f) << 1) | (r >>> 31);
  10229. out[off + 0] = outL >>> 0;
  10230. out[off + 1] = outR >>> 0;
  10231. };
  10232. var sTable = [
  10233. 14, 0, 4, 15, 13, 7, 1, 4, 2, 14, 15, 2, 11, 13, 8, 1,
  10234. 3, 10, 10, 6, 6, 12, 12, 11, 5, 9, 9, 5, 0, 3, 7, 8,
  10235. 4, 15, 1, 12, 14, 8, 8, 2, 13, 4, 6, 9, 2, 1, 11, 7,
  10236. 15, 5, 12, 11, 9, 3, 7, 14, 3, 10, 10, 0, 5, 6, 0, 13,
  10237. 15, 3, 1, 13, 8, 4, 14, 7, 6, 15, 11, 2, 3, 8, 4, 14,
  10238. 9, 12, 7, 0, 2, 1, 13, 10, 12, 6, 0, 9, 5, 11, 10, 5,
  10239. 0, 13, 14, 8, 7, 10, 11, 1, 10, 3, 4, 15, 13, 4, 1, 2,
  10240. 5, 11, 8, 6, 12, 7, 6, 12, 9, 0, 3, 5, 2, 14, 15, 9,
  10241. 10, 13, 0, 7, 9, 0, 14, 9, 6, 3, 3, 4, 15, 6, 5, 10,
  10242. 1, 2, 13, 8, 12, 5, 7, 14, 11, 12, 4, 11, 2, 15, 8, 1,
  10243. 13, 1, 6, 10, 4, 13, 9, 0, 8, 6, 15, 9, 3, 8, 0, 7,
  10244. 11, 4, 1, 15, 2, 14, 12, 3, 5, 11, 10, 5, 14, 2, 7, 12,
  10245. 7, 13, 13, 8, 14, 11, 3, 5, 0, 6, 6, 15, 9, 0, 10, 3,
  10246. 1, 4, 2, 7, 8, 2, 5, 12, 11, 1, 12, 10, 4, 14, 15, 9,
  10247. 10, 3, 6, 15, 9, 0, 0, 6, 12, 10, 11, 1, 7, 13, 13, 8,
  10248. 15, 9, 1, 4, 3, 5, 14, 11, 5, 12, 2, 7, 8, 2, 4, 14,
  10249. 2, 14, 12, 11, 4, 2, 1, 12, 7, 4, 10, 7, 11, 13, 6, 1,
  10250. 8, 5, 5, 0, 3, 15, 15, 10, 13, 3, 0, 9, 14, 8, 9, 6,
  10251. 4, 11, 2, 8, 1, 12, 11, 7, 10, 1, 13, 14, 7, 2, 8, 13,
  10252. 15, 6, 9, 15, 12, 0, 5, 9, 6, 10, 3, 4, 0, 5, 14, 3,
  10253. 12, 10, 1, 15, 10, 4, 15, 2, 9, 7, 2, 12, 6, 9, 8, 5,
  10254. 0, 6, 13, 1, 3, 13, 4, 14, 14, 0, 7, 11, 5, 3, 11, 8,
  10255. 9, 4, 14, 3, 15, 2, 5, 12, 2, 9, 8, 5, 12, 15, 3, 10,
  10256. 7, 11, 0, 14, 4, 1, 10, 7, 1, 6, 13, 0, 11, 8, 6, 13,
  10257. 4, 13, 11, 0, 2, 11, 14, 7, 15, 4, 0, 9, 8, 1, 13, 10,
  10258. 3, 14, 12, 3, 9, 5, 7, 12, 5, 2, 10, 15, 6, 8, 1, 6,
  10259. 1, 6, 4, 11, 11, 13, 13, 8, 12, 1, 3, 4, 7, 10, 14, 7,
  10260. 10, 9, 15, 5, 6, 0, 8, 15, 0, 14, 5, 2, 9, 3, 2, 12,
  10261. 13, 1, 2, 15, 8, 13, 4, 8, 6, 10, 15, 3, 11, 7, 1, 4,
  10262. 10, 12, 9, 5, 3, 6, 14, 11, 5, 0, 0, 14, 12, 9, 7, 2,
  10263. 7, 2, 11, 1, 4, 14, 1, 7, 9, 4, 12, 10, 14, 8, 2, 13,
  10264. 0, 15, 6, 12, 10, 9, 13, 0, 15, 3, 3, 5, 5, 6, 8, 11
  10265. ];
  10266. exports.substitute = function substitute(inL, inR) {
  10267. var out = 0;
  10268. for (var i = 0; i < 4; i++) {
  10269. var b = (inL >>> (18 - i * 6)) & 0x3f;
  10270. var sb = sTable[i * 0x40 + b];
  10271. out <<= 4;
  10272. out |= sb;
  10273. }
  10274. for (var i = 0; i < 4; i++) {
  10275. var b = (inR >>> (18 - i * 6)) & 0x3f;
  10276. var sb = sTable[4 * 0x40 + i * 0x40 + b];
  10277. out <<= 4;
  10278. out |= sb;
  10279. }
  10280. return out >>> 0;
  10281. };
  10282. var permuteTable = [
  10283. 16, 25, 12, 11, 3, 20, 4, 15, 31, 17, 9, 6, 27, 14, 1, 22,
  10284. 30, 24, 8, 18, 0, 5, 29, 23, 13, 19, 2, 26, 10, 21, 28, 7
  10285. ];
  10286. exports.permute = function permute(num) {
  10287. var out = 0;
  10288. for (var i = 0; i < permuteTable.length; i++) {
  10289. out <<= 1;
  10290. out |= (num >>> permuteTable[i]) & 0x1;
  10291. }
  10292. return out >>> 0;
  10293. };
  10294. exports.padSplit = function padSplit(num, size, group) {
  10295. var str = num.toString(2);
  10296. while (str.length < size)
  10297. str = '0' + str;
  10298. var out = [];
  10299. for (var i = 0; i < size; i += group)
  10300. out.push(str.slice(i, i + group));
  10301. return out.join(' ');
  10302. };
  10303. /***/ }),
  10304. /* 115 */
  10305. /*!***********************************************!*\
  10306. !*** ./node_modules/des.js/lib/des/cipher.js ***!
  10307. \***********************************************/
  10308. /*! no static exports found */
  10309. /***/ (function(module, exports, __webpack_require__) {
  10310. "use strict";
  10311. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  10312. function Cipher(options) {
  10313. this.options = options;
  10314. this.type = this.options.type;
  10315. this.blockSize = 8;
  10316. this._init();
  10317. this.buffer = new Array(this.blockSize);
  10318. this.bufferOff = 0;
  10319. }
  10320. module.exports = Cipher;
  10321. Cipher.prototype._init = function _init() {
  10322. // Might be overrided
  10323. };
  10324. Cipher.prototype.update = function update(data) {
  10325. if (data.length === 0)
  10326. return [];
  10327. if (this.type === 'decrypt')
  10328. return this._updateDecrypt(data);
  10329. else
  10330. return this._updateEncrypt(data);
  10331. };
  10332. Cipher.prototype._buffer = function _buffer(data, off) {
  10333. // Append data to buffer
  10334. var min = Math.min(this.buffer.length - this.bufferOff, data.length - off);
  10335. for (var i = 0; i < min; i++)
  10336. this.buffer[this.bufferOff + i] = data[off + i];
  10337. this.bufferOff += min;
  10338. // Shift next
  10339. return min;
  10340. };
  10341. Cipher.prototype._flushBuffer = function _flushBuffer(out, off) {
  10342. this._update(this.buffer, 0, out, off);
  10343. this.bufferOff = 0;
  10344. return this.blockSize;
  10345. };
  10346. Cipher.prototype._updateEncrypt = function _updateEncrypt(data) {
  10347. var inputOff = 0;
  10348. var outputOff = 0;
  10349. var count = ((this.bufferOff + data.length) / this.blockSize) | 0;
  10350. var out = new Array(count * this.blockSize);
  10351. if (this.bufferOff !== 0) {
  10352. inputOff += this._buffer(data, inputOff);
  10353. if (this.bufferOff === this.buffer.length)
  10354. outputOff += this._flushBuffer(out, outputOff);
  10355. }
  10356. // Write blocks
  10357. var max = data.length - ((data.length - inputOff) % this.blockSize);
  10358. for (; inputOff < max; inputOff += this.blockSize) {
  10359. this._update(data, inputOff, out, outputOff);
  10360. outputOff += this.blockSize;
  10361. }
  10362. // Queue rest
  10363. for (; inputOff < data.length; inputOff++, this.bufferOff++)
  10364. this.buffer[this.bufferOff] = data[inputOff];
  10365. return out;
  10366. };
  10367. Cipher.prototype._updateDecrypt = function _updateDecrypt(data) {
  10368. var inputOff = 0;
  10369. var outputOff = 0;
  10370. var count = Math.ceil((this.bufferOff + data.length) / this.blockSize) - 1;
  10371. var out = new Array(count * this.blockSize);
  10372. // TODO(indutny): optimize it, this is far from optimal
  10373. for (; count > 0; count--) {
  10374. inputOff += this._buffer(data, inputOff);
  10375. outputOff += this._flushBuffer(out, outputOff);
  10376. }
  10377. // Buffer rest of the input
  10378. inputOff += this._buffer(data, inputOff);
  10379. return out;
  10380. };
  10381. Cipher.prototype.final = function final(buffer) {
  10382. var first;
  10383. if (buffer)
  10384. first = this.update(buffer);
  10385. var last;
  10386. if (this.type === 'encrypt')
  10387. last = this._finalEncrypt();
  10388. else
  10389. last = this._finalDecrypt();
  10390. if (first)
  10391. return first.concat(last);
  10392. else
  10393. return last;
  10394. };
  10395. Cipher.prototype._pad = function _pad(buffer, off) {
  10396. if (off === 0)
  10397. return false;
  10398. while (off < buffer.length)
  10399. buffer[off++] = 0;
  10400. return true;
  10401. };
  10402. Cipher.prototype._finalEncrypt = function _finalEncrypt() {
  10403. if (!this._pad(this.buffer, this.bufferOff))
  10404. return [];
  10405. var out = new Array(this.blockSize);
  10406. this._update(this.buffer, 0, out, 0);
  10407. return out;
  10408. };
  10409. Cipher.prototype._unpad = function _unpad(buffer) {
  10410. return buffer;
  10411. };
  10412. Cipher.prototype._finalDecrypt = function _finalDecrypt() {
  10413. assert.equal(this.bufferOff, this.blockSize, 'Not enough data to decrypt');
  10414. var out = new Array(this.blockSize);
  10415. this._flushBuffer(out, 0);
  10416. return this._unpad(out);
  10417. };
  10418. /***/ }),
  10419. /* 116 */
  10420. /*!***************************************************!*\
  10421. !*** ./node_modules/minimalistic-assert/index.js ***!
  10422. \***************************************************/
  10423. /*! no static exports found */
  10424. /***/ (function(module, exports) {
  10425. module.exports = assert;
  10426. function assert(val, msg) {
  10427. if (!val)
  10428. throw new Error(msg || 'Assertion failed');
  10429. }
  10430. assert.equal = function assertEqual(l, r, msg) {
  10431. if (l != r)
  10432. throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));
  10433. };
  10434. /***/ }),
  10435. /* 117 */
  10436. /*!********************************************!*\
  10437. !*** ./node_modules/des.js/lib/des/des.js ***!
  10438. \********************************************/
  10439. /*! no static exports found */
  10440. /***/ (function(module, exports, __webpack_require__) {
  10441. "use strict";
  10442. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  10443. var inherits = __webpack_require__(/*! inherits */ 66);
  10444. var utils = __webpack_require__(/*! ./utils */ 114);
  10445. var Cipher = __webpack_require__(/*! ./cipher */ 115);
  10446. function DESState() {
  10447. this.tmp = new Array(2);
  10448. this.keys = null;
  10449. }
  10450. function DES(options) {
  10451. Cipher.call(this, options);
  10452. var state = new DESState();
  10453. this._desState = state;
  10454. this.deriveKeys(state, options.key);
  10455. }
  10456. inherits(DES, Cipher);
  10457. module.exports = DES;
  10458. DES.create = function create(options) {
  10459. return new DES(options);
  10460. };
  10461. var shiftTable = [
  10462. 1, 1, 2, 2, 2, 2, 2, 2,
  10463. 1, 2, 2, 2, 2, 2, 2, 1
  10464. ];
  10465. DES.prototype.deriveKeys = function deriveKeys(state, key) {
  10466. state.keys = new Array(16 * 2);
  10467. assert.equal(key.length, this.blockSize, 'Invalid key length');
  10468. var kL = utils.readUInt32BE(key, 0);
  10469. var kR = utils.readUInt32BE(key, 4);
  10470. utils.pc1(kL, kR, state.tmp, 0);
  10471. kL = state.tmp[0];
  10472. kR = state.tmp[1];
  10473. for (var i = 0; i < state.keys.length; i += 2) {
  10474. var shift = shiftTable[i >>> 1];
  10475. kL = utils.r28shl(kL, shift);
  10476. kR = utils.r28shl(kR, shift);
  10477. utils.pc2(kL, kR, state.keys, i);
  10478. }
  10479. };
  10480. DES.prototype._update = function _update(inp, inOff, out, outOff) {
  10481. var state = this._desState;
  10482. var l = utils.readUInt32BE(inp, inOff);
  10483. var r = utils.readUInt32BE(inp, inOff + 4);
  10484. // Initial Permutation
  10485. utils.ip(l, r, state.tmp, 0);
  10486. l = state.tmp[0];
  10487. r = state.tmp[1];
  10488. if (this.type === 'encrypt')
  10489. this._encrypt(state, l, r, state.tmp, 0);
  10490. else
  10491. this._decrypt(state, l, r, state.tmp, 0);
  10492. l = state.tmp[0];
  10493. r = state.tmp[1];
  10494. utils.writeUInt32BE(out, l, outOff);
  10495. utils.writeUInt32BE(out, r, outOff + 4);
  10496. };
  10497. DES.prototype._pad = function _pad(buffer, off) {
  10498. var value = buffer.length - off;
  10499. for (var i = off; i < buffer.length; i++)
  10500. buffer[i] = value;
  10501. return true;
  10502. };
  10503. DES.prototype._unpad = function _unpad(buffer) {
  10504. var pad = buffer[buffer.length - 1];
  10505. for (var i = buffer.length - pad; i < buffer.length; i++)
  10506. assert.equal(buffer[i], pad);
  10507. return buffer.slice(0, buffer.length - pad);
  10508. };
  10509. DES.prototype._encrypt = function _encrypt(state, lStart, rStart, out, off) {
  10510. var l = lStart;
  10511. var r = rStart;
  10512. // Apply f() x16 times
  10513. for (var i = 0; i < state.keys.length; i += 2) {
  10514. var keyL = state.keys[i];
  10515. var keyR = state.keys[i + 1];
  10516. // f(r, k)
  10517. utils.expand(r, state.tmp, 0);
  10518. keyL ^= state.tmp[0];
  10519. keyR ^= state.tmp[1];
  10520. var s = utils.substitute(keyL, keyR);
  10521. var f = utils.permute(s);
  10522. var t = r;
  10523. r = (l ^ f) >>> 0;
  10524. l = t;
  10525. }
  10526. // Reverse Initial Permutation
  10527. utils.rip(r, l, out, off);
  10528. };
  10529. DES.prototype._decrypt = function _decrypt(state, lStart, rStart, out, off) {
  10530. var l = rStart;
  10531. var r = lStart;
  10532. // Apply f() x16 times
  10533. for (var i = state.keys.length - 2; i >= 0; i -= 2) {
  10534. var keyL = state.keys[i];
  10535. var keyR = state.keys[i + 1];
  10536. // f(r, k)
  10537. utils.expand(l, state.tmp, 0);
  10538. keyL ^= state.tmp[0];
  10539. keyR ^= state.tmp[1];
  10540. var s = utils.substitute(keyL, keyR);
  10541. var f = utils.permute(s);
  10542. var t = l;
  10543. l = (r ^ f) >>> 0;
  10544. r = t;
  10545. }
  10546. // Reverse Initial Permutation
  10547. utils.rip(l, r, out, off);
  10548. };
  10549. /***/ }),
  10550. /* 118 */
  10551. /*!********************************************!*\
  10552. !*** ./node_modules/des.js/lib/des/cbc.js ***!
  10553. \********************************************/
  10554. /*! no static exports found */
  10555. /***/ (function(module, exports, __webpack_require__) {
  10556. "use strict";
  10557. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  10558. var inherits = __webpack_require__(/*! inherits */ 66);
  10559. var proto = {};
  10560. function CBCState(iv) {
  10561. assert.equal(iv.length, 8, 'Invalid IV length');
  10562. this.iv = new Array(8);
  10563. for (var i = 0; i < this.iv.length; i++)
  10564. this.iv[i] = iv[i];
  10565. }
  10566. function instantiate(Base) {
  10567. function CBC(options) {
  10568. Base.call(this, options);
  10569. this._cbcInit();
  10570. }
  10571. inherits(CBC, Base);
  10572. var keys = Object.keys(proto);
  10573. for (var i = 0; i < keys.length; i++) {
  10574. var key = keys[i];
  10575. CBC.prototype[key] = proto[key];
  10576. }
  10577. CBC.create = function create(options) {
  10578. return new CBC(options);
  10579. };
  10580. return CBC;
  10581. }
  10582. exports.instantiate = instantiate;
  10583. proto._cbcInit = function _cbcInit() {
  10584. var state = new CBCState(this.options.iv);
  10585. this._cbcState = state;
  10586. };
  10587. proto._update = function _update(inp, inOff, out, outOff) {
  10588. var state = this._cbcState;
  10589. var superProto = this.constructor.super_.prototype;
  10590. var iv = state.iv;
  10591. if (this.type === 'encrypt') {
  10592. for (var i = 0; i < this.blockSize; i++)
  10593. iv[i] ^= inp[inOff + i];
  10594. superProto._update.call(this, iv, 0, out, outOff);
  10595. for (var i = 0; i < this.blockSize; i++)
  10596. iv[i] = out[outOff + i];
  10597. } else {
  10598. superProto._update.call(this, inp, inOff, out, outOff);
  10599. for (var i = 0; i < this.blockSize; i++)
  10600. out[outOff + i] ^= iv[i];
  10601. for (var i = 0; i < this.blockSize; i++)
  10602. iv[i] = inp[inOff + i];
  10603. }
  10604. };
  10605. /***/ }),
  10606. /* 119 */
  10607. /*!********************************************!*\
  10608. !*** ./node_modules/des.js/lib/des/ede.js ***!
  10609. \********************************************/
  10610. /*! no static exports found */
  10611. /***/ (function(module, exports, __webpack_require__) {
  10612. "use strict";
  10613. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  10614. var inherits = __webpack_require__(/*! inherits */ 66);
  10615. var Cipher = __webpack_require__(/*! ./cipher */ 115);
  10616. var DES = __webpack_require__(/*! ./des */ 117);
  10617. function EDEState(type, key) {
  10618. assert.equal(key.length, 24, 'Invalid key length');
  10619. var k1 = key.slice(0, 8);
  10620. var k2 = key.slice(8, 16);
  10621. var k3 = key.slice(16, 24);
  10622. if (type === 'encrypt') {
  10623. this.ciphers = [
  10624. DES.create({ type: 'encrypt', key: k1 }),
  10625. DES.create({ type: 'decrypt', key: k2 }),
  10626. DES.create({ type: 'encrypt', key: k3 })
  10627. ];
  10628. } else {
  10629. this.ciphers = [
  10630. DES.create({ type: 'decrypt', key: k3 }),
  10631. DES.create({ type: 'encrypt', key: k2 }),
  10632. DES.create({ type: 'decrypt', key: k1 })
  10633. ];
  10634. }
  10635. }
  10636. function EDE(options) {
  10637. Cipher.call(this, options);
  10638. var state = new EDEState(this.type, this.options.key);
  10639. this._edeState = state;
  10640. }
  10641. inherits(EDE, Cipher);
  10642. module.exports = EDE;
  10643. EDE.create = function create(options) {
  10644. return new EDE(options);
  10645. };
  10646. EDE.prototype._update = function _update(inp, inOff, out, outOff) {
  10647. var state = this._edeState;
  10648. state.ciphers[0]._update(inp, inOff, out, outOff);
  10649. state.ciphers[1]._update(out, outOff, out, outOff);
  10650. state.ciphers[2]._update(out, outOff, out, outOff);
  10651. };
  10652. EDE.prototype._pad = DES.prototype._pad;
  10653. EDE.prototype._unpad = DES.prototype._unpad;
  10654. /***/ }),
  10655. /* 120 */
  10656. /*!************************************************!*\
  10657. !*** ./node_modules/browserify-aes/browser.js ***!
  10658. \************************************************/
  10659. /*! no static exports found */
  10660. /***/ (function(module, exports, __webpack_require__) {
  10661. var ciphers = __webpack_require__(/*! ./encrypter */ 121)
  10662. var deciphers = __webpack_require__(/*! ./decrypter */ 138)
  10663. var modes = __webpack_require__(/*! ./modes/list.json */ 132)
  10664. function getCiphers () {
  10665. return Object.keys(modes)
  10666. }
  10667. exports.createCipher = exports.Cipher = ciphers.createCipher
  10668. exports.createCipheriv = exports.Cipheriv = ciphers.createCipheriv
  10669. exports.createDecipher = exports.Decipher = deciphers.createDecipher
  10670. exports.createDecipheriv = exports.Decipheriv = deciphers.createDecipheriv
  10671. exports.listCiphers = exports.getCiphers = getCiphers
  10672. /***/ }),
  10673. /* 121 */
  10674. /*!**************************************************!*\
  10675. !*** ./node_modules/browserify-aes/encrypter.js ***!
  10676. \**************************************************/
  10677. /*! no static exports found */
  10678. /***/ (function(module, exports, __webpack_require__) {
  10679. var MODES = __webpack_require__(/*! ./modes */ 122)
  10680. var AuthCipher = __webpack_require__(/*! ./authCipher */ 133)
  10681. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  10682. var StreamCipher = __webpack_require__(/*! ./streamCipher */ 136)
  10683. var Transform = __webpack_require__(/*! cipher-base */ 94)
  10684. var aes = __webpack_require__(/*! ./aes */ 134)
  10685. var ebtk = __webpack_require__(/*! evp_bytestokey */ 137)
  10686. var inherits = __webpack_require__(/*! inherits */ 66)
  10687. function Cipher (mode, key, iv) {
  10688. Transform.call(this)
  10689. this._cache = new Splitter()
  10690. this._cipher = new aes.AES(key)
  10691. this._prev = Buffer.from(iv)
  10692. this._mode = mode
  10693. this._autopadding = true
  10694. }
  10695. inherits(Cipher, Transform)
  10696. Cipher.prototype._update = function (data) {
  10697. this._cache.add(data)
  10698. var chunk
  10699. var thing
  10700. var out = []
  10701. while ((chunk = this._cache.get())) {
  10702. thing = this._mode.encrypt(this, chunk)
  10703. out.push(thing)
  10704. }
  10705. return Buffer.concat(out)
  10706. }
  10707. var PADDING = Buffer.alloc(16, 0x10)
  10708. Cipher.prototype._final = function () {
  10709. var chunk = this._cache.flush()
  10710. if (this._autopadding) {
  10711. chunk = this._mode.encrypt(this, chunk)
  10712. this._cipher.scrub()
  10713. return chunk
  10714. }
  10715. if (!chunk.equals(PADDING)) {
  10716. this._cipher.scrub()
  10717. throw new Error('data not multiple of block length')
  10718. }
  10719. }
  10720. Cipher.prototype.setAutoPadding = function (setTo) {
  10721. this._autopadding = !!setTo
  10722. return this
  10723. }
  10724. function Splitter () {
  10725. this.cache = Buffer.allocUnsafe(0)
  10726. }
  10727. Splitter.prototype.add = function (data) {
  10728. this.cache = Buffer.concat([this.cache, data])
  10729. }
  10730. Splitter.prototype.get = function () {
  10731. if (this.cache.length > 15) {
  10732. var out = this.cache.slice(0, 16)
  10733. this.cache = this.cache.slice(16)
  10734. return out
  10735. }
  10736. return null
  10737. }
  10738. Splitter.prototype.flush = function () {
  10739. var len = 16 - this.cache.length
  10740. var padBuff = Buffer.allocUnsafe(len)
  10741. var i = -1
  10742. while (++i < len) {
  10743. padBuff.writeUInt8(len, i)
  10744. }
  10745. return Buffer.concat([this.cache, padBuff])
  10746. }
  10747. function createCipheriv (suite, password, iv) {
  10748. var config = MODES[suite.toLowerCase()]
  10749. if (!config) throw new TypeError('invalid suite type')
  10750. if (typeof password === 'string') password = Buffer.from(password)
  10751. if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)
  10752. if (typeof iv === 'string') iv = Buffer.from(iv)
  10753. if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)
  10754. if (config.type === 'stream') {
  10755. return new StreamCipher(config.module, password, iv)
  10756. } else if (config.type === 'auth') {
  10757. return new AuthCipher(config.module, password, iv)
  10758. }
  10759. return new Cipher(config.module, password, iv)
  10760. }
  10761. function createCipher (suite, password) {
  10762. var config = MODES[suite.toLowerCase()]
  10763. if (!config) throw new TypeError('invalid suite type')
  10764. var keys = ebtk(password, false, config.key, config.iv)
  10765. return createCipheriv(suite, keys.key, keys.iv)
  10766. }
  10767. exports.createCipheriv = createCipheriv
  10768. exports.createCipher = createCipher
  10769. /***/ }),
  10770. /* 122 */
  10771. /*!****************************************************!*\
  10772. !*** ./node_modules/browserify-aes/modes/index.js ***!
  10773. \****************************************************/
  10774. /*! no static exports found */
  10775. /***/ (function(module, exports, __webpack_require__) {
  10776. var modeModules = {
  10777. ECB: __webpack_require__(/*! ./ecb */ 123),
  10778. CBC: __webpack_require__(/*! ./cbc */ 124),
  10779. CFB: __webpack_require__(/*! ./cfb */ 126),
  10780. CFB8: __webpack_require__(/*! ./cfb8 */ 127),
  10781. CFB1: __webpack_require__(/*! ./cfb1 */ 128),
  10782. OFB: __webpack_require__(/*! ./ofb */ 129),
  10783. CTR: __webpack_require__(/*! ./ctr */ 130),
  10784. GCM: __webpack_require__(/*! ./ctr */ 130)
  10785. }
  10786. var modes = __webpack_require__(/*! ./list.json */ 132)
  10787. for (var key in modes) {
  10788. modes[key].module = modeModules[modes[key].mode]
  10789. }
  10790. module.exports = modes
  10791. /***/ }),
  10792. /* 123 */
  10793. /*!**************************************************!*\
  10794. !*** ./node_modules/browserify-aes/modes/ecb.js ***!
  10795. \**************************************************/
  10796. /*! no static exports found */
  10797. /***/ (function(module, exports) {
  10798. exports.encrypt = function (self, block) {
  10799. return self._cipher.encryptBlock(block)
  10800. }
  10801. exports.decrypt = function (self, block) {
  10802. return self._cipher.decryptBlock(block)
  10803. }
  10804. /***/ }),
  10805. /* 124 */
  10806. /*!**************************************************!*\
  10807. !*** ./node_modules/browserify-aes/modes/cbc.js ***!
  10808. \**************************************************/
  10809. /*! no static exports found */
  10810. /***/ (function(module, exports, __webpack_require__) {
  10811. var xor = __webpack_require__(/*! buffer-xor */ 125)
  10812. exports.encrypt = function (self, block) {
  10813. var data = xor(block, self._prev)
  10814. self._prev = self._cipher.encryptBlock(data)
  10815. return self._prev
  10816. }
  10817. exports.decrypt = function (self, block) {
  10818. var pad = self._prev
  10819. self._prev = block
  10820. var out = self._cipher.decryptBlock(block)
  10821. return xor(out, pad)
  10822. }
  10823. /***/ }),
  10824. /* 125 */
  10825. /*!******************************************!*\
  10826. !*** ./node_modules/buffer-xor/index.js ***!
  10827. \******************************************/
  10828. /*! no static exports found */
  10829. /***/ (function(module, exports, __webpack_require__) {
  10830. /* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = function xor (a, b) {
  10831. var length = Math.min(a.length, b.length)
  10832. var buffer = new Buffer(length)
  10833. for (var i = 0; i < length; ++i) {
  10834. buffer[i] = a[i] ^ b[i]
  10835. }
  10836. return buffer
  10837. }
  10838. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ 61).Buffer))
  10839. /***/ }),
  10840. /* 126 */
  10841. /*!**************************************************!*\
  10842. !*** ./node_modules/browserify-aes/modes/cfb.js ***!
  10843. \**************************************************/
  10844. /*! no static exports found */
  10845. /***/ (function(module, exports, __webpack_require__) {
  10846. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  10847. var xor = __webpack_require__(/*! buffer-xor */ 125)
  10848. function encryptStart (self, data, decrypt) {
  10849. var len = data.length
  10850. var out = xor(data, self._cache)
  10851. self._cache = self._cache.slice(len)
  10852. self._prev = Buffer.concat([self._prev, decrypt ? data : out])
  10853. return out
  10854. }
  10855. exports.encrypt = function (self, data, decrypt) {
  10856. var out = Buffer.allocUnsafe(0)
  10857. var len
  10858. while (data.length) {
  10859. if (self._cache.length === 0) {
  10860. self._cache = self._cipher.encryptBlock(self._prev)
  10861. self._prev = Buffer.allocUnsafe(0)
  10862. }
  10863. if (self._cache.length <= data.length) {
  10864. len = self._cache.length
  10865. out = Buffer.concat([out, encryptStart(self, data.slice(0, len), decrypt)])
  10866. data = data.slice(len)
  10867. } else {
  10868. out = Buffer.concat([out, encryptStart(self, data, decrypt)])
  10869. break
  10870. }
  10871. }
  10872. return out
  10873. }
  10874. /***/ }),
  10875. /* 127 */
  10876. /*!***************************************************!*\
  10877. !*** ./node_modules/browserify-aes/modes/cfb8.js ***!
  10878. \***************************************************/
  10879. /*! no static exports found */
  10880. /***/ (function(module, exports, __webpack_require__) {
  10881. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  10882. function encryptByte (self, byteParam, decrypt) {
  10883. var pad = self._cipher.encryptBlock(self._prev)
  10884. var out = pad[0] ^ byteParam
  10885. self._prev = Buffer.concat([
  10886. self._prev.slice(1),
  10887. Buffer.from([decrypt ? byteParam : out])
  10888. ])
  10889. return out
  10890. }
  10891. exports.encrypt = function (self, chunk, decrypt) {
  10892. var len = chunk.length
  10893. var out = Buffer.allocUnsafe(len)
  10894. var i = -1
  10895. while (++i < len) {
  10896. out[i] = encryptByte(self, chunk[i], decrypt)
  10897. }
  10898. return out
  10899. }
  10900. /***/ }),
  10901. /* 128 */
  10902. /*!***************************************************!*\
  10903. !*** ./node_modules/browserify-aes/modes/cfb1.js ***!
  10904. \***************************************************/
  10905. /*! no static exports found */
  10906. /***/ (function(module, exports, __webpack_require__) {
  10907. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  10908. function encryptByte (self, byteParam, decrypt) {
  10909. var pad
  10910. var i = -1
  10911. var len = 8
  10912. var out = 0
  10913. var bit, value
  10914. while (++i < len) {
  10915. pad = self._cipher.encryptBlock(self._prev)
  10916. bit = (byteParam & (1 << (7 - i))) ? 0x80 : 0
  10917. value = pad[0] ^ bit
  10918. out += ((value & 0x80) >> (i % 8))
  10919. self._prev = shiftIn(self._prev, decrypt ? bit : value)
  10920. }
  10921. return out
  10922. }
  10923. function shiftIn (buffer, value) {
  10924. var len = buffer.length
  10925. var i = -1
  10926. var out = Buffer.allocUnsafe(buffer.length)
  10927. buffer = Buffer.concat([buffer, Buffer.from([value])])
  10928. while (++i < len) {
  10929. out[i] = buffer[i] << 1 | buffer[i + 1] >> (7)
  10930. }
  10931. return out
  10932. }
  10933. exports.encrypt = function (self, chunk, decrypt) {
  10934. var len = chunk.length
  10935. var out = Buffer.allocUnsafe(len)
  10936. var i = -1
  10937. while (++i < len) {
  10938. out[i] = encryptByte(self, chunk[i], decrypt)
  10939. }
  10940. return out
  10941. }
  10942. /***/ }),
  10943. /* 129 */
  10944. /*!**************************************************!*\
  10945. !*** ./node_modules/browserify-aes/modes/ofb.js ***!
  10946. \**************************************************/
  10947. /*! no static exports found */
  10948. /***/ (function(module, exports, __webpack_require__) {
  10949. /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(/*! buffer-xor */ 125)
  10950. function getBlock (self) {
  10951. self._prev = self._cipher.encryptBlock(self._prev)
  10952. return self._prev
  10953. }
  10954. exports.encrypt = function (self, chunk) {
  10955. while (self._cache.length < chunk.length) {
  10956. self._cache = Buffer.concat([self._cache, getBlock(self)])
  10957. }
  10958. var pad = self._cache.slice(0, chunk.length)
  10959. self._cache = self._cache.slice(chunk.length)
  10960. return xor(chunk, pad)
  10961. }
  10962. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 61).Buffer))
  10963. /***/ }),
  10964. /* 130 */
  10965. /*!**************************************************!*\
  10966. !*** ./node_modules/browserify-aes/modes/ctr.js ***!
  10967. \**************************************************/
  10968. /*! no static exports found */
  10969. /***/ (function(module, exports, __webpack_require__) {
  10970. var xor = __webpack_require__(/*! buffer-xor */ 125)
  10971. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  10972. var incr32 = __webpack_require__(/*! ../incr32 */ 131)
  10973. function getBlock (self) {
  10974. var out = self._cipher.encryptBlockRaw(self._prev)
  10975. incr32(self._prev)
  10976. return out
  10977. }
  10978. var blockSize = 16
  10979. exports.encrypt = function (self, chunk) {
  10980. var chunkNum = Math.ceil(chunk.length / blockSize)
  10981. var start = self._cache.length
  10982. self._cache = Buffer.concat([
  10983. self._cache,
  10984. Buffer.allocUnsafe(chunkNum * blockSize)
  10985. ])
  10986. for (var i = 0; i < chunkNum; i++) {
  10987. var out = getBlock(self)
  10988. var offset = start + i * blockSize
  10989. self._cache.writeUInt32BE(out[0], offset + 0)
  10990. self._cache.writeUInt32BE(out[1], offset + 4)
  10991. self._cache.writeUInt32BE(out[2], offset + 8)
  10992. self._cache.writeUInt32BE(out[3], offset + 12)
  10993. }
  10994. var pad = self._cache.slice(0, chunk.length)
  10995. self._cache = self._cache.slice(chunk.length)
  10996. return xor(chunk, pad)
  10997. }
  10998. /***/ }),
  10999. /* 131 */
  11000. /*!***********************************************!*\
  11001. !*** ./node_modules/browserify-aes/incr32.js ***!
  11002. \***********************************************/
  11003. /*! no static exports found */
  11004. /***/ (function(module, exports) {
  11005. function incr32 (iv) {
  11006. var len = iv.length
  11007. var item
  11008. while (len--) {
  11009. item = iv.readUInt8(len)
  11010. if (item === 255) {
  11011. iv.writeUInt8(0, len)
  11012. } else {
  11013. item++
  11014. iv.writeUInt8(item, len)
  11015. break
  11016. }
  11017. }
  11018. }
  11019. module.exports = incr32
  11020. /***/ }),
  11021. /* 132 */
  11022. /*!*****************************************************!*\
  11023. !*** ./node_modules/browserify-aes/modes/list.json ***!
  11024. \*****************************************************/
  11025. /*! exports provided: aes-128-ecb, aes-192-ecb, aes-256-ecb, aes-128-cbc, aes-192-cbc, aes-256-cbc, aes128, aes192, aes256, aes-128-cfb, aes-192-cfb, aes-256-cfb, aes-128-cfb8, aes-192-cfb8, aes-256-cfb8, aes-128-cfb1, aes-192-cfb1, aes-256-cfb1, aes-128-ofb, aes-192-ofb, aes-256-ofb, aes-128-ctr, aes-192-ctr, aes-256-ctr, aes-128-gcm, aes-192-gcm, aes-256-gcm, default */
  11026. /***/ (function(module) {
  11027. module.exports = JSON.parse("{\"aes-128-ecb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-192-ecb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-256-ecb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":0,\"mode\":\"ECB\",\"type\":\"block\"},\"aes-128-cbc\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-192-cbc\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-256-cbc\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes128\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes192\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes256\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CBC\",\"type\":\"block\"},\"aes-128-cfb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-192-cfb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-256-cfb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB\",\"type\":\"stream\"},\"aes-128-cfb8\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-192-cfb8\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-256-cfb8\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB8\",\"type\":\"stream\"},\"aes-128-cfb1\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-192-cfb1\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-256-cfb1\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CFB1\",\"type\":\"stream\"},\"aes-128-ofb\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-192-ofb\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-256-ofb\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"OFB\",\"type\":\"stream\"},\"aes-128-ctr\":{\"cipher\":\"AES\",\"key\":128,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-192-ctr\":{\"cipher\":\"AES\",\"key\":192,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-256-ctr\":{\"cipher\":\"AES\",\"key\":256,\"iv\":16,\"mode\":\"CTR\",\"type\":\"stream\"},\"aes-128-gcm\":{\"cipher\":\"AES\",\"key\":128,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-192-gcm\":{\"cipher\":\"AES\",\"key\":192,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"},\"aes-256-gcm\":{\"cipher\":\"AES\",\"key\":256,\"iv\":12,\"mode\":\"GCM\",\"type\":\"auth\"}}");
  11028. /***/ }),
  11029. /* 133 */
  11030. /*!***************************************************!*\
  11031. !*** ./node_modules/browserify-aes/authCipher.js ***!
  11032. \***************************************************/
  11033. /*! no static exports found */
  11034. /***/ (function(module, exports, __webpack_require__) {
  11035. var aes = __webpack_require__(/*! ./aes */ 134)
  11036. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  11037. var Transform = __webpack_require__(/*! cipher-base */ 94)
  11038. var inherits = __webpack_require__(/*! inherits */ 66)
  11039. var GHASH = __webpack_require__(/*! ./ghash */ 135)
  11040. var xor = __webpack_require__(/*! buffer-xor */ 125)
  11041. var incr32 = __webpack_require__(/*! ./incr32 */ 131)
  11042. function xorTest (a, b) {
  11043. var out = 0
  11044. if (a.length !== b.length) out++
  11045. var len = Math.min(a.length, b.length)
  11046. for (var i = 0; i < len; ++i) {
  11047. out += (a[i] ^ b[i])
  11048. }
  11049. return out
  11050. }
  11051. function calcIv (self, iv, ck) {
  11052. if (iv.length === 12) {
  11053. self._finID = Buffer.concat([iv, Buffer.from([0, 0, 0, 1])])
  11054. return Buffer.concat([iv, Buffer.from([0, 0, 0, 2])])
  11055. }
  11056. var ghash = new GHASH(ck)
  11057. var len = iv.length
  11058. var toPad = len % 16
  11059. ghash.update(iv)
  11060. if (toPad) {
  11061. toPad = 16 - toPad
  11062. ghash.update(Buffer.alloc(toPad, 0))
  11063. }
  11064. ghash.update(Buffer.alloc(8, 0))
  11065. var ivBits = len * 8
  11066. var tail = Buffer.alloc(8)
  11067. tail.writeUIntBE(ivBits, 0, 8)
  11068. ghash.update(tail)
  11069. self._finID = ghash.state
  11070. var out = Buffer.from(self._finID)
  11071. incr32(out)
  11072. return out
  11073. }
  11074. function StreamCipher (mode, key, iv, decrypt) {
  11075. Transform.call(this)
  11076. var h = Buffer.alloc(4, 0)
  11077. this._cipher = new aes.AES(key)
  11078. var ck = this._cipher.encryptBlock(h)
  11079. this._ghash = new GHASH(ck)
  11080. iv = calcIv(this, iv, ck)
  11081. this._prev = Buffer.from(iv)
  11082. this._cache = Buffer.allocUnsafe(0)
  11083. this._secCache = Buffer.allocUnsafe(0)
  11084. this._decrypt = decrypt
  11085. this._alen = 0
  11086. this._len = 0
  11087. this._mode = mode
  11088. this._authTag = null
  11089. this._called = false
  11090. }
  11091. inherits(StreamCipher, Transform)
  11092. StreamCipher.prototype._update = function (chunk) {
  11093. if (!this._called && this._alen) {
  11094. var rump = 16 - (this._alen % 16)
  11095. if (rump < 16) {
  11096. rump = Buffer.alloc(rump, 0)
  11097. this._ghash.update(rump)
  11098. }
  11099. }
  11100. this._called = true
  11101. var out = this._mode.encrypt(this, chunk)
  11102. if (this._decrypt) {
  11103. this._ghash.update(chunk)
  11104. } else {
  11105. this._ghash.update(out)
  11106. }
  11107. this._len += chunk.length
  11108. return out
  11109. }
  11110. StreamCipher.prototype._final = function () {
  11111. if (this._decrypt && !this._authTag) throw new Error('Unsupported state or unable to authenticate data')
  11112. var tag = xor(this._ghash.final(this._alen * 8, this._len * 8), this._cipher.encryptBlock(this._finID))
  11113. if (this._decrypt && xorTest(tag, this._authTag)) throw new Error('Unsupported state or unable to authenticate data')
  11114. this._authTag = tag
  11115. this._cipher.scrub()
  11116. }
  11117. StreamCipher.prototype.getAuthTag = function getAuthTag () {
  11118. if (this._decrypt || !Buffer.isBuffer(this._authTag)) throw new Error('Attempting to get auth tag in unsupported state')
  11119. return this._authTag
  11120. }
  11121. StreamCipher.prototype.setAuthTag = function setAuthTag (tag) {
  11122. if (!this._decrypt) throw new Error('Attempting to set auth tag in unsupported state')
  11123. this._authTag = tag
  11124. }
  11125. StreamCipher.prototype.setAAD = function setAAD (buf) {
  11126. if (this._called) throw new Error('Attempting to set AAD in unsupported state')
  11127. this._ghash.update(buf)
  11128. this._alen += buf.length
  11129. }
  11130. module.exports = StreamCipher
  11131. /***/ }),
  11132. /* 134 */
  11133. /*!********************************************!*\
  11134. !*** ./node_modules/browserify-aes/aes.js ***!
  11135. \********************************************/
  11136. /*! no static exports found */
  11137. /***/ (function(module, exports, __webpack_require__) {
  11138. // based on the aes implimentation in triple sec
  11139. // https://github.com/keybase/triplesec
  11140. // which is in turn based on the one from crypto-js
  11141. // https://code.google.com/p/crypto-js/
  11142. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  11143. function asUInt32Array (buf) {
  11144. if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)
  11145. var len = (buf.length / 4) | 0
  11146. var out = new Array(len)
  11147. for (var i = 0; i < len; i++) {
  11148. out[i] = buf.readUInt32BE(i * 4)
  11149. }
  11150. return out
  11151. }
  11152. function scrubVec (v) {
  11153. for (var i = 0; i < v.length; v++) {
  11154. v[i] = 0
  11155. }
  11156. }
  11157. function cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {
  11158. var SUB_MIX0 = SUB_MIX[0]
  11159. var SUB_MIX1 = SUB_MIX[1]
  11160. var SUB_MIX2 = SUB_MIX[2]
  11161. var SUB_MIX3 = SUB_MIX[3]
  11162. var s0 = M[0] ^ keySchedule[0]
  11163. var s1 = M[1] ^ keySchedule[1]
  11164. var s2 = M[2] ^ keySchedule[2]
  11165. var s3 = M[3] ^ keySchedule[3]
  11166. var t0, t1, t2, t3
  11167. var ksRow = 4
  11168. for (var round = 1; round < nRounds; round++) {
  11169. t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]
  11170. t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]
  11171. t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]
  11172. t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]
  11173. s0 = t0
  11174. s1 = t1
  11175. s2 = t2
  11176. s3 = t3
  11177. }
  11178. t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]
  11179. t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]
  11180. t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]
  11181. t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]
  11182. t0 = t0 >>> 0
  11183. t1 = t1 >>> 0
  11184. t2 = t2 >>> 0
  11185. t3 = t3 >>> 0
  11186. return [t0, t1, t2, t3]
  11187. }
  11188. // AES constants
  11189. var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]
  11190. var G = (function () {
  11191. // Compute double table
  11192. var d = new Array(256)
  11193. for (var j = 0; j < 256; j++) {
  11194. if (j < 128) {
  11195. d[j] = j << 1
  11196. } else {
  11197. d[j] = (j << 1) ^ 0x11b
  11198. }
  11199. }
  11200. var SBOX = []
  11201. var INV_SBOX = []
  11202. var SUB_MIX = [[], [], [], []]
  11203. var INV_SUB_MIX = [[], [], [], []]
  11204. // Walk GF(2^8)
  11205. var x = 0
  11206. var xi = 0
  11207. for (var i = 0; i < 256; ++i) {
  11208. // Compute sbox
  11209. var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)
  11210. sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63
  11211. SBOX[x] = sx
  11212. INV_SBOX[sx] = x
  11213. // Compute multiplication
  11214. var x2 = d[x]
  11215. var x4 = d[x2]
  11216. var x8 = d[x4]
  11217. // Compute sub bytes, mix columns tables
  11218. var t = (d[sx] * 0x101) ^ (sx * 0x1010100)
  11219. SUB_MIX[0][x] = (t << 24) | (t >>> 8)
  11220. SUB_MIX[1][x] = (t << 16) | (t >>> 16)
  11221. SUB_MIX[2][x] = (t << 8) | (t >>> 24)
  11222. SUB_MIX[3][x] = t
  11223. // Compute inv sub bytes, inv mix columns tables
  11224. t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)
  11225. INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)
  11226. INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)
  11227. INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)
  11228. INV_SUB_MIX[3][sx] = t
  11229. if (x === 0) {
  11230. x = xi = 1
  11231. } else {
  11232. x = x2 ^ d[d[d[x8 ^ x2]]]
  11233. xi ^= d[d[xi]]
  11234. }
  11235. }
  11236. return {
  11237. SBOX: SBOX,
  11238. INV_SBOX: INV_SBOX,
  11239. SUB_MIX: SUB_MIX,
  11240. INV_SUB_MIX: INV_SUB_MIX
  11241. }
  11242. })()
  11243. function AES (key) {
  11244. this._key = asUInt32Array(key)
  11245. this._reset()
  11246. }
  11247. AES.blockSize = 4 * 4
  11248. AES.keySize = 256 / 8
  11249. AES.prototype.blockSize = AES.blockSize
  11250. AES.prototype.keySize = AES.keySize
  11251. AES.prototype._reset = function () {
  11252. var keyWords = this._key
  11253. var keySize = keyWords.length
  11254. var nRounds = keySize + 6
  11255. var ksRows = (nRounds + 1) * 4
  11256. var keySchedule = []
  11257. for (var k = 0; k < keySize; k++) {
  11258. keySchedule[k] = keyWords[k]
  11259. }
  11260. for (k = keySize; k < ksRows; k++) {
  11261. var t = keySchedule[k - 1]
  11262. if (k % keySize === 0) {
  11263. t = (t << 8) | (t >>> 24)
  11264. t =
  11265. (G.SBOX[t >>> 24] << 24) |
  11266. (G.SBOX[(t >>> 16) & 0xff] << 16) |
  11267. (G.SBOX[(t >>> 8) & 0xff] << 8) |
  11268. (G.SBOX[t & 0xff])
  11269. t ^= RCON[(k / keySize) | 0] << 24
  11270. } else if (keySize > 6 && k % keySize === 4) {
  11271. t =
  11272. (G.SBOX[t >>> 24] << 24) |
  11273. (G.SBOX[(t >>> 16) & 0xff] << 16) |
  11274. (G.SBOX[(t >>> 8) & 0xff] << 8) |
  11275. (G.SBOX[t & 0xff])
  11276. }
  11277. keySchedule[k] = keySchedule[k - keySize] ^ t
  11278. }
  11279. var invKeySchedule = []
  11280. for (var ik = 0; ik < ksRows; ik++) {
  11281. var ksR = ksRows - ik
  11282. var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]
  11283. if (ik < 4 || ksR <= 4) {
  11284. invKeySchedule[ik] = tt
  11285. } else {
  11286. invKeySchedule[ik] =
  11287. G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^
  11288. G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^
  11289. G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^
  11290. G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]
  11291. }
  11292. }
  11293. this._nRounds = nRounds
  11294. this._keySchedule = keySchedule
  11295. this._invKeySchedule = invKeySchedule
  11296. }
  11297. AES.prototype.encryptBlockRaw = function (M) {
  11298. M = asUInt32Array(M)
  11299. return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)
  11300. }
  11301. AES.prototype.encryptBlock = function (M) {
  11302. var out = this.encryptBlockRaw(M)
  11303. var buf = Buffer.allocUnsafe(16)
  11304. buf.writeUInt32BE(out[0], 0)
  11305. buf.writeUInt32BE(out[1], 4)
  11306. buf.writeUInt32BE(out[2], 8)
  11307. buf.writeUInt32BE(out[3], 12)
  11308. return buf
  11309. }
  11310. AES.prototype.decryptBlock = function (M) {
  11311. M = asUInt32Array(M)
  11312. // swap
  11313. var m1 = M[1]
  11314. M[1] = M[3]
  11315. M[3] = m1
  11316. var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)
  11317. var buf = Buffer.allocUnsafe(16)
  11318. buf.writeUInt32BE(out[0], 0)
  11319. buf.writeUInt32BE(out[3], 4)
  11320. buf.writeUInt32BE(out[2], 8)
  11321. buf.writeUInt32BE(out[1], 12)
  11322. return buf
  11323. }
  11324. AES.prototype.scrub = function () {
  11325. scrubVec(this._keySchedule)
  11326. scrubVec(this._invKeySchedule)
  11327. scrubVec(this._key)
  11328. }
  11329. module.exports.AES = AES
  11330. /***/ }),
  11331. /* 135 */
  11332. /*!**********************************************!*\
  11333. !*** ./node_modules/browserify-aes/ghash.js ***!
  11334. \**********************************************/
  11335. /*! no static exports found */
  11336. /***/ (function(module, exports, __webpack_require__) {
  11337. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  11338. var ZEROES = Buffer.alloc(16, 0)
  11339. function toArray (buf) {
  11340. return [
  11341. buf.readUInt32BE(0),
  11342. buf.readUInt32BE(4),
  11343. buf.readUInt32BE(8),
  11344. buf.readUInt32BE(12)
  11345. ]
  11346. }
  11347. function fromArray (out) {
  11348. var buf = Buffer.allocUnsafe(16)
  11349. buf.writeUInt32BE(out[0] >>> 0, 0)
  11350. buf.writeUInt32BE(out[1] >>> 0, 4)
  11351. buf.writeUInt32BE(out[2] >>> 0, 8)
  11352. buf.writeUInt32BE(out[3] >>> 0, 12)
  11353. return buf
  11354. }
  11355. function GHASH (key) {
  11356. this.h = key
  11357. this.state = Buffer.alloc(16, 0)
  11358. this.cache = Buffer.allocUnsafe(0)
  11359. }
  11360. // from http://bitwiseshiftleft.github.io/sjcl/doc/symbols/src/core_gcm.js.html
  11361. // by Juho Vähä-Herttua
  11362. GHASH.prototype.ghash = function (block) {
  11363. var i = -1
  11364. while (++i < block.length) {
  11365. this.state[i] ^= block[i]
  11366. }
  11367. this._multiply()
  11368. }
  11369. GHASH.prototype._multiply = function () {
  11370. var Vi = toArray(this.h)
  11371. var Zi = [0, 0, 0, 0]
  11372. var j, xi, lsbVi
  11373. var i = -1
  11374. while (++i < 128) {
  11375. xi = (this.state[~~(i / 8)] & (1 << (7 - (i % 8)))) !== 0
  11376. if (xi) {
  11377. // Z_i+1 = Z_i ^ V_i
  11378. Zi[0] ^= Vi[0]
  11379. Zi[1] ^= Vi[1]
  11380. Zi[2] ^= Vi[2]
  11381. Zi[3] ^= Vi[3]
  11382. }
  11383. // Store the value of LSB(V_i)
  11384. lsbVi = (Vi[3] & 1) !== 0
  11385. // V_i+1 = V_i >> 1
  11386. for (j = 3; j > 0; j--) {
  11387. Vi[j] = (Vi[j] >>> 1) | ((Vi[j - 1] & 1) << 31)
  11388. }
  11389. Vi[0] = Vi[0] >>> 1
  11390. // If LSB(V_i) is 1, V_i+1 = (V_i >> 1) ^ R
  11391. if (lsbVi) {
  11392. Vi[0] = Vi[0] ^ (0xe1 << 24)
  11393. }
  11394. }
  11395. this.state = fromArray(Zi)
  11396. }
  11397. GHASH.prototype.update = function (buf) {
  11398. this.cache = Buffer.concat([this.cache, buf])
  11399. var chunk
  11400. while (this.cache.length >= 16) {
  11401. chunk = this.cache.slice(0, 16)
  11402. this.cache = this.cache.slice(16)
  11403. this.ghash(chunk)
  11404. }
  11405. }
  11406. GHASH.prototype.final = function (abl, bl) {
  11407. if (this.cache.length) {
  11408. this.ghash(Buffer.concat([this.cache, ZEROES], 16))
  11409. }
  11410. this.ghash(fromArray([0, abl, 0, bl]))
  11411. return this.state
  11412. }
  11413. module.exports = GHASH
  11414. /***/ }),
  11415. /* 136 */
  11416. /*!*****************************************************!*\
  11417. !*** ./node_modules/browserify-aes/streamCipher.js ***!
  11418. \*****************************************************/
  11419. /*! no static exports found */
  11420. /***/ (function(module, exports, __webpack_require__) {
  11421. var aes = __webpack_require__(/*! ./aes */ 134)
  11422. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  11423. var Transform = __webpack_require__(/*! cipher-base */ 94)
  11424. var inherits = __webpack_require__(/*! inherits */ 66)
  11425. function StreamCipher (mode, key, iv, decrypt) {
  11426. Transform.call(this)
  11427. this._cipher = new aes.AES(key)
  11428. this._prev = Buffer.from(iv)
  11429. this._cache = Buffer.allocUnsafe(0)
  11430. this._secCache = Buffer.allocUnsafe(0)
  11431. this._decrypt = decrypt
  11432. this._mode = mode
  11433. }
  11434. inherits(StreamCipher, Transform)
  11435. StreamCipher.prototype._update = function (chunk) {
  11436. return this._mode.encrypt(this, chunk, this._decrypt)
  11437. }
  11438. StreamCipher.prototype._final = function () {
  11439. this._cipher.scrub()
  11440. }
  11441. module.exports = StreamCipher
  11442. /***/ }),
  11443. /* 137 */
  11444. /*!**********************************************!*\
  11445. !*** ./node_modules/evp_bytestokey/index.js ***!
  11446. \**********************************************/
  11447. /*! no static exports found */
  11448. /***/ (function(module, exports, __webpack_require__) {
  11449. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  11450. var MD5 = __webpack_require__(/*! md5.js */ 67)
  11451. /* eslint-disable camelcase */
  11452. function EVP_BytesToKey (password, salt, keyBits, ivLen) {
  11453. if (!Buffer.isBuffer(password)) password = Buffer.from(password, 'binary')
  11454. if (salt) {
  11455. if (!Buffer.isBuffer(salt)) salt = Buffer.from(salt, 'binary')
  11456. if (salt.length !== 8) throw new RangeError('salt should be Buffer with 8 byte length')
  11457. }
  11458. var keyLen = keyBits / 8
  11459. var key = Buffer.alloc(keyLen)
  11460. var iv = Buffer.alloc(ivLen || 0)
  11461. var tmp = Buffer.alloc(0)
  11462. while (keyLen > 0 || ivLen > 0) {
  11463. var hash = new MD5()
  11464. hash.update(tmp)
  11465. hash.update(password)
  11466. if (salt) hash.update(salt)
  11467. tmp = hash.digest()
  11468. var used = 0
  11469. if (keyLen > 0) {
  11470. var keyStart = key.length - keyLen
  11471. used = Math.min(keyLen, tmp.length)
  11472. tmp.copy(key, keyStart, 0, used)
  11473. keyLen -= used
  11474. }
  11475. if (used < tmp.length && ivLen > 0) {
  11476. var ivStart = iv.length - ivLen
  11477. var length = Math.min(ivLen, tmp.length - used)
  11478. tmp.copy(iv, ivStart, used, used + length)
  11479. ivLen -= length
  11480. }
  11481. }
  11482. tmp.fill(0)
  11483. return { key: key, iv: iv }
  11484. }
  11485. module.exports = EVP_BytesToKey
  11486. /***/ }),
  11487. /* 138 */
  11488. /*!**************************************************!*\
  11489. !*** ./node_modules/browserify-aes/decrypter.js ***!
  11490. \**************************************************/
  11491. /*! no static exports found */
  11492. /***/ (function(module, exports, __webpack_require__) {
  11493. var AuthCipher = __webpack_require__(/*! ./authCipher */ 133)
  11494. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  11495. var MODES = __webpack_require__(/*! ./modes */ 122)
  11496. var StreamCipher = __webpack_require__(/*! ./streamCipher */ 136)
  11497. var Transform = __webpack_require__(/*! cipher-base */ 94)
  11498. var aes = __webpack_require__(/*! ./aes */ 134)
  11499. var ebtk = __webpack_require__(/*! evp_bytestokey */ 137)
  11500. var inherits = __webpack_require__(/*! inherits */ 66)
  11501. function Decipher (mode, key, iv) {
  11502. Transform.call(this)
  11503. this._cache = new Splitter()
  11504. this._last = void 0
  11505. this._cipher = new aes.AES(key)
  11506. this._prev = Buffer.from(iv)
  11507. this._mode = mode
  11508. this._autopadding = true
  11509. }
  11510. inherits(Decipher, Transform)
  11511. Decipher.prototype._update = function (data) {
  11512. this._cache.add(data)
  11513. var chunk
  11514. var thing
  11515. var out = []
  11516. while ((chunk = this._cache.get(this._autopadding))) {
  11517. thing = this._mode.decrypt(this, chunk)
  11518. out.push(thing)
  11519. }
  11520. return Buffer.concat(out)
  11521. }
  11522. Decipher.prototype._final = function () {
  11523. var chunk = this._cache.flush()
  11524. if (this._autopadding) {
  11525. return unpad(this._mode.decrypt(this, chunk))
  11526. } else if (chunk) {
  11527. throw new Error('data not multiple of block length')
  11528. }
  11529. }
  11530. Decipher.prototype.setAutoPadding = function (setTo) {
  11531. this._autopadding = !!setTo
  11532. return this
  11533. }
  11534. function Splitter () {
  11535. this.cache = Buffer.allocUnsafe(0)
  11536. }
  11537. Splitter.prototype.add = function (data) {
  11538. this.cache = Buffer.concat([this.cache, data])
  11539. }
  11540. Splitter.prototype.get = function (autoPadding) {
  11541. var out
  11542. if (autoPadding) {
  11543. if (this.cache.length > 16) {
  11544. out = this.cache.slice(0, 16)
  11545. this.cache = this.cache.slice(16)
  11546. return out
  11547. }
  11548. } else {
  11549. if (this.cache.length >= 16) {
  11550. out = this.cache.slice(0, 16)
  11551. this.cache = this.cache.slice(16)
  11552. return out
  11553. }
  11554. }
  11555. return null
  11556. }
  11557. Splitter.prototype.flush = function () {
  11558. if (this.cache.length) return this.cache
  11559. }
  11560. function unpad (last) {
  11561. var padded = last[15]
  11562. if (padded < 1 || padded > 16) {
  11563. throw new Error('unable to decrypt data')
  11564. }
  11565. var i = -1
  11566. while (++i < padded) {
  11567. if (last[(i + (16 - padded))] !== padded) {
  11568. throw new Error('unable to decrypt data')
  11569. }
  11570. }
  11571. if (padded === 16) return
  11572. return last.slice(0, 16 - padded)
  11573. }
  11574. function createDecipheriv (suite, password, iv) {
  11575. var config = MODES[suite.toLowerCase()]
  11576. if (!config) throw new TypeError('invalid suite type')
  11577. if (typeof iv === 'string') iv = Buffer.from(iv)
  11578. if (config.mode !== 'GCM' && iv.length !== config.iv) throw new TypeError('invalid iv length ' + iv.length)
  11579. if (typeof password === 'string') password = Buffer.from(password)
  11580. if (password.length !== config.key / 8) throw new TypeError('invalid key length ' + password.length)
  11581. if (config.type === 'stream') {
  11582. return new StreamCipher(config.module, password, iv, true)
  11583. } else if (config.type === 'auth') {
  11584. return new AuthCipher(config.module, password, iv, true)
  11585. }
  11586. return new Decipher(config.module, password, iv)
  11587. }
  11588. function createDecipher (suite, password) {
  11589. var config = MODES[suite.toLowerCase()]
  11590. if (!config) throw new TypeError('invalid suite type')
  11591. var keys = ebtk(password, false, config.key, config.iv)
  11592. return createDecipheriv(suite, keys.key, keys.iv)
  11593. }
  11594. exports.createDecipher = createDecipher
  11595. exports.createDecipheriv = createDecipheriv
  11596. /***/ }),
  11597. /* 139 */
  11598. /*!**********************************************!*\
  11599. !*** ./node_modules/browserify-des/modes.js ***!
  11600. \**********************************************/
  11601. /*! no static exports found */
  11602. /***/ (function(module, exports) {
  11603. exports['des-ecb'] = {
  11604. key: 8,
  11605. iv: 0
  11606. }
  11607. exports['des-cbc'] = exports.des = {
  11608. key: 8,
  11609. iv: 8
  11610. }
  11611. exports['des-ede3-cbc'] = exports.des3 = {
  11612. key: 24,
  11613. iv: 8
  11614. }
  11615. exports['des-ede3'] = {
  11616. key: 24,
  11617. iv: 0
  11618. }
  11619. exports['des-ede-cbc'] = {
  11620. key: 16,
  11621. iv: 8
  11622. }
  11623. exports['des-ede'] = {
  11624. key: 16,
  11625. iv: 0
  11626. }
  11627. /***/ }),
  11628. /* 140 */
  11629. /*!************************************************!*\
  11630. !*** ./node_modules/diffie-hellman/browser.js ***!
  11631. \************************************************/
  11632. /*! no static exports found */
  11633. /***/ (function(module, exports, __webpack_require__) {
  11634. /* WEBPACK VAR INJECTION */(function(Buffer) {var generatePrime = __webpack_require__(/*! ./lib/generatePrime */ 141)
  11635. var primes = __webpack_require__(/*! ./lib/primes.json */ 148)
  11636. var DH = __webpack_require__(/*! ./lib/dh */ 149)
  11637. function getDiffieHellman (mod) {
  11638. var prime = new Buffer(primes[mod].prime, 'hex')
  11639. var gen = new Buffer(primes[mod].gen, 'hex')
  11640. return new DH(prime, gen)
  11641. }
  11642. var ENCODINGS = {
  11643. 'binary': true, 'hex': true, 'base64': true
  11644. }
  11645. function createDiffieHellman (prime, enc, generator, genc) {
  11646. if (Buffer.isBuffer(enc) || ENCODINGS[enc] === undefined) {
  11647. return createDiffieHellman(prime, 'binary', enc, generator)
  11648. }
  11649. enc = enc || 'binary'
  11650. genc = genc || 'binary'
  11651. generator = generator || new Buffer([2])
  11652. if (!Buffer.isBuffer(generator)) {
  11653. generator = new Buffer(generator, genc)
  11654. }
  11655. if (typeof prime === 'number') {
  11656. return new DH(generatePrime(prime, generator), generator, true)
  11657. }
  11658. if (!Buffer.isBuffer(prime)) {
  11659. prime = new Buffer(prime, enc)
  11660. }
  11661. return new DH(prime, generator, true)
  11662. }
  11663. exports.DiffieHellmanGroup = exports.createDiffieHellmanGroup = exports.getDiffieHellman = getDiffieHellman
  11664. exports.createDiffieHellman = exports.DiffieHellman = createDiffieHellman
  11665. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ 61).Buffer))
  11666. /***/ }),
  11667. /* 141 */
  11668. /*!**********************************************************!*\
  11669. !*** ./node_modules/diffie-hellman/lib/generatePrime.js ***!
  11670. \**********************************************************/
  11671. /*! no static exports found */
  11672. /***/ (function(module, exports, __webpack_require__) {
  11673. var randomBytes = __webpack_require__(/*! randombytes */ 57);
  11674. module.exports = findPrime;
  11675. findPrime.simpleSieve = simpleSieve;
  11676. findPrime.fermatTest = fermatTest;
  11677. var BN = __webpack_require__(/*! bn.js */ 142);
  11678. var TWENTYFOUR = new BN(24);
  11679. var MillerRabin = __webpack_require__(/*! miller-rabin */ 145);
  11680. var millerRabin = new MillerRabin();
  11681. var ONE = new BN(1);
  11682. var TWO = new BN(2);
  11683. var FIVE = new BN(5);
  11684. var SIXTEEN = new BN(16);
  11685. var EIGHT = new BN(8);
  11686. var TEN = new BN(10);
  11687. var THREE = new BN(3);
  11688. var SEVEN = new BN(7);
  11689. var ELEVEN = new BN(11);
  11690. var FOUR = new BN(4);
  11691. var TWELVE = new BN(12);
  11692. var primes = null;
  11693. function _getPrimes() {
  11694. if (primes !== null)
  11695. return primes;
  11696. var limit = 0x100000;
  11697. var res = [];
  11698. res[0] = 2;
  11699. for (var i = 1, k = 3; k < limit; k += 2) {
  11700. var sqrt = Math.ceil(Math.sqrt(k));
  11701. for (var j = 0; j < i && res[j] <= sqrt; j++)
  11702. if (k % res[j] === 0)
  11703. break;
  11704. if (i !== j && res[j] <= sqrt)
  11705. continue;
  11706. res[i++] = k;
  11707. }
  11708. primes = res;
  11709. return res;
  11710. }
  11711. function simpleSieve(p) {
  11712. var primes = _getPrimes();
  11713. for (var i = 0; i < primes.length; i++)
  11714. if (p.modn(primes[i]) === 0) {
  11715. if (p.cmpn(primes[i]) === 0) {
  11716. return true;
  11717. } else {
  11718. return false;
  11719. }
  11720. }
  11721. return true;
  11722. }
  11723. function fermatTest(p) {
  11724. var red = BN.mont(p);
  11725. return TWO.toRed(red).redPow(p.subn(1)).fromRed().cmpn(1) === 0;
  11726. }
  11727. function findPrime(bits, gen) {
  11728. if (bits < 16) {
  11729. // this is what openssl does
  11730. if (gen === 2 || gen === 5) {
  11731. return new BN([0x8c, 0x7b]);
  11732. } else {
  11733. return new BN([0x8c, 0x27]);
  11734. }
  11735. }
  11736. gen = new BN(gen);
  11737. var num, n2;
  11738. while (true) {
  11739. num = new BN(randomBytes(Math.ceil(bits / 8)));
  11740. while (num.bitLength() > bits) {
  11741. num.ishrn(1);
  11742. }
  11743. if (num.isEven()) {
  11744. num.iadd(ONE);
  11745. }
  11746. if (!num.testn(1)) {
  11747. num.iadd(TWO);
  11748. }
  11749. if (!gen.cmp(TWO)) {
  11750. while (num.mod(TWENTYFOUR).cmp(ELEVEN)) {
  11751. num.iadd(FOUR);
  11752. }
  11753. } else if (!gen.cmp(FIVE)) {
  11754. while (num.mod(TEN).cmp(THREE)) {
  11755. num.iadd(FOUR);
  11756. }
  11757. }
  11758. n2 = num.shrn(1);
  11759. if (simpleSieve(n2) && simpleSieve(num) &&
  11760. fermatTest(n2) && fermatTest(num) &&
  11761. millerRabin.test(n2) && millerRabin.test(num)) {
  11762. return num;
  11763. }
  11764. }
  11765. }
  11766. /***/ }),
  11767. /* 142 */
  11768. /*!**************************************!*\
  11769. !*** ./node_modules/bn.js/lib/bn.js ***!
  11770. \**************************************/
  11771. /*! no static exports found */
  11772. /***/ (function(module, exports, __webpack_require__) {
  11773. /* WEBPACK VAR INJECTION */(function(module) {(function (module, exports) {
  11774. 'use strict';
  11775. // Utils
  11776. function assert (val, msg) {
  11777. if (!val) throw new Error(msg || 'Assertion failed');
  11778. }
  11779. // Could use `inherits` module, but don't want to move from single file
  11780. // architecture yet.
  11781. function inherits (ctor, superCtor) {
  11782. ctor.super_ = superCtor;
  11783. var TempCtor = function () {};
  11784. TempCtor.prototype = superCtor.prototype;
  11785. ctor.prototype = new TempCtor();
  11786. ctor.prototype.constructor = ctor;
  11787. }
  11788. // BN
  11789. function BN (number, base, endian) {
  11790. if (BN.isBN(number)) {
  11791. return number;
  11792. }
  11793. this.negative = 0;
  11794. this.words = null;
  11795. this.length = 0;
  11796. // Reduction context
  11797. this.red = null;
  11798. if (number !== null) {
  11799. if (base === 'le' || base === 'be') {
  11800. endian = base;
  11801. base = 10;
  11802. }
  11803. this._init(number || 0, base || 10, endian || 'be');
  11804. }
  11805. }
  11806. if (typeof module === 'object') {
  11807. module.exports = BN;
  11808. } else {
  11809. exports.BN = BN;
  11810. }
  11811. BN.BN = BN;
  11812. BN.wordSize = 26;
  11813. var Buffer;
  11814. try {
  11815. Buffer = __webpack_require__(/*! buffer */ 144).Buffer;
  11816. } catch (e) {
  11817. }
  11818. BN.isBN = function isBN (num) {
  11819. if (num instanceof BN) {
  11820. return true;
  11821. }
  11822. return num !== null && typeof num === 'object' &&
  11823. num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);
  11824. };
  11825. BN.max = function max (left, right) {
  11826. if (left.cmp(right) > 0) return left;
  11827. return right;
  11828. };
  11829. BN.min = function min (left, right) {
  11830. if (left.cmp(right) < 0) return left;
  11831. return right;
  11832. };
  11833. BN.prototype._init = function init (number, base, endian) {
  11834. if (typeof number === 'number') {
  11835. return this._initNumber(number, base, endian);
  11836. }
  11837. if (typeof number === 'object') {
  11838. return this._initArray(number, base, endian);
  11839. }
  11840. if (base === 'hex') {
  11841. base = 16;
  11842. }
  11843. assert(base === (base | 0) && base >= 2 && base <= 36);
  11844. number = number.toString().replace(/\s+/g, '');
  11845. var start = 0;
  11846. if (number[0] === '-') {
  11847. start++;
  11848. }
  11849. if (base === 16) {
  11850. this._parseHex(number, start);
  11851. } else {
  11852. this._parseBase(number, base, start);
  11853. }
  11854. if (number[0] === '-') {
  11855. this.negative = 1;
  11856. }
  11857. this._strip();
  11858. if (endian !== 'le') return;
  11859. this._initArray(this.toArray(), base, endian);
  11860. };
  11861. BN.prototype._initNumber = function _initNumber (number, base, endian) {
  11862. if (number < 0) {
  11863. this.negative = 1;
  11864. number = -number;
  11865. }
  11866. if (number < 0x4000000) {
  11867. this.words = [number & 0x3ffffff];
  11868. this.length = 1;
  11869. } else if (number < 0x10000000000000) {
  11870. this.words = [
  11871. number & 0x3ffffff,
  11872. (number / 0x4000000) & 0x3ffffff
  11873. ];
  11874. this.length = 2;
  11875. } else {
  11876. assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)
  11877. this.words = [
  11878. number & 0x3ffffff,
  11879. (number / 0x4000000) & 0x3ffffff,
  11880. 1
  11881. ];
  11882. this.length = 3;
  11883. }
  11884. if (endian !== 'le') return;
  11885. // Reverse the bytes
  11886. this._initArray(this.toArray(), base, endian);
  11887. };
  11888. BN.prototype._initArray = function _initArray (number, base, endian) {
  11889. // Perhaps a Uint8Array
  11890. assert(typeof number.length === 'number');
  11891. if (number.length <= 0) {
  11892. this.words = [0];
  11893. this.length = 1;
  11894. return this;
  11895. }
  11896. this.length = Math.ceil(number.length / 3);
  11897. this.words = new Array(this.length);
  11898. for (var i = 0; i < this.length; i++) {
  11899. this.words[i] = 0;
  11900. }
  11901. var j, w;
  11902. var off = 0;
  11903. if (endian === 'be') {
  11904. for (i = number.length - 1, j = 0; i >= 0; i -= 3) {
  11905. w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);
  11906. this.words[j] |= (w << off) & 0x3ffffff;
  11907. this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
  11908. off += 24;
  11909. if (off >= 26) {
  11910. off -= 26;
  11911. j++;
  11912. }
  11913. }
  11914. } else if (endian === 'le') {
  11915. for (i = 0, j = 0; i < number.length; i += 3) {
  11916. w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);
  11917. this.words[j] |= (w << off) & 0x3ffffff;
  11918. this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;
  11919. off += 24;
  11920. if (off >= 26) {
  11921. off -= 26;
  11922. j++;
  11923. }
  11924. }
  11925. }
  11926. return this._strip();
  11927. };
  11928. function parseHex (str, start, end) {
  11929. var r = 0;
  11930. var len = Math.min(str.length, end);
  11931. var z = 0;
  11932. for (var i = start; i < len; i++) {
  11933. var c = str.charCodeAt(i) - 48;
  11934. r <<= 4;
  11935. var b;
  11936. // 'a' - 'f'
  11937. if (c >= 49 && c <= 54) {
  11938. b = c - 49 + 0xa;
  11939. // 'A' - 'F'
  11940. } else if (c >= 17 && c <= 22) {
  11941. b = c - 17 + 0xa;
  11942. // '0' - '9'
  11943. } else {
  11944. b = c;
  11945. }
  11946. r |= b;
  11947. z |= b;
  11948. }
  11949. assert(!(z & 0xf0), 'Invalid character in ' + str);
  11950. return r;
  11951. }
  11952. BN.prototype._parseHex = function _parseHex (number, start) {
  11953. // Create possibly bigger array to ensure that it fits the number
  11954. this.length = Math.ceil((number.length - start) / 6);
  11955. this.words = new Array(this.length);
  11956. for (var i = 0; i < this.length; i++) {
  11957. this.words[i] = 0;
  11958. }
  11959. var j, w;
  11960. // Scan 24-bit chunks and add them to the number
  11961. var off = 0;
  11962. for (i = number.length - 6, j = 0; i >= start; i -= 6) {
  11963. w = parseHex(number, i, i + 6);
  11964. this.words[j] |= (w << off) & 0x3ffffff;
  11965. // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb
  11966. this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;
  11967. off += 24;
  11968. if (off >= 26) {
  11969. off -= 26;
  11970. j++;
  11971. }
  11972. }
  11973. if (i + 6 !== start) {
  11974. w = parseHex(number, start, i + 6);
  11975. this.words[j] |= (w << off) & 0x3ffffff;
  11976. this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;
  11977. }
  11978. this._strip();
  11979. };
  11980. function parseBase (str, start, end, mul) {
  11981. var r = 0;
  11982. var b = 0;
  11983. var len = Math.min(str.length, end);
  11984. for (var i = start; i < len; i++) {
  11985. var c = str.charCodeAt(i) - 48;
  11986. r *= mul;
  11987. // 'a'
  11988. if (c >= 49) {
  11989. b = c - 49 + 0xa;
  11990. // 'A'
  11991. } else if (c >= 17) {
  11992. b = c - 17 + 0xa;
  11993. // '0' - '9'
  11994. } else {
  11995. b = c;
  11996. }
  11997. assert(c >= 0 && b < mul, 'Invalid character');
  11998. r += b;
  11999. }
  12000. return r;
  12001. }
  12002. BN.prototype._parseBase = function _parseBase (number, base, start) {
  12003. // Initialize as zero
  12004. this.words = [0];
  12005. this.length = 1;
  12006. // Find length of limb in base
  12007. for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {
  12008. limbLen++;
  12009. }
  12010. limbLen--;
  12011. limbPow = (limbPow / base) | 0;
  12012. var total = number.length - start;
  12013. var mod = total % limbLen;
  12014. var end = Math.min(total, total - mod) + start;
  12015. var word = 0;
  12016. for (var i = start; i < end; i += limbLen) {
  12017. word = parseBase(number, i, i + limbLen, base);
  12018. this.imuln(limbPow);
  12019. if (this.words[0] + word < 0x4000000) {
  12020. this.words[0] += word;
  12021. } else {
  12022. this._iaddn(word);
  12023. }
  12024. }
  12025. if (mod !== 0) {
  12026. var pow = 1;
  12027. word = parseBase(number, i, number.length, base);
  12028. for (i = 0; i < mod; i++) {
  12029. pow *= base;
  12030. }
  12031. this.imuln(pow);
  12032. if (this.words[0] + word < 0x4000000) {
  12033. this.words[0] += word;
  12034. } else {
  12035. this._iaddn(word);
  12036. }
  12037. }
  12038. };
  12039. BN.prototype.copy = function copy (dest) {
  12040. dest.words = new Array(this.length);
  12041. for (var i = 0; i < this.length; i++) {
  12042. dest.words[i] = this.words[i];
  12043. }
  12044. dest.length = this.length;
  12045. dest.negative = this.negative;
  12046. dest.red = this.red;
  12047. };
  12048. function move (dest, src) {
  12049. dest.words = src.words;
  12050. dest.length = src.length;
  12051. dest.negative = src.negative;
  12052. dest.red = src.red;
  12053. }
  12054. BN.prototype._move = function _move (dest) {
  12055. move(dest, this);
  12056. };
  12057. BN.prototype.clone = function clone () {
  12058. var r = new BN(null);
  12059. this.copy(r);
  12060. return r;
  12061. };
  12062. BN.prototype._expand = function _expand (size) {
  12063. while (this.length < size) {
  12064. this.words[this.length++] = 0;
  12065. }
  12066. return this;
  12067. };
  12068. // Remove leading `0` from `this`
  12069. BN.prototype._strip = function strip () {
  12070. while (this.length > 1 && this.words[this.length - 1] === 0) {
  12071. this.length--;
  12072. }
  12073. return this._normSign();
  12074. };
  12075. BN.prototype._normSign = function _normSign () {
  12076. // -0 = 0
  12077. if (this.length === 1 && this.words[0] === 0) {
  12078. this.negative = 0;
  12079. }
  12080. return this;
  12081. };
  12082. // Check Symbol.for because not everywhere where Symbol defined
  12083. // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility
  12084. if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {
  12085. BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;
  12086. } else {
  12087. BN.prototype.inspect = inspect;
  12088. }
  12089. function inspect () {
  12090. return (this.red ? '<BN-R: ' : '<BN: ') + this.toString(16) + '>';
  12091. }
  12092. /*
  12093. var zeros = [];
  12094. var groupSizes = [];
  12095. var groupBases = [];
  12096. var s = '';
  12097. var i = -1;
  12098. while (++i < BN.wordSize) {
  12099. zeros[i] = s;
  12100. s += '0';
  12101. }
  12102. groupSizes[0] = 0;
  12103. groupSizes[1] = 0;
  12104. groupBases[0] = 0;
  12105. groupBases[1] = 0;
  12106. var base = 2 - 1;
  12107. while (++base < 36 + 1) {
  12108. var groupSize = 0;
  12109. var groupBase = 1;
  12110. while (groupBase < (1 << BN.wordSize) / base) {
  12111. groupBase *= base;
  12112. groupSize += 1;
  12113. }
  12114. groupSizes[base] = groupSize;
  12115. groupBases[base] = groupBase;
  12116. }
  12117. */
  12118. var zeros = [
  12119. '',
  12120. '0',
  12121. '00',
  12122. '000',
  12123. '0000',
  12124. '00000',
  12125. '000000',
  12126. '0000000',
  12127. '00000000',
  12128. '000000000',
  12129. '0000000000',
  12130. '00000000000',
  12131. '000000000000',
  12132. '0000000000000',
  12133. '00000000000000',
  12134. '000000000000000',
  12135. '0000000000000000',
  12136. '00000000000000000',
  12137. '000000000000000000',
  12138. '0000000000000000000',
  12139. '00000000000000000000',
  12140. '000000000000000000000',
  12141. '0000000000000000000000',
  12142. '00000000000000000000000',
  12143. '000000000000000000000000',
  12144. '0000000000000000000000000'
  12145. ];
  12146. var groupSizes = [
  12147. 0, 0,
  12148. 25, 16, 12, 11, 10, 9, 8,
  12149. 8, 7, 7, 7, 7, 6, 6,
  12150. 6, 6, 6, 6, 6, 5, 5,
  12151. 5, 5, 5, 5, 5, 5, 5,
  12152. 5, 5, 5, 5, 5, 5, 5
  12153. ];
  12154. var groupBases = [
  12155. 0, 0,
  12156. 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,
  12157. 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,
  12158. 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,
  12159. 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,
  12160. 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176
  12161. ];
  12162. BN.prototype.toString = function toString (base, padding) {
  12163. base = base || 10;
  12164. padding = padding | 0 || 1;
  12165. var out;
  12166. if (base === 16 || base === 'hex') {
  12167. out = '';
  12168. var off = 0;
  12169. var carry = 0;
  12170. for (var i = 0; i < this.length; i++) {
  12171. var w = this.words[i];
  12172. var word = (((w << off) | carry) & 0xffffff).toString(16);
  12173. carry = (w >>> (24 - off)) & 0xffffff;
  12174. if (carry !== 0 || i !== this.length - 1) {
  12175. out = zeros[6 - word.length] + word + out;
  12176. } else {
  12177. out = word + out;
  12178. }
  12179. off += 2;
  12180. if (off >= 26) {
  12181. off -= 26;
  12182. i--;
  12183. }
  12184. }
  12185. if (carry !== 0) {
  12186. out = carry.toString(16) + out;
  12187. }
  12188. while (out.length % padding !== 0) {
  12189. out = '0' + out;
  12190. }
  12191. if (this.negative !== 0) {
  12192. out = '-' + out;
  12193. }
  12194. return out;
  12195. }
  12196. if (base === (base | 0) && base >= 2 && base <= 36) {
  12197. // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));
  12198. var groupSize = groupSizes[base];
  12199. // var groupBase = Math.pow(base, groupSize);
  12200. var groupBase = groupBases[base];
  12201. out = '';
  12202. var c = this.clone();
  12203. c.negative = 0;
  12204. while (!c.isZero()) {
  12205. var r = c.modrn(groupBase).toString(base);
  12206. c = c.idivn(groupBase);
  12207. if (!c.isZero()) {
  12208. out = zeros[groupSize - r.length] + r + out;
  12209. } else {
  12210. out = r + out;
  12211. }
  12212. }
  12213. if (this.isZero()) {
  12214. out = '0' + out;
  12215. }
  12216. while (out.length % padding !== 0) {
  12217. out = '0' + out;
  12218. }
  12219. if (this.negative !== 0) {
  12220. out = '-' + out;
  12221. }
  12222. return out;
  12223. }
  12224. assert(false, 'Base should be between 2 and 36');
  12225. };
  12226. BN.prototype.toNumber = function toNumber () {
  12227. var ret = this.words[0];
  12228. if (this.length === 2) {
  12229. ret += this.words[1] * 0x4000000;
  12230. } else if (this.length === 3 && this.words[2] === 0x01) {
  12231. // NOTE: at this stage it is known that the top bit is set
  12232. ret += 0x10000000000000 + (this.words[1] * 0x4000000);
  12233. } else if (this.length > 2) {
  12234. assert(false, 'Number can only safely store up to 53 bits');
  12235. }
  12236. return (this.negative !== 0) ? -ret : ret;
  12237. };
  12238. BN.prototype.toJSON = function toJSON () {
  12239. return this.toString(16, 2);
  12240. };
  12241. if (Buffer) {
  12242. BN.prototype.toBuffer = function toBuffer (endian, length) {
  12243. return this.toArrayLike(Buffer, endian, length);
  12244. };
  12245. }
  12246. BN.prototype.toArray = function toArray (endian, length) {
  12247. return this.toArrayLike(Array, endian, length);
  12248. };
  12249. var allocate = function allocate (ArrayType, size) {
  12250. if (ArrayType.allocUnsafe) {
  12251. return ArrayType.allocUnsafe(size);
  12252. }
  12253. return new ArrayType(size);
  12254. };
  12255. BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {
  12256. this._strip();
  12257. var byteLength = this.byteLength();
  12258. var reqLength = length || Math.max(1, byteLength);
  12259. assert(byteLength <= reqLength, 'byte array longer than desired length');
  12260. assert(reqLength > 0, 'Requested array length <= 0');
  12261. var res = allocate(ArrayType, reqLength);
  12262. var postfix = endian === 'le' ? 'LE' : 'BE';
  12263. this['_toArrayLike' + postfix](res, byteLength);
  12264. return res;
  12265. };
  12266. BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {
  12267. var position = 0;
  12268. var carry = 0;
  12269. for (var i = 0, shift = 0; i < this.length; i++) {
  12270. var word = (this.words[i] << shift) | carry;
  12271. res[position++] = word & 0xff;
  12272. if (position < res.length) {
  12273. res[position++] = (word >> 8) & 0xff;
  12274. }
  12275. if (position < res.length) {
  12276. res[position++] = (word >> 16) & 0xff;
  12277. }
  12278. if (shift === 6) {
  12279. if (position < res.length) {
  12280. res[position++] = (word >> 24) & 0xff;
  12281. }
  12282. carry = 0;
  12283. shift = 0;
  12284. } else {
  12285. carry = word >>> 24;
  12286. shift += 2;
  12287. }
  12288. }
  12289. if (position < res.length) {
  12290. res[position++] = carry;
  12291. while (position < res.length) {
  12292. res[position++] = 0;
  12293. }
  12294. }
  12295. };
  12296. BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {
  12297. var position = res.length - 1;
  12298. var carry = 0;
  12299. for (var i = 0, shift = 0; i < this.length; i++) {
  12300. var word = (this.words[i] << shift) | carry;
  12301. res[position--] = word & 0xff;
  12302. if (position >= 0) {
  12303. res[position--] = (word >> 8) & 0xff;
  12304. }
  12305. if (position >= 0) {
  12306. res[position--] = (word >> 16) & 0xff;
  12307. }
  12308. if (shift === 6) {
  12309. if (position >= 0) {
  12310. res[position--] = (word >> 24) & 0xff;
  12311. }
  12312. carry = 0;
  12313. shift = 0;
  12314. } else {
  12315. carry = word >>> 24;
  12316. shift += 2;
  12317. }
  12318. }
  12319. if (position >= 0) {
  12320. res[position--] = carry;
  12321. while (position >= 0) {
  12322. res[position--] = 0;
  12323. }
  12324. }
  12325. };
  12326. if (Math.clz32) {
  12327. BN.prototype._countBits = function _countBits (w) {
  12328. return 32 - Math.clz32(w);
  12329. };
  12330. } else {
  12331. BN.prototype._countBits = function _countBits (w) {
  12332. var t = w;
  12333. var r = 0;
  12334. if (t >= 0x1000) {
  12335. r += 13;
  12336. t >>>= 13;
  12337. }
  12338. if (t >= 0x40) {
  12339. r += 7;
  12340. t >>>= 7;
  12341. }
  12342. if (t >= 0x8) {
  12343. r += 4;
  12344. t >>>= 4;
  12345. }
  12346. if (t >= 0x02) {
  12347. r += 2;
  12348. t >>>= 2;
  12349. }
  12350. return r + t;
  12351. };
  12352. }
  12353. BN.prototype._zeroBits = function _zeroBits (w) {
  12354. // Short-cut
  12355. if (w === 0) return 26;
  12356. var t = w;
  12357. var r = 0;
  12358. if ((t & 0x1fff) === 0) {
  12359. r += 13;
  12360. t >>>= 13;
  12361. }
  12362. if ((t & 0x7f) === 0) {
  12363. r += 7;
  12364. t >>>= 7;
  12365. }
  12366. if ((t & 0xf) === 0) {
  12367. r += 4;
  12368. t >>>= 4;
  12369. }
  12370. if ((t & 0x3) === 0) {
  12371. r += 2;
  12372. t >>>= 2;
  12373. }
  12374. if ((t & 0x1) === 0) {
  12375. r++;
  12376. }
  12377. return r;
  12378. };
  12379. // Return number of used bits in a BN
  12380. BN.prototype.bitLength = function bitLength () {
  12381. var w = this.words[this.length - 1];
  12382. var hi = this._countBits(w);
  12383. return (this.length - 1) * 26 + hi;
  12384. };
  12385. function toBitArray (num) {
  12386. var w = new Array(num.bitLength());
  12387. for (var bit = 0; bit < w.length; bit++) {
  12388. var off = (bit / 26) | 0;
  12389. var wbit = bit % 26;
  12390. w[bit] = (num.words[off] >>> wbit) & 0x01;
  12391. }
  12392. return w;
  12393. }
  12394. // Number of trailing zero bits
  12395. BN.prototype.zeroBits = function zeroBits () {
  12396. if (this.isZero()) return 0;
  12397. var r = 0;
  12398. for (var i = 0; i < this.length; i++) {
  12399. var b = this._zeroBits(this.words[i]);
  12400. r += b;
  12401. if (b !== 26) break;
  12402. }
  12403. return r;
  12404. };
  12405. BN.prototype.byteLength = function byteLength () {
  12406. return Math.ceil(this.bitLength() / 8);
  12407. };
  12408. BN.prototype.toTwos = function toTwos (width) {
  12409. if (this.negative !== 0) {
  12410. return this.abs().inotn(width).iaddn(1);
  12411. }
  12412. return this.clone();
  12413. };
  12414. BN.prototype.fromTwos = function fromTwos (width) {
  12415. if (this.testn(width - 1)) {
  12416. return this.notn(width).iaddn(1).ineg();
  12417. }
  12418. return this.clone();
  12419. };
  12420. BN.prototype.isNeg = function isNeg () {
  12421. return this.negative !== 0;
  12422. };
  12423. // Return negative clone of `this`
  12424. BN.prototype.neg = function neg () {
  12425. return this.clone().ineg();
  12426. };
  12427. BN.prototype.ineg = function ineg () {
  12428. if (!this.isZero()) {
  12429. this.negative ^= 1;
  12430. }
  12431. return this;
  12432. };
  12433. // Or `num` with `this` in-place
  12434. BN.prototype.iuor = function iuor (num) {
  12435. while (this.length < num.length) {
  12436. this.words[this.length++] = 0;
  12437. }
  12438. for (var i = 0; i < num.length; i++) {
  12439. this.words[i] = this.words[i] | num.words[i];
  12440. }
  12441. return this._strip();
  12442. };
  12443. BN.prototype.ior = function ior (num) {
  12444. assert((this.negative | num.negative) === 0);
  12445. return this.iuor(num);
  12446. };
  12447. // Or `num` with `this`
  12448. BN.prototype.or = function or (num) {
  12449. if (this.length > num.length) return this.clone().ior(num);
  12450. return num.clone().ior(this);
  12451. };
  12452. BN.prototype.uor = function uor (num) {
  12453. if (this.length > num.length) return this.clone().iuor(num);
  12454. return num.clone().iuor(this);
  12455. };
  12456. // And `num` with `this` in-place
  12457. BN.prototype.iuand = function iuand (num) {
  12458. // b = min-length(num, this)
  12459. var b;
  12460. if (this.length > num.length) {
  12461. b = num;
  12462. } else {
  12463. b = this;
  12464. }
  12465. for (var i = 0; i < b.length; i++) {
  12466. this.words[i] = this.words[i] & num.words[i];
  12467. }
  12468. this.length = b.length;
  12469. return this._strip();
  12470. };
  12471. BN.prototype.iand = function iand (num) {
  12472. assert((this.negative | num.negative) === 0);
  12473. return this.iuand(num);
  12474. };
  12475. // And `num` with `this`
  12476. BN.prototype.and = function and (num) {
  12477. if (this.length > num.length) return this.clone().iand(num);
  12478. return num.clone().iand(this);
  12479. };
  12480. BN.prototype.uand = function uand (num) {
  12481. if (this.length > num.length) return this.clone().iuand(num);
  12482. return num.clone().iuand(this);
  12483. };
  12484. // Xor `num` with `this` in-place
  12485. BN.prototype.iuxor = function iuxor (num) {
  12486. // a.length > b.length
  12487. var a;
  12488. var b;
  12489. if (this.length > num.length) {
  12490. a = this;
  12491. b = num;
  12492. } else {
  12493. a = num;
  12494. b = this;
  12495. }
  12496. for (var i = 0; i < b.length; i++) {
  12497. this.words[i] = a.words[i] ^ b.words[i];
  12498. }
  12499. if (this !== a) {
  12500. for (; i < a.length; i++) {
  12501. this.words[i] = a.words[i];
  12502. }
  12503. }
  12504. this.length = a.length;
  12505. return this._strip();
  12506. };
  12507. BN.prototype.ixor = function ixor (num) {
  12508. assert((this.negative | num.negative) === 0);
  12509. return this.iuxor(num);
  12510. };
  12511. // Xor `num` with `this`
  12512. BN.prototype.xor = function xor (num) {
  12513. if (this.length > num.length) return this.clone().ixor(num);
  12514. return num.clone().ixor(this);
  12515. };
  12516. BN.prototype.uxor = function uxor (num) {
  12517. if (this.length > num.length) return this.clone().iuxor(num);
  12518. return num.clone().iuxor(this);
  12519. };
  12520. // Not ``this`` with ``width`` bitwidth
  12521. BN.prototype.inotn = function inotn (width) {
  12522. assert(typeof width === 'number' && width >= 0);
  12523. var bytesNeeded = Math.ceil(width / 26) | 0;
  12524. var bitsLeft = width % 26;
  12525. // Extend the buffer with leading zeroes
  12526. this._expand(bytesNeeded);
  12527. if (bitsLeft > 0) {
  12528. bytesNeeded--;
  12529. }
  12530. // Handle complete words
  12531. for (var i = 0; i < bytesNeeded; i++) {
  12532. this.words[i] = ~this.words[i] & 0x3ffffff;
  12533. }
  12534. // Handle the residue
  12535. if (bitsLeft > 0) {
  12536. this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));
  12537. }
  12538. // And remove leading zeroes
  12539. return this._strip();
  12540. };
  12541. BN.prototype.notn = function notn (width) {
  12542. return this.clone().inotn(width);
  12543. };
  12544. // Set `bit` of `this`
  12545. BN.prototype.setn = function setn (bit, val) {
  12546. assert(typeof bit === 'number' && bit >= 0);
  12547. var off = (bit / 26) | 0;
  12548. var wbit = bit % 26;
  12549. this._expand(off + 1);
  12550. if (val) {
  12551. this.words[off] = this.words[off] | (1 << wbit);
  12552. } else {
  12553. this.words[off] = this.words[off] & ~(1 << wbit);
  12554. }
  12555. return this._strip();
  12556. };
  12557. // Add `num` to `this` in-place
  12558. BN.prototype.iadd = function iadd (num) {
  12559. var r;
  12560. // negative + positive
  12561. if (this.negative !== 0 && num.negative === 0) {
  12562. this.negative = 0;
  12563. r = this.isub(num);
  12564. this.negative ^= 1;
  12565. return this._normSign();
  12566. // positive + negative
  12567. } else if (this.negative === 0 && num.negative !== 0) {
  12568. num.negative = 0;
  12569. r = this.isub(num);
  12570. num.negative = 1;
  12571. return r._normSign();
  12572. }
  12573. // a.length > b.length
  12574. var a, b;
  12575. if (this.length > num.length) {
  12576. a = this;
  12577. b = num;
  12578. } else {
  12579. a = num;
  12580. b = this;
  12581. }
  12582. var carry = 0;
  12583. for (var i = 0; i < b.length; i++) {
  12584. r = (a.words[i] | 0) + (b.words[i] | 0) + carry;
  12585. this.words[i] = r & 0x3ffffff;
  12586. carry = r >>> 26;
  12587. }
  12588. for (; carry !== 0 && i < a.length; i++) {
  12589. r = (a.words[i] | 0) + carry;
  12590. this.words[i] = r & 0x3ffffff;
  12591. carry = r >>> 26;
  12592. }
  12593. this.length = a.length;
  12594. if (carry !== 0) {
  12595. this.words[this.length] = carry;
  12596. this.length++;
  12597. // Copy the rest of the words
  12598. } else if (a !== this) {
  12599. for (; i < a.length; i++) {
  12600. this.words[i] = a.words[i];
  12601. }
  12602. }
  12603. return this;
  12604. };
  12605. // Add `num` to `this`
  12606. BN.prototype.add = function add (num) {
  12607. var res;
  12608. if (num.negative !== 0 && this.negative === 0) {
  12609. num.negative = 0;
  12610. res = this.sub(num);
  12611. num.negative ^= 1;
  12612. return res;
  12613. } else if (num.negative === 0 && this.negative !== 0) {
  12614. this.negative = 0;
  12615. res = num.sub(this);
  12616. this.negative = 1;
  12617. return res;
  12618. }
  12619. if (this.length > num.length) return this.clone().iadd(num);
  12620. return num.clone().iadd(this);
  12621. };
  12622. // Subtract `num` from `this` in-place
  12623. BN.prototype.isub = function isub (num) {
  12624. // this - (-num) = this + num
  12625. if (num.negative !== 0) {
  12626. num.negative = 0;
  12627. var r = this.iadd(num);
  12628. num.negative = 1;
  12629. return r._normSign();
  12630. // -this - num = -(this + num)
  12631. } else if (this.negative !== 0) {
  12632. this.negative = 0;
  12633. this.iadd(num);
  12634. this.negative = 1;
  12635. return this._normSign();
  12636. }
  12637. // At this point both numbers are positive
  12638. var cmp = this.cmp(num);
  12639. // Optimization - zeroify
  12640. if (cmp === 0) {
  12641. this.negative = 0;
  12642. this.length = 1;
  12643. this.words[0] = 0;
  12644. return this;
  12645. }
  12646. // a > b
  12647. var a, b;
  12648. if (cmp > 0) {
  12649. a = this;
  12650. b = num;
  12651. } else {
  12652. a = num;
  12653. b = this;
  12654. }
  12655. var carry = 0;
  12656. for (var i = 0; i < b.length; i++) {
  12657. r = (a.words[i] | 0) - (b.words[i] | 0) + carry;
  12658. carry = r >> 26;
  12659. this.words[i] = r & 0x3ffffff;
  12660. }
  12661. for (; carry !== 0 && i < a.length; i++) {
  12662. r = (a.words[i] | 0) + carry;
  12663. carry = r >> 26;
  12664. this.words[i] = r & 0x3ffffff;
  12665. }
  12666. // Copy rest of the words
  12667. if (carry === 0 && i < a.length && a !== this) {
  12668. for (; i < a.length; i++) {
  12669. this.words[i] = a.words[i];
  12670. }
  12671. }
  12672. this.length = Math.max(this.length, i);
  12673. if (a !== this) {
  12674. this.negative = 1;
  12675. }
  12676. return this._strip();
  12677. };
  12678. // Subtract `num` from `this`
  12679. BN.prototype.sub = function sub (num) {
  12680. return this.clone().isub(num);
  12681. };
  12682. function smallMulTo (self, num, out) {
  12683. out.negative = num.negative ^ self.negative;
  12684. var len = (self.length + num.length) | 0;
  12685. out.length = len;
  12686. len = (len - 1) | 0;
  12687. // Peel one iteration (compiler can't do it, because of code complexity)
  12688. var a = self.words[0] | 0;
  12689. var b = num.words[0] | 0;
  12690. var r = a * b;
  12691. var lo = r & 0x3ffffff;
  12692. var carry = (r / 0x4000000) | 0;
  12693. out.words[0] = lo;
  12694. for (var k = 1; k < len; k++) {
  12695. // Sum all words with the same `i + j = k` and accumulate `ncarry`,
  12696. // note that ncarry could be >= 0x3ffffff
  12697. var ncarry = carry >>> 26;
  12698. var rword = carry & 0x3ffffff;
  12699. var maxJ = Math.min(k, num.length - 1);
  12700. for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
  12701. var i = (k - j) | 0;
  12702. a = self.words[i] | 0;
  12703. b = num.words[j] | 0;
  12704. r = a * b + rword;
  12705. ncarry += (r / 0x4000000) | 0;
  12706. rword = r & 0x3ffffff;
  12707. }
  12708. out.words[k] = rword | 0;
  12709. carry = ncarry | 0;
  12710. }
  12711. if (carry !== 0) {
  12712. out.words[k] = carry | 0;
  12713. } else {
  12714. out.length--;
  12715. }
  12716. return out._strip();
  12717. }
  12718. // TODO(indutny): it may be reasonable to omit it for users who don't need
  12719. // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit
  12720. // multiplication (like elliptic secp256k1).
  12721. var comb10MulTo = function comb10MulTo (self, num, out) {
  12722. var a = self.words;
  12723. var b = num.words;
  12724. var o = out.words;
  12725. var c = 0;
  12726. var lo;
  12727. var mid;
  12728. var hi;
  12729. var a0 = a[0] | 0;
  12730. var al0 = a0 & 0x1fff;
  12731. var ah0 = a0 >>> 13;
  12732. var a1 = a[1] | 0;
  12733. var al1 = a1 & 0x1fff;
  12734. var ah1 = a1 >>> 13;
  12735. var a2 = a[2] | 0;
  12736. var al2 = a2 & 0x1fff;
  12737. var ah2 = a2 >>> 13;
  12738. var a3 = a[3] | 0;
  12739. var al3 = a3 & 0x1fff;
  12740. var ah3 = a3 >>> 13;
  12741. var a4 = a[4] | 0;
  12742. var al4 = a4 & 0x1fff;
  12743. var ah4 = a4 >>> 13;
  12744. var a5 = a[5] | 0;
  12745. var al5 = a5 & 0x1fff;
  12746. var ah5 = a5 >>> 13;
  12747. var a6 = a[6] | 0;
  12748. var al6 = a6 & 0x1fff;
  12749. var ah6 = a6 >>> 13;
  12750. var a7 = a[7] | 0;
  12751. var al7 = a7 & 0x1fff;
  12752. var ah7 = a7 >>> 13;
  12753. var a8 = a[8] | 0;
  12754. var al8 = a8 & 0x1fff;
  12755. var ah8 = a8 >>> 13;
  12756. var a9 = a[9] | 0;
  12757. var al9 = a9 & 0x1fff;
  12758. var ah9 = a9 >>> 13;
  12759. var b0 = b[0] | 0;
  12760. var bl0 = b0 & 0x1fff;
  12761. var bh0 = b0 >>> 13;
  12762. var b1 = b[1] | 0;
  12763. var bl1 = b1 & 0x1fff;
  12764. var bh1 = b1 >>> 13;
  12765. var b2 = b[2] | 0;
  12766. var bl2 = b2 & 0x1fff;
  12767. var bh2 = b2 >>> 13;
  12768. var b3 = b[3] | 0;
  12769. var bl3 = b3 & 0x1fff;
  12770. var bh3 = b3 >>> 13;
  12771. var b4 = b[4] | 0;
  12772. var bl4 = b4 & 0x1fff;
  12773. var bh4 = b4 >>> 13;
  12774. var b5 = b[5] | 0;
  12775. var bl5 = b5 & 0x1fff;
  12776. var bh5 = b5 >>> 13;
  12777. var b6 = b[6] | 0;
  12778. var bl6 = b6 & 0x1fff;
  12779. var bh6 = b6 >>> 13;
  12780. var b7 = b[7] | 0;
  12781. var bl7 = b7 & 0x1fff;
  12782. var bh7 = b7 >>> 13;
  12783. var b8 = b[8] | 0;
  12784. var bl8 = b8 & 0x1fff;
  12785. var bh8 = b8 >>> 13;
  12786. var b9 = b[9] | 0;
  12787. var bl9 = b9 & 0x1fff;
  12788. var bh9 = b9 >>> 13;
  12789. out.negative = self.negative ^ num.negative;
  12790. out.length = 19;
  12791. /* k = 0 */
  12792. lo = Math.imul(al0, bl0);
  12793. mid = Math.imul(al0, bh0);
  12794. mid = (mid + Math.imul(ah0, bl0)) | 0;
  12795. hi = Math.imul(ah0, bh0);
  12796. var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12797. c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;
  12798. w0 &= 0x3ffffff;
  12799. /* k = 1 */
  12800. lo = Math.imul(al1, bl0);
  12801. mid = Math.imul(al1, bh0);
  12802. mid = (mid + Math.imul(ah1, bl0)) | 0;
  12803. hi = Math.imul(ah1, bh0);
  12804. lo = (lo + Math.imul(al0, bl1)) | 0;
  12805. mid = (mid + Math.imul(al0, bh1)) | 0;
  12806. mid = (mid + Math.imul(ah0, bl1)) | 0;
  12807. hi = (hi + Math.imul(ah0, bh1)) | 0;
  12808. var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12809. c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;
  12810. w1 &= 0x3ffffff;
  12811. /* k = 2 */
  12812. lo = Math.imul(al2, bl0);
  12813. mid = Math.imul(al2, bh0);
  12814. mid = (mid + Math.imul(ah2, bl0)) | 0;
  12815. hi = Math.imul(ah2, bh0);
  12816. lo = (lo + Math.imul(al1, bl1)) | 0;
  12817. mid = (mid + Math.imul(al1, bh1)) | 0;
  12818. mid = (mid + Math.imul(ah1, bl1)) | 0;
  12819. hi = (hi + Math.imul(ah1, bh1)) | 0;
  12820. lo = (lo + Math.imul(al0, bl2)) | 0;
  12821. mid = (mid + Math.imul(al0, bh2)) | 0;
  12822. mid = (mid + Math.imul(ah0, bl2)) | 0;
  12823. hi = (hi + Math.imul(ah0, bh2)) | 0;
  12824. var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12825. c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;
  12826. w2 &= 0x3ffffff;
  12827. /* k = 3 */
  12828. lo = Math.imul(al3, bl0);
  12829. mid = Math.imul(al3, bh0);
  12830. mid = (mid + Math.imul(ah3, bl0)) | 0;
  12831. hi = Math.imul(ah3, bh0);
  12832. lo = (lo + Math.imul(al2, bl1)) | 0;
  12833. mid = (mid + Math.imul(al2, bh1)) | 0;
  12834. mid = (mid + Math.imul(ah2, bl1)) | 0;
  12835. hi = (hi + Math.imul(ah2, bh1)) | 0;
  12836. lo = (lo + Math.imul(al1, bl2)) | 0;
  12837. mid = (mid + Math.imul(al1, bh2)) | 0;
  12838. mid = (mid + Math.imul(ah1, bl2)) | 0;
  12839. hi = (hi + Math.imul(ah1, bh2)) | 0;
  12840. lo = (lo + Math.imul(al0, bl3)) | 0;
  12841. mid = (mid + Math.imul(al0, bh3)) | 0;
  12842. mid = (mid + Math.imul(ah0, bl3)) | 0;
  12843. hi = (hi + Math.imul(ah0, bh3)) | 0;
  12844. var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12845. c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;
  12846. w3 &= 0x3ffffff;
  12847. /* k = 4 */
  12848. lo = Math.imul(al4, bl0);
  12849. mid = Math.imul(al4, bh0);
  12850. mid = (mid + Math.imul(ah4, bl0)) | 0;
  12851. hi = Math.imul(ah4, bh0);
  12852. lo = (lo + Math.imul(al3, bl1)) | 0;
  12853. mid = (mid + Math.imul(al3, bh1)) | 0;
  12854. mid = (mid + Math.imul(ah3, bl1)) | 0;
  12855. hi = (hi + Math.imul(ah3, bh1)) | 0;
  12856. lo = (lo + Math.imul(al2, bl2)) | 0;
  12857. mid = (mid + Math.imul(al2, bh2)) | 0;
  12858. mid = (mid + Math.imul(ah2, bl2)) | 0;
  12859. hi = (hi + Math.imul(ah2, bh2)) | 0;
  12860. lo = (lo + Math.imul(al1, bl3)) | 0;
  12861. mid = (mid + Math.imul(al1, bh3)) | 0;
  12862. mid = (mid + Math.imul(ah1, bl3)) | 0;
  12863. hi = (hi + Math.imul(ah1, bh3)) | 0;
  12864. lo = (lo + Math.imul(al0, bl4)) | 0;
  12865. mid = (mid + Math.imul(al0, bh4)) | 0;
  12866. mid = (mid + Math.imul(ah0, bl4)) | 0;
  12867. hi = (hi + Math.imul(ah0, bh4)) | 0;
  12868. var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12869. c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;
  12870. w4 &= 0x3ffffff;
  12871. /* k = 5 */
  12872. lo = Math.imul(al5, bl0);
  12873. mid = Math.imul(al5, bh0);
  12874. mid = (mid + Math.imul(ah5, bl0)) | 0;
  12875. hi = Math.imul(ah5, bh0);
  12876. lo = (lo + Math.imul(al4, bl1)) | 0;
  12877. mid = (mid + Math.imul(al4, bh1)) | 0;
  12878. mid = (mid + Math.imul(ah4, bl1)) | 0;
  12879. hi = (hi + Math.imul(ah4, bh1)) | 0;
  12880. lo = (lo + Math.imul(al3, bl2)) | 0;
  12881. mid = (mid + Math.imul(al3, bh2)) | 0;
  12882. mid = (mid + Math.imul(ah3, bl2)) | 0;
  12883. hi = (hi + Math.imul(ah3, bh2)) | 0;
  12884. lo = (lo + Math.imul(al2, bl3)) | 0;
  12885. mid = (mid + Math.imul(al2, bh3)) | 0;
  12886. mid = (mid + Math.imul(ah2, bl3)) | 0;
  12887. hi = (hi + Math.imul(ah2, bh3)) | 0;
  12888. lo = (lo + Math.imul(al1, bl4)) | 0;
  12889. mid = (mid + Math.imul(al1, bh4)) | 0;
  12890. mid = (mid + Math.imul(ah1, bl4)) | 0;
  12891. hi = (hi + Math.imul(ah1, bh4)) | 0;
  12892. lo = (lo + Math.imul(al0, bl5)) | 0;
  12893. mid = (mid + Math.imul(al0, bh5)) | 0;
  12894. mid = (mid + Math.imul(ah0, bl5)) | 0;
  12895. hi = (hi + Math.imul(ah0, bh5)) | 0;
  12896. var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12897. c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;
  12898. w5 &= 0x3ffffff;
  12899. /* k = 6 */
  12900. lo = Math.imul(al6, bl0);
  12901. mid = Math.imul(al6, bh0);
  12902. mid = (mid + Math.imul(ah6, bl0)) | 0;
  12903. hi = Math.imul(ah6, bh0);
  12904. lo = (lo + Math.imul(al5, bl1)) | 0;
  12905. mid = (mid + Math.imul(al5, bh1)) | 0;
  12906. mid = (mid + Math.imul(ah5, bl1)) | 0;
  12907. hi = (hi + Math.imul(ah5, bh1)) | 0;
  12908. lo = (lo + Math.imul(al4, bl2)) | 0;
  12909. mid = (mid + Math.imul(al4, bh2)) | 0;
  12910. mid = (mid + Math.imul(ah4, bl2)) | 0;
  12911. hi = (hi + Math.imul(ah4, bh2)) | 0;
  12912. lo = (lo + Math.imul(al3, bl3)) | 0;
  12913. mid = (mid + Math.imul(al3, bh3)) | 0;
  12914. mid = (mid + Math.imul(ah3, bl3)) | 0;
  12915. hi = (hi + Math.imul(ah3, bh3)) | 0;
  12916. lo = (lo + Math.imul(al2, bl4)) | 0;
  12917. mid = (mid + Math.imul(al2, bh4)) | 0;
  12918. mid = (mid + Math.imul(ah2, bl4)) | 0;
  12919. hi = (hi + Math.imul(ah2, bh4)) | 0;
  12920. lo = (lo + Math.imul(al1, bl5)) | 0;
  12921. mid = (mid + Math.imul(al1, bh5)) | 0;
  12922. mid = (mid + Math.imul(ah1, bl5)) | 0;
  12923. hi = (hi + Math.imul(ah1, bh5)) | 0;
  12924. lo = (lo + Math.imul(al0, bl6)) | 0;
  12925. mid = (mid + Math.imul(al0, bh6)) | 0;
  12926. mid = (mid + Math.imul(ah0, bl6)) | 0;
  12927. hi = (hi + Math.imul(ah0, bh6)) | 0;
  12928. var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12929. c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;
  12930. w6 &= 0x3ffffff;
  12931. /* k = 7 */
  12932. lo = Math.imul(al7, bl0);
  12933. mid = Math.imul(al7, bh0);
  12934. mid = (mid + Math.imul(ah7, bl0)) | 0;
  12935. hi = Math.imul(ah7, bh0);
  12936. lo = (lo + Math.imul(al6, bl1)) | 0;
  12937. mid = (mid + Math.imul(al6, bh1)) | 0;
  12938. mid = (mid + Math.imul(ah6, bl1)) | 0;
  12939. hi = (hi + Math.imul(ah6, bh1)) | 0;
  12940. lo = (lo + Math.imul(al5, bl2)) | 0;
  12941. mid = (mid + Math.imul(al5, bh2)) | 0;
  12942. mid = (mid + Math.imul(ah5, bl2)) | 0;
  12943. hi = (hi + Math.imul(ah5, bh2)) | 0;
  12944. lo = (lo + Math.imul(al4, bl3)) | 0;
  12945. mid = (mid + Math.imul(al4, bh3)) | 0;
  12946. mid = (mid + Math.imul(ah4, bl3)) | 0;
  12947. hi = (hi + Math.imul(ah4, bh3)) | 0;
  12948. lo = (lo + Math.imul(al3, bl4)) | 0;
  12949. mid = (mid + Math.imul(al3, bh4)) | 0;
  12950. mid = (mid + Math.imul(ah3, bl4)) | 0;
  12951. hi = (hi + Math.imul(ah3, bh4)) | 0;
  12952. lo = (lo + Math.imul(al2, bl5)) | 0;
  12953. mid = (mid + Math.imul(al2, bh5)) | 0;
  12954. mid = (mid + Math.imul(ah2, bl5)) | 0;
  12955. hi = (hi + Math.imul(ah2, bh5)) | 0;
  12956. lo = (lo + Math.imul(al1, bl6)) | 0;
  12957. mid = (mid + Math.imul(al1, bh6)) | 0;
  12958. mid = (mid + Math.imul(ah1, bl6)) | 0;
  12959. hi = (hi + Math.imul(ah1, bh6)) | 0;
  12960. lo = (lo + Math.imul(al0, bl7)) | 0;
  12961. mid = (mid + Math.imul(al0, bh7)) | 0;
  12962. mid = (mid + Math.imul(ah0, bl7)) | 0;
  12963. hi = (hi + Math.imul(ah0, bh7)) | 0;
  12964. var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  12965. c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;
  12966. w7 &= 0x3ffffff;
  12967. /* k = 8 */
  12968. lo = Math.imul(al8, bl0);
  12969. mid = Math.imul(al8, bh0);
  12970. mid = (mid + Math.imul(ah8, bl0)) | 0;
  12971. hi = Math.imul(ah8, bh0);
  12972. lo = (lo + Math.imul(al7, bl1)) | 0;
  12973. mid = (mid + Math.imul(al7, bh1)) | 0;
  12974. mid = (mid + Math.imul(ah7, bl1)) | 0;
  12975. hi = (hi + Math.imul(ah7, bh1)) | 0;
  12976. lo = (lo + Math.imul(al6, bl2)) | 0;
  12977. mid = (mid + Math.imul(al6, bh2)) | 0;
  12978. mid = (mid + Math.imul(ah6, bl2)) | 0;
  12979. hi = (hi + Math.imul(ah6, bh2)) | 0;
  12980. lo = (lo + Math.imul(al5, bl3)) | 0;
  12981. mid = (mid + Math.imul(al5, bh3)) | 0;
  12982. mid = (mid + Math.imul(ah5, bl3)) | 0;
  12983. hi = (hi + Math.imul(ah5, bh3)) | 0;
  12984. lo = (lo + Math.imul(al4, bl4)) | 0;
  12985. mid = (mid + Math.imul(al4, bh4)) | 0;
  12986. mid = (mid + Math.imul(ah4, bl4)) | 0;
  12987. hi = (hi + Math.imul(ah4, bh4)) | 0;
  12988. lo = (lo + Math.imul(al3, bl5)) | 0;
  12989. mid = (mid + Math.imul(al3, bh5)) | 0;
  12990. mid = (mid + Math.imul(ah3, bl5)) | 0;
  12991. hi = (hi + Math.imul(ah3, bh5)) | 0;
  12992. lo = (lo + Math.imul(al2, bl6)) | 0;
  12993. mid = (mid + Math.imul(al2, bh6)) | 0;
  12994. mid = (mid + Math.imul(ah2, bl6)) | 0;
  12995. hi = (hi + Math.imul(ah2, bh6)) | 0;
  12996. lo = (lo + Math.imul(al1, bl7)) | 0;
  12997. mid = (mid + Math.imul(al1, bh7)) | 0;
  12998. mid = (mid + Math.imul(ah1, bl7)) | 0;
  12999. hi = (hi + Math.imul(ah1, bh7)) | 0;
  13000. lo = (lo + Math.imul(al0, bl8)) | 0;
  13001. mid = (mid + Math.imul(al0, bh8)) | 0;
  13002. mid = (mid + Math.imul(ah0, bl8)) | 0;
  13003. hi = (hi + Math.imul(ah0, bh8)) | 0;
  13004. var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13005. c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;
  13006. w8 &= 0x3ffffff;
  13007. /* k = 9 */
  13008. lo = Math.imul(al9, bl0);
  13009. mid = Math.imul(al9, bh0);
  13010. mid = (mid + Math.imul(ah9, bl0)) | 0;
  13011. hi = Math.imul(ah9, bh0);
  13012. lo = (lo + Math.imul(al8, bl1)) | 0;
  13013. mid = (mid + Math.imul(al8, bh1)) | 0;
  13014. mid = (mid + Math.imul(ah8, bl1)) | 0;
  13015. hi = (hi + Math.imul(ah8, bh1)) | 0;
  13016. lo = (lo + Math.imul(al7, bl2)) | 0;
  13017. mid = (mid + Math.imul(al7, bh2)) | 0;
  13018. mid = (mid + Math.imul(ah7, bl2)) | 0;
  13019. hi = (hi + Math.imul(ah7, bh2)) | 0;
  13020. lo = (lo + Math.imul(al6, bl3)) | 0;
  13021. mid = (mid + Math.imul(al6, bh3)) | 0;
  13022. mid = (mid + Math.imul(ah6, bl3)) | 0;
  13023. hi = (hi + Math.imul(ah6, bh3)) | 0;
  13024. lo = (lo + Math.imul(al5, bl4)) | 0;
  13025. mid = (mid + Math.imul(al5, bh4)) | 0;
  13026. mid = (mid + Math.imul(ah5, bl4)) | 0;
  13027. hi = (hi + Math.imul(ah5, bh4)) | 0;
  13028. lo = (lo + Math.imul(al4, bl5)) | 0;
  13029. mid = (mid + Math.imul(al4, bh5)) | 0;
  13030. mid = (mid + Math.imul(ah4, bl5)) | 0;
  13031. hi = (hi + Math.imul(ah4, bh5)) | 0;
  13032. lo = (lo + Math.imul(al3, bl6)) | 0;
  13033. mid = (mid + Math.imul(al3, bh6)) | 0;
  13034. mid = (mid + Math.imul(ah3, bl6)) | 0;
  13035. hi = (hi + Math.imul(ah3, bh6)) | 0;
  13036. lo = (lo + Math.imul(al2, bl7)) | 0;
  13037. mid = (mid + Math.imul(al2, bh7)) | 0;
  13038. mid = (mid + Math.imul(ah2, bl7)) | 0;
  13039. hi = (hi + Math.imul(ah2, bh7)) | 0;
  13040. lo = (lo + Math.imul(al1, bl8)) | 0;
  13041. mid = (mid + Math.imul(al1, bh8)) | 0;
  13042. mid = (mid + Math.imul(ah1, bl8)) | 0;
  13043. hi = (hi + Math.imul(ah1, bh8)) | 0;
  13044. lo = (lo + Math.imul(al0, bl9)) | 0;
  13045. mid = (mid + Math.imul(al0, bh9)) | 0;
  13046. mid = (mid + Math.imul(ah0, bl9)) | 0;
  13047. hi = (hi + Math.imul(ah0, bh9)) | 0;
  13048. var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13049. c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;
  13050. w9 &= 0x3ffffff;
  13051. /* k = 10 */
  13052. lo = Math.imul(al9, bl1);
  13053. mid = Math.imul(al9, bh1);
  13054. mid = (mid + Math.imul(ah9, bl1)) | 0;
  13055. hi = Math.imul(ah9, bh1);
  13056. lo = (lo + Math.imul(al8, bl2)) | 0;
  13057. mid = (mid + Math.imul(al8, bh2)) | 0;
  13058. mid = (mid + Math.imul(ah8, bl2)) | 0;
  13059. hi = (hi + Math.imul(ah8, bh2)) | 0;
  13060. lo = (lo + Math.imul(al7, bl3)) | 0;
  13061. mid = (mid + Math.imul(al7, bh3)) | 0;
  13062. mid = (mid + Math.imul(ah7, bl3)) | 0;
  13063. hi = (hi + Math.imul(ah7, bh3)) | 0;
  13064. lo = (lo + Math.imul(al6, bl4)) | 0;
  13065. mid = (mid + Math.imul(al6, bh4)) | 0;
  13066. mid = (mid + Math.imul(ah6, bl4)) | 0;
  13067. hi = (hi + Math.imul(ah6, bh4)) | 0;
  13068. lo = (lo + Math.imul(al5, bl5)) | 0;
  13069. mid = (mid + Math.imul(al5, bh5)) | 0;
  13070. mid = (mid + Math.imul(ah5, bl5)) | 0;
  13071. hi = (hi + Math.imul(ah5, bh5)) | 0;
  13072. lo = (lo + Math.imul(al4, bl6)) | 0;
  13073. mid = (mid + Math.imul(al4, bh6)) | 0;
  13074. mid = (mid + Math.imul(ah4, bl6)) | 0;
  13075. hi = (hi + Math.imul(ah4, bh6)) | 0;
  13076. lo = (lo + Math.imul(al3, bl7)) | 0;
  13077. mid = (mid + Math.imul(al3, bh7)) | 0;
  13078. mid = (mid + Math.imul(ah3, bl7)) | 0;
  13079. hi = (hi + Math.imul(ah3, bh7)) | 0;
  13080. lo = (lo + Math.imul(al2, bl8)) | 0;
  13081. mid = (mid + Math.imul(al2, bh8)) | 0;
  13082. mid = (mid + Math.imul(ah2, bl8)) | 0;
  13083. hi = (hi + Math.imul(ah2, bh8)) | 0;
  13084. lo = (lo + Math.imul(al1, bl9)) | 0;
  13085. mid = (mid + Math.imul(al1, bh9)) | 0;
  13086. mid = (mid + Math.imul(ah1, bl9)) | 0;
  13087. hi = (hi + Math.imul(ah1, bh9)) | 0;
  13088. var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13089. c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;
  13090. w10 &= 0x3ffffff;
  13091. /* k = 11 */
  13092. lo = Math.imul(al9, bl2);
  13093. mid = Math.imul(al9, bh2);
  13094. mid = (mid + Math.imul(ah9, bl2)) | 0;
  13095. hi = Math.imul(ah9, bh2);
  13096. lo = (lo + Math.imul(al8, bl3)) | 0;
  13097. mid = (mid + Math.imul(al8, bh3)) | 0;
  13098. mid = (mid + Math.imul(ah8, bl3)) | 0;
  13099. hi = (hi + Math.imul(ah8, bh3)) | 0;
  13100. lo = (lo + Math.imul(al7, bl4)) | 0;
  13101. mid = (mid + Math.imul(al7, bh4)) | 0;
  13102. mid = (mid + Math.imul(ah7, bl4)) | 0;
  13103. hi = (hi + Math.imul(ah7, bh4)) | 0;
  13104. lo = (lo + Math.imul(al6, bl5)) | 0;
  13105. mid = (mid + Math.imul(al6, bh5)) | 0;
  13106. mid = (mid + Math.imul(ah6, bl5)) | 0;
  13107. hi = (hi + Math.imul(ah6, bh5)) | 0;
  13108. lo = (lo + Math.imul(al5, bl6)) | 0;
  13109. mid = (mid + Math.imul(al5, bh6)) | 0;
  13110. mid = (mid + Math.imul(ah5, bl6)) | 0;
  13111. hi = (hi + Math.imul(ah5, bh6)) | 0;
  13112. lo = (lo + Math.imul(al4, bl7)) | 0;
  13113. mid = (mid + Math.imul(al4, bh7)) | 0;
  13114. mid = (mid + Math.imul(ah4, bl7)) | 0;
  13115. hi = (hi + Math.imul(ah4, bh7)) | 0;
  13116. lo = (lo + Math.imul(al3, bl8)) | 0;
  13117. mid = (mid + Math.imul(al3, bh8)) | 0;
  13118. mid = (mid + Math.imul(ah3, bl8)) | 0;
  13119. hi = (hi + Math.imul(ah3, bh8)) | 0;
  13120. lo = (lo + Math.imul(al2, bl9)) | 0;
  13121. mid = (mid + Math.imul(al2, bh9)) | 0;
  13122. mid = (mid + Math.imul(ah2, bl9)) | 0;
  13123. hi = (hi + Math.imul(ah2, bh9)) | 0;
  13124. var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13125. c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;
  13126. w11 &= 0x3ffffff;
  13127. /* k = 12 */
  13128. lo = Math.imul(al9, bl3);
  13129. mid = Math.imul(al9, bh3);
  13130. mid = (mid + Math.imul(ah9, bl3)) | 0;
  13131. hi = Math.imul(ah9, bh3);
  13132. lo = (lo + Math.imul(al8, bl4)) | 0;
  13133. mid = (mid + Math.imul(al8, bh4)) | 0;
  13134. mid = (mid + Math.imul(ah8, bl4)) | 0;
  13135. hi = (hi + Math.imul(ah8, bh4)) | 0;
  13136. lo = (lo + Math.imul(al7, bl5)) | 0;
  13137. mid = (mid + Math.imul(al7, bh5)) | 0;
  13138. mid = (mid + Math.imul(ah7, bl5)) | 0;
  13139. hi = (hi + Math.imul(ah7, bh5)) | 0;
  13140. lo = (lo + Math.imul(al6, bl6)) | 0;
  13141. mid = (mid + Math.imul(al6, bh6)) | 0;
  13142. mid = (mid + Math.imul(ah6, bl6)) | 0;
  13143. hi = (hi + Math.imul(ah6, bh6)) | 0;
  13144. lo = (lo + Math.imul(al5, bl7)) | 0;
  13145. mid = (mid + Math.imul(al5, bh7)) | 0;
  13146. mid = (mid + Math.imul(ah5, bl7)) | 0;
  13147. hi = (hi + Math.imul(ah5, bh7)) | 0;
  13148. lo = (lo + Math.imul(al4, bl8)) | 0;
  13149. mid = (mid + Math.imul(al4, bh8)) | 0;
  13150. mid = (mid + Math.imul(ah4, bl8)) | 0;
  13151. hi = (hi + Math.imul(ah4, bh8)) | 0;
  13152. lo = (lo + Math.imul(al3, bl9)) | 0;
  13153. mid = (mid + Math.imul(al3, bh9)) | 0;
  13154. mid = (mid + Math.imul(ah3, bl9)) | 0;
  13155. hi = (hi + Math.imul(ah3, bh9)) | 0;
  13156. var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13157. c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;
  13158. w12 &= 0x3ffffff;
  13159. /* k = 13 */
  13160. lo = Math.imul(al9, bl4);
  13161. mid = Math.imul(al9, bh4);
  13162. mid = (mid + Math.imul(ah9, bl4)) | 0;
  13163. hi = Math.imul(ah9, bh4);
  13164. lo = (lo + Math.imul(al8, bl5)) | 0;
  13165. mid = (mid + Math.imul(al8, bh5)) | 0;
  13166. mid = (mid + Math.imul(ah8, bl5)) | 0;
  13167. hi = (hi + Math.imul(ah8, bh5)) | 0;
  13168. lo = (lo + Math.imul(al7, bl6)) | 0;
  13169. mid = (mid + Math.imul(al7, bh6)) | 0;
  13170. mid = (mid + Math.imul(ah7, bl6)) | 0;
  13171. hi = (hi + Math.imul(ah7, bh6)) | 0;
  13172. lo = (lo + Math.imul(al6, bl7)) | 0;
  13173. mid = (mid + Math.imul(al6, bh7)) | 0;
  13174. mid = (mid + Math.imul(ah6, bl7)) | 0;
  13175. hi = (hi + Math.imul(ah6, bh7)) | 0;
  13176. lo = (lo + Math.imul(al5, bl8)) | 0;
  13177. mid = (mid + Math.imul(al5, bh8)) | 0;
  13178. mid = (mid + Math.imul(ah5, bl8)) | 0;
  13179. hi = (hi + Math.imul(ah5, bh8)) | 0;
  13180. lo = (lo + Math.imul(al4, bl9)) | 0;
  13181. mid = (mid + Math.imul(al4, bh9)) | 0;
  13182. mid = (mid + Math.imul(ah4, bl9)) | 0;
  13183. hi = (hi + Math.imul(ah4, bh9)) | 0;
  13184. var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13185. c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;
  13186. w13 &= 0x3ffffff;
  13187. /* k = 14 */
  13188. lo = Math.imul(al9, bl5);
  13189. mid = Math.imul(al9, bh5);
  13190. mid = (mid + Math.imul(ah9, bl5)) | 0;
  13191. hi = Math.imul(ah9, bh5);
  13192. lo = (lo + Math.imul(al8, bl6)) | 0;
  13193. mid = (mid + Math.imul(al8, bh6)) | 0;
  13194. mid = (mid + Math.imul(ah8, bl6)) | 0;
  13195. hi = (hi + Math.imul(ah8, bh6)) | 0;
  13196. lo = (lo + Math.imul(al7, bl7)) | 0;
  13197. mid = (mid + Math.imul(al7, bh7)) | 0;
  13198. mid = (mid + Math.imul(ah7, bl7)) | 0;
  13199. hi = (hi + Math.imul(ah7, bh7)) | 0;
  13200. lo = (lo + Math.imul(al6, bl8)) | 0;
  13201. mid = (mid + Math.imul(al6, bh8)) | 0;
  13202. mid = (mid + Math.imul(ah6, bl8)) | 0;
  13203. hi = (hi + Math.imul(ah6, bh8)) | 0;
  13204. lo = (lo + Math.imul(al5, bl9)) | 0;
  13205. mid = (mid + Math.imul(al5, bh9)) | 0;
  13206. mid = (mid + Math.imul(ah5, bl9)) | 0;
  13207. hi = (hi + Math.imul(ah5, bh9)) | 0;
  13208. var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13209. c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;
  13210. w14 &= 0x3ffffff;
  13211. /* k = 15 */
  13212. lo = Math.imul(al9, bl6);
  13213. mid = Math.imul(al9, bh6);
  13214. mid = (mid + Math.imul(ah9, bl6)) | 0;
  13215. hi = Math.imul(ah9, bh6);
  13216. lo = (lo + Math.imul(al8, bl7)) | 0;
  13217. mid = (mid + Math.imul(al8, bh7)) | 0;
  13218. mid = (mid + Math.imul(ah8, bl7)) | 0;
  13219. hi = (hi + Math.imul(ah8, bh7)) | 0;
  13220. lo = (lo + Math.imul(al7, bl8)) | 0;
  13221. mid = (mid + Math.imul(al7, bh8)) | 0;
  13222. mid = (mid + Math.imul(ah7, bl8)) | 0;
  13223. hi = (hi + Math.imul(ah7, bh8)) | 0;
  13224. lo = (lo + Math.imul(al6, bl9)) | 0;
  13225. mid = (mid + Math.imul(al6, bh9)) | 0;
  13226. mid = (mid + Math.imul(ah6, bl9)) | 0;
  13227. hi = (hi + Math.imul(ah6, bh9)) | 0;
  13228. var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13229. c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;
  13230. w15 &= 0x3ffffff;
  13231. /* k = 16 */
  13232. lo = Math.imul(al9, bl7);
  13233. mid = Math.imul(al9, bh7);
  13234. mid = (mid + Math.imul(ah9, bl7)) | 0;
  13235. hi = Math.imul(ah9, bh7);
  13236. lo = (lo + Math.imul(al8, bl8)) | 0;
  13237. mid = (mid + Math.imul(al8, bh8)) | 0;
  13238. mid = (mid + Math.imul(ah8, bl8)) | 0;
  13239. hi = (hi + Math.imul(ah8, bh8)) | 0;
  13240. lo = (lo + Math.imul(al7, bl9)) | 0;
  13241. mid = (mid + Math.imul(al7, bh9)) | 0;
  13242. mid = (mid + Math.imul(ah7, bl9)) | 0;
  13243. hi = (hi + Math.imul(ah7, bh9)) | 0;
  13244. var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13245. c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;
  13246. w16 &= 0x3ffffff;
  13247. /* k = 17 */
  13248. lo = Math.imul(al9, bl8);
  13249. mid = Math.imul(al9, bh8);
  13250. mid = (mid + Math.imul(ah9, bl8)) | 0;
  13251. hi = Math.imul(ah9, bh8);
  13252. lo = (lo + Math.imul(al8, bl9)) | 0;
  13253. mid = (mid + Math.imul(al8, bh9)) | 0;
  13254. mid = (mid + Math.imul(ah8, bl9)) | 0;
  13255. hi = (hi + Math.imul(ah8, bh9)) | 0;
  13256. var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13257. c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;
  13258. w17 &= 0x3ffffff;
  13259. /* k = 18 */
  13260. lo = Math.imul(al9, bl9);
  13261. mid = Math.imul(al9, bh9);
  13262. mid = (mid + Math.imul(ah9, bl9)) | 0;
  13263. hi = Math.imul(ah9, bh9);
  13264. var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;
  13265. c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;
  13266. w18 &= 0x3ffffff;
  13267. o[0] = w0;
  13268. o[1] = w1;
  13269. o[2] = w2;
  13270. o[3] = w3;
  13271. o[4] = w4;
  13272. o[5] = w5;
  13273. o[6] = w6;
  13274. o[7] = w7;
  13275. o[8] = w8;
  13276. o[9] = w9;
  13277. o[10] = w10;
  13278. o[11] = w11;
  13279. o[12] = w12;
  13280. o[13] = w13;
  13281. o[14] = w14;
  13282. o[15] = w15;
  13283. o[16] = w16;
  13284. o[17] = w17;
  13285. o[18] = w18;
  13286. if (c !== 0) {
  13287. o[19] = c;
  13288. out.length++;
  13289. }
  13290. return out;
  13291. };
  13292. // Polyfill comb
  13293. if (!Math.imul) {
  13294. comb10MulTo = smallMulTo;
  13295. }
  13296. function bigMulTo (self, num, out) {
  13297. out.negative = num.negative ^ self.negative;
  13298. out.length = self.length + num.length;
  13299. var carry = 0;
  13300. var hncarry = 0;
  13301. for (var k = 0; k < out.length - 1; k++) {
  13302. // Sum all words with the same `i + j = k` and accumulate `ncarry`,
  13303. // note that ncarry could be >= 0x3ffffff
  13304. var ncarry = hncarry;
  13305. hncarry = 0;
  13306. var rword = carry & 0x3ffffff;
  13307. var maxJ = Math.min(k, num.length - 1);
  13308. for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {
  13309. var i = k - j;
  13310. var a = self.words[i] | 0;
  13311. var b = num.words[j] | 0;
  13312. var r = a * b;
  13313. var lo = r & 0x3ffffff;
  13314. ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;
  13315. lo = (lo + rword) | 0;
  13316. rword = lo & 0x3ffffff;
  13317. ncarry = (ncarry + (lo >>> 26)) | 0;
  13318. hncarry += ncarry >>> 26;
  13319. ncarry &= 0x3ffffff;
  13320. }
  13321. out.words[k] = rword;
  13322. carry = ncarry;
  13323. ncarry = hncarry;
  13324. }
  13325. if (carry !== 0) {
  13326. out.words[k] = carry;
  13327. } else {
  13328. out.length--;
  13329. }
  13330. return out._strip();
  13331. }
  13332. function jumboMulTo (self, num, out) {
  13333. // Temporary disable, see https://github.com/indutny/bn.js/issues/211
  13334. // var fftm = new FFTM();
  13335. // return fftm.mulp(self, num, out);
  13336. return bigMulTo(self, num, out);
  13337. }
  13338. BN.prototype.mulTo = function mulTo (num, out) {
  13339. var res;
  13340. var len = this.length + num.length;
  13341. if (this.length === 10 && num.length === 10) {
  13342. res = comb10MulTo(this, num, out);
  13343. } else if (len < 63) {
  13344. res = smallMulTo(this, num, out);
  13345. } else if (len < 1024) {
  13346. res = bigMulTo(this, num, out);
  13347. } else {
  13348. res = jumboMulTo(this, num, out);
  13349. }
  13350. return res;
  13351. };
  13352. // Cooley-Tukey algorithm for FFT
  13353. // slightly revisited to rely on looping instead of recursion
  13354. function FFTM (x, y) {
  13355. this.x = x;
  13356. this.y = y;
  13357. }
  13358. FFTM.prototype.makeRBT = function makeRBT (N) {
  13359. var t = new Array(N);
  13360. var l = BN.prototype._countBits(N) - 1;
  13361. for (var i = 0; i < N; i++) {
  13362. t[i] = this.revBin(i, l, N);
  13363. }
  13364. return t;
  13365. };
  13366. // Returns binary-reversed representation of `x`
  13367. FFTM.prototype.revBin = function revBin (x, l, N) {
  13368. if (x === 0 || x === N - 1) return x;
  13369. var rb = 0;
  13370. for (var i = 0; i < l; i++) {
  13371. rb |= (x & 1) << (l - i - 1);
  13372. x >>= 1;
  13373. }
  13374. return rb;
  13375. };
  13376. // Performs "tweedling" phase, therefore 'emulating'
  13377. // behaviour of the recursive algorithm
  13378. FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {
  13379. for (var i = 0; i < N; i++) {
  13380. rtws[i] = rws[rbt[i]];
  13381. itws[i] = iws[rbt[i]];
  13382. }
  13383. };
  13384. FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {
  13385. this.permute(rbt, rws, iws, rtws, itws, N);
  13386. for (var s = 1; s < N; s <<= 1) {
  13387. var l = s << 1;
  13388. var rtwdf = Math.cos(2 * Math.PI / l);
  13389. var itwdf = Math.sin(2 * Math.PI / l);
  13390. for (var p = 0; p < N; p += l) {
  13391. var rtwdf_ = rtwdf;
  13392. var itwdf_ = itwdf;
  13393. for (var j = 0; j < s; j++) {
  13394. var re = rtws[p + j];
  13395. var ie = itws[p + j];
  13396. var ro = rtws[p + j + s];
  13397. var io = itws[p + j + s];
  13398. var rx = rtwdf_ * ro - itwdf_ * io;
  13399. io = rtwdf_ * io + itwdf_ * ro;
  13400. ro = rx;
  13401. rtws[p + j] = re + ro;
  13402. itws[p + j] = ie + io;
  13403. rtws[p + j + s] = re - ro;
  13404. itws[p + j + s] = ie - io;
  13405. /* jshint maxdepth : false */
  13406. if (j !== l) {
  13407. rx = rtwdf * rtwdf_ - itwdf * itwdf_;
  13408. itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;
  13409. rtwdf_ = rx;
  13410. }
  13411. }
  13412. }
  13413. }
  13414. };
  13415. FFTM.prototype.guessLen13b = function guessLen13b (n, m) {
  13416. var N = Math.max(m, n) | 1;
  13417. var odd = N & 1;
  13418. var i = 0;
  13419. for (N = N / 2 | 0; N; N = N >>> 1) {
  13420. i++;
  13421. }
  13422. return 1 << i + 1 + odd;
  13423. };
  13424. FFTM.prototype.conjugate = function conjugate (rws, iws, N) {
  13425. if (N <= 1) return;
  13426. for (var i = 0; i < N / 2; i++) {
  13427. var t = rws[i];
  13428. rws[i] = rws[N - i - 1];
  13429. rws[N - i - 1] = t;
  13430. t = iws[i];
  13431. iws[i] = -iws[N - i - 1];
  13432. iws[N - i - 1] = -t;
  13433. }
  13434. };
  13435. FFTM.prototype.normalize13b = function normalize13b (ws, N) {
  13436. var carry = 0;
  13437. for (var i = 0; i < N / 2; i++) {
  13438. var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +
  13439. Math.round(ws[2 * i] / N) +
  13440. carry;
  13441. ws[i] = w & 0x3ffffff;
  13442. if (w < 0x4000000) {
  13443. carry = 0;
  13444. } else {
  13445. carry = w / 0x4000000 | 0;
  13446. }
  13447. }
  13448. return ws;
  13449. };
  13450. FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {
  13451. var carry = 0;
  13452. for (var i = 0; i < len; i++) {
  13453. carry = carry + (ws[i] | 0);
  13454. rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;
  13455. rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;
  13456. }
  13457. // Pad with zeroes
  13458. for (i = 2 * len; i < N; ++i) {
  13459. rws[i] = 0;
  13460. }
  13461. assert(carry === 0);
  13462. assert((carry & ~0x1fff) === 0);
  13463. };
  13464. FFTM.prototype.stub = function stub (N) {
  13465. var ph = new Array(N);
  13466. for (var i = 0; i < N; i++) {
  13467. ph[i] = 0;
  13468. }
  13469. return ph;
  13470. };
  13471. FFTM.prototype.mulp = function mulp (x, y, out) {
  13472. var N = 2 * this.guessLen13b(x.length, y.length);
  13473. var rbt = this.makeRBT(N);
  13474. var _ = this.stub(N);
  13475. var rws = new Array(N);
  13476. var rwst = new Array(N);
  13477. var iwst = new Array(N);
  13478. var nrws = new Array(N);
  13479. var nrwst = new Array(N);
  13480. var niwst = new Array(N);
  13481. var rmws = out.words;
  13482. rmws.length = N;
  13483. this.convert13b(x.words, x.length, rws, N);
  13484. this.convert13b(y.words, y.length, nrws, N);
  13485. this.transform(rws, _, rwst, iwst, N, rbt);
  13486. this.transform(nrws, _, nrwst, niwst, N, rbt);
  13487. for (var i = 0; i < N; i++) {
  13488. var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];
  13489. iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];
  13490. rwst[i] = rx;
  13491. }
  13492. this.conjugate(rwst, iwst, N);
  13493. this.transform(rwst, iwst, rmws, _, N, rbt);
  13494. this.conjugate(rmws, _, N);
  13495. this.normalize13b(rmws, N);
  13496. out.negative = x.negative ^ y.negative;
  13497. out.length = x.length + y.length;
  13498. return out._strip();
  13499. };
  13500. // Multiply `this` by `num`
  13501. BN.prototype.mul = function mul (num) {
  13502. var out = new BN(null);
  13503. out.words = new Array(this.length + num.length);
  13504. return this.mulTo(num, out);
  13505. };
  13506. // Multiply employing FFT
  13507. BN.prototype.mulf = function mulf (num) {
  13508. var out = new BN(null);
  13509. out.words = new Array(this.length + num.length);
  13510. return jumboMulTo(this, num, out);
  13511. };
  13512. // In-place Multiplication
  13513. BN.prototype.imul = function imul (num) {
  13514. return this.clone().mulTo(num, this);
  13515. };
  13516. BN.prototype.imuln = function imuln (num) {
  13517. var isNegNum = num < 0;
  13518. if (isNegNum) num = -num;
  13519. assert(typeof num === 'number');
  13520. assert(num < 0x4000000);
  13521. // Carry
  13522. var carry = 0;
  13523. for (var i = 0; i < this.length; i++) {
  13524. var w = (this.words[i] | 0) * num;
  13525. var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);
  13526. carry >>= 26;
  13527. carry += (w / 0x4000000) | 0;
  13528. // NOTE: lo is 27bit maximum
  13529. carry += lo >>> 26;
  13530. this.words[i] = lo & 0x3ffffff;
  13531. }
  13532. if (carry !== 0) {
  13533. this.words[i] = carry;
  13534. this.length++;
  13535. }
  13536. return isNegNum ? this.ineg() : this;
  13537. };
  13538. BN.prototype.muln = function muln (num) {
  13539. return this.clone().imuln(num);
  13540. };
  13541. // `this` * `this`
  13542. BN.prototype.sqr = function sqr () {
  13543. return this.mul(this);
  13544. };
  13545. // `this` * `this` in-place
  13546. BN.prototype.isqr = function isqr () {
  13547. return this.imul(this.clone());
  13548. };
  13549. // Math.pow(`this`, `num`)
  13550. BN.prototype.pow = function pow (num) {
  13551. var w = toBitArray(num);
  13552. if (w.length === 0) return new BN(1);
  13553. // Skip leading zeroes
  13554. var res = this;
  13555. for (var i = 0; i < w.length; i++, res = res.sqr()) {
  13556. if (w[i] !== 0) break;
  13557. }
  13558. if (++i < w.length) {
  13559. for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {
  13560. if (w[i] === 0) continue;
  13561. res = res.mul(q);
  13562. }
  13563. }
  13564. return res;
  13565. };
  13566. // Shift-left in-place
  13567. BN.prototype.iushln = function iushln (bits) {
  13568. assert(typeof bits === 'number' && bits >= 0);
  13569. var r = bits % 26;
  13570. var s = (bits - r) / 26;
  13571. var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);
  13572. var i;
  13573. if (r !== 0) {
  13574. var carry = 0;
  13575. for (i = 0; i < this.length; i++) {
  13576. var newCarry = this.words[i] & carryMask;
  13577. var c = ((this.words[i] | 0) - newCarry) << r;
  13578. this.words[i] = c | carry;
  13579. carry = newCarry >>> (26 - r);
  13580. }
  13581. if (carry) {
  13582. this.words[i] = carry;
  13583. this.length++;
  13584. }
  13585. }
  13586. if (s !== 0) {
  13587. for (i = this.length - 1; i >= 0; i--) {
  13588. this.words[i + s] = this.words[i];
  13589. }
  13590. for (i = 0; i < s; i++) {
  13591. this.words[i] = 0;
  13592. }
  13593. this.length += s;
  13594. }
  13595. return this._strip();
  13596. };
  13597. BN.prototype.ishln = function ishln (bits) {
  13598. // TODO(indutny): implement me
  13599. assert(this.negative === 0);
  13600. return this.iushln(bits);
  13601. };
  13602. // Shift-right in-place
  13603. // NOTE: `hint` is a lowest bit before trailing zeroes
  13604. // NOTE: if `extended` is present - it will be filled with destroyed bits
  13605. BN.prototype.iushrn = function iushrn (bits, hint, extended) {
  13606. assert(typeof bits === 'number' && bits >= 0);
  13607. var h;
  13608. if (hint) {
  13609. h = (hint - (hint % 26)) / 26;
  13610. } else {
  13611. h = 0;
  13612. }
  13613. var r = bits % 26;
  13614. var s = Math.min((bits - r) / 26, this.length);
  13615. var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
  13616. var maskedWords = extended;
  13617. h -= s;
  13618. h = Math.max(0, h);
  13619. // Extended mode, copy masked part
  13620. if (maskedWords) {
  13621. for (var i = 0; i < s; i++) {
  13622. maskedWords.words[i] = this.words[i];
  13623. }
  13624. maskedWords.length = s;
  13625. }
  13626. if (s === 0) {
  13627. // No-op, we should not move anything at all
  13628. } else if (this.length > s) {
  13629. this.length -= s;
  13630. for (i = 0; i < this.length; i++) {
  13631. this.words[i] = this.words[i + s];
  13632. }
  13633. } else {
  13634. this.words[0] = 0;
  13635. this.length = 1;
  13636. }
  13637. var carry = 0;
  13638. for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {
  13639. var word = this.words[i] | 0;
  13640. this.words[i] = (carry << (26 - r)) | (word >>> r);
  13641. carry = word & mask;
  13642. }
  13643. // Push carried bits as a mask
  13644. if (maskedWords && carry !== 0) {
  13645. maskedWords.words[maskedWords.length++] = carry;
  13646. }
  13647. if (this.length === 0) {
  13648. this.words[0] = 0;
  13649. this.length = 1;
  13650. }
  13651. return this._strip();
  13652. };
  13653. BN.prototype.ishrn = function ishrn (bits, hint, extended) {
  13654. // TODO(indutny): implement me
  13655. assert(this.negative === 0);
  13656. return this.iushrn(bits, hint, extended);
  13657. };
  13658. // Shift-left
  13659. BN.prototype.shln = function shln (bits) {
  13660. return this.clone().ishln(bits);
  13661. };
  13662. BN.prototype.ushln = function ushln (bits) {
  13663. return this.clone().iushln(bits);
  13664. };
  13665. // Shift-right
  13666. BN.prototype.shrn = function shrn (bits) {
  13667. return this.clone().ishrn(bits);
  13668. };
  13669. BN.prototype.ushrn = function ushrn (bits) {
  13670. return this.clone().iushrn(bits);
  13671. };
  13672. // Test if n bit is set
  13673. BN.prototype.testn = function testn (bit) {
  13674. assert(typeof bit === 'number' && bit >= 0);
  13675. var r = bit % 26;
  13676. var s = (bit - r) / 26;
  13677. var q = 1 << r;
  13678. // Fast case: bit is much higher than all existing words
  13679. if (this.length <= s) return false;
  13680. // Check bit and return
  13681. var w = this.words[s];
  13682. return !!(w & q);
  13683. };
  13684. // Return only lowers bits of number (in-place)
  13685. BN.prototype.imaskn = function imaskn (bits) {
  13686. assert(typeof bits === 'number' && bits >= 0);
  13687. var r = bits % 26;
  13688. var s = (bits - r) / 26;
  13689. assert(this.negative === 0, 'imaskn works only with positive numbers');
  13690. if (this.length <= s) {
  13691. return this;
  13692. }
  13693. if (r !== 0) {
  13694. s++;
  13695. }
  13696. this.length = Math.min(s, this.length);
  13697. if (r !== 0) {
  13698. var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);
  13699. this.words[this.length - 1] &= mask;
  13700. }
  13701. return this._strip();
  13702. };
  13703. // Return only lowers bits of number
  13704. BN.prototype.maskn = function maskn (bits) {
  13705. return this.clone().imaskn(bits);
  13706. };
  13707. // Add plain number `num` to `this`
  13708. BN.prototype.iaddn = function iaddn (num) {
  13709. assert(typeof num === 'number');
  13710. assert(num < 0x4000000);
  13711. if (num < 0) return this.isubn(-num);
  13712. // Possible sign change
  13713. if (this.negative !== 0) {
  13714. if (this.length === 1 && (this.words[0] | 0) <= num) {
  13715. this.words[0] = num - (this.words[0] | 0);
  13716. this.negative = 0;
  13717. return this;
  13718. }
  13719. this.negative = 0;
  13720. this.isubn(num);
  13721. this.negative = 1;
  13722. return this;
  13723. }
  13724. // Add without checks
  13725. return this._iaddn(num);
  13726. };
  13727. BN.prototype._iaddn = function _iaddn (num) {
  13728. this.words[0] += num;
  13729. // Carry
  13730. for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {
  13731. this.words[i] -= 0x4000000;
  13732. if (i === this.length - 1) {
  13733. this.words[i + 1] = 1;
  13734. } else {
  13735. this.words[i + 1]++;
  13736. }
  13737. }
  13738. this.length = Math.max(this.length, i + 1);
  13739. return this;
  13740. };
  13741. // Subtract plain number `num` from `this`
  13742. BN.prototype.isubn = function isubn (num) {
  13743. assert(typeof num === 'number');
  13744. assert(num < 0x4000000);
  13745. if (num < 0) return this.iaddn(-num);
  13746. if (this.negative !== 0) {
  13747. this.negative = 0;
  13748. this.iaddn(num);
  13749. this.negative = 1;
  13750. return this;
  13751. }
  13752. this.words[0] -= num;
  13753. if (this.length === 1 && this.words[0] < 0) {
  13754. this.words[0] = -this.words[0];
  13755. this.negative = 1;
  13756. } else {
  13757. // Carry
  13758. for (var i = 0; i < this.length && this.words[i] < 0; i++) {
  13759. this.words[i] += 0x4000000;
  13760. this.words[i + 1] -= 1;
  13761. }
  13762. }
  13763. return this._strip();
  13764. };
  13765. BN.prototype.addn = function addn (num) {
  13766. return this.clone().iaddn(num);
  13767. };
  13768. BN.prototype.subn = function subn (num) {
  13769. return this.clone().isubn(num);
  13770. };
  13771. BN.prototype.iabs = function iabs () {
  13772. this.negative = 0;
  13773. return this;
  13774. };
  13775. BN.prototype.abs = function abs () {
  13776. return this.clone().iabs();
  13777. };
  13778. BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {
  13779. var len = num.length + shift;
  13780. var i;
  13781. this._expand(len);
  13782. var w;
  13783. var carry = 0;
  13784. for (i = 0; i < num.length; i++) {
  13785. w = (this.words[i + shift] | 0) + carry;
  13786. var right = (num.words[i] | 0) * mul;
  13787. w -= right & 0x3ffffff;
  13788. carry = (w >> 26) - ((right / 0x4000000) | 0);
  13789. this.words[i + shift] = w & 0x3ffffff;
  13790. }
  13791. for (; i < this.length - shift; i++) {
  13792. w = (this.words[i + shift] | 0) + carry;
  13793. carry = w >> 26;
  13794. this.words[i + shift] = w & 0x3ffffff;
  13795. }
  13796. if (carry === 0) return this._strip();
  13797. // Subtraction overflow
  13798. assert(carry === -1);
  13799. carry = 0;
  13800. for (i = 0; i < this.length; i++) {
  13801. w = -(this.words[i] | 0) + carry;
  13802. carry = w >> 26;
  13803. this.words[i] = w & 0x3ffffff;
  13804. }
  13805. this.negative = 1;
  13806. return this._strip();
  13807. };
  13808. BN.prototype._wordDiv = function _wordDiv (num, mode) {
  13809. var shift = this.length - num.length;
  13810. var a = this.clone();
  13811. var b = num;
  13812. // Normalize
  13813. var bhi = b.words[b.length - 1] | 0;
  13814. var bhiBits = this._countBits(bhi);
  13815. shift = 26 - bhiBits;
  13816. if (shift !== 0) {
  13817. b = b.ushln(shift);
  13818. a.iushln(shift);
  13819. bhi = b.words[b.length - 1] | 0;
  13820. }
  13821. // Initialize quotient
  13822. var m = a.length - b.length;
  13823. var q;
  13824. if (mode !== 'mod') {
  13825. q = new BN(null);
  13826. q.length = m + 1;
  13827. q.words = new Array(q.length);
  13828. for (var i = 0; i < q.length; i++) {
  13829. q.words[i] = 0;
  13830. }
  13831. }
  13832. var diff = a.clone()._ishlnsubmul(b, 1, m);
  13833. if (diff.negative === 0) {
  13834. a = diff;
  13835. if (q) {
  13836. q.words[m] = 1;
  13837. }
  13838. }
  13839. for (var j = m - 1; j >= 0; j--) {
  13840. var qj = (a.words[b.length + j] | 0) * 0x4000000 +
  13841. (a.words[b.length + j - 1] | 0);
  13842. // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max
  13843. // (0x7ffffff)
  13844. qj = Math.min((qj / bhi) | 0, 0x3ffffff);
  13845. a._ishlnsubmul(b, qj, j);
  13846. while (a.negative !== 0) {
  13847. qj--;
  13848. a.negative = 0;
  13849. a._ishlnsubmul(b, 1, j);
  13850. if (!a.isZero()) {
  13851. a.negative ^= 1;
  13852. }
  13853. }
  13854. if (q) {
  13855. q.words[j] = qj;
  13856. }
  13857. }
  13858. if (q) {
  13859. q._strip();
  13860. }
  13861. a._strip();
  13862. // Denormalize
  13863. if (mode !== 'div' && shift !== 0) {
  13864. a.iushrn(shift);
  13865. }
  13866. return {
  13867. div: q || null,
  13868. mod: a
  13869. };
  13870. };
  13871. // NOTE: 1) `mode` can be set to `mod` to request mod only,
  13872. // to `div` to request div only, or be absent to
  13873. // request both div & mod
  13874. // 2) `positive` is true if unsigned mod is requested
  13875. BN.prototype.divmod = function divmod (num, mode, positive) {
  13876. assert(!num.isZero());
  13877. if (this.isZero()) {
  13878. return {
  13879. div: new BN(0),
  13880. mod: new BN(0)
  13881. };
  13882. }
  13883. var div, mod, res;
  13884. if (this.negative !== 0 && num.negative === 0) {
  13885. res = this.neg().divmod(num, mode);
  13886. if (mode !== 'mod') {
  13887. div = res.div.neg();
  13888. }
  13889. if (mode !== 'div') {
  13890. mod = res.mod.neg();
  13891. if (positive && mod.negative !== 0) {
  13892. mod.iadd(num);
  13893. }
  13894. }
  13895. return {
  13896. div: div,
  13897. mod: mod
  13898. };
  13899. }
  13900. if (this.negative === 0 && num.negative !== 0) {
  13901. res = this.divmod(num.neg(), mode);
  13902. if (mode !== 'mod') {
  13903. div = res.div.neg();
  13904. }
  13905. return {
  13906. div: div,
  13907. mod: res.mod
  13908. };
  13909. }
  13910. if ((this.negative & num.negative) !== 0) {
  13911. res = this.neg().divmod(num.neg(), mode);
  13912. if (mode !== 'div') {
  13913. mod = res.mod.neg();
  13914. if (positive && mod.negative !== 0) {
  13915. mod.isub(num);
  13916. }
  13917. }
  13918. return {
  13919. div: res.div,
  13920. mod: mod
  13921. };
  13922. }
  13923. // Both numbers are positive at this point
  13924. // Strip both numbers to approximate shift value
  13925. if (num.length > this.length || this.cmp(num) < 0) {
  13926. return {
  13927. div: new BN(0),
  13928. mod: this
  13929. };
  13930. }
  13931. // Very short reduction
  13932. if (num.length === 1) {
  13933. if (mode === 'div') {
  13934. return {
  13935. div: this.divn(num.words[0]),
  13936. mod: null
  13937. };
  13938. }
  13939. if (mode === 'mod') {
  13940. return {
  13941. div: null,
  13942. mod: new BN(this.modrn(num.words[0]))
  13943. };
  13944. }
  13945. return {
  13946. div: this.divn(num.words[0]),
  13947. mod: new BN(this.modrn(num.words[0]))
  13948. };
  13949. }
  13950. return this._wordDiv(num, mode);
  13951. };
  13952. // Find `this` / `num`
  13953. BN.prototype.div = function div (num) {
  13954. return this.divmod(num, 'div', false).div;
  13955. };
  13956. // Find `this` % `num`
  13957. BN.prototype.mod = function mod (num) {
  13958. return this.divmod(num, 'mod', false).mod;
  13959. };
  13960. BN.prototype.umod = function umod (num) {
  13961. return this.divmod(num, 'mod', true).mod;
  13962. };
  13963. // Find Round(`this` / `num`)
  13964. BN.prototype.divRound = function divRound (num) {
  13965. var dm = this.divmod(num);
  13966. // Fast case - exact division
  13967. if (dm.mod.isZero()) return dm.div;
  13968. var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;
  13969. var half = num.ushrn(1);
  13970. var r2 = num.andln(1);
  13971. var cmp = mod.cmp(half);
  13972. // Round down
  13973. if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;
  13974. // Round up
  13975. return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);
  13976. };
  13977. BN.prototype.modrn = function modrn (num) {
  13978. var isNegNum = num < 0;
  13979. if (isNegNum) num = -num;
  13980. assert(num <= 0x3ffffff);
  13981. var p = (1 << 26) % num;
  13982. var acc = 0;
  13983. for (var i = this.length - 1; i >= 0; i--) {
  13984. acc = (p * acc + (this.words[i] | 0)) % num;
  13985. }
  13986. return isNegNum ? -acc : acc;
  13987. };
  13988. // WARNING: DEPRECATED
  13989. BN.prototype.modn = function modn (num) {
  13990. return this.modrn(num);
  13991. };
  13992. // In-place division by number
  13993. BN.prototype.idivn = function idivn (num) {
  13994. var isNegNum = num < 0;
  13995. if (isNegNum) num = -num;
  13996. assert(num <= 0x3ffffff);
  13997. var carry = 0;
  13998. for (var i = this.length - 1; i >= 0; i--) {
  13999. var w = (this.words[i] | 0) + carry * 0x4000000;
  14000. this.words[i] = (w / num) | 0;
  14001. carry = w % num;
  14002. }
  14003. this._strip();
  14004. return isNegNum ? this.ineg() : this;
  14005. };
  14006. BN.prototype.divn = function divn (num) {
  14007. return this.clone().idivn(num);
  14008. };
  14009. BN.prototype.egcd = function egcd (p) {
  14010. assert(p.negative === 0);
  14011. assert(!p.isZero());
  14012. var x = this;
  14013. var y = p.clone();
  14014. if (x.negative !== 0) {
  14015. x = x.umod(p);
  14016. } else {
  14017. x = x.clone();
  14018. }
  14019. // A * x + B * y = x
  14020. var A = new BN(1);
  14021. var B = new BN(0);
  14022. // C * x + D * y = y
  14023. var C = new BN(0);
  14024. var D = new BN(1);
  14025. var g = 0;
  14026. while (x.isEven() && y.isEven()) {
  14027. x.iushrn(1);
  14028. y.iushrn(1);
  14029. ++g;
  14030. }
  14031. var yp = y.clone();
  14032. var xp = x.clone();
  14033. while (!x.isZero()) {
  14034. for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);
  14035. if (i > 0) {
  14036. x.iushrn(i);
  14037. while (i-- > 0) {
  14038. if (A.isOdd() || B.isOdd()) {
  14039. A.iadd(yp);
  14040. B.isub(xp);
  14041. }
  14042. A.iushrn(1);
  14043. B.iushrn(1);
  14044. }
  14045. }
  14046. for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);
  14047. if (j > 0) {
  14048. y.iushrn(j);
  14049. while (j-- > 0) {
  14050. if (C.isOdd() || D.isOdd()) {
  14051. C.iadd(yp);
  14052. D.isub(xp);
  14053. }
  14054. C.iushrn(1);
  14055. D.iushrn(1);
  14056. }
  14057. }
  14058. if (x.cmp(y) >= 0) {
  14059. x.isub(y);
  14060. A.isub(C);
  14061. B.isub(D);
  14062. } else {
  14063. y.isub(x);
  14064. C.isub(A);
  14065. D.isub(B);
  14066. }
  14067. }
  14068. return {
  14069. a: C,
  14070. b: D,
  14071. gcd: y.iushln(g)
  14072. };
  14073. };
  14074. // This is reduced incarnation of the binary EEA
  14075. // above, designated to invert members of the
  14076. // _prime_ fields F(p) at a maximal speed
  14077. BN.prototype._invmp = function _invmp (p) {
  14078. assert(p.negative === 0);
  14079. assert(!p.isZero());
  14080. var a = this;
  14081. var b = p.clone();
  14082. if (a.negative !== 0) {
  14083. a = a.umod(p);
  14084. } else {
  14085. a = a.clone();
  14086. }
  14087. var x1 = new BN(1);
  14088. var x2 = new BN(0);
  14089. var delta = b.clone();
  14090. while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {
  14091. for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);
  14092. if (i > 0) {
  14093. a.iushrn(i);
  14094. while (i-- > 0) {
  14095. if (x1.isOdd()) {
  14096. x1.iadd(delta);
  14097. }
  14098. x1.iushrn(1);
  14099. }
  14100. }
  14101. for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);
  14102. if (j > 0) {
  14103. b.iushrn(j);
  14104. while (j-- > 0) {
  14105. if (x2.isOdd()) {
  14106. x2.iadd(delta);
  14107. }
  14108. x2.iushrn(1);
  14109. }
  14110. }
  14111. if (a.cmp(b) >= 0) {
  14112. a.isub(b);
  14113. x1.isub(x2);
  14114. } else {
  14115. b.isub(a);
  14116. x2.isub(x1);
  14117. }
  14118. }
  14119. var res;
  14120. if (a.cmpn(1) === 0) {
  14121. res = x1;
  14122. } else {
  14123. res = x2;
  14124. }
  14125. if (res.cmpn(0) < 0) {
  14126. res.iadd(p);
  14127. }
  14128. return res;
  14129. };
  14130. BN.prototype.gcd = function gcd (num) {
  14131. if (this.isZero()) return num.abs();
  14132. if (num.isZero()) return this.abs();
  14133. var a = this.clone();
  14134. var b = num.clone();
  14135. a.negative = 0;
  14136. b.negative = 0;
  14137. // Remove common factor of two
  14138. for (var shift = 0; a.isEven() && b.isEven(); shift++) {
  14139. a.iushrn(1);
  14140. b.iushrn(1);
  14141. }
  14142. do {
  14143. while (a.isEven()) {
  14144. a.iushrn(1);
  14145. }
  14146. while (b.isEven()) {
  14147. b.iushrn(1);
  14148. }
  14149. var r = a.cmp(b);
  14150. if (r < 0) {
  14151. // Swap `a` and `b` to make `a` always bigger than `b`
  14152. var t = a;
  14153. a = b;
  14154. b = t;
  14155. } else if (r === 0 || b.cmpn(1) === 0) {
  14156. break;
  14157. }
  14158. a.isub(b);
  14159. } while (true);
  14160. return b.iushln(shift);
  14161. };
  14162. // Invert number in the field F(num)
  14163. BN.prototype.invm = function invm (num) {
  14164. return this.egcd(num).a.umod(num);
  14165. };
  14166. BN.prototype.isEven = function isEven () {
  14167. return (this.words[0] & 1) === 0;
  14168. };
  14169. BN.prototype.isOdd = function isOdd () {
  14170. return (this.words[0] & 1) === 1;
  14171. };
  14172. // And first word and num
  14173. BN.prototype.andln = function andln (num) {
  14174. return this.words[0] & num;
  14175. };
  14176. // Increment at the bit position in-line
  14177. BN.prototype.bincn = function bincn (bit) {
  14178. assert(typeof bit === 'number');
  14179. var r = bit % 26;
  14180. var s = (bit - r) / 26;
  14181. var q = 1 << r;
  14182. // Fast case: bit is much higher than all existing words
  14183. if (this.length <= s) {
  14184. this._expand(s + 1);
  14185. this.words[s] |= q;
  14186. return this;
  14187. }
  14188. // Add bit and propagate, if needed
  14189. var carry = q;
  14190. for (var i = s; carry !== 0 && i < this.length; i++) {
  14191. var w = this.words[i] | 0;
  14192. w += carry;
  14193. carry = w >>> 26;
  14194. w &= 0x3ffffff;
  14195. this.words[i] = w;
  14196. }
  14197. if (carry !== 0) {
  14198. this.words[i] = carry;
  14199. this.length++;
  14200. }
  14201. return this;
  14202. };
  14203. BN.prototype.isZero = function isZero () {
  14204. return this.length === 1 && this.words[0] === 0;
  14205. };
  14206. BN.prototype.cmpn = function cmpn (num) {
  14207. var negative = num < 0;
  14208. if (this.negative !== 0 && !negative) return -1;
  14209. if (this.negative === 0 && negative) return 1;
  14210. this._strip();
  14211. var res;
  14212. if (this.length > 1) {
  14213. res = 1;
  14214. } else {
  14215. if (negative) {
  14216. num = -num;
  14217. }
  14218. assert(num <= 0x3ffffff, 'Number is too big');
  14219. var w = this.words[0] | 0;
  14220. res = w === num ? 0 : w < num ? -1 : 1;
  14221. }
  14222. if (this.negative !== 0) return -res | 0;
  14223. return res;
  14224. };
  14225. // Compare two numbers and return:
  14226. // 1 - if `this` > `num`
  14227. // 0 - if `this` == `num`
  14228. // -1 - if `this` < `num`
  14229. BN.prototype.cmp = function cmp (num) {
  14230. if (this.negative !== 0 && num.negative === 0) return -1;
  14231. if (this.negative === 0 && num.negative !== 0) return 1;
  14232. var res = this.ucmp(num);
  14233. if (this.negative !== 0) return -res | 0;
  14234. return res;
  14235. };
  14236. // Unsigned comparison
  14237. BN.prototype.ucmp = function ucmp (num) {
  14238. // At this point both numbers have the same sign
  14239. if (this.length > num.length) return 1;
  14240. if (this.length < num.length) return -1;
  14241. var res = 0;
  14242. for (var i = this.length - 1; i >= 0; i--) {
  14243. var a = this.words[i] | 0;
  14244. var b = num.words[i] | 0;
  14245. if (a === b) continue;
  14246. if (a < b) {
  14247. res = -1;
  14248. } else if (a > b) {
  14249. res = 1;
  14250. }
  14251. break;
  14252. }
  14253. return res;
  14254. };
  14255. BN.prototype.gtn = function gtn (num) {
  14256. return this.cmpn(num) === 1;
  14257. };
  14258. BN.prototype.gt = function gt (num) {
  14259. return this.cmp(num) === 1;
  14260. };
  14261. BN.prototype.gten = function gten (num) {
  14262. return this.cmpn(num) >= 0;
  14263. };
  14264. BN.prototype.gte = function gte (num) {
  14265. return this.cmp(num) >= 0;
  14266. };
  14267. BN.prototype.ltn = function ltn (num) {
  14268. return this.cmpn(num) === -1;
  14269. };
  14270. BN.prototype.lt = function lt (num) {
  14271. return this.cmp(num) === -1;
  14272. };
  14273. BN.prototype.lten = function lten (num) {
  14274. return this.cmpn(num) <= 0;
  14275. };
  14276. BN.prototype.lte = function lte (num) {
  14277. return this.cmp(num) <= 0;
  14278. };
  14279. BN.prototype.eqn = function eqn (num) {
  14280. return this.cmpn(num) === 0;
  14281. };
  14282. BN.prototype.eq = function eq (num) {
  14283. return this.cmp(num) === 0;
  14284. };
  14285. //
  14286. // A reduce context, could be using montgomery or something better, depending
  14287. // on the `m` itself.
  14288. //
  14289. BN.red = function red (num) {
  14290. return new Red(num);
  14291. };
  14292. BN.prototype.toRed = function toRed (ctx) {
  14293. assert(!this.red, 'Already a number in reduction context');
  14294. assert(this.negative === 0, 'red works only with positives');
  14295. return ctx.convertTo(this)._forceRed(ctx);
  14296. };
  14297. BN.prototype.fromRed = function fromRed () {
  14298. assert(this.red, 'fromRed works only with numbers in reduction context');
  14299. return this.red.convertFrom(this);
  14300. };
  14301. BN.prototype._forceRed = function _forceRed (ctx) {
  14302. this.red = ctx;
  14303. return this;
  14304. };
  14305. BN.prototype.forceRed = function forceRed (ctx) {
  14306. assert(!this.red, 'Already a number in reduction context');
  14307. return this._forceRed(ctx);
  14308. };
  14309. BN.prototype.redAdd = function redAdd (num) {
  14310. assert(this.red, 'redAdd works only with red numbers');
  14311. return this.red.add(this, num);
  14312. };
  14313. BN.prototype.redIAdd = function redIAdd (num) {
  14314. assert(this.red, 'redIAdd works only with red numbers');
  14315. return this.red.iadd(this, num);
  14316. };
  14317. BN.prototype.redSub = function redSub (num) {
  14318. assert(this.red, 'redSub works only with red numbers');
  14319. return this.red.sub(this, num);
  14320. };
  14321. BN.prototype.redISub = function redISub (num) {
  14322. assert(this.red, 'redISub works only with red numbers');
  14323. return this.red.isub(this, num);
  14324. };
  14325. BN.prototype.redShl = function redShl (num) {
  14326. assert(this.red, 'redShl works only with red numbers');
  14327. return this.red.shl(this, num);
  14328. };
  14329. BN.prototype.redMul = function redMul (num) {
  14330. assert(this.red, 'redMul works only with red numbers');
  14331. this.red._verify2(this, num);
  14332. return this.red.mul(this, num);
  14333. };
  14334. BN.prototype.redIMul = function redIMul (num) {
  14335. assert(this.red, 'redMul works only with red numbers');
  14336. this.red._verify2(this, num);
  14337. return this.red.imul(this, num);
  14338. };
  14339. BN.prototype.redSqr = function redSqr () {
  14340. assert(this.red, 'redSqr works only with red numbers');
  14341. this.red._verify1(this);
  14342. return this.red.sqr(this);
  14343. };
  14344. BN.prototype.redISqr = function redISqr () {
  14345. assert(this.red, 'redISqr works only with red numbers');
  14346. this.red._verify1(this);
  14347. return this.red.isqr(this);
  14348. };
  14349. // Square root over p
  14350. BN.prototype.redSqrt = function redSqrt () {
  14351. assert(this.red, 'redSqrt works only with red numbers');
  14352. this.red._verify1(this);
  14353. return this.red.sqrt(this);
  14354. };
  14355. BN.prototype.redInvm = function redInvm () {
  14356. assert(this.red, 'redInvm works only with red numbers');
  14357. this.red._verify1(this);
  14358. return this.red.invm(this);
  14359. };
  14360. // Return negative clone of `this` % `red modulo`
  14361. BN.prototype.redNeg = function redNeg () {
  14362. assert(this.red, 'redNeg works only with red numbers');
  14363. this.red._verify1(this);
  14364. return this.red.neg(this);
  14365. };
  14366. BN.prototype.redPow = function redPow (num) {
  14367. assert(this.red && !num.red, 'redPow(normalNum)');
  14368. this.red._verify1(this);
  14369. return this.red.pow(this, num);
  14370. };
  14371. // Prime numbers with efficient reduction
  14372. var primes = {
  14373. k256: null,
  14374. p224: null,
  14375. p192: null,
  14376. p25519: null
  14377. };
  14378. // Pseudo-Mersenne prime
  14379. function MPrime (name, p) {
  14380. // P = 2 ^ N - K
  14381. this.name = name;
  14382. this.p = new BN(p, 16);
  14383. this.n = this.p.bitLength();
  14384. this.k = new BN(1).iushln(this.n).isub(this.p);
  14385. this.tmp = this._tmp();
  14386. }
  14387. MPrime.prototype._tmp = function _tmp () {
  14388. var tmp = new BN(null);
  14389. tmp.words = new Array(Math.ceil(this.n / 13));
  14390. return tmp;
  14391. };
  14392. MPrime.prototype.ireduce = function ireduce (num) {
  14393. // Assumes that `num` is less than `P^2`
  14394. // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)
  14395. var r = num;
  14396. var rlen;
  14397. do {
  14398. this.split(r, this.tmp);
  14399. r = this.imulK(r);
  14400. r = r.iadd(this.tmp);
  14401. rlen = r.bitLength();
  14402. } while (rlen > this.n);
  14403. var cmp = rlen < this.n ? -1 : r.ucmp(this.p);
  14404. if (cmp === 0) {
  14405. r.words[0] = 0;
  14406. r.length = 1;
  14407. } else if (cmp > 0) {
  14408. r.isub(this.p);
  14409. } else {
  14410. if (r.strip !== undefined) {
  14411. // r is a BN v4 instance
  14412. r.strip();
  14413. } else {
  14414. // r is a BN v5 instance
  14415. r._strip();
  14416. }
  14417. }
  14418. return r;
  14419. };
  14420. MPrime.prototype.split = function split (input, out) {
  14421. input.iushrn(this.n, 0, out);
  14422. };
  14423. MPrime.prototype.imulK = function imulK (num) {
  14424. return num.imul(this.k);
  14425. };
  14426. function K256 () {
  14427. MPrime.call(
  14428. this,
  14429. 'k256',
  14430. 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');
  14431. }
  14432. inherits(K256, MPrime);
  14433. K256.prototype.split = function split (input, output) {
  14434. // 256 = 9 * 26 + 22
  14435. var mask = 0x3fffff;
  14436. var outLen = Math.min(input.length, 9);
  14437. for (var i = 0; i < outLen; i++) {
  14438. output.words[i] = input.words[i];
  14439. }
  14440. output.length = outLen;
  14441. if (input.length <= 9) {
  14442. input.words[0] = 0;
  14443. input.length = 1;
  14444. return;
  14445. }
  14446. // Shift by 9 limbs
  14447. var prev = input.words[9];
  14448. output.words[output.length++] = prev & mask;
  14449. for (i = 10; i < input.length; i++) {
  14450. var next = input.words[i] | 0;
  14451. input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);
  14452. prev = next;
  14453. }
  14454. prev >>>= 22;
  14455. input.words[i - 10] = prev;
  14456. if (prev === 0 && input.length > 10) {
  14457. input.length -= 10;
  14458. } else {
  14459. input.length -= 9;
  14460. }
  14461. };
  14462. K256.prototype.imulK = function imulK (num) {
  14463. // K = 0x1000003d1 = [ 0x40, 0x3d1 ]
  14464. num.words[num.length] = 0;
  14465. num.words[num.length + 1] = 0;
  14466. num.length += 2;
  14467. // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390
  14468. var lo = 0;
  14469. for (var i = 0; i < num.length; i++) {
  14470. var w = num.words[i] | 0;
  14471. lo += w * 0x3d1;
  14472. num.words[i] = lo & 0x3ffffff;
  14473. lo = w * 0x40 + ((lo / 0x4000000) | 0);
  14474. }
  14475. // Fast length reduction
  14476. if (num.words[num.length - 1] === 0) {
  14477. num.length--;
  14478. if (num.words[num.length - 1] === 0) {
  14479. num.length--;
  14480. }
  14481. }
  14482. return num;
  14483. };
  14484. function P224 () {
  14485. MPrime.call(
  14486. this,
  14487. 'p224',
  14488. 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');
  14489. }
  14490. inherits(P224, MPrime);
  14491. function P192 () {
  14492. MPrime.call(
  14493. this,
  14494. 'p192',
  14495. 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');
  14496. }
  14497. inherits(P192, MPrime);
  14498. function P25519 () {
  14499. // 2 ^ 255 - 19
  14500. MPrime.call(
  14501. this,
  14502. '25519',
  14503. '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');
  14504. }
  14505. inherits(P25519, MPrime);
  14506. P25519.prototype.imulK = function imulK (num) {
  14507. // K = 0x13
  14508. var carry = 0;
  14509. for (var i = 0; i < num.length; i++) {
  14510. var hi = (num.words[i] | 0) * 0x13 + carry;
  14511. var lo = hi & 0x3ffffff;
  14512. hi >>>= 26;
  14513. num.words[i] = lo;
  14514. carry = hi;
  14515. }
  14516. if (carry !== 0) {
  14517. num.words[num.length++] = carry;
  14518. }
  14519. return num;
  14520. };
  14521. // Exported mostly for testing purposes, use plain name instead
  14522. BN._prime = function prime (name) {
  14523. // Cached version of prime
  14524. if (primes[name]) return primes[name];
  14525. var prime;
  14526. if (name === 'k256') {
  14527. prime = new K256();
  14528. } else if (name === 'p224') {
  14529. prime = new P224();
  14530. } else if (name === 'p192') {
  14531. prime = new P192();
  14532. } else if (name === 'p25519') {
  14533. prime = new P25519();
  14534. } else {
  14535. throw new Error('Unknown prime ' + name);
  14536. }
  14537. primes[name] = prime;
  14538. return prime;
  14539. };
  14540. //
  14541. // Base reduction engine
  14542. //
  14543. function Red (m) {
  14544. if (typeof m === 'string') {
  14545. var prime = BN._prime(m);
  14546. this.m = prime.p;
  14547. this.prime = prime;
  14548. } else {
  14549. assert(m.gtn(1), 'modulus must be greater than 1');
  14550. this.m = m;
  14551. this.prime = null;
  14552. }
  14553. }
  14554. Red.prototype._verify1 = function _verify1 (a) {
  14555. assert(a.negative === 0, 'red works only with positives');
  14556. assert(a.red, 'red works only with red numbers');
  14557. };
  14558. Red.prototype._verify2 = function _verify2 (a, b) {
  14559. assert((a.negative | b.negative) === 0, 'red works only with positives');
  14560. assert(a.red && a.red === b.red,
  14561. 'red works only with red numbers');
  14562. };
  14563. Red.prototype.imod = function imod (a) {
  14564. if (this.prime) return this.prime.ireduce(a)._forceRed(this);
  14565. move(a, a.umod(this.m)._forceRed(this));
  14566. return a;
  14567. };
  14568. Red.prototype.neg = function neg (a) {
  14569. if (a.isZero()) {
  14570. return a.clone();
  14571. }
  14572. return this.m.sub(a)._forceRed(this);
  14573. };
  14574. Red.prototype.add = function add (a, b) {
  14575. this._verify2(a, b);
  14576. var res = a.add(b);
  14577. if (res.cmp(this.m) >= 0) {
  14578. res.isub(this.m);
  14579. }
  14580. return res._forceRed(this);
  14581. };
  14582. Red.prototype.iadd = function iadd (a, b) {
  14583. this._verify2(a, b);
  14584. var res = a.iadd(b);
  14585. if (res.cmp(this.m) >= 0) {
  14586. res.isub(this.m);
  14587. }
  14588. return res;
  14589. };
  14590. Red.prototype.sub = function sub (a, b) {
  14591. this._verify2(a, b);
  14592. var res = a.sub(b);
  14593. if (res.cmpn(0) < 0) {
  14594. res.iadd(this.m);
  14595. }
  14596. return res._forceRed(this);
  14597. };
  14598. Red.prototype.isub = function isub (a, b) {
  14599. this._verify2(a, b);
  14600. var res = a.isub(b);
  14601. if (res.cmpn(0) < 0) {
  14602. res.iadd(this.m);
  14603. }
  14604. return res;
  14605. };
  14606. Red.prototype.shl = function shl (a, num) {
  14607. this._verify1(a);
  14608. return this.imod(a.ushln(num));
  14609. };
  14610. Red.prototype.imul = function imul (a, b) {
  14611. this._verify2(a, b);
  14612. return this.imod(a.imul(b));
  14613. };
  14614. Red.prototype.mul = function mul (a, b) {
  14615. this._verify2(a, b);
  14616. return this.imod(a.mul(b));
  14617. };
  14618. Red.prototype.isqr = function isqr (a) {
  14619. return this.imul(a, a.clone());
  14620. };
  14621. Red.prototype.sqr = function sqr (a) {
  14622. return this.mul(a, a);
  14623. };
  14624. Red.prototype.sqrt = function sqrt (a) {
  14625. if (a.isZero()) return a.clone();
  14626. var mod3 = this.m.andln(3);
  14627. assert(mod3 % 2 === 1);
  14628. // Fast case
  14629. if (mod3 === 3) {
  14630. var pow = this.m.add(new BN(1)).iushrn(2);
  14631. return this.pow(a, pow);
  14632. }
  14633. // Tonelli-Shanks algorithm (Totally unoptimized and slow)
  14634. //
  14635. // Find Q and S, that Q * 2 ^ S = (P - 1)
  14636. var q = this.m.subn(1);
  14637. var s = 0;
  14638. while (!q.isZero() && q.andln(1) === 0) {
  14639. s++;
  14640. q.iushrn(1);
  14641. }
  14642. assert(!q.isZero());
  14643. var one = new BN(1).toRed(this);
  14644. var nOne = one.redNeg();
  14645. // Find quadratic non-residue
  14646. // NOTE: Max is such because of generalized Riemann hypothesis.
  14647. var lpow = this.m.subn(1).iushrn(1);
  14648. var z = this.m.bitLength();
  14649. z = new BN(2 * z * z).toRed(this);
  14650. while (this.pow(z, lpow).cmp(nOne) !== 0) {
  14651. z.redIAdd(nOne);
  14652. }
  14653. var c = this.pow(z, q);
  14654. var r = this.pow(a, q.addn(1).iushrn(1));
  14655. var t = this.pow(a, q);
  14656. var m = s;
  14657. while (t.cmp(one) !== 0) {
  14658. var tmp = t;
  14659. for (var i = 0; tmp.cmp(one) !== 0; i++) {
  14660. tmp = tmp.redSqr();
  14661. }
  14662. assert(i < m);
  14663. var b = this.pow(c, new BN(1).iushln(m - i - 1));
  14664. r = r.redMul(b);
  14665. c = b.redSqr();
  14666. t = t.redMul(c);
  14667. m = i;
  14668. }
  14669. return r;
  14670. };
  14671. Red.prototype.invm = function invm (a) {
  14672. var inv = a._invmp(this.m);
  14673. if (inv.negative !== 0) {
  14674. inv.negative = 0;
  14675. return this.imod(inv).redNeg();
  14676. } else {
  14677. return this.imod(inv);
  14678. }
  14679. };
  14680. Red.prototype.pow = function pow (a, num) {
  14681. if (num.isZero()) return new BN(1).toRed(this);
  14682. if (num.cmpn(1) === 0) return a.clone();
  14683. var windowSize = 4;
  14684. var wnd = new Array(1 << windowSize);
  14685. wnd[0] = new BN(1).toRed(this);
  14686. wnd[1] = a;
  14687. for (var i = 2; i < wnd.length; i++) {
  14688. wnd[i] = this.mul(wnd[i - 1], a);
  14689. }
  14690. var res = wnd[0];
  14691. var current = 0;
  14692. var currentLen = 0;
  14693. var start = num.bitLength() % 26;
  14694. if (start === 0) {
  14695. start = 26;
  14696. }
  14697. for (i = num.length - 1; i >= 0; i--) {
  14698. var word = num.words[i];
  14699. for (var j = start - 1; j >= 0; j--) {
  14700. var bit = (word >> j) & 1;
  14701. if (res !== wnd[0]) {
  14702. res = this.sqr(res);
  14703. }
  14704. if (bit === 0 && current === 0) {
  14705. currentLen = 0;
  14706. continue;
  14707. }
  14708. current <<= 1;
  14709. current |= bit;
  14710. currentLen++;
  14711. if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;
  14712. res = this.mul(res, wnd[current]);
  14713. currentLen = 0;
  14714. current = 0;
  14715. }
  14716. start = 26;
  14717. }
  14718. return res;
  14719. };
  14720. Red.prototype.convertTo = function convertTo (num) {
  14721. var r = num.umod(this.m);
  14722. return r === num ? r.clone() : r;
  14723. };
  14724. Red.prototype.convertFrom = function convertFrom (num) {
  14725. var res = num.clone();
  14726. res.red = null;
  14727. return res;
  14728. };
  14729. //
  14730. // Montgomery method engine
  14731. //
  14732. BN.mont = function mont (num) {
  14733. return new Mont(num);
  14734. };
  14735. function Mont (m) {
  14736. Red.call(this, m);
  14737. this.shift = this.m.bitLength();
  14738. if (this.shift % 26 !== 0) {
  14739. this.shift += 26 - (this.shift % 26);
  14740. }
  14741. this.r = new BN(1).iushln(this.shift);
  14742. this.r2 = this.imod(this.r.sqr());
  14743. this.rinv = this.r._invmp(this.m);
  14744. this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);
  14745. this.minv = this.minv.umod(this.r);
  14746. this.minv = this.r.sub(this.minv);
  14747. }
  14748. inherits(Mont, Red);
  14749. Mont.prototype.convertTo = function convertTo (num) {
  14750. return this.imod(num.ushln(this.shift));
  14751. };
  14752. Mont.prototype.convertFrom = function convertFrom (num) {
  14753. var r = this.imod(num.mul(this.rinv));
  14754. r.red = null;
  14755. return r;
  14756. };
  14757. Mont.prototype.imul = function imul (a, b) {
  14758. if (a.isZero() || b.isZero()) {
  14759. a.words[0] = 0;
  14760. a.length = 1;
  14761. return a;
  14762. }
  14763. var t = a.imul(b);
  14764. var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);
  14765. var u = t.isub(c).iushrn(this.shift);
  14766. var res = u;
  14767. if (u.cmp(this.m) >= 0) {
  14768. res = u.isub(this.m);
  14769. } else if (u.cmpn(0) < 0) {
  14770. res = u.iadd(this.m);
  14771. }
  14772. return res._forceRed(this);
  14773. };
  14774. Mont.prototype.mul = function mul (a, b) {
  14775. if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);
  14776. var t = a.mul(b);
  14777. var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);
  14778. var u = t.isub(c).iushrn(this.shift);
  14779. var res = u;
  14780. if (u.cmp(this.m) >= 0) {
  14781. res = u.isub(this.m);
  14782. } else if (u.cmpn(0) < 0) {
  14783. res = u.iadd(this.m);
  14784. }
  14785. return res._forceRed(this);
  14786. };
  14787. Mont.prototype.invm = function invm (a) {
  14788. // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R
  14789. var res = this.imod(a._invmp(this.m).mul(this.r2));
  14790. return res._forceRed(this);
  14791. };
  14792. })( false || module, this);
  14793. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/module.js */ 143)(module)))
  14794. /***/ }),
  14795. /* 143 */
  14796. /*!***********************************!*\
  14797. !*** (webpack)/buildin/module.js ***!
  14798. \***********************************/
  14799. /*! no static exports found */
  14800. /***/ (function(module, exports) {
  14801. module.exports = function(module) {
  14802. if (!module.webpackPolyfill) {
  14803. module.deprecate = function() {};
  14804. module.paths = [];
  14805. // module.parent = undefined by default
  14806. if (!module.children) module.children = [];
  14807. Object.defineProperty(module, "loaded", {
  14808. enumerable: true,
  14809. get: function() {
  14810. return module.l;
  14811. }
  14812. });
  14813. Object.defineProperty(module, "id", {
  14814. enumerable: true,
  14815. get: function() {
  14816. return module.i;
  14817. }
  14818. });
  14819. module.webpackPolyfill = 1;
  14820. }
  14821. return module;
  14822. };
  14823. /***/ }),
  14824. /* 144 */
  14825. /*!************************!*\
  14826. !*** buffer (ignored) ***!
  14827. \************************/
  14828. /*! no static exports found */
  14829. /***/ (function(module, exports) {
  14830. /* (ignored) */
  14831. /***/ }),
  14832. /* 145 */
  14833. /*!*********************************************!*\
  14834. !*** ./node_modules/miller-rabin/lib/mr.js ***!
  14835. \*********************************************/
  14836. /*! no static exports found */
  14837. /***/ (function(module, exports, __webpack_require__) {
  14838. var bn = __webpack_require__(/*! bn.js */ 142);
  14839. var brorand = __webpack_require__(/*! brorand */ 146);
  14840. function MillerRabin(rand) {
  14841. this.rand = rand || new brorand.Rand();
  14842. }
  14843. module.exports = MillerRabin;
  14844. MillerRabin.create = function create(rand) {
  14845. return new MillerRabin(rand);
  14846. };
  14847. MillerRabin.prototype._randbelow = function _randbelow(n) {
  14848. var len = n.bitLength();
  14849. var min_bytes = Math.ceil(len / 8);
  14850. // Generage random bytes until a number less than n is found.
  14851. // This ensures that 0..n-1 have an equal probability of being selected.
  14852. do
  14853. var a = new bn(this.rand.generate(min_bytes));
  14854. while (a.cmp(n) >= 0);
  14855. return a;
  14856. };
  14857. MillerRabin.prototype._randrange = function _randrange(start, stop) {
  14858. // Generate a random number greater than or equal to start and less than stop.
  14859. var size = stop.sub(start);
  14860. return start.add(this._randbelow(size));
  14861. };
  14862. MillerRabin.prototype.test = function test(n, k, cb) {
  14863. var len = n.bitLength();
  14864. var red = bn.mont(n);
  14865. var rone = new bn(1).toRed(red);
  14866. if (!k)
  14867. k = Math.max(1, (len / 48) | 0);
  14868. // Find d and s, (n - 1) = (2 ^ s) * d;
  14869. var n1 = n.subn(1);
  14870. for (var s = 0; !n1.testn(s); s++) {}
  14871. var d = n.shrn(s);
  14872. var rn1 = n1.toRed(red);
  14873. var prime = true;
  14874. for (; k > 0; k--) {
  14875. var a = this._randrange(new bn(2), n1);
  14876. if (cb)
  14877. cb(a);
  14878. var x = a.toRed(red).redPow(d);
  14879. if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)
  14880. continue;
  14881. for (var i = 1; i < s; i++) {
  14882. x = x.redSqr();
  14883. if (x.cmp(rone) === 0)
  14884. return false;
  14885. if (x.cmp(rn1) === 0)
  14886. break;
  14887. }
  14888. if (i === s)
  14889. return false;
  14890. }
  14891. return prime;
  14892. };
  14893. MillerRabin.prototype.getDivisor = function getDivisor(n, k) {
  14894. var len = n.bitLength();
  14895. var red = bn.mont(n);
  14896. var rone = new bn(1).toRed(red);
  14897. if (!k)
  14898. k = Math.max(1, (len / 48) | 0);
  14899. // Find d and s, (n - 1) = (2 ^ s) * d;
  14900. var n1 = n.subn(1);
  14901. for (var s = 0; !n1.testn(s); s++) {}
  14902. var d = n.shrn(s);
  14903. var rn1 = n1.toRed(red);
  14904. for (; k > 0; k--) {
  14905. var a = this._randrange(new bn(2), n1);
  14906. var g = n.gcd(a);
  14907. if (g.cmpn(1) !== 0)
  14908. return g;
  14909. var x = a.toRed(red).redPow(d);
  14910. if (x.cmp(rone) === 0 || x.cmp(rn1) === 0)
  14911. continue;
  14912. for (var i = 1; i < s; i++) {
  14913. x = x.redSqr();
  14914. if (x.cmp(rone) === 0)
  14915. return x.fromRed().subn(1).gcd(n);
  14916. if (x.cmp(rn1) === 0)
  14917. break;
  14918. }
  14919. if (i === s) {
  14920. x = x.redSqr();
  14921. return x.fromRed().subn(1).gcd(n);
  14922. }
  14923. }
  14924. return false;
  14925. };
  14926. /***/ }),
  14927. /* 146 */
  14928. /*!***************************************!*\
  14929. !*** ./node_modules/brorand/index.js ***!
  14930. \***************************************/
  14931. /*! no static exports found */
  14932. /***/ (function(module, exports, __webpack_require__) {
  14933. var r;
  14934. module.exports = function rand(len) {
  14935. if (!r)
  14936. r = new Rand(null);
  14937. return r.generate(len);
  14938. };
  14939. function Rand(rand) {
  14940. this.rand = rand;
  14941. }
  14942. module.exports.Rand = Rand;
  14943. Rand.prototype.generate = function generate(len) {
  14944. return this._rand(len);
  14945. };
  14946. // Emulate crypto API using randy
  14947. Rand.prototype._rand = function _rand(n) {
  14948. if (this.rand.getBytes)
  14949. return this.rand.getBytes(n);
  14950. var res = new Uint8Array(n);
  14951. for (var i = 0; i < res.length; i++)
  14952. res[i] = this.rand.getByte();
  14953. return res;
  14954. };
  14955. if (typeof self === 'object') {
  14956. if (self.crypto && self.crypto.getRandomValues) {
  14957. // Modern browsers
  14958. Rand.prototype._rand = function _rand(n) {
  14959. var arr = new Uint8Array(n);
  14960. self.crypto.getRandomValues(arr);
  14961. return arr;
  14962. };
  14963. } else if (self.msCrypto && self.msCrypto.getRandomValues) {
  14964. // IE
  14965. Rand.prototype._rand = function _rand(n) {
  14966. var arr = new Uint8Array(n);
  14967. self.msCrypto.getRandomValues(arr);
  14968. return arr;
  14969. };
  14970. // Safari's WebWorkers do not have `crypto`
  14971. } else if (typeof window === 'object') {
  14972. // Old junk
  14973. Rand.prototype._rand = function() {
  14974. throw new Error('Not implemented yet');
  14975. };
  14976. }
  14977. } else {
  14978. // Node.js or Web worker with no crypto support
  14979. try {
  14980. var crypto = __webpack_require__(/*! crypto */ 147);
  14981. if (typeof crypto.randomBytes !== 'function')
  14982. throw new Error('Not supported');
  14983. Rand.prototype._rand = function _rand(n) {
  14984. return crypto.randomBytes(n);
  14985. };
  14986. } catch (e) {
  14987. }
  14988. }
  14989. /***/ }),
  14990. /* 147 */
  14991. /*!************************!*\
  14992. !*** crypto (ignored) ***!
  14993. \************************/
  14994. /*! no static exports found */
  14995. /***/ (function(module, exports) {
  14996. /* (ignored) */
  14997. /***/ }),
  14998. /* 148 */
  14999. /*!*****************************************************!*\
  15000. !*** ./node_modules/diffie-hellman/lib/primes.json ***!
  15001. \*****************************************************/
  15002. /*! exports provided: modp1, modp2, modp5, modp14, modp15, modp16, modp17, modp18, default */
  15003. /***/ (function(module) {
  15004. module.exports = JSON.parse("{\"modp1\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},\"modp2\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},\"modp5\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},\"modp14\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},\"modp15\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},\"modp16\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},\"modp17\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},\"modp18\":{\"gen\":\"02\",\"prime\":\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}");
  15005. /***/ }),
  15006. /* 149 */
  15007. /*!***********************************************!*\
  15008. !*** ./node_modules/diffie-hellman/lib/dh.js ***!
  15009. \***********************************************/
  15010. /*! no static exports found */
  15011. /***/ (function(module, exports, __webpack_require__) {
  15012. /* WEBPACK VAR INJECTION */(function(Buffer) {var BN = __webpack_require__(/*! bn.js */ 142);
  15013. var MillerRabin = __webpack_require__(/*! miller-rabin */ 145);
  15014. var millerRabin = new MillerRabin();
  15015. var TWENTYFOUR = new BN(24);
  15016. var ELEVEN = new BN(11);
  15017. var TEN = new BN(10);
  15018. var THREE = new BN(3);
  15019. var SEVEN = new BN(7);
  15020. var primes = __webpack_require__(/*! ./generatePrime */ 141);
  15021. var randomBytes = __webpack_require__(/*! randombytes */ 57);
  15022. module.exports = DH;
  15023. function setPublicKey(pub, enc) {
  15024. enc = enc || 'utf8';
  15025. if (!Buffer.isBuffer(pub)) {
  15026. pub = new Buffer(pub, enc);
  15027. }
  15028. this._pub = new BN(pub);
  15029. return this;
  15030. }
  15031. function setPrivateKey(priv, enc) {
  15032. enc = enc || 'utf8';
  15033. if (!Buffer.isBuffer(priv)) {
  15034. priv = new Buffer(priv, enc);
  15035. }
  15036. this._priv = new BN(priv);
  15037. return this;
  15038. }
  15039. var primeCache = {};
  15040. function checkPrime(prime, generator) {
  15041. var gen = generator.toString('hex');
  15042. var hex = [gen, prime.toString(16)].join('_');
  15043. if (hex in primeCache) {
  15044. return primeCache[hex];
  15045. }
  15046. var error = 0;
  15047. if (prime.isEven() ||
  15048. !primes.simpleSieve ||
  15049. !primes.fermatTest(prime) ||
  15050. !millerRabin.test(prime)) {
  15051. //not a prime so +1
  15052. error += 1;
  15053. if (gen === '02' || gen === '05') {
  15054. // we'd be able to check the generator
  15055. // it would fail so +8
  15056. error += 8;
  15057. } else {
  15058. //we wouldn't be able to test the generator
  15059. // so +4
  15060. error += 4;
  15061. }
  15062. primeCache[hex] = error;
  15063. return error;
  15064. }
  15065. if (!millerRabin.test(prime.shrn(1))) {
  15066. //not a safe prime
  15067. error += 2;
  15068. }
  15069. var rem;
  15070. switch (gen) {
  15071. case '02':
  15072. if (prime.mod(TWENTYFOUR).cmp(ELEVEN)) {
  15073. // unsuidable generator
  15074. error += 8;
  15075. }
  15076. break;
  15077. case '05':
  15078. rem = prime.mod(TEN);
  15079. if (rem.cmp(THREE) && rem.cmp(SEVEN)) {
  15080. // prime mod 10 needs to equal 3 or 7
  15081. error += 8;
  15082. }
  15083. break;
  15084. default:
  15085. error += 4;
  15086. }
  15087. primeCache[hex] = error;
  15088. return error;
  15089. }
  15090. function DH(prime, generator, malleable) {
  15091. this.setGenerator(generator);
  15092. this.__prime = new BN(prime);
  15093. this._prime = BN.mont(this.__prime);
  15094. this._primeLen = prime.length;
  15095. this._pub = undefined;
  15096. this._priv = undefined;
  15097. this._primeCode = undefined;
  15098. if (malleable) {
  15099. this.setPublicKey = setPublicKey;
  15100. this.setPrivateKey = setPrivateKey;
  15101. } else {
  15102. this._primeCode = 8;
  15103. }
  15104. }
  15105. Object.defineProperty(DH.prototype, 'verifyError', {
  15106. enumerable: true,
  15107. get: function () {
  15108. if (typeof this._primeCode !== 'number') {
  15109. this._primeCode = checkPrime(this.__prime, this.__gen);
  15110. }
  15111. return this._primeCode;
  15112. }
  15113. });
  15114. DH.prototype.generateKeys = function () {
  15115. if (!this._priv) {
  15116. this._priv = new BN(randomBytes(this._primeLen));
  15117. }
  15118. this._pub = this._gen.toRed(this._prime).redPow(this._priv).fromRed();
  15119. return this.getPublicKey();
  15120. };
  15121. DH.prototype.computeSecret = function (other) {
  15122. other = new BN(other);
  15123. other = other.toRed(this._prime);
  15124. var secret = other.redPow(this._priv).fromRed();
  15125. var out = new Buffer(secret.toArray());
  15126. var prime = this.getPrime();
  15127. if (out.length < prime.length) {
  15128. var front = new Buffer(prime.length - out.length);
  15129. front.fill(0);
  15130. out = Buffer.concat([front, out]);
  15131. }
  15132. return out;
  15133. };
  15134. DH.prototype.getPublicKey = function getPublicKey(enc) {
  15135. return formatReturnValue(this._pub, enc);
  15136. };
  15137. DH.prototype.getPrivateKey = function getPrivateKey(enc) {
  15138. return formatReturnValue(this._priv, enc);
  15139. };
  15140. DH.prototype.getPrime = function (enc) {
  15141. return formatReturnValue(this.__prime, enc);
  15142. };
  15143. DH.prototype.getGenerator = function (enc) {
  15144. return formatReturnValue(this._gen, enc);
  15145. };
  15146. DH.prototype.setGenerator = function (gen, enc) {
  15147. enc = enc || 'utf8';
  15148. if (!Buffer.isBuffer(gen)) {
  15149. gen = new Buffer(gen, enc);
  15150. }
  15151. this.__gen = gen;
  15152. this._gen = new BN(gen);
  15153. return this;
  15154. };
  15155. function formatReturnValue(bn, enc) {
  15156. var buf = new Buffer(bn.toArray());
  15157. if (!enc) {
  15158. return buf;
  15159. } else {
  15160. return buf.toString(enc);
  15161. }
  15162. }
  15163. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 61).Buffer))
  15164. /***/ }),
  15165. /* 150 */
  15166. /*!*******************************************************!*\
  15167. !*** ./node_modules/browserify-sign/browser/index.js ***!
  15168. \*******************************************************/
  15169. /*! no static exports found */
  15170. /***/ (function(module, exports, __webpack_require__) {
  15171. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  15172. var createHash = __webpack_require__(/*! create-hash */ 65)
  15173. var stream = __webpack_require__(/*! readable-stream */ 69)
  15174. var inherits = __webpack_require__(/*! inherits */ 66)
  15175. var sign = __webpack_require__(/*! ./sign */ 151)
  15176. var verify = __webpack_require__(/*! ./verify */ 204)
  15177. var algorithms = __webpack_require__(/*! ./algorithms.json */ 104)
  15178. Object.keys(algorithms).forEach(function (key) {
  15179. algorithms[key].id = Buffer.from(algorithms[key].id, 'hex')
  15180. algorithms[key.toLowerCase()] = algorithms[key]
  15181. })
  15182. function Sign (algorithm) {
  15183. stream.Writable.call(this)
  15184. var data = algorithms[algorithm]
  15185. if (!data) throw new Error('Unknown message digest')
  15186. this._hashType = data.hash
  15187. this._hash = createHash(data.hash)
  15188. this._tag = data.id
  15189. this._signType = data.sign
  15190. }
  15191. inherits(Sign, stream.Writable)
  15192. Sign.prototype._write = function _write (data, _, done) {
  15193. this._hash.update(data)
  15194. done()
  15195. }
  15196. Sign.prototype.update = function update (data, enc) {
  15197. if (typeof data === 'string') data = Buffer.from(data, enc)
  15198. this._hash.update(data)
  15199. return this
  15200. }
  15201. Sign.prototype.sign = function signMethod (key, enc) {
  15202. this.end()
  15203. var hash = this._hash.digest()
  15204. var sig = sign(hash, key, this._hashType, this._signType, this._tag)
  15205. return enc ? sig.toString(enc) : sig
  15206. }
  15207. function Verify (algorithm) {
  15208. stream.Writable.call(this)
  15209. var data = algorithms[algorithm]
  15210. if (!data) throw new Error('Unknown message digest')
  15211. this._hash = createHash(data.hash)
  15212. this._tag = data.id
  15213. this._signType = data.sign
  15214. }
  15215. inherits(Verify, stream.Writable)
  15216. Verify.prototype._write = function _write (data, _, done) {
  15217. this._hash.update(data)
  15218. done()
  15219. }
  15220. Verify.prototype.update = function update (data, enc) {
  15221. if (typeof data === 'string') data = Buffer.from(data, enc)
  15222. this._hash.update(data)
  15223. return this
  15224. }
  15225. Verify.prototype.verify = function verifyMethod (key, sig, enc) {
  15226. if (typeof sig === 'string') sig = Buffer.from(sig, enc)
  15227. this.end()
  15228. var hash = this._hash.digest()
  15229. return verify(sig, hash, key, this._signType, this._tag)
  15230. }
  15231. function createSign (algorithm) {
  15232. return new Sign(algorithm)
  15233. }
  15234. function createVerify (algorithm) {
  15235. return new Verify(algorithm)
  15236. }
  15237. module.exports = {
  15238. Sign: createSign,
  15239. Verify: createVerify,
  15240. createSign: createSign,
  15241. createVerify: createVerify
  15242. }
  15243. /***/ }),
  15244. /* 151 */
  15245. /*!******************************************************!*\
  15246. !*** ./node_modules/browserify-sign/browser/sign.js ***!
  15247. \******************************************************/
  15248. /*! no static exports found */
  15249. /***/ (function(module, exports, __webpack_require__) {
  15250. // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
  15251. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  15252. var createHmac = __webpack_require__(/*! create-hmac */ 100)
  15253. var crt = __webpack_require__(/*! browserify-rsa */ 152)
  15254. var EC = __webpack_require__(/*! elliptic */ 153).ec
  15255. var BN = __webpack_require__(/*! bn.js */ 142)
  15256. var parseKeys = __webpack_require__(/*! parse-asn1 */ 183)
  15257. var curves = __webpack_require__(/*! ./curves.json */ 203)
  15258. function sign (hash, key, hashType, signType, tag) {
  15259. var priv = parseKeys(key)
  15260. if (priv.curve) {
  15261. // rsa keys can be interpreted as ecdsa ones in openssl
  15262. if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')
  15263. return ecSign(hash, priv)
  15264. } else if (priv.type === 'dsa') {
  15265. if (signType !== 'dsa') throw new Error('wrong private key type')
  15266. return dsaSign(hash, priv, hashType)
  15267. } else {
  15268. if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong private key type')
  15269. }
  15270. hash = Buffer.concat([tag, hash])
  15271. var len = priv.modulus.byteLength()
  15272. var pad = [0, 1]
  15273. while (hash.length + pad.length + 1 < len) pad.push(0xff)
  15274. pad.push(0x00)
  15275. var i = -1
  15276. while (++i < hash.length) pad.push(hash[i])
  15277. var out = crt(pad, priv)
  15278. return out
  15279. }
  15280. function ecSign (hash, priv) {
  15281. var curveId = curves[priv.curve.join('.')]
  15282. if (!curveId) throw new Error('unknown curve ' + priv.curve.join('.'))
  15283. var curve = new EC(curveId)
  15284. var key = curve.keyFromPrivate(priv.privateKey)
  15285. var out = key.sign(hash)
  15286. return Buffer.from(out.toDER())
  15287. }
  15288. function dsaSign (hash, priv, algo) {
  15289. var x = priv.params.priv_key
  15290. var p = priv.params.p
  15291. var q = priv.params.q
  15292. var g = priv.params.g
  15293. var r = new BN(0)
  15294. var k
  15295. var H = bits2int(hash, q).mod(q)
  15296. var s = false
  15297. var kv = getKey(x, q, hash, algo)
  15298. while (s === false) {
  15299. k = makeKey(q, kv, algo)
  15300. r = makeR(g, k, p, q)
  15301. s = k.invm(q).imul(H.add(x.mul(r))).mod(q)
  15302. if (s.cmpn(0) === 0) {
  15303. s = false
  15304. r = new BN(0)
  15305. }
  15306. }
  15307. return toDER(r, s)
  15308. }
  15309. function toDER (r, s) {
  15310. r = r.toArray()
  15311. s = s.toArray()
  15312. // Pad values
  15313. if (r[0] & 0x80) r = [0].concat(r)
  15314. if (s[0] & 0x80) s = [0].concat(s)
  15315. var total = r.length + s.length + 4
  15316. var res = [0x30, total, 0x02, r.length]
  15317. res = res.concat(r, [0x02, s.length], s)
  15318. return Buffer.from(res)
  15319. }
  15320. function getKey (x, q, hash, algo) {
  15321. x = Buffer.from(x.toArray())
  15322. if (x.length < q.byteLength()) {
  15323. var zeros = Buffer.alloc(q.byteLength() - x.length)
  15324. x = Buffer.concat([zeros, x])
  15325. }
  15326. var hlen = hash.length
  15327. var hbits = bits2octets(hash, q)
  15328. var v = Buffer.alloc(hlen)
  15329. v.fill(1)
  15330. var k = Buffer.alloc(hlen)
  15331. k = createHmac(algo, k).update(v).update(Buffer.from([0])).update(x).update(hbits).digest()
  15332. v = createHmac(algo, k).update(v).digest()
  15333. k = createHmac(algo, k).update(v).update(Buffer.from([1])).update(x).update(hbits).digest()
  15334. v = createHmac(algo, k).update(v).digest()
  15335. return { k: k, v: v }
  15336. }
  15337. function bits2int (obits, q) {
  15338. var bits = new BN(obits)
  15339. var shift = (obits.length << 3) - q.bitLength()
  15340. if (shift > 0) bits.ishrn(shift)
  15341. return bits
  15342. }
  15343. function bits2octets (bits, q) {
  15344. bits = bits2int(bits, q)
  15345. bits = bits.mod(q)
  15346. var out = Buffer.from(bits.toArray())
  15347. if (out.length < q.byteLength()) {
  15348. var zeros = Buffer.alloc(q.byteLength() - out.length)
  15349. out = Buffer.concat([zeros, out])
  15350. }
  15351. return out
  15352. }
  15353. function makeKey (q, kv, algo) {
  15354. var t
  15355. var k
  15356. do {
  15357. t = Buffer.alloc(0)
  15358. while (t.length * 8 < q.bitLength()) {
  15359. kv.v = createHmac(algo, kv.k).update(kv.v).digest()
  15360. t = Buffer.concat([t, kv.v])
  15361. }
  15362. k = bits2int(t, q)
  15363. kv.k = createHmac(algo, kv.k).update(kv.v).update(Buffer.from([0])).digest()
  15364. kv.v = createHmac(algo, kv.k).update(kv.v).digest()
  15365. } while (k.cmp(q) !== -1)
  15366. return k
  15367. }
  15368. function makeR (g, k, p, q) {
  15369. return g.toRed(BN.mont(p)).redPow(k).fromRed().mod(q)
  15370. }
  15371. module.exports = sign
  15372. module.exports.getKey = getKey
  15373. module.exports.makeKey = makeKey
  15374. /***/ }),
  15375. /* 152 */
  15376. /*!**********************************************!*\
  15377. !*** ./node_modules/browserify-rsa/index.js ***!
  15378. \**********************************************/
  15379. /*! no static exports found */
  15380. /***/ (function(module, exports, __webpack_require__) {
  15381. /* WEBPACK VAR INJECTION */(function(Buffer) {var bn = __webpack_require__(/*! bn.js */ 142);
  15382. var randomBytes = __webpack_require__(/*! randombytes */ 57);
  15383. module.exports = crt;
  15384. function blind(priv) {
  15385. var r = getr(priv);
  15386. var blinder = r.toRed(bn.mont(priv.modulus))
  15387. .redPow(new bn(priv.publicExponent)).fromRed();
  15388. return {
  15389. blinder: blinder,
  15390. unblinder:r.invm(priv.modulus)
  15391. };
  15392. }
  15393. function crt(msg, priv) {
  15394. var blinds = blind(priv);
  15395. var len = priv.modulus.byteLength();
  15396. var mod = bn.mont(priv.modulus);
  15397. var blinded = new bn(msg).mul(blinds.blinder).umod(priv.modulus);
  15398. var c1 = blinded.toRed(bn.mont(priv.prime1));
  15399. var c2 = blinded.toRed(bn.mont(priv.prime2));
  15400. var qinv = priv.coefficient;
  15401. var p = priv.prime1;
  15402. var q = priv.prime2;
  15403. var m1 = c1.redPow(priv.exponent1);
  15404. var m2 = c2.redPow(priv.exponent2);
  15405. m1 = m1.fromRed();
  15406. m2 = m2.fromRed();
  15407. var h = m1.isub(m2).imul(qinv).umod(p);
  15408. h.imul(q);
  15409. m2.iadd(h);
  15410. return new Buffer(m2.imul(blinds.unblinder).umod(priv.modulus).toArray(false, len));
  15411. }
  15412. crt.getr = getr;
  15413. function getr(priv) {
  15414. var len = priv.modulus.byteLength();
  15415. var r = new bn(randomBytes(len));
  15416. while (r.cmp(priv.modulus) >= 0 || !r.umod(priv.prime1) || !r.umod(priv.prime2)) {
  15417. r = new bn(randomBytes(len));
  15418. }
  15419. return r;
  15420. }
  15421. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ 61).Buffer))
  15422. /***/ }),
  15423. /* 153 */
  15424. /*!***********************************************!*\
  15425. !*** ./node_modules/elliptic/lib/elliptic.js ***!
  15426. \***********************************************/
  15427. /*! no static exports found */
  15428. /***/ (function(module, exports, __webpack_require__) {
  15429. "use strict";
  15430. var elliptic = exports;
  15431. elliptic.version = __webpack_require__(/*! ../package.json */ 154).version;
  15432. elliptic.utils = __webpack_require__(/*! ./elliptic/utils */ 155);
  15433. elliptic.rand = __webpack_require__(/*! brorand */ 146);
  15434. elliptic.curve = __webpack_require__(/*! ./elliptic/curve */ 157);
  15435. elliptic.curves = __webpack_require__(/*! ./elliptic/curves */ 162);
  15436. // Protocols
  15437. elliptic.ec = __webpack_require__(/*! ./elliptic/ec */ 176);
  15438. elliptic.eddsa = __webpack_require__(/*! ./elliptic/eddsa */ 180);
  15439. /***/ }),
  15440. /* 154 */
  15441. /*!********************************************!*\
  15442. !*** ./node_modules/elliptic/package.json ***!
  15443. \********************************************/
  15444. /*! exports provided: _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _shasum, _spec, _where, author, bugs, bundleDependencies, dependencies, deprecated, description, devDependencies, files, homepage, keywords, license, main, name, repository, scripts, version, default */
  15445. /***/ (function(module) {
  15446. module.exports = JSON.parse("{\"_from\":\"elliptic@^6.5.2\",\"_id\":\"elliptic@6.5.2\",\"_inBundle\":false,\"_integrity\":\"sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==\",\"_location\":\"/elliptic\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"range\",\"registry\":true,\"raw\":\"elliptic@^6.5.2\",\"name\":\"elliptic\",\"escapedName\":\"elliptic\",\"rawSpec\":\"^6.5.2\",\"saveSpec\":null,\"fetchSpec\":\"^6.5.2\"},\"_requiredBy\":[\"/browserify-sign\",\"/create-ecdh\"],\"_resolved\":\"https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz\",\"_shasum\":\"05c5678d7173c049d8ca433552224a495d0e3762\",\"_spec\":\"elliptic@^6.5.2\",\"_where\":\"/Users/fxy/Documents/DCloud/HbuilderX-plugins/alpha/uniapp-cli/node_modules/browserify-sign\",\"author\":{\"name\":\"Fedor Indutny\",\"email\":\"fedor@indutny.com\"},\"bugs\":{\"url\":\"https://github.com/indutny/elliptic/issues\"},\"bundleDependencies\":false,\"dependencies\":{\"bn.js\":\"^4.4.0\",\"brorand\":\"^1.0.1\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.0\",\"inherits\":\"^2.0.1\",\"minimalistic-assert\":\"^1.0.0\",\"minimalistic-crypto-utils\":\"^1.0.0\"},\"deprecated\":false,\"description\":\"EC cryptography\",\"devDependencies\":{\"brfs\":\"^1.4.3\",\"coveralls\":\"^3.0.8\",\"grunt\":\"^1.0.4\",\"grunt-browserify\":\"^5.0.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-connect\":\"^1.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^1.0.1\",\"grunt-mocha-istanbul\":\"^3.0.1\",\"grunt-saucelabs\":\"^9.0.1\",\"istanbul\":\"^0.4.2\",\"jscs\":\"^3.0.7\",\"jshint\":\"^2.10.3\",\"mocha\":\"^6.2.2\"},\"files\":[\"lib\"],\"homepage\":\"https://github.com/indutny/elliptic\",\"keywords\":[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],\"license\":\"MIT\",\"main\":\"lib/elliptic.js\",\"name\":\"elliptic\",\"repository\":{\"type\":\"git\",\"url\":\"git+ssh://git@github.com/indutny/elliptic.git\"},\"scripts\":{\"jscs\":\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",\"jshint\":\"jscs benchmarks/*.js lib/*.js lib/**/*.js lib/**/**/*.js test/index.js\",\"lint\":\"npm run jscs && npm run jshint\",\"test\":\"npm run lint && npm run unit\",\"unit\":\"istanbul test _mocha --reporter=spec test/index.js\",\"version\":\"grunt dist && git add dist/\"},\"version\":\"6.5.2\"}");
  15447. /***/ }),
  15448. /* 155 */
  15449. /*!*****************************************************!*\
  15450. !*** ./node_modules/elliptic/lib/elliptic/utils.js ***!
  15451. \*****************************************************/
  15452. /*! no static exports found */
  15453. /***/ (function(module, exports, __webpack_require__) {
  15454. "use strict";
  15455. var utils = exports;
  15456. var BN = __webpack_require__(/*! bn.js */ 142);
  15457. var minAssert = __webpack_require__(/*! minimalistic-assert */ 116);
  15458. var minUtils = __webpack_require__(/*! minimalistic-crypto-utils */ 156);
  15459. utils.assert = minAssert;
  15460. utils.toArray = minUtils.toArray;
  15461. utils.zero2 = minUtils.zero2;
  15462. utils.toHex = minUtils.toHex;
  15463. utils.encode = minUtils.encode;
  15464. // Represent num in a w-NAF form
  15465. function getNAF(num, w, bits) {
  15466. var naf = new Array(Math.max(num.bitLength(), bits) + 1);
  15467. naf.fill(0);
  15468. var ws = 1 << (w + 1);
  15469. var k = num.clone();
  15470. for (var i = 0; i < naf.length; i++) {
  15471. var z;
  15472. var mod = k.andln(ws - 1);
  15473. if (k.isOdd()) {
  15474. if (mod > (ws >> 1) - 1)
  15475. z = (ws >> 1) - mod;
  15476. else
  15477. z = mod;
  15478. k.isubn(z);
  15479. } else {
  15480. z = 0;
  15481. }
  15482. naf[i] = z;
  15483. k.iushrn(1);
  15484. }
  15485. return naf;
  15486. }
  15487. utils.getNAF = getNAF;
  15488. // Represent k1, k2 in a Joint Sparse Form
  15489. function getJSF(k1, k2) {
  15490. var jsf = [
  15491. [],
  15492. []
  15493. ];
  15494. k1 = k1.clone();
  15495. k2 = k2.clone();
  15496. var d1 = 0;
  15497. var d2 = 0;
  15498. while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {
  15499. // First phase
  15500. var m14 = (k1.andln(3) + d1) & 3;
  15501. var m24 = (k2.andln(3) + d2) & 3;
  15502. if (m14 === 3)
  15503. m14 = -1;
  15504. if (m24 === 3)
  15505. m24 = -1;
  15506. var u1;
  15507. if ((m14 & 1) === 0) {
  15508. u1 = 0;
  15509. } else {
  15510. var m8 = (k1.andln(7) + d1) & 7;
  15511. if ((m8 === 3 || m8 === 5) && m24 === 2)
  15512. u1 = -m14;
  15513. else
  15514. u1 = m14;
  15515. }
  15516. jsf[0].push(u1);
  15517. var u2;
  15518. if ((m24 & 1) === 0) {
  15519. u2 = 0;
  15520. } else {
  15521. var m8 = (k2.andln(7) + d2) & 7;
  15522. if ((m8 === 3 || m8 === 5) && m14 === 2)
  15523. u2 = -m24;
  15524. else
  15525. u2 = m24;
  15526. }
  15527. jsf[1].push(u2);
  15528. // Second phase
  15529. if (2 * d1 === u1 + 1)
  15530. d1 = 1 - d1;
  15531. if (2 * d2 === u2 + 1)
  15532. d2 = 1 - d2;
  15533. k1.iushrn(1);
  15534. k2.iushrn(1);
  15535. }
  15536. return jsf;
  15537. }
  15538. utils.getJSF = getJSF;
  15539. function cachedProperty(obj, name, computer) {
  15540. var key = '_' + name;
  15541. obj.prototype[name] = function cachedProperty() {
  15542. return this[key] !== undefined ? this[key] :
  15543. this[key] = computer.call(this);
  15544. };
  15545. }
  15546. utils.cachedProperty = cachedProperty;
  15547. function parseBytes(bytes) {
  15548. return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :
  15549. bytes;
  15550. }
  15551. utils.parseBytes = parseBytes;
  15552. function intFromLE(bytes) {
  15553. return new BN(bytes, 'hex', 'le');
  15554. }
  15555. utils.intFromLE = intFromLE;
  15556. /***/ }),
  15557. /* 156 */
  15558. /*!*************************************************************!*\
  15559. !*** ./node_modules/minimalistic-crypto-utils/lib/utils.js ***!
  15560. \*************************************************************/
  15561. /*! no static exports found */
  15562. /***/ (function(module, exports, __webpack_require__) {
  15563. "use strict";
  15564. var utils = exports;
  15565. function toArray(msg, enc) {
  15566. if (Array.isArray(msg))
  15567. return msg.slice();
  15568. if (!msg)
  15569. return [];
  15570. var res = [];
  15571. if (typeof msg !== 'string') {
  15572. for (var i = 0; i < msg.length; i++)
  15573. res[i] = msg[i] | 0;
  15574. return res;
  15575. }
  15576. if (enc === 'hex') {
  15577. msg = msg.replace(/[^a-z0-9]+/ig, '');
  15578. if (msg.length % 2 !== 0)
  15579. msg = '0' + msg;
  15580. for (var i = 0; i < msg.length; i += 2)
  15581. res.push(parseInt(msg[i] + msg[i + 1], 16));
  15582. } else {
  15583. for (var i = 0; i < msg.length; i++) {
  15584. var c = msg.charCodeAt(i);
  15585. var hi = c >> 8;
  15586. var lo = c & 0xff;
  15587. if (hi)
  15588. res.push(hi, lo);
  15589. else
  15590. res.push(lo);
  15591. }
  15592. }
  15593. return res;
  15594. }
  15595. utils.toArray = toArray;
  15596. function zero2(word) {
  15597. if (word.length === 1)
  15598. return '0' + word;
  15599. else
  15600. return word;
  15601. }
  15602. utils.zero2 = zero2;
  15603. function toHex(msg) {
  15604. var res = '';
  15605. for (var i = 0; i < msg.length; i++)
  15606. res += zero2(msg[i].toString(16));
  15607. return res;
  15608. }
  15609. utils.toHex = toHex;
  15610. utils.encode = function encode(arr, enc) {
  15611. if (enc === 'hex')
  15612. return toHex(arr);
  15613. else
  15614. return arr;
  15615. };
  15616. /***/ }),
  15617. /* 157 */
  15618. /*!***********************************************************!*\
  15619. !*** ./node_modules/elliptic/lib/elliptic/curve/index.js ***!
  15620. \***********************************************************/
  15621. /*! no static exports found */
  15622. /***/ (function(module, exports, __webpack_require__) {
  15623. "use strict";
  15624. var curve = exports;
  15625. curve.base = __webpack_require__(/*! ./base */ 158);
  15626. curve.short = __webpack_require__(/*! ./short */ 159);
  15627. curve.mont = __webpack_require__(/*! ./mont */ 160);
  15628. curve.edwards = __webpack_require__(/*! ./edwards */ 161);
  15629. /***/ }),
  15630. /* 158 */
  15631. /*!**********************************************************!*\
  15632. !*** ./node_modules/elliptic/lib/elliptic/curve/base.js ***!
  15633. \**********************************************************/
  15634. /*! no static exports found */
  15635. /***/ (function(module, exports, __webpack_require__) {
  15636. "use strict";
  15637. var BN = __webpack_require__(/*! bn.js */ 142);
  15638. var utils = __webpack_require__(/*! ../utils */ 155);
  15639. var getNAF = utils.getNAF;
  15640. var getJSF = utils.getJSF;
  15641. var assert = utils.assert;
  15642. function BaseCurve(type, conf) {
  15643. this.type = type;
  15644. this.p = new BN(conf.p, 16);
  15645. // Use Montgomery, when there is no fast reduction for the prime
  15646. this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);
  15647. // Useful for many curves
  15648. this.zero = new BN(0).toRed(this.red);
  15649. this.one = new BN(1).toRed(this.red);
  15650. this.two = new BN(2).toRed(this.red);
  15651. // Curve configuration, optional
  15652. this.n = conf.n && new BN(conf.n, 16);
  15653. this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);
  15654. // Temporary arrays
  15655. this._wnafT1 = new Array(4);
  15656. this._wnafT2 = new Array(4);
  15657. this._wnafT3 = new Array(4);
  15658. this._wnafT4 = new Array(4);
  15659. this._bitLength = this.n ? this.n.bitLength() : 0;
  15660. // Generalized Greg Maxwell's trick
  15661. var adjustCount = this.n && this.p.div(this.n);
  15662. if (!adjustCount || adjustCount.cmpn(100) > 0) {
  15663. this.redN = null;
  15664. } else {
  15665. this._maxwellTrick = true;
  15666. this.redN = this.n.toRed(this.red);
  15667. }
  15668. }
  15669. module.exports = BaseCurve;
  15670. BaseCurve.prototype.point = function point() {
  15671. throw new Error('Not implemented');
  15672. };
  15673. BaseCurve.prototype.validate = function validate() {
  15674. throw new Error('Not implemented');
  15675. };
  15676. BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {
  15677. assert(p.precomputed);
  15678. var doubles = p._getDoubles();
  15679. var naf = getNAF(k, 1, this._bitLength);
  15680. var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);
  15681. I /= 3;
  15682. // Translate into more windowed form
  15683. var repr = [];
  15684. for (var j = 0; j < naf.length; j += doubles.step) {
  15685. var nafW = 0;
  15686. for (var k = j + doubles.step - 1; k >= j; k--)
  15687. nafW = (nafW << 1) + naf[k];
  15688. repr.push(nafW);
  15689. }
  15690. var a = this.jpoint(null, null, null);
  15691. var b = this.jpoint(null, null, null);
  15692. for (var i = I; i > 0; i--) {
  15693. for (var j = 0; j < repr.length; j++) {
  15694. var nafW = repr[j];
  15695. if (nafW === i)
  15696. b = b.mixedAdd(doubles.points[j]);
  15697. else if (nafW === -i)
  15698. b = b.mixedAdd(doubles.points[j].neg());
  15699. }
  15700. a = a.add(b);
  15701. }
  15702. return a.toP();
  15703. };
  15704. BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {
  15705. var w = 4;
  15706. // Precompute window
  15707. var nafPoints = p._getNAFPoints(w);
  15708. w = nafPoints.wnd;
  15709. var wnd = nafPoints.points;
  15710. // Get NAF form
  15711. var naf = getNAF(k, w, this._bitLength);
  15712. // Add `this`*(N+1) for every w-NAF index
  15713. var acc = this.jpoint(null, null, null);
  15714. for (var i = naf.length - 1; i >= 0; i--) {
  15715. // Count zeroes
  15716. for (var k = 0; i >= 0 && naf[i] === 0; i--)
  15717. k++;
  15718. if (i >= 0)
  15719. k++;
  15720. acc = acc.dblp(k);
  15721. if (i < 0)
  15722. break;
  15723. var z = naf[i];
  15724. assert(z !== 0);
  15725. if (p.type === 'affine') {
  15726. // J +- P
  15727. if (z > 0)
  15728. acc = acc.mixedAdd(wnd[(z - 1) >> 1]);
  15729. else
  15730. acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());
  15731. } else {
  15732. // J +- J
  15733. if (z > 0)
  15734. acc = acc.add(wnd[(z - 1) >> 1]);
  15735. else
  15736. acc = acc.add(wnd[(-z - 1) >> 1].neg());
  15737. }
  15738. }
  15739. return p.type === 'affine' ? acc.toP() : acc;
  15740. };
  15741. BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,
  15742. points,
  15743. coeffs,
  15744. len,
  15745. jacobianResult) {
  15746. var wndWidth = this._wnafT1;
  15747. var wnd = this._wnafT2;
  15748. var naf = this._wnafT3;
  15749. // Fill all arrays
  15750. var max = 0;
  15751. for (var i = 0; i < len; i++) {
  15752. var p = points[i];
  15753. var nafPoints = p._getNAFPoints(defW);
  15754. wndWidth[i] = nafPoints.wnd;
  15755. wnd[i] = nafPoints.points;
  15756. }
  15757. // Comb small window NAFs
  15758. for (var i = len - 1; i >= 1; i -= 2) {
  15759. var a = i - 1;
  15760. var b = i;
  15761. if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {
  15762. naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);
  15763. naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);
  15764. max = Math.max(naf[a].length, max);
  15765. max = Math.max(naf[b].length, max);
  15766. continue;
  15767. }
  15768. var comb = [
  15769. points[a], /* 1 */
  15770. null, /* 3 */
  15771. null, /* 5 */
  15772. points[b] /* 7 */
  15773. ];
  15774. // Try to avoid Projective points, if possible
  15775. if (points[a].y.cmp(points[b].y) === 0) {
  15776. comb[1] = points[a].add(points[b]);
  15777. comb[2] = points[a].toJ().mixedAdd(points[b].neg());
  15778. } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {
  15779. comb[1] = points[a].toJ().mixedAdd(points[b]);
  15780. comb[2] = points[a].add(points[b].neg());
  15781. } else {
  15782. comb[1] = points[a].toJ().mixedAdd(points[b]);
  15783. comb[2] = points[a].toJ().mixedAdd(points[b].neg());
  15784. }
  15785. var index = [
  15786. -3, /* -1 -1 */
  15787. -1, /* -1 0 */
  15788. -5, /* -1 1 */
  15789. -7, /* 0 -1 */
  15790. 0, /* 0 0 */
  15791. 7, /* 0 1 */
  15792. 5, /* 1 -1 */
  15793. 1, /* 1 0 */
  15794. 3 /* 1 1 */
  15795. ];
  15796. var jsf = getJSF(coeffs[a], coeffs[b]);
  15797. max = Math.max(jsf[0].length, max);
  15798. naf[a] = new Array(max);
  15799. naf[b] = new Array(max);
  15800. for (var j = 0; j < max; j++) {
  15801. var ja = jsf[0][j] | 0;
  15802. var jb = jsf[1][j] | 0;
  15803. naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];
  15804. naf[b][j] = 0;
  15805. wnd[a] = comb;
  15806. }
  15807. }
  15808. var acc = this.jpoint(null, null, null);
  15809. var tmp = this._wnafT4;
  15810. for (var i = max; i >= 0; i--) {
  15811. var k = 0;
  15812. while (i >= 0) {
  15813. var zero = true;
  15814. for (var j = 0; j < len; j++) {
  15815. tmp[j] = naf[j][i] | 0;
  15816. if (tmp[j] !== 0)
  15817. zero = false;
  15818. }
  15819. if (!zero)
  15820. break;
  15821. k++;
  15822. i--;
  15823. }
  15824. if (i >= 0)
  15825. k++;
  15826. acc = acc.dblp(k);
  15827. if (i < 0)
  15828. break;
  15829. for (var j = 0; j < len; j++) {
  15830. var z = tmp[j];
  15831. var p;
  15832. if (z === 0)
  15833. continue;
  15834. else if (z > 0)
  15835. p = wnd[j][(z - 1) >> 1];
  15836. else if (z < 0)
  15837. p = wnd[j][(-z - 1) >> 1].neg();
  15838. if (p.type === 'affine')
  15839. acc = acc.mixedAdd(p);
  15840. else
  15841. acc = acc.add(p);
  15842. }
  15843. }
  15844. // Zeroify references
  15845. for (var i = 0; i < len; i++)
  15846. wnd[i] = null;
  15847. if (jacobianResult)
  15848. return acc;
  15849. else
  15850. return acc.toP();
  15851. };
  15852. function BasePoint(curve, type) {
  15853. this.curve = curve;
  15854. this.type = type;
  15855. this.precomputed = null;
  15856. }
  15857. BaseCurve.BasePoint = BasePoint;
  15858. BasePoint.prototype.eq = function eq(/*other*/) {
  15859. throw new Error('Not implemented');
  15860. };
  15861. BasePoint.prototype.validate = function validate() {
  15862. return this.curve.validate(this);
  15863. };
  15864. BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
  15865. bytes = utils.toArray(bytes, enc);
  15866. var len = this.p.byteLength();
  15867. // uncompressed, hybrid-odd, hybrid-even
  15868. if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
  15869. bytes.length - 1 === 2 * len) {
  15870. if (bytes[0] === 0x06)
  15871. assert(bytes[bytes.length - 1] % 2 === 0);
  15872. else if (bytes[0] === 0x07)
  15873. assert(bytes[bytes.length - 1] % 2 === 1);
  15874. var res = this.point(bytes.slice(1, 1 + len),
  15875. bytes.slice(1 + len, 1 + 2 * len));
  15876. return res;
  15877. } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&
  15878. bytes.length - 1 === len) {
  15879. return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);
  15880. }
  15881. throw new Error('Unknown point format');
  15882. };
  15883. BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {
  15884. return this.encode(enc, true);
  15885. };
  15886. BasePoint.prototype._encode = function _encode(compact) {
  15887. var len = this.curve.p.byteLength();
  15888. var x = this.getX().toArray('be', len);
  15889. if (compact)
  15890. return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);
  15891. return [ 0x04 ].concat(x, this.getY().toArray('be', len)) ;
  15892. };
  15893. BasePoint.prototype.encode = function encode(enc, compact) {
  15894. return utils.encode(this._encode(compact), enc);
  15895. };
  15896. BasePoint.prototype.precompute = function precompute(power) {
  15897. if (this.precomputed)
  15898. return this;
  15899. var precomputed = {
  15900. doubles: null,
  15901. naf: null,
  15902. beta: null
  15903. };
  15904. precomputed.naf = this._getNAFPoints(8);
  15905. precomputed.doubles = this._getDoubles(4, power);
  15906. precomputed.beta = this._getBeta();
  15907. this.precomputed = precomputed;
  15908. return this;
  15909. };
  15910. BasePoint.prototype._hasDoubles = function _hasDoubles(k) {
  15911. if (!this.precomputed)
  15912. return false;
  15913. var doubles = this.precomputed.doubles;
  15914. if (!doubles)
  15915. return false;
  15916. return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);
  15917. };
  15918. BasePoint.prototype._getDoubles = function _getDoubles(step, power) {
  15919. if (this.precomputed && this.precomputed.doubles)
  15920. return this.precomputed.doubles;
  15921. var doubles = [ this ];
  15922. var acc = this;
  15923. for (var i = 0; i < power; i += step) {
  15924. for (var j = 0; j < step; j++)
  15925. acc = acc.dbl();
  15926. doubles.push(acc);
  15927. }
  15928. return {
  15929. step: step,
  15930. points: doubles
  15931. };
  15932. };
  15933. BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {
  15934. if (this.precomputed && this.precomputed.naf)
  15935. return this.precomputed.naf;
  15936. var res = [ this ];
  15937. var max = (1 << wnd) - 1;
  15938. var dbl = max === 1 ? null : this.dbl();
  15939. for (var i = 1; i < max; i++)
  15940. res[i] = res[i - 1].add(dbl);
  15941. return {
  15942. wnd: wnd,
  15943. points: res
  15944. };
  15945. };
  15946. BasePoint.prototype._getBeta = function _getBeta() {
  15947. return null;
  15948. };
  15949. BasePoint.prototype.dblp = function dblp(k) {
  15950. var r = this;
  15951. for (var i = 0; i < k; i++)
  15952. r = r.dbl();
  15953. return r;
  15954. };
  15955. /***/ }),
  15956. /* 159 */
  15957. /*!***********************************************************!*\
  15958. !*** ./node_modules/elliptic/lib/elliptic/curve/short.js ***!
  15959. \***********************************************************/
  15960. /*! no static exports found */
  15961. /***/ (function(module, exports, __webpack_require__) {
  15962. "use strict";
  15963. var utils = __webpack_require__(/*! ../utils */ 155);
  15964. var BN = __webpack_require__(/*! bn.js */ 142);
  15965. var inherits = __webpack_require__(/*! inherits */ 66);
  15966. var Base = __webpack_require__(/*! ./base */ 158);
  15967. var assert = utils.assert;
  15968. function ShortCurve(conf) {
  15969. Base.call(this, 'short', conf);
  15970. this.a = new BN(conf.a, 16).toRed(this.red);
  15971. this.b = new BN(conf.b, 16).toRed(this.red);
  15972. this.tinv = this.two.redInvm();
  15973. this.zeroA = this.a.fromRed().cmpn(0) === 0;
  15974. this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;
  15975. // If the curve is endomorphic, precalculate beta and lambda
  15976. this.endo = this._getEndomorphism(conf);
  15977. this._endoWnafT1 = new Array(4);
  15978. this._endoWnafT2 = new Array(4);
  15979. }
  15980. inherits(ShortCurve, Base);
  15981. module.exports = ShortCurve;
  15982. ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {
  15983. // No efficient endomorphism
  15984. if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)
  15985. return;
  15986. // Compute beta and lambda, that lambda * P = (beta * Px; Py)
  15987. var beta;
  15988. var lambda;
  15989. if (conf.beta) {
  15990. beta = new BN(conf.beta, 16).toRed(this.red);
  15991. } else {
  15992. var betas = this._getEndoRoots(this.p);
  15993. // Choose the smallest beta
  15994. beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];
  15995. beta = beta.toRed(this.red);
  15996. }
  15997. if (conf.lambda) {
  15998. lambda = new BN(conf.lambda, 16);
  15999. } else {
  16000. // Choose the lambda that is matching selected beta
  16001. var lambdas = this._getEndoRoots(this.n);
  16002. if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {
  16003. lambda = lambdas[0];
  16004. } else {
  16005. lambda = lambdas[1];
  16006. assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);
  16007. }
  16008. }
  16009. // Get basis vectors, used for balanced length-two representation
  16010. var basis;
  16011. if (conf.basis) {
  16012. basis = conf.basis.map(function(vec) {
  16013. return {
  16014. a: new BN(vec.a, 16),
  16015. b: new BN(vec.b, 16)
  16016. };
  16017. });
  16018. } else {
  16019. basis = this._getEndoBasis(lambda);
  16020. }
  16021. return {
  16022. beta: beta,
  16023. lambda: lambda,
  16024. basis: basis
  16025. };
  16026. };
  16027. ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {
  16028. // Find roots of for x^2 + x + 1 in F
  16029. // Root = (-1 +- Sqrt(-3)) / 2
  16030. //
  16031. var red = num === this.p ? this.red : BN.mont(num);
  16032. var tinv = new BN(2).toRed(red).redInvm();
  16033. var ntinv = tinv.redNeg();
  16034. var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);
  16035. var l1 = ntinv.redAdd(s).fromRed();
  16036. var l2 = ntinv.redSub(s).fromRed();
  16037. return [ l1, l2 ];
  16038. };
  16039. ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {
  16040. // aprxSqrt >= sqrt(this.n)
  16041. var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));
  16042. // 3.74
  16043. // Run EGCD, until r(L + 1) < aprxSqrt
  16044. var u = lambda;
  16045. var v = this.n.clone();
  16046. var x1 = new BN(1);
  16047. var y1 = new BN(0);
  16048. var x2 = new BN(0);
  16049. var y2 = new BN(1);
  16050. // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)
  16051. var a0;
  16052. var b0;
  16053. // First vector
  16054. var a1;
  16055. var b1;
  16056. // Second vector
  16057. var a2;
  16058. var b2;
  16059. var prevR;
  16060. var i = 0;
  16061. var r;
  16062. var x;
  16063. while (u.cmpn(0) !== 0) {
  16064. var q = v.div(u);
  16065. r = v.sub(q.mul(u));
  16066. x = x2.sub(q.mul(x1));
  16067. var y = y2.sub(q.mul(y1));
  16068. if (!a1 && r.cmp(aprxSqrt) < 0) {
  16069. a0 = prevR.neg();
  16070. b0 = x1;
  16071. a1 = r.neg();
  16072. b1 = x;
  16073. } else if (a1 && ++i === 2) {
  16074. break;
  16075. }
  16076. prevR = r;
  16077. v = u;
  16078. u = r;
  16079. x2 = x1;
  16080. x1 = x;
  16081. y2 = y1;
  16082. y1 = y;
  16083. }
  16084. a2 = r.neg();
  16085. b2 = x;
  16086. var len1 = a1.sqr().add(b1.sqr());
  16087. var len2 = a2.sqr().add(b2.sqr());
  16088. if (len2.cmp(len1) >= 0) {
  16089. a2 = a0;
  16090. b2 = b0;
  16091. }
  16092. // Normalize signs
  16093. if (a1.negative) {
  16094. a1 = a1.neg();
  16095. b1 = b1.neg();
  16096. }
  16097. if (a2.negative) {
  16098. a2 = a2.neg();
  16099. b2 = b2.neg();
  16100. }
  16101. return [
  16102. { a: a1, b: b1 },
  16103. { a: a2, b: b2 }
  16104. ];
  16105. };
  16106. ShortCurve.prototype._endoSplit = function _endoSplit(k) {
  16107. var basis = this.endo.basis;
  16108. var v1 = basis[0];
  16109. var v2 = basis[1];
  16110. var c1 = v2.b.mul(k).divRound(this.n);
  16111. var c2 = v1.b.neg().mul(k).divRound(this.n);
  16112. var p1 = c1.mul(v1.a);
  16113. var p2 = c2.mul(v2.a);
  16114. var q1 = c1.mul(v1.b);
  16115. var q2 = c2.mul(v2.b);
  16116. // Calculate answer
  16117. var k1 = k.sub(p1).sub(p2);
  16118. var k2 = q1.add(q2).neg();
  16119. return { k1: k1, k2: k2 };
  16120. };
  16121. ShortCurve.prototype.pointFromX = function pointFromX(x, odd) {
  16122. x = new BN(x, 16);
  16123. if (!x.red)
  16124. x = x.toRed(this.red);
  16125. var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);
  16126. var y = y2.redSqrt();
  16127. if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
  16128. throw new Error('invalid point');
  16129. // XXX Is there any way to tell if the number is odd without converting it
  16130. // to non-red form?
  16131. var isOdd = y.fromRed().isOdd();
  16132. if (odd && !isOdd || !odd && isOdd)
  16133. y = y.redNeg();
  16134. return this.point(x, y);
  16135. };
  16136. ShortCurve.prototype.validate = function validate(point) {
  16137. if (point.inf)
  16138. return true;
  16139. var x = point.x;
  16140. var y = point.y;
  16141. var ax = this.a.redMul(x);
  16142. var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);
  16143. return y.redSqr().redISub(rhs).cmpn(0) === 0;
  16144. };
  16145. ShortCurve.prototype._endoWnafMulAdd =
  16146. function _endoWnafMulAdd(points, coeffs, jacobianResult) {
  16147. var npoints = this._endoWnafT1;
  16148. var ncoeffs = this._endoWnafT2;
  16149. for (var i = 0; i < points.length; i++) {
  16150. var split = this._endoSplit(coeffs[i]);
  16151. var p = points[i];
  16152. var beta = p._getBeta();
  16153. if (split.k1.negative) {
  16154. split.k1.ineg();
  16155. p = p.neg(true);
  16156. }
  16157. if (split.k2.negative) {
  16158. split.k2.ineg();
  16159. beta = beta.neg(true);
  16160. }
  16161. npoints[i * 2] = p;
  16162. npoints[i * 2 + 1] = beta;
  16163. ncoeffs[i * 2] = split.k1;
  16164. ncoeffs[i * 2 + 1] = split.k2;
  16165. }
  16166. var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);
  16167. // Clean-up references to points and coefficients
  16168. for (var j = 0; j < i * 2; j++) {
  16169. npoints[j] = null;
  16170. ncoeffs[j] = null;
  16171. }
  16172. return res;
  16173. };
  16174. function Point(curve, x, y, isRed) {
  16175. Base.BasePoint.call(this, curve, 'affine');
  16176. if (x === null && y === null) {
  16177. this.x = null;
  16178. this.y = null;
  16179. this.inf = true;
  16180. } else {
  16181. this.x = new BN(x, 16);
  16182. this.y = new BN(y, 16);
  16183. // Force redgomery representation when loading from JSON
  16184. if (isRed) {
  16185. this.x.forceRed(this.curve.red);
  16186. this.y.forceRed(this.curve.red);
  16187. }
  16188. if (!this.x.red)
  16189. this.x = this.x.toRed(this.curve.red);
  16190. if (!this.y.red)
  16191. this.y = this.y.toRed(this.curve.red);
  16192. this.inf = false;
  16193. }
  16194. }
  16195. inherits(Point, Base.BasePoint);
  16196. ShortCurve.prototype.point = function point(x, y, isRed) {
  16197. return new Point(this, x, y, isRed);
  16198. };
  16199. ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {
  16200. return Point.fromJSON(this, obj, red);
  16201. };
  16202. Point.prototype._getBeta = function _getBeta() {
  16203. if (!this.curve.endo)
  16204. return;
  16205. var pre = this.precomputed;
  16206. if (pre && pre.beta)
  16207. return pre.beta;
  16208. var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);
  16209. if (pre) {
  16210. var curve = this.curve;
  16211. var endoMul = function(p) {
  16212. return curve.point(p.x.redMul(curve.endo.beta), p.y);
  16213. };
  16214. pre.beta = beta;
  16215. beta.precomputed = {
  16216. beta: null,
  16217. naf: pre.naf && {
  16218. wnd: pre.naf.wnd,
  16219. points: pre.naf.points.map(endoMul)
  16220. },
  16221. doubles: pre.doubles && {
  16222. step: pre.doubles.step,
  16223. points: pre.doubles.points.map(endoMul)
  16224. }
  16225. };
  16226. }
  16227. return beta;
  16228. };
  16229. Point.prototype.toJSON = function toJSON() {
  16230. if (!this.precomputed)
  16231. return [ this.x, this.y ];
  16232. return [ this.x, this.y, this.precomputed && {
  16233. doubles: this.precomputed.doubles && {
  16234. step: this.precomputed.doubles.step,
  16235. points: this.precomputed.doubles.points.slice(1)
  16236. },
  16237. naf: this.precomputed.naf && {
  16238. wnd: this.precomputed.naf.wnd,
  16239. points: this.precomputed.naf.points.slice(1)
  16240. }
  16241. } ];
  16242. };
  16243. Point.fromJSON = function fromJSON(curve, obj, red) {
  16244. if (typeof obj === 'string')
  16245. obj = JSON.parse(obj);
  16246. var res = curve.point(obj[0], obj[1], red);
  16247. if (!obj[2])
  16248. return res;
  16249. function obj2point(obj) {
  16250. return curve.point(obj[0], obj[1], red);
  16251. }
  16252. var pre = obj[2];
  16253. res.precomputed = {
  16254. beta: null,
  16255. doubles: pre.doubles && {
  16256. step: pre.doubles.step,
  16257. points: [ res ].concat(pre.doubles.points.map(obj2point))
  16258. },
  16259. naf: pre.naf && {
  16260. wnd: pre.naf.wnd,
  16261. points: [ res ].concat(pre.naf.points.map(obj2point))
  16262. }
  16263. };
  16264. return res;
  16265. };
  16266. Point.prototype.inspect = function inspect() {
  16267. if (this.isInfinity())
  16268. return '<EC Point Infinity>';
  16269. return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
  16270. ' y: ' + this.y.fromRed().toString(16, 2) + '>';
  16271. };
  16272. Point.prototype.isInfinity = function isInfinity() {
  16273. return this.inf;
  16274. };
  16275. Point.prototype.add = function add(p) {
  16276. // O + P = P
  16277. if (this.inf)
  16278. return p;
  16279. // P + O = P
  16280. if (p.inf)
  16281. return this;
  16282. // P + P = 2P
  16283. if (this.eq(p))
  16284. return this.dbl();
  16285. // P + (-P) = O
  16286. if (this.neg().eq(p))
  16287. return this.curve.point(null, null);
  16288. // P + Q = O
  16289. if (this.x.cmp(p.x) === 0)
  16290. return this.curve.point(null, null);
  16291. var c = this.y.redSub(p.y);
  16292. if (c.cmpn(0) !== 0)
  16293. c = c.redMul(this.x.redSub(p.x).redInvm());
  16294. var nx = c.redSqr().redISub(this.x).redISub(p.x);
  16295. var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
  16296. return this.curve.point(nx, ny);
  16297. };
  16298. Point.prototype.dbl = function dbl() {
  16299. if (this.inf)
  16300. return this;
  16301. // 2P = O
  16302. var ys1 = this.y.redAdd(this.y);
  16303. if (ys1.cmpn(0) === 0)
  16304. return this.curve.point(null, null);
  16305. var a = this.curve.a;
  16306. var x2 = this.x.redSqr();
  16307. var dyinv = ys1.redInvm();
  16308. var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);
  16309. var nx = c.redSqr().redISub(this.x.redAdd(this.x));
  16310. var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
  16311. return this.curve.point(nx, ny);
  16312. };
  16313. Point.prototype.getX = function getX() {
  16314. return this.x.fromRed();
  16315. };
  16316. Point.prototype.getY = function getY() {
  16317. return this.y.fromRed();
  16318. };
  16319. Point.prototype.mul = function mul(k) {
  16320. k = new BN(k, 16);
  16321. if (this.isInfinity())
  16322. return this;
  16323. else if (this._hasDoubles(k))
  16324. return this.curve._fixedNafMul(this, k);
  16325. else if (this.curve.endo)
  16326. return this.curve._endoWnafMulAdd([ this ], [ k ]);
  16327. else
  16328. return this.curve._wnafMul(this, k);
  16329. };
  16330. Point.prototype.mulAdd = function mulAdd(k1, p2, k2) {
  16331. var points = [ this, p2 ];
  16332. var coeffs = [ k1, k2 ];
  16333. if (this.curve.endo)
  16334. return this.curve._endoWnafMulAdd(points, coeffs);
  16335. else
  16336. return this.curve._wnafMulAdd(1, points, coeffs, 2);
  16337. };
  16338. Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {
  16339. var points = [ this, p2 ];
  16340. var coeffs = [ k1, k2 ];
  16341. if (this.curve.endo)
  16342. return this.curve._endoWnafMulAdd(points, coeffs, true);
  16343. else
  16344. return this.curve._wnafMulAdd(1, points, coeffs, 2, true);
  16345. };
  16346. Point.prototype.eq = function eq(p) {
  16347. return this === p ||
  16348. this.inf === p.inf &&
  16349. (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);
  16350. };
  16351. Point.prototype.neg = function neg(_precompute) {
  16352. if (this.inf)
  16353. return this;
  16354. var res = this.curve.point(this.x, this.y.redNeg());
  16355. if (_precompute && this.precomputed) {
  16356. var pre = this.precomputed;
  16357. var negate = function(p) {
  16358. return p.neg();
  16359. };
  16360. res.precomputed = {
  16361. naf: pre.naf && {
  16362. wnd: pre.naf.wnd,
  16363. points: pre.naf.points.map(negate)
  16364. },
  16365. doubles: pre.doubles && {
  16366. step: pre.doubles.step,
  16367. points: pre.doubles.points.map(negate)
  16368. }
  16369. };
  16370. }
  16371. return res;
  16372. };
  16373. Point.prototype.toJ = function toJ() {
  16374. if (this.inf)
  16375. return this.curve.jpoint(null, null, null);
  16376. var res = this.curve.jpoint(this.x, this.y, this.curve.one);
  16377. return res;
  16378. };
  16379. function JPoint(curve, x, y, z) {
  16380. Base.BasePoint.call(this, curve, 'jacobian');
  16381. if (x === null && y === null && z === null) {
  16382. this.x = this.curve.one;
  16383. this.y = this.curve.one;
  16384. this.z = new BN(0);
  16385. } else {
  16386. this.x = new BN(x, 16);
  16387. this.y = new BN(y, 16);
  16388. this.z = new BN(z, 16);
  16389. }
  16390. if (!this.x.red)
  16391. this.x = this.x.toRed(this.curve.red);
  16392. if (!this.y.red)
  16393. this.y = this.y.toRed(this.curve.red);
  16394. if (!this.z.red)
  16395. this.z = this.z.toRed(this.curve.red);
  16396. this.zOne = this.z === this.curve.one;
  16397. }
  16398. inherits(JPoint, Base.BasePoint);
  16399. ShortCurve.prototype.jpoint = function jpoint(x, y, z) {
  16400. return new JPoint(this, x, y, z);
  16401. };
  16402. JPoint.prototype.toP = function toP() {
  16403. if (this.isInfinity())
  16404. return this.curve.point(null, null);
  16405. var zinv = this.z.redInvm();
  16406. var zinv2 = zinv.redSqr();
  16407. var ax = this.x.redMul(zinv2);
  16408. var ay = this.y.redMul(zinv2).redMul(zinv);
  16409. return this.curve.point(ax, ay);
  16410. };
  16411. JPoint.prototype.neg = function neg() {
  16412. return this.curve.jpoint(this.x, this.y.redNeg(), this.z);
  16413. };
  16414. JPoint.prototype.add = function add(p) {
  16415. // O + P = P
  16416. if (this.isInfinity())
  16417. return p;
  16418. // P + O = P
  16419. if (p.isInfinity())
  16420. return this;
  16421. // 12M + 4S + 7A
  16422. var pz2 = p.z.redSqr();
  16423. var z2 = this.z.redSqr();
  16424. var u1 = this.x.redMul(pz2);
  16425. var u2 = p.x.redMul(z2);
  16426. var s1 = this.y.redMul(pz2.redMul(p.z));
  16427. var s2 = p.y.redMul(z2.redMul(this.z));
  16428. var h = u1.redSub(u2);
  16429. var r = s1.redSub(s2);
  16430. if (h.cmpn(0) === 0) {
  16431. if (r.cmpn(0) !== 0)
  16432. return this.curve.jpoint(null, null, null);
  16433. else
  16434. return this.dbl();
  16435. }
  16436. var h2 = h.redSqr();
  16437. var h3 = h2.redMul(h);
  16438. var v = u1.redMul(h2);
  16439. var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
  16440. var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
  16441. var nz = this.z.redMul(p.z).redMul(h);
  16442. return this.curve.jpoint(nx, ny, nz);
  16443. };
  16444. JPoint.prototype.mixedAdd = function mixedAdd(p) {
  16445. // O + P = P
  16446. if (this.isInfinity())
  16447. return p.toJ();
  16448. // P + O = P
  16449. if (p.isInfinity())
  16450. return this;
  16451. // 8M + 3S + 7A
  16452. var z2 = this.z.redSqr();
  16453. var u1 = this.x;
  16454. var u2 = p.x.redMul(z2);
  16455. var s1 = this.y;
  16456. var s2 = p.y.redMul(z2).redMul(this.z);
  16457. var h = u1.redSub(u2);
  16458. var r = s1.redSub(s2);
  16459. if (h.cmpn(0) === 0) {
  16460. if (r.cmpn(0) !== 0)
  16461. return this.curve.jpoint(null, null, null);
  16462. else
  16463. return this.dbl();
  16464. }
  16465. var h2 = h.redSqr();
  16466. var h3 = h2.redMul(h);
  16467. var v = u1.redMul(h2);
  16468. var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);
  16469. var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));
  16470. var nz = this.z.redMul(h);
  16471. return this.curve.jpoint(nx, ny, nz);
  16472. };
  16473. JPoint.prototype.dblp = function dblp(pow) {
  16474. if (pow === 0)
  16475. return this;
  16476. if (this.isInfinity())
  16477. return this;
  16478. if (!pow)
  16479. return this.dbl();
  16480. if (this.curve.zeroA || this.curve.threeA) {
  16481. var r = this;
  16482. for (var i = 0; i < pow; i++)
  16483. r = r.dbl();
  16484. return r;
  16485. }
  16486. // 1M + 2S + 1A + N * (4S + 5M + 8A)
  16487. // N = 1 => 6M + 6S + 9A
  16488. var a = this.curve.a;
  16489. var tinv = this.curve.tinv;
  16490. var jx = this.x;
  16491. var jy = this.y;
  16492. var jz = this.z;
  16493. var jz4 = jz.redSqr().redSqr();
  16494. // Reuse results
  16495. var jyd = jy.redAdd(jy);
  16496. for (var i = 0; i < pow; i++) {
  16497. var jx2 = jx.redSqr();
  16498. var jyd2 = jyd.redSqr();
  16499. var jyd4 = jyd2.redSqr();
  16500. var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
  16501. var t1 = jx.redMul(jyd2);
  16502. var nx = c.redSqr().redISub(t1.redAdd(t1));
  16503. var t2 = t1.redISub(nx);
  16504. var dny = c.redMul(t2);
  16505. dny = dny.redIAdd(dny).redISub(jyd4);
  16506. var nz = jyd.redMul(jz);
  16507. if (i + 1 < pow)
  16508. jz4 = jz4.redMul(jyd4);
  16509. jx = nx;
  16510. jz = nz;
  16511. jyd = dny;
  16512. }
  16513. return this.curve.jpoint(jx, jyd.redMul(tinv), jz);
  16514. };
  16515. JPoint.prototype.dbl = function dbl() {
  16516. if (this.isInfinity())
  16517. return this;
  16518. if (this.curve.zeroA)
  16519. return this._zeroDbl();
  16520. else if (this.curve.threeA)
  16521. return this._threeDbl();
  16522. else
  16523. return this._dbl();
  16524. };
  16525. JPoint.prototype._zeroDbl = function _zeroDbl() {
  16526. var nx;
  16527. var ny;
  16528. var nz;
  16529. // Z = 1
  16530. if (this.zOne) {
  16531. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
  16532. // #doubling-mdbl-2007-bl
  16533. // 1M + 5S + 14A
  16534. // XX = X1^2
  16535. var xx = this.x.redSqr();
  16536. // YY = Y1^2
  16537. var yy = this.y.redSqr();
  16538. // YYYY = YY^2
  16539. var yyyy = yy.redSqr();
  16540. // S = 2 * ((X1 + YY)^2 - XX - YYYY)
  16541. var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
  16542. s = s.redIAdd(s);
  16543. // M = 3 * XX + a; a = 0
  16544. var m = xx.redAdd(xx).redIAdd(xx);
  16545. // T = M ^ 2 - 2*S
  16546. var t = m.redSqr().redISub(s).redISub(s);
  16547. // 8 * YYYY
  16548. var yyyy8 = yyyy.redIAdd(yyyy);
  16549. yyyy8 = yyyy8.redIAdd(yyyy8);
  16550. yyyy8 = yyyy8.redIAdd(yyyy8);
  16551. // X3 = T
  16552. nx = t;
  16553. // Y3 = M * (S - T) - 8 * YYYY
  16554. ny = m.redMul(s.redISub(t)).redISub(yyyy8);
  16555. // Z3 = 2*Y1
  16556. nz = this.y.redAdd(this.y);
  16557. } else {
  16558. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html
  16559. // #doubling-dbl-2009-l
  16560. // 2M + 5S + 13A
  16561. // A = X1^2
  16562. var a = this.x.redSqr();
  16563. // B = Y1^2
  16564. var b = this.y.redSqr();
  16565. // C = B^2
  16566. var c = b.redSqr();
  16567. // D = 2 * ((X1 + B)^2 - A - C)
  16568. var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);
  16569. d = d.redIAdd(d);
  16570. // E = 3 * A
  16571. var e = a.redAdd(a).redIAdd(a);
  16572. // F = E^2
  16573. var f = e.redSqr();
  16574. // 8 * C
  16575. var c8 = c.redIAdd(c);
  16576. c8 = c8.redIAdd(c8);
  16577. c8 = c8.redIAdd(c8);
  16578. // X3 = F - 2 * D
  16579. nx = f.redISub(d).redISub(d);
  16580. // Y3 = E * (D - X3) - 8 * C
  16581. ny = e.redMul(d.redISub(nx)).redISub(c8);
  16582. // Z3 = 2 * Y1 * Z1
  16583. nz = this.y.redMul(this.z);
  16584. nz = nz.redIAdd(nz);
  16585. }
  16586. return this.curve.jpoint(nx, ny, nz);
  16587. };
  16588. JPoint.prototype._threeDbl = function _threeDbl() {
  16589. var nx;
  16590. var ny;
  16591. var nz;
  16592. // Z = 1
  16593. if (this.zOne) {
  16594. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html
  16595. // #doubling-mdbl-2007-bl
  16596. // 1M + 5S + 15A
  16597. // XX = X1^2
  16598. var xx = this.x.redSqr();
  16599. // YY = Y1^2
  16600. var yy = this.y.redSqr();
  16601. // YYYY = YY^2
  16602. var yyyy = yy.redSqr();
  16603. // S = 2 * ((X1 + YY)^2 - XX - YYYY)
  16604. var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
  16605. s = s.redIAdd(s);
  16606. // M = 3 * XX + a
  16607. var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);
  16608. // T = M^2 - 2 * S
  16609. var t = m.redSqr().redISub(s).redISub(s);
  16610. // X3 = T
  16611. nx = t;
  16612. // Y3 = M * (S - T) - 8 * YYYY
  16613. var yyyy8 = yyyy.redIAdd(yyyy);
  16614. yyyy8 = yyyy8.redIAdd(yyyy8);
  16615. yyyy8 = yyyy8.redIAdd(yyyy8);
  16616. ny = m.redMul(s.redISub(t)).redISub(yyyy8);
  16617. // Z3 = 2 * Y1
  16618. nz = this.y.redAdd(this.y);
  16619. } else {
  16620. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b
  16621. // 3M + 5S
  16622. // delta = Z1^2
  16623. var delta = this.z.redSqr();
  16624. // gamma = Y1^2
  16625. var gamma = this.y.redSqr();
  16626. // beta = X1 * gamma
  16627. var beta = this.x.redMul(gamma);
  16628. // alpha = 3 * (X1 - delta) * (X1 + delta)
  16629. var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));
  16630. alpha = alpha.redAdd(alpha).redIAdd(alpha);
  16631. // X3 = alpha^2 - 8 * beta
  16632. var beta4 = beta.redIAdd(beta);
  16633. beta4 = beta4.redIAdd(beta4);
  16634. var beta8 = beta4.redAdd(beta4);
  16635. nx = alpha.redSqr().redISub(beta8);
  16636. // Z3 = (Y1 + Z1)^2 - gamma - delta
  16637. nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);
  16638. // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2
  16639. var ggamma8 = gamma.redSqr();
  16640. ggamma8 = ggamma8.redIAdd(ggamma8);
  16641. ggamma8 = ggamma8.redIAdd(ggamma8);
  16642. ggamma8 = ggamma8.redIAdd(ggamma8);
  16643. ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);
  16644. }
  16645. return this.curve.jpoint(nx, ny, nz);
  16646. };
  16647. JPoint.prototype._dbl = function _dbl() {
  16648. var a = this.curve.a;
  16649. // 4M + 6S + 10A
  16650. var jx = this.x;
  16651. var jy = this.y;
  16652. var jz = this.z;
  16653. var jz4 = jz.redSqr().redSqr();
  16654. var jx2 = jx.redSqr();
  16655. var jy2 = jy.redSqr();
  16656. var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));
  16657. var jxd4 = jx.redAdd(jx);
  16658. jxd4 = jxd4.redIAdd(jxd4);
  16659. var t1 = jxd4.redMul(jy2);
  16660. var nx = c.redSqr().redISub(t1.redAdd(t1));
  16661. var t2 = t1.redISub(nx);
  16662. var jyd8 = jy2.redSqr();
  16663. jyd8 = jyd8.redIAdd(jyd8);
  16664. jyd8 = jyd8.redIAdd(jyd8);
  16665. jyd8 = jyd8.redIAdd(jyd8);
  16666. var ny = c.redMul(t2).redISub(jyd8);
  16667. var nz = jy.redAdd(jy).redMul(jz);
  16668. return this.curve.jpoint(nx, ny, nz);
  16669. };
  16670. JPoint.prototype.trpl = function trpl() {
  16671. if (!this.curve.zeroA)
  16672. return this.dbl().add(this);
  16673. // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl
  16674. // 5M + 10S + ...
  16675. // XX = X1^2
  16676. var xx = this.x.redSqr();
  16677. // YY = Y1^2
  16678. var yy = this.y.redSqr();
  16679. // ZZ = Z1^2
  16680. var zz = this.z.redSqr();
  16681. // YYYY = YY^2
  16682. var yyyy = yy.redSqr();
  16683. // M = 3 * XX + a * ZZ2; a = 0
  16684. var m = xx.redAdd(xx).redIAdd(xx);
  16685. // MM = M^2
  16686. var mm = m.redSqr();
  16687. // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM
  16688. var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);
  16689. e = e.redIAdd(e);
  16690. e = e.redAdd(e).redIAdd(e);
  16691. e = e.redISub(mm);
  16692. // EE = E^2
  16693. var ee = e.redSqr();
  16694. // T = 16*YYYY
  16695. var t = yyyy.redIAdd(yyyy);
  16696. t = t.redIAdd(t);
  16697. t = t.redIAdd(t);
  16698. t = t.redIAdd(t);
  16699. // U = (M + E)^2 - MM - EE - T
  16700. var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);
  16701. // X3 = 4 * (X1 * EE - 4 * YY * U)
  16702. var yyu4 = yy.redMul(u);
  16703. yyu4 = yyu4.redIAdd(yyu4);
  16704. yyu4 = yyu4.redIAdd(yyu4);
  16705. var nx = this.x.redMul(ee).redISub(yyu4);
  16706. nx = nx.redIAdd(nx);
  16707. nx = nx.redIAdd(nx);
  16708. // Y3 = 8 * Y1 * (U * (T - U) - E * EE)
  16709. var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));
  16710. ny = ny.redIAdd(ny);
  16711. ny = ny.redIAdd(ny);
  16712. ny = ny.redIAdd(ny);
  16713. // Z3 = (Z1 + E)^2 - ZZ - EE
  16714. var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);
  16715. return this.curve.jpoint(nx, ny, nz);
  16716. };
  16717. JPoint.prototype.mul = function mul(k, kbase) {
  16718. k = new BN(k, kbase);
  16719. return this.curve._wnafMul(this, k);
  16720. };
  16721. JPoint.prototype.eq = function eq(p) {
  16722. if (p.type === 'affine')
  16723. return this.eq(p.toJ());
  16724. if (this === p)
  16725. return true;
  16726. // x1 * z2^2 == x2 * z1^2
  16727. var z2 = this.z.redSqr();
  16728. var pz2 = p.z.redSqr();
  16729. if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)
  16730. return false;
  16731. // y1 * z2^3 == y2 * z1^3
  16732. var z3 = z2.redMul(this.z);
  16733. var pz3 = pz2.redMul(p.z);
  16734. return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;
  16735. };
  16736. JPoint.prototype.eqXToP = function eqXToP(x) {
  16737. var zs = this.z.redSqr();
  16738. var rx = x.toRed(this.curve.red).redMul(zs);
  16739. if (this.x.cmp(rx) === 0)
  16740. return true;
  16741. var xc = x.clone();
  16742. var t = this.curve.redN.redMul(zs);
  16743. for (;;) {
  16744. xc.iadd(this.curve.n);
  16745. if (xc.cmp(this.curve.p) >= 0)
  16746. return false;
  16747. rx.redIAdd(t);
  16748. if (this.x.cmp(rx) === 0)
  16749. return true;
  16750. }
  16751. };
  16752. JPoint.prototype.inspect = function inspect() {
  16753. if (this.isInfinity())
  16754. return '<EC JPoint Infinity>';
  16755. return '<EC JPoint x: ' + this.x.toString(16, 2) +
  16756. ' y: ' + this.y.toString(16, 2) +
  16757. ' z: ' + this.z.toString(16, 2) + '>';
  16758. };
  16759. JPoint.prototype.isInfinity = function isInfinity() {
  16760. // XXX This code assumes that zero is always zero in red
  16761. return this.z.cmpn(0) === 0;
  16762. };
  16763. /***/ }),
  16764. /* 160 */
  16765. /*!**********************************************************!*\
  16766. !*** ./node_modules/elliptic/lib/elliptic/curve/mont.js ***!
  16767. \**********************************************************/
  16768. /*! no static exports found */
  16769. /***/ (function(module, exports, __webpack_require__) {
  16770. "use strict";
  16771. var BN = __webpack_require__(/*! bn.js */ 142);
  16772. var inherits = __webpack_require__(/*! inherits */ 66);
  16773. var Base = __webpack_require__(/*! ./base */ 158);
  16774. var utils = __webpack_require__(/*! ../utils */ 155);
  16775. function MontCurve(conf) {
  16776. Base.call(this, 'mont', conf);
  16777. this.a = new BN(conf.a, 16).toRed(this.red);
  16778. this.b = new BN(conf.b, 16).toRed(this.red);
  16779. this.i4 = new BN(4).toRed(this.red).redInvm();
  16780. this.two = new BN(2).toRed(this.red);
  16781. this.a24 = this.i4.redMul(this.a.redAdd(this.two));
  16782. }
  16783. inherits(MontCurve, Base);
  16784. module.exports = MontCurve;
  16785. MontCurve.prototype.validate = function validate(point) {
  16786. var x = point.normalize().x;
  16787. var x2 = x.redSqr();
  16788. var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);
  16789. var y = rhs.redSqrt();
  16790. return y.redSqr().cmp(rhs) === 0;
  16791. };
  16792. function Point(curve, x, z) {
  16793. Base.BasePoint.call(this, curve, 'projective');
  16794. if (x === null && z === null) {
  16795. this.x = this.curve.one;
  16796. this.z = this.curve.zero;
  16797. } else {
  16798. this.x = new BN(x, 16);
  16799. this.z = new BN(z, 16);
  16800. if (!this.x.red)
  16801. this.x = this.x.toRed(this.curve.red);
  16802. if (!this.z.red)
  16803. this.z = this.z.toRed(this.curve.red);
  16804. }
  16805. }
  16806. inherits(Point, Base.BasePoint);
  16807. MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {
  16808. return this.point(utils.toArray(bytes, enc), 1);
  16809. };
  16810. MontCurve.prototype.point = function point(x, z) {
  16811. return new Point(this, x, z);
  16812. };
  16813. MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
  16814. return Point.fromJSON(this, obj);
  16815. };
  16816. Point.prototype.precompute = function precompute() {
  16817. // No-op
  16818. };
  16819. Point.prototype._encode = function _encode() {
  16820. return this.getX().toArray('be', this.curve.p.byteLength());
  16821. };
  16822. Point.fromJSON = function fromJSON(curve, obj) {
  16823. return new Point(curve, obj[0], obj[1] || curve.one);
  16824. };
  16825. Point.prototype.inspect = function inspect() {
  16826. if (this.isInfinity())
  16827. return '<EC Point Infinity>';
  16828. return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
  16829. ' z: ' + this.z.fromRed().toString(16, 2) + '>';
  16830. };
  16831. Point.prototype.isInfinity = function isInfinity() {
  16832. // XXX This code assumes that zero is always zero in red
  16833. return this.z.cmpn(0) === 0;
  16834. };
  16835. Point.prototype.dbl = function dbl() {
  16836. // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3
  16837. // 2M + 2S + 4A
  16838. // A = X1 + Z1
  16839. var a = this.x.redAdd(this.z);
  16840. // AA = A^2
  16841. var aa = a.redSqr();
  16842. // B = X1 - Z1
  16843. var b = this.x.redSub(this.z);
  16844. // BB = B^2
  16845. var bb = b.redSqr();
  16846. // C = AA - BB
  16847. var c = aa.redSub(bb);
  16848. // X3 = AA * BB
  16849. var nx = aa.redMul(bb);
  16850. // Z3 = C * (BB + A24 * C)
  16851. var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));
  16852. return this.curve.point(nx, nz);
  16853. };
  16854. Point.prototype.add = function add() {
  16855. throw new Error('Not supported on Montgomery curve');
  16856. };
  16857. Point.prototype.diffAdd = function diffAdd(p, diff) {
  16858. // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3
  16859. // 4M + 2S + 6A
  16860. // A = X2 + Z2
  16861. var a = this.x.redAdd(this.z);
  16862. // B = X2 - Z2
  16863. var b = this.x.redSub(this.z);
  16864. // C = X3 + Z3
  16865. var c = p.x.redAdd(p.z);
  16866. // D = X3 - Z3
  16867. var d = p.x.redSub(p.z);
  16868. // DA = D * A
  16869. var da = d.redMul(a);
  16870. // CB = C * B
  16871. var cb = c.redMul(b);
  16872. // X5 = Z1 * (DA + CB)^2
  16873. var nx = diff.z.redMul(da.redAdd(cb).redSqr());
  16874. // Z5 = X1 * (DA - CB)^2
  16875. var nz = diff.x.redMul(da.redISub(cb).redSqr());
  16876. return this.curve.point(nx, nz);
  16877. };
  16878. Point.prototype.mul = function mul(k) {
  16879. var t = k.clone();
  16880. var a = this; // (N / 2) * Q + Q
  16881. var b = this.curve.point(null, null); // (N / 2) * Q
  16882. var c = this; // Q
  16883. for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))
  16884. bits.push(t.andln(1));
  16885. for (var i = bits.length - 1; i >= 0; i--) {
  16886. if (bits[i] === 0) {
  16887. // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q
  16888. a = a.diffAdd(b, c);
  16889. // N * Q = 2 * ((N / 2) * Q + Q))
  16890. b = b.dbl();
  16891. } else {
  16892. // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)
  16893. b = a.diffAdd(b, c);
  16894. // N * Q + Q = 2 * ((N / 2) * Q + Q)
  16895. a = a.dbl();
  16896. }
  16897. }
  16898. return b;
  16899. };
  16900. Point.prototype.mulAdd = function mulAdd() {
  16901. throw new Error('Not supported on Montgomery curve');
  16902. };
  16903. Point.prototype.jumlAdd = function jumlAdd() {
  16904. throw new Error('Not supported on Montgomery curve');
  16905. };
  16906. Point.prototype.eq = function eq(other) {
  16907. return this.getX().cmp(other.getX()) === 0;
  16908. };
  16909. Point.prototype.normalize = function normalize() {
  16910. this.x = this.x.redMul(this.z.redInvm());
  16911. this.z = this.curve.one;
  16912. return this;
  16913. };
  16914. Point.prototype.getX = function getX() {
  16915. // Normalize coordinates
  16916. this.normalize();
  16917. return this.x.fromRed();
  16918. };
  16919. /***/ }),
  16920. /* 161 */
  16921. /*!*************************************************************!*\
  16922. !*** ./node_modules/elliptic/lib/elliptic/curve/edwards.js ***!
  16923. \*************************************************************/
  16924. /*! no static exports found */
  16925. /***/ (function(module, exports, __webpack_require__) {
  16926. "use strict";
  16927. var utils = __webpack_require__(/*! ../utils */ 155);
  16928. var BN = __webpack_require__(/*! bn.js */ 142);
  16929. var inherits = __webpack_require__(/*! inherits */ 66);
  16930. var Base = __webpack_require__(/*! ./base */ 158);
  16931. var assert = utils.assert;
  16932. function EdwardsCurve(conf) {
  16933. // NOTE: Important as we are creating point in Base.call()
  16934. this.twisted = (conf.a | 0) !== 1;
  16935. this.mOneA = this.twisted && (conf.a | 0) === -1;
  16936. this.extended = this.mOneA;
  16937. Base.call(this, 'edwards', conf);
  16938. this.a = new BN(conf.a, 16).umod(this.red.m);
  16939. this.a = this.a.toRed(this.red);
  16940. this.c = new BN(conf.c, 16).toRed(this.red);
  16941. this.c2 = this.c.redSqr();
  16942. this.d = new BN(conf.d, 16).toRed(this.red);
  16943. this.dd = this.d.redAdd(this.d);
  16944. assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);
  16945. this.oneC = (conf.c | 0) === 1;
  16946. }
  16947. inherits(EdwardsCurve, Base);
  16948. module.exports = EdwardsCurve;
  16949. EdwardsCurve.prototype._mulA = function _mulA(num) {
  16950. if (this.mOneA)
  16951. return num.redNeg();
  16952. else
  16953. return this.a.redMul(num);
  16954. };
  16955. EdwardsCurve.prototype._mulC = function _mulC(num) {
  16956. if (this.oneC)
  16957. return num;
  16958. else
  16959. return this.c.redMul(num);
  16960. };
  16961. // Just for compatibility with Short curve
  16962. EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {
  16963. return this.point(x, y, z, t);
  16964. };
  16965. EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {
  16966. x = new BN(x, 16);
  16967. if (!x.red)
  16968. x = x.toRed(this.red);
  16969. var x2 = x.redSqr();
  16970. var rhs = this.c2.redSub(this.a.redMul(x2));
  16971. var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));
  16972. var y2 = rhs.redMul(lhs.redInvm());
  16973. var y = y2.redSqrt();
  16974. if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)
  16975. throw new Error('invalid point');
  16976. var isOdd = y.fromRed().isOdd();
  16977. if (odd && !isOdd || !odd && isOdd)
  16978. y = y.redNeg();
  16979. return this.point(x, y);
  16980. };
  16981. EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {
  16982. y = new BN(y, 16);
  16983. if (!y.red)
  16984. y = y.toRed(this.red);
  16985. // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)
  16986. var y2 = y.redSqr();
  16987. var lhs = y2.redSub(this.c2);
  16988. var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);
  16989. var x2 = lhs.redMul(rhs.redInvm());
  16990. if (x2.cmp(this.zero) === 0) {
  16991. if (odd)
  16992. throw new Error('invalid point');
  16993. else
  16994. return this.point(this.zero, y);
  16995. }
  16996. var x = x2.redSqrt();
  16997. if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)
  16998. throw new Error('invalid point');
  16999. if (x.fromRed().isOdd() !== odd)
  17000. x = x.redNeg();
  17001. return this.point(x, y);
  17002. };
  17003. EdwardsCurve.prototype.validate = function validate(point) {
  17004. if (point.isInfinity())
  17005. return true;
  17006. // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)
  17007. point.normalize();
  17008. var x2 = point.x.redSqr();
  17009. var y2 = point.y.redSqr();
  17010. var lhs = x2.redMul(this.a).redAdd(y2);
  17011. var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));
  17012. return lhs.cmp(rhs) === 0;
  17013. };
  17014. function Point(curve, x, y, z, t) {
  17015. Base.BasePoint.call(this, curve, 'projective');
  17016. if (x === null && y === null && z === null) {
  17017. this.x = this.curve.zero;
  17018. this.y = this.curve.one;
  17019. this.z = this.curve.one;
  17020. this.t = this.curve.zero;
  17021. this.zOne = true;
  17022. } else {
  17023. this.x = new BN(x, 16);
  17024. this.y = new BN(y, 16);
  17025. this.z = z ? new BN(z, 16) : this.curve.one;
  17026. this.t = t && new BN(t, 16);
  17027. if (!this.x.red)
  17028. this.x = this.x.toRed(this.curve.red);
  17029. if (!this.y.red)
  17030. this.y = this.y.toRed(this.curve.red);
  17031. if (!this.z.red)
  17032. this.z = this.z.toRed(this.curve.red);
  17033. if (this.t && !this.t.red)
  17034. this.t = this.t.toRed(this.curve.red);
  17035. this.zOne = this.z === this.curve.one;
  17036. // Use extended coordinates
  17037. if (this.curve.extended && !this.t) {
  17038. this.t = this.x.redMul(this.y);
  17039. if (!this.zOne)
  17040. this.t = this.t.redMul(this.z.redInvm());
  17041. }
  17042. }
  17043. }
  17044. inherits(Point, Base.BasePoint);
  17045. EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {
  17046. return Point.fromJSON(this, obj);
  17047. };
  17048. EdwardsCurve.prototype.point = function point(x, y, z, t) {
  17049. return new Point(this, x, y, z, t);
  17050. };
  17051. Point.fromJSON = function fromJSON(curve, obj) {
  17052. return new Point(curve, obj[0], obj[1], obj[2]);
  17053. };
  17054. Point.prototype.inspect = function inspect() {
  17055. if (this.isInfinity())
  17056. return '<EC Point Infinity>';
  17057. return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
  17058. ' y: ' + this.y.fromRed().toString(16, 2) +
  17059. ' z: ' + this.z.fromRed().toString(16, 2) + '>';
  17060. };
  17061. Point.prototype.isInfinity = function isInfinity() {
  17062. // XXX This code assumes that zero is always zero in red
  17063. return this.x.cmpn(0) === 0 &&
  17064. (this.y.cmp(this.z) === 0 ||
  17065. (this.zOne && this.y.cmp(this.curve.c) === 0));
  17066. };
  17067. Point.prototype._extDbl = function _extDbl() {
  17068. // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
  17069. // #doubling-dbl-2008-hwcd
  17070. // 4M + 4S
  17071. // A = X1^2
  17072. var a = this.x.redSqr();
  17073. // B = Y1^2
  17074. var b = this.y.redSqr();
  17075. // C = 2 * Z1^2
  17076. var c = this.z.redSqr();
  17077. c = c.redIAdd(c);
  17078. // D = a * A
  17079. var d = this.curve._mulA(a);
  17080. // E = (X1 + Y1)^2 - A - B
  17081. var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);
  17082. // G = D + B
  17083. var g = d.redAdd(b);
  17084. // F = G - C
  17085. var f = g.redSub(c);
  17086. // H = D - B
  17087. var h = d.redSub(b);
  17088. // X3 = E * F
  17089. var nx = e.redMul(f);
  17090. // Y3 = G * H
  17091. var ny = g.redMul(h);
  17092. // T3 = E * H
  17093. var nt = e.redMul(h);
  17094. // Z3 = F * G
  17095. var nz = f.redMul(g);
  17096. return this.curve.point(nx, ny, nz, nt);
  17097. };
  17098. Point.prototype._projDbl = function _projDbl() {
  17099. // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
  17100. // #doubling-dbl-2008-bbjlp
  17101. // #doubling-dbl-2007-bl
  17102. // and others
  17103. // Generally 3M + 4S or 2M + 4S
  17104. // B = (X1 + Y1)^2
  17105. var b = this.x.redAdd(this.y).redSqr();
  17106. // C = X1^2
  17107. var c = this.x.redSqr();
  17108. // D = Y1^2
  17109. var d = this.y.redSqr();
  17110. var nx;
  17111. var ny;
  17112. var nz;
  17113. if (this.curve.twisted) {
  17114. // E = a * C
  17115. var e = this.curve._mulA(c);
  17116. // F = E + D
  17117. var f = e.redAdd(d);
  17118. if (this.zOne) {
  17119. // X3 = (B - C - D) * (F - 2)
  17120. nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));
  17121. // Y3 = F * (E - D)
  17122. ny = f.redMul(e.redSub(d));
  17123. // Z3 = F^2 - 2 * F
  17124. nz = f.redSqr().redSub(f).redSub(f);
  17125. } else {
  17126. // H = Z1^2
  17127. var h = this.z.redSqr();
  17128. // J = F - 2 * H
  17129. var j = f.redSub(h).redISub(h);
  17130. // X3 = (B-C-D)*J
  17131. nx = b.redSub(c).redISub(d).redMul(j);
  17132. // Y3 = F * (E - D)
  17133. ny = f.redMul(e.redSub(d));
  17134. // Z3 = F * J
  17135. nz = f.redMul(j);
  17136. }
  17137. } else {
  17138. // E = C + D
  17139. var e = c.redAdd(d);
  17140. // H = (c * Z1)^2
  17141. var h = this.curve._mulC(this.z).redSqr();
  17142. // J = E - 2 * H
  17143. var j = e.redSub(h).redSub(h);
  17144. // X3 = c * (B - E) * J
  17145. nx = this.curve._mulC(b.redISub(e)).redMul(j);
  17146. // Y3 = c * E * (C - D)
  17147. ny = this.curve._mulC(e).redMul(c.redISub(d));
  17148. // Z3 = E * J
  17149. nz = e.redMul(j);
  17150. }
  17151. return this.curve.point(nx, ny, nz);
  17152. };
  17153. Point.prototype.dbl = function dbl() {
  17154. if (this.isInfinity())
  17155. return this;
  17156. // Double in extended coordinates
  17157. if (this.curve.extended)
  17158. return this._extDbl();
  17159. else
  17160. return this._projDbl();
  17161. };
  17162. Point.prototype._extAdd = function _extAdd(p) {
  17163. // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html
  17164. // #addition-add-2008-hwcd-3
  17165. // 8M
  17166. // A = (Y1 - X1) * (Y2 - X2)
  17167. var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));
  17168. // B = (Y1 + X1) * (Y2 + X2)
  17169. var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));
  17170. // C = T1 * k * T2
  17171. var c = this.t.redMul(this.curve.dd).redMul(p.t);
  17172. // D = Z1 * 2 * Z2
  17173. var d = this.z.redMul(p.z.redAdd(p.z));
  17174. // E = B - A
  17175. var e = b.redSub(a);
  17176. // F = D - C
  17177. var f = d.redSub(c);
  17178. // G = D + C
  17179. var g = d.redAdd(c);
  17180. // H = B + A
  17181. var h = b.redAdd(a);
  17182. // X3 = E * F
  17183. var nx = e.redMul(f);
  17184. // Y3 = G * H
  17185. var ny = g.redMul(h);
  17186. // T3 = E * H
  17187. var nt = e.redMul(h);
  17188. // Z3 = F * G
  17189. var nz = f.redMul(g);
  17190. return this.curve.point(nx, ny, nz, nt);
  17191. };
  17192. Point.prototype._projAdd = function _projAdd(p) {
  17193. // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html
  17194. // #addition-add-2008-bbjlp
  17195. // #addition-add-2007-bl
  17196. // 10M + 1S
  17197. // A = Z1 * Z2
  17198. var a = this.z.redMul(p.z);
  17199. // B = A^2
  17200. var b = a.redSqr();
  17201. // C = X1 * X2
  17202. var c = this.x.redMul(p.x);
  17203. // D = Y1 * Y2
  17204. var d = this.y.redMul(p.y);
  17205. // E = d * C * D
  17206. var e = this.curve.d.redMul(c).redMul(d);
  17207. // F = B - E
  17208. var f = b.redSub(e);
  17209. // G = B + E
  17210. var g = b.redAdd(e);
  17211. // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)
  17212. var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);
  17213. var nx = a.redMul(f).redMul(tmp);
  17214. var ny;
  17215. var nz;
  17216. if (this.curve.twisted) {
  17217. // Y3 = A * G * (D - a * C)
  17218. ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));
  17219. // Z3 = F * G
  17220. nz = f.redMul(g);
  17221. } else {
  17222. // Y3 = A * G * (D - C)
  17223. ny = a.redMul(g).redMul(d.redSub(c));
  17224. // Z3 = c * F * G
  17225. nz = this.curve._mulC(f).redMul(g);
  17226. }
  17227. return this.curve.point(nx, ny, nz);
  17228. };
  17229. Point.prototype.add = function add(p) {
  17230. if (this.isInfinity())
  17231. return p;
  17232. if (p.isInfinity())
  17233. return this;
  17234. if (this.curve.extended)
  17235. return this._extAdd(p);
  17236. else
  17237. return this._projAdd(p);
  17238. };
  17239. Point.prototype.mul = function mul(k) {
  17240. if (this._hasDoubles(k))
  17241. return this.curve._fixedNafMul(this, k);
  17242. else
  17243. return this.curve._wnafMul(this, k);
  17244. };
  17245. Point.prototype.mulAdd = function mulAdd(k1, p, k2) {
  17246. return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);
  17247. };
  17248. Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) {
  17249. return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);
  17250. };
  17251. Point.prototype.normalize = function normalize() {
  17252. if (this.zOne)
  17253. return this;
  17254. // Normalize coordinates
  17255. var zi = this.z.redInvm();
  17256. this.x = this.x.redMul(zi);
  17257. this.y = this.y.redMul(zi);
  17258. if (this.t)
  17259. this.t = this.t.redMul(zi);
  17260. this.z = this.curve.one;
  17261. this.zOne = true;
  17262. return this;
  17263. };
  17264. Point.prototype.neg = function neg() {
  17265. return this.curve.point(this.x.redNeg(),
  17266. this.y,
  17267. this.z,
  17268. this.t && this.t.redNeg());
  17269. };
  17270. Point.prototype.getX = function getX() {
  17271. this.normalize();
  17272. return this.x.fromRed();
  17273. };
  17274. Point.prototype.getY = function getY() {
  17275. this.normalize();
  17276. return this.y.fromRed();
  17277. };
  17278. Point.prototype.eq = function eq(other) {
  17279. return this === other ||
  17280. this.getX().cmp(other.getX()) === 0 &&
  17281. this.getY().cmp(other.getY()) === 0;
  17282. };
  17283. Point.prototype.eqXToP = function eqXToP(x) {
  17284. var rx = x.toRed(this.curve.red).redMul(this.z);
  17285. if (this.x.cmp(rx) === 0)
  17286. return true;
  17287. var xc = x.clone();
  17288. var t = this.curve.redN.redMul(this.z);
  17289. for (;;) {
  17290. xc.iadd(this.curve.n);
  17291. if (xc.cmp(this.curve.p) >= 0)
  17292. return false;
  17293. rx.redIAdd(t);
  17294. if (this.x.cmp(rx) === 0)
  17295. return true;
  17296. }
  17297. };
  17298. // Compatibility with BaseCurve
  17299. Point.prototype.toP = Point.prototype.normalize;
  17300. Point.prototype.mixedAdd = Point.prototype.add;
  17301. /***/ }),
  17302. /* 162 */
  17303. /*!******************************************************!*\
  17304. !*** ./node_modules/elliptic/lib/elliptic/curves.js ***!
  17305. \******************************************************/
  17306. /*! no static exports found */
  17307. /***/ (function(module, exports, __webpack_require__) {
  17308. "use strict";
  17309. var curves = exports;
  17310. var hash = __webpack_require__(/*! hash.js */ 163);
  17311. var curve = __webpack_require__(/*! ./curve */ 157);
  17312. var utils = __webpack_require__(/*! ./utils */ 155);
  17313. var assert = utils.assert;
  17314. function PresetCurve(options) {
  17315. if (options.type === 'short')
  17316. this.curve = new curve.short(options);
  17317. else if (options.type === 'edwards')
  17318. this.curve = new curve.edwards(options);
  17319. else
  17320. this.curve = new curve.mont(options);
  17321. this.g = this.curve.g;
  17322. this.n = this.curve.n;
  17323. this.hash = options.hash;
  17324. assert(this.g.validate(), 'Invalid curve');
  17325. assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');
  17326. }
  17327. curves.PresetCurve = PresetCurve;
  17328. function defineCurve(name, options) {
  17329. Object.defineProperty(curves, name, {
  17330. configurable: true,
  17331. enumerable: true,
  17332. get: function() {
  17333. var curve = new PresetCurve(options);
  17334. Object.defineProperty(curves, name, {
  17335. configurable: true,
  17336. enumerable: true,
  17337. value: curve
  17338. });
  17339. return curve;
  17340. }
  17341. });
  17342. }
  17343. defineCurve('p192', {
  17344. type: 'short',
  17345. prime: 'p192',
  17346. p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',
  17347. a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',
  17348. b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',
  17349. n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',
  17350. hash: hash.sha256,
  17351. gRed: false,
  17352. g: [
  17353. '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',
  17354. '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811'
  17355. ]
  17356. });
  17357. defineCurve('p224', {
  17358. type: 'short',
  17359. prime: 'p224',
  17360. p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',
  17361. a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',
  17362. b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',
  17363. n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',
  17364. hash: hash.sha256,
  17365. gRed: false,
  17366. g: [
  17367. 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',
  17368. 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34'
  17369. ]
  17370. });
  17371. defineCurve('p256', {
  17372. type: 'short',
  17373. prime: null,
  17374. p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',
  17375. a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',
  17376. b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',
  17377. n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',
  17378. hash: hash.sha256,
  17379. gRed: false,
  17380. g: [
  17381. '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',
  17382. '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5'
  17383. ]
  17384. });
  17385. defineCurve('p384', {
  17386. type: 'short',
  17387. prime: null,
  17388. p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17389. 'fffffffe ffffffff 00000000 00000000 ffffffff',
  17390. a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17391. 'fffffffe ffffffff 00000000 00000000 fffffffc',
  17392. b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +
  17393. '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',
  17394. n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +
  17395. 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',
  17396. hash: hash.sha384,
  17397. gRed: false,
  17398. g: [
  17399. 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +
  17400. '5502f25d bf55296c 3a545e38 72760ab7',
  17401. '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +
  17402. '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'
  17403. ]
  17404. });
  17405. defineCurve('p521', {
  17406. type: 'short',
  17407. prime: null,
  17408. p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17409. 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17410. 'ffffffff ffffffff ffffffff ffffffff ffffffff',
  17411. a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17412. 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17413. 'ffffffff ffffffff ffffffff ffffffff fffffffc',
  17414. b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +
  17415. '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +
  17416. '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',
  17417. n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +
  17418. 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +
  17419. 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',
  17420. hash: hash.sha512,
  17421. gRed: false,
  17422. g: [
  17423. '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +
  17424. '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +
  17425. 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',
  17426. '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +
  17427. '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +
  17428. '3fad0761 353c7086 a272c240 88be9476 9fd16650'
  17429. ]
  17430. });
  17431. defineCurve('curve25519', {
  17432. type: 'mont',
  17433. prime: 'p25519',
  17434. p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',
  17435. a: '76d06',
  17436. b: '1',
  17437. n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',
  17438. hash: hash.sha256,
  17439. gRed: false,
  17440. g: [
  17441. '9'
  17442. ]
  17443. });
  17444. defineCurve('ed25519', {
  17445. type: 'edwards',
  17446. prime: 'p25519',
  17447. p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',
  17448. a: '-1',
  17449. c: '1',
  17450. // -121665 * (121666^(-1)) (mod P)
  17451. d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',
  17452. n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',
  17453. hash: hash.sha256,
  17454. gRed: false,
  17455. g: [
  17456. '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',
  17457. // 4/5
  17458. '6666666666666666666666666666666666666666666666666666666666666658'
  17459. ]
  17460. });
  17461. var pre;
  17462. try {
  17463. pre = __webpack_require__(/*! ./precomputed/secp256k1 */ 175);
  17464. } catch (e) {
  17465. pre = undefined;
  17466. }
  17467. defineCurve('secp256k1', {
  17468. type: 'short',
  17469. prime: 'k256',
  17470. p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',
  17471. a: '0',
  17472. b: '7',
  17473. n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',
  17474. h: '1',
  17475. hash: hash.sha256,
  17476. // Precomputed endomorphism
  17477. beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',
  17478. lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',
  17479. basis: [
  17480. {
  17481. a: '3086d221a7d46bcde86c90e49284eb15',
  17482. b: '-e4437ed6010e88286f547fa90abfe4c3'
  17483. },
  17484. {
  17485. a: '114ca50f7a8e2f3f657c1108d9d44cfd8',
  17486. b: '3086d221a7d46bcde86c90e49284eb15'
  17487. }
  17488. ],
  17489. gRed: false,
  17490. g: [
  17491. '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
  17492. '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',
  17493. pre
  17494. ]
  17495. });
  17496. /***/ }),
  17497. /* 163 */
  17498. /*!******************************************!*\
  17499. !*** ./node_modules/hash.js/lib/hash.js ***!
  17500. \******************************************/
  17501. /*! no static exports found */
  17502. /***/ (function(module, exports, __webpack_require__) {
  17503. var hash = exports;
  17504. hash.utils = __webpack_require__(/*! ./hash/utils */ 164);
  17505. hash.common = __webpack_require__(/*! ./hash/common */ 165);
  17506. hash.sha = __webpack_require__(/*! ./hash/sha */ 166);
  17507. hash.ripemd = __webpack_require__(/*! ./hash/ripemd */ 173);
  17508. hash.hmac = __webpack_require__(/*! ./hash/hmac */ 174);
  17509. // Proxy hash functions to the main object
  17510. hash.sha1 = hash.sha.sha1;
  17511. hash.sha256 = hash.sha.sha256;
  17512. hash.sha224 = hash.sha.sha224;
  17513. hash.sha384 = hash.sha.sha384;
  17514. hash.sha512 = hash.sha.sha512;
  17515. hash.ripemd160 = hash.ripemd.ripemd160;
  17516. /***/ }),
  17517. /* 164 */
  17518. /*!************************************************!*\
  17519. !*** ./node_modules/hash.js/lib/hash/utils.js ***!
  17520. \************************************************/
  17521. /*! no static exports found */
  17522. /***/ (function(module, exports, __webpack_require__) {
  17523. "use strict";
  17524. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  17525. var inherits = __webpack_require__(/*! inherits */ 66);
  17526. exports.inherits = inherits;
  17527. function isSurrogatePair(msg, i) {
  17528. if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {
  17529. return false;
  17530. }
  17531. if (i < 0 || i + 1 >= msg.length) {
  17532. return false;
  17533. }
  17534. return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;
  17535. }
  17536. function toArray(msg, enc) {
  17537. if (Array.isArray(msg))
  17538. return msg.slice();
  17539. if (!msg)
  17540. return [];
  17541. var res = [];
  17542. if (typeof msg === 'string') {
  17543. if (!enc) {
  17544. // Inspired by stringToUtf8ByteArray() in closure-library by Google
  17545. // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143
  17546. // Apache License 2.0
  17547. // https://github.com/google/closure-library/blob/master/LICENSE
  17548. var p = 0;
  17549. for (var i = 0; i < msg.length; i++) {
  17550. var c = msg.charCodeAt(i);
  17551. if (c < 128) {
  17552. res[p++] = c;
  17553. } else if (c < 2048) {
  17554. res[p++] = (c >> 6) | 192;
  17555. res[p++] = (c & 63) | 128;
  17556. } else if (isSurrogatePair(msg, i)) {
  17557. c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);
  17558. res[p++] = (c >> 18) | 240;
  17559. res[p++] = ((c >> 12) & 63) | 128;
  17560. res[p++] = ((c >> 6) & 63) | 128;
  17561. res[p++] = (c & 63) | 128;
  17562. } else {
  17563. res[p++] = (c >> 12) | 224;
  17564. res[p++] = ((c >> 6) & 63) | 128;
  17565. res[p++] = (c & 63) | 128;
  17566. }
  17567. }
  17568. } else if (enc === 'hex') {
  17569. msg = msg.replace(/[^a-z0-9]+/ig, '');
  17570. if (msg.length % 2 !== 0)
  17571. msg = '0' + msg;
  17572. for (i = 0; i < msg.length; i += 2)
  17573. res.push(parseInt(msg[i] + msg[i + 1], 16));
  17574. }
  17575. } else {
  17576. for (i = 0; i < msg.length; i++)
  17577. res[i] = msg[i] | 0;
  17578. }
  17579. return res;
  17580. }
  17581. exports.toArray = toArray;
  17582. function toHex(msg) {
  17583. var res = '';
  17584. for (var i = 0; i < msg.length; i++)
  17585. res += zero2(msg[i].toString(16));
  17586. return res;
  17587. }
  17588. exports.toHex = toHex;
  17589. function htonl(w) {
  17590. var res = (w >>> 24) |
  17591. ((w >>> 8) & 0xff00) |
  17592. ((w << 8) & 0xff0000) |
  17593. ((w & 0xff) << 24);
  17594. return res >>> 0;
  17595. }
  17596. exports.htonl = htonl;
  17597. function toHex32(msg, endian) {
  17598. var res = '';
  17599. for (var i = 0; i < msg.length; i++) {
  17600. var w = msg[i];
  17601. if (endian === 'little')
  17602. w = htonl(w);
  17603. res += zero8(w.toString(16));
  17604. }
  17605. return res;
  17606. }
  17607. exports.toHex32 = toHex32;
  17608. function zero2(word) {
  17609. if (word.length === 1)
  17610. return '0' + word;
  17611. else
  17612. return word;
  17613. }
  17614. exports.zero2 = zero2;
  17615. function zero8(word) {
  17616. if (word.length === 7)
  17617. return '0' + word;
  17618. else if (word.length === 6)
  17619. return '00' + word;
  17620. else if (word.length === 5)
  17621. return '000' + word;
  17622. else if (word.length === 4)
  17623. return '0000' + word;
  17624. else if (word.length === 3)
  17625. return '00000' + word;
  17626. else if (word.length === 2)
  17627. return '000000' + word;
  17628. else if (word.length === 1)
  17629. return '0000000' + word;
  17630. else
  17631. return word;
  17632. }
  17633. exports.zero8 = zero8;
  17634. function join32(msg, start, end, endian) {
  17635. var len = end - start;
  17636. assert(len % 4 === 0);
  17637. var res = new Array(len / 4);
  17638. for (var i = 0, k = start; i < res.length; i++, k += 4) {
  17639. var w;
  17640. if (endian === 'big')
  17641. w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];
  17642. else
  17643. w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];
  17644. res[i] = w >>> 0;
  17645. }
  17646. return res;
  17647. }
  17648. exports.join32 = join32;
  17649. function split32(msg, endian) {
  17650. var res = new Array(msg.length * 4);
  17651. for (var i = 0, k = 0; i < msg.length; i++, k += 4) {
  17652. var m = msg[i];
  17653. if (endian === 'big') {
  17654. res[k] = m >>> 24;
  17655. res[k + 1] = (m >>> 16) & 0xff;
  17656. res[k + 2] = (m >>> 8) & 0xff;
  17657. res[k + 3] = m & 0xff;
  17658. } else {
  17659. res[k + 3] = m >>> 24;
  17660. res[k + 2] = (m >>> 16) & 0xff;
  17661. res[k + 1] = (m >>> 8) & 0xff;
  17662. res[k] = m & 0xff;
  17663. }
  17664. }
  17665. return res;
  17666. }
  17667. exports.split32 = split32;
  17668. function rotr32(w, b) {
  17669. return (w >>> b) | (w << (32 - b));
  17670. }
  17671. exports.rotr32 = rotr32;
  17672. function rotl32(w, b) {
  17673. return (w << b) | (w >>> (32 - b));
  17674. }
  17675. exports.rotl32 = rotl32;
  17676. function sum32(a, b) {
  17677. return (a + b) >>> 0;
  17678. }
  17679. exports.sum32 = sum32;
  17680. function sum32_3(a, b, c) {
  17681. return (a + b + c) >>> 0;
  17682. }
  17683. exports.sum32_3 = sum32_3;
  17684. function sum32_4(a, b, c, d) {
  17685. return (a + b + c + d) >>> 0;
  17686. }
  17687. exports.sum32_4 = sum32_4;
  17688. function sum32_5(a, b, c, d, e) {
  17689. return (a + b + c + d + e) >>> 0;
  17690. }
  17691. exports.sum32_5 = sum32_5;
  17692. function sum64(buf, pos, ah, al) {
  17693. var bh = buf[pos];
  17694. var bl = buf[pos + 1];
  17695. var lo = (al + bl) >>> 0;
  17696. var hi = (lo < al ? 1 : 0) + ah + bh;
  17697. buf[pos] = hi >>> 0;
  17698. buf[pos + 1] = lo;
  17699. }
  17700. exports.sum64 = sum64;
  17701. function sum64_hi(ah, al, bh, bl) {
  17702. var lo = (al + bl) >>> 0;
  17703. var hi = (lo < al ? 1 : 0) + ah + bh;
  17704. return hi >>> 0;
  17705. }
  17706. exports.sum64_hi = sum64_hi;
  17707. function sum64_lo(ah, al, bh, bl) {
  17708. var lo = al + bl;
  17709. return lo >>> 0;
  17710. }
  17711. exports.sum64_lo = sum64_lo;
  17712. function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
  17713. var carry = 0;
  17714. var lo = al;
  17715. lo = (lo + bl) >>> 0;
  17716. carry += lo < al ? 1 : 0;
  17717. lo = (lo + cl) >>> 0;
  17718. carry += lo < cl ? 1 : 0;
  17719. lo = (lo + dl) >>> 0;
  17720. carry += lo < dl ? 1 : 0;
  17721. var hi = ah + bh + ch + dh + carry;
  17722. return hi >>> 0;
  17723. }
  17724. exports.sum64_4_hi = sum64_4_hi;
  17725. function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {
  17726. var lo = al + bl + cl + dl;
  17727. return lo >>> 0;
  17728. }
  17729. exports.sum64_4_lo = sum64_4_lo;
  17730. function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
  17731. var carry = 0;
  17732. var lo = al;
  17733. lo = (lo + bl) >>> 0;
  17734. carry += lo < al ? 1 : 0;
  17735. lo = (lo + cl) >>> 0;
  17736. carry += lo < cl ? 1 : 0;
  17737. lo = (lo + dl) >>> 0;
  17738. carry += lo < dl ? 1 : 0;
  17739. lo = (lo + el) >>> 0;
  17740. carry += lo < el ? 1 : 0;
  17741. var hi = ah + bh + ch + dh + eh + carry;
  17742. return hi >>> 0;
  17743. }
  17744. exports.sum64_5_hi = sum64_5_hi;
  17745. function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
  17746. var lo = al + bl + cl + dl + el;
  17747. return lo >>> 0;
  17748. }
  17749. exports.sum64_5_lo = sum64_5_lo;
  17750. function rotr64_hi(ah, al, num) {
  17751. var r = (al << (32 - num)) | (ah >>> num);
  17752. return r >>> 0;
  17753. }
  17754. exports.rotr64_hi = rotr64_hi;
  17755. function rotr64_lo(ah, al, num) {
  17756. var r = (ah << (32 - num)) | (al >>> num);
  17757. return r >>> 0;
  17758. }
  17759. exports.rotr64_lo = rotr64_lo;
  17760. function shr64_hi(ah, al, num) {
  17761. return ah >>> num;
  17762. }
  17763. exports.shr64_hi = shr64_hi;
  17764. function shr64_lo(ah, al, num) {
  17765. var r = (ah << (32 - num)) | (al >>> num);
  17766. return r >>> 0;
  17767. }
  17768. exports.shr64_lo = shr64_lo;
  17769. /***/ }),
  17770. /* 165 */
  17771. /*!*************************************************!*\
  17772. !*** ./node_modules/hash.js/lib/hash/common.js ***!
  17773. \*************************************************/
  17774. /*! no static exports found */
  17775. /***/ (function(module, exports, __webpack_require__) {
  17776. "use strict";
  17777. var utils = __webpack_require__(/*! ./utils */ 164);
  17778. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  17779. function BlockHash() {
  17780. this.pending = null;
  17781. this.pendingTotal = 0;
  17782. this.blockSize = this.constructor.blockSize;
  17783. this.outSize = this.constructor.outSize;
  17784. this.hmacStrength = this.constructor.hmacStrength;
  17785. this.padLength = this.constructor.padLength / 8;
  17786. this.endian = 'big';
  17787. this._delta8 = this.blockSize / 8;
  17788. this._delta32 = this.blockSize / 32;
  17789. }
  17790. exports.BlockHash = BlockHash;
  17791. BlockHash.prototype.update = function update(msg, enc) {
  17792. // Convert message to array, pad it, and join into 32bit blocks
  17793. msg = utils.toArray(msg, enc);
  17794. if (!this.pending)
  17795. this.pending = msg;
  17796. else
  17797. this.pending = this.pending.concat(msg);
  17798. this.pendingTotal += msg.length;
  17799. // Enough data, try updating
  17800. if (this.pending.length >= this._delta8) {
  17801. msg = this.pending;
  17802. // Process pending data in blocks
  17803. var r = msg.length % this._delta8;
  17804. this.pending = msg.slice(msg.length - r, msg.length);
  17805. if (this.pending.length === 0)
  17806. this.pending = null;
  17807. msg = utils.join32(msg, 0, msg.length - r, this.endian);
  17808. for (var i = 0; i < msg.length; i += this._delta32)
  17809. this._update(msg, i, i + this._delta32);
  17810. }
  17811. return this;
  17812. };
  17813. BlockHash.prototype.digest = function digest(enc) {
  17814. this.update(this._pad());
  17815. assert(this.pending === null);
  17816. return this._digest(enc);
  17817. };
  17818. BlockHash.prototype._pad = function pad() {
  17819. var len = this.pendingTotal;
  17820. var bytes = this._delta8;
  17821. var k = bytes - ((len + this.padLength) % bytes);
  17822. var res = new Array(k + this.padLength);
  17823. res[0] = 0x80;
  17824. for (var i = 1; i < k; i++)
  17825. res[i] = 0;
  17826. // Append length
  17827. len <<= 3;
  17828. if (this.endian === 'big') {
  17829. for (var t = 8; t < this.padLength; t++)
  17830. res[i++] = 0;
  17831. res[i++] = 0;
  17832. res[i++] = 0;
  17833. res[i++] = 0;
  17834. res[i++] = 0;
  17835. res[i++] = (len >>> 24) & 0xff;
  17836. res[i++] = (len >>> 16) & 0xff;
  17837. res[i++] = (len >>> 8) & 0xff;
  17838. res[i++] = len & 0xff;
  17839. } else {
  17840. res[i++] = len & 0xff;
  17841. res[i++] = (len >>> 8) & 0xff;
  17842. res[i++] = (len >>> 16) & 0xff;
  17843. res[i++] = (len >>> 24) & 0xff;
  17844. res[i++] = 0;
  17845. res[i++] = 0;
  17846. res[i++] = 0;
  17847. res[i++] = 0;
  17848. for (t = 8; t < this.padLength; t++)
  17849. res[i++] = 0;
  17850. }
  17851. return res;
  17852. };
  17853. /***/ }),
  17854. /* 166 */
  17855. /*!**********************************************!*\
  17856. !*** ./node_modules/hash.js/lib/hash/sha.js ***!
  17857. \**********************************************/
  17858. /*! no static exports found */
  17859. /***/ (function(module, exports, __webpack_require__) {
  17860. "use strict";
  17861. exports.sha1 = __webpack_require__(/*! ./sha/1 */ 167);
  17862. exports.sha224 = __webpack_require__(/*! ./sha/224 */ 169);
  17863. exports.sha256 = __webpack_require__(/*! ./sha/256 */ 170);
  17864. exports.sha384 = __webpack_require__(/*! ./sha/384 */ 171);
  17865. exports.sha512 = __webpack_require__(/*! ./sha/512 */ 172);
  17866. /***/ }),
  17867. /* 167 */
  17868. /*!************************************************!*\
  17869. !*** ./node_modules/hash.js/lib/hash/sha/1.js ***!
  17870. \************************************************/
  17871. /*! no static exports found */
  17872. /***/ (function(module, exports, __webpack_require__) {
  17873. "use strict";
  17874. var utils = __webpack_require__(/*! ../utils */ 164);
  17875. var common = __webpack_require__(/*! ../common */ 165);
  17876. var shaCommon = __webpack_require__(/*! ./common */ 168);
  17877. var rotl32 = utils.rotl32;
  17878. var sum32 = utils.sum32;
  17879. var sum32_5 = utils.sum32_5;
  17880. var ft_1 = shaCommon.ft_1;
  17881. var BlockHash = common.BlockHash;
  17882. var sha1_K = [
  17883. 0x5A827999, 0x6ED9EBA1,
  17884. 0x8F1BBCDC, 0xCA62C1D6
  17885. ];
  17886. function SHA1() {
  17887. if (!(this instanceof SHA1))
  17888. return new SHA1();
  17889. BlockHash.call(this);
  17890. this.h = [
  17891. 0x67452301, 0xefcdab89, 0x98badcfe,
  17892. 0x10325476, 0xc3d2e1f0 ];
  17893. this.W = new Array(80);
  17894. }
  17895. utils.inherits(SHA1, BlockHash);
  17896. module.exports = SHA1;
  17897. SHA1.blockSize = 512;
  17898. SHA1.outSize = 160;
  17899. SHA1.hmacStrength = 80;
  17900. SHA1.padLength = 64;
  17901. SHA1.prototype._update = function _update(msg, start) {
  17902. var W = this.W;
  17903. for (var i = 0; i < 16; i++)
  17904. W[i] = msg[start + i];
  17905. for(; i < W.length; i++)
  17906. W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);
  17907. var a = this.h[0];
  17908. var b = this.h[1];
  17909. var c = this.h[2];
  17910. var d = this.h[3];
  17911. var e = this.h[4];
  17912. for (i = 0; i < W.length; i++) {
  17913. var s = ~~(i / 20);
  17914. var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);
  17915. e = d;
  17916. d = c;
  17917. c = rotl32(b, 30);
  17918. b = a;
  17919. a = t;
  17920. }
  17921. this.h[0] = sum32(this.h[0], a);
  17922. this.h[1] = sum32(this.h[1], b);
  17923. this.h[2] = sum32(this.h[2], c);
  17924. this.h[3] = sum32(this.h[3], d);
  17925. this.h[4] = sum32(this.h[4], e);
  17926. };
  17927. SHA1.prototype._digest = function digest(enc) {
  17928. if (enc === 'hex')
  17929. return utils.toHex32(this.h, 'big');
  17930. else
  17931. return utils.split32(this.h, 'big');
  17932. };
  17933. /***/ }),
  17934. /* 168 */
  17935. /*!*****************************************************!*\
  17936. !*** ./node_modules/hash.js/lib/hash/sha/common.js ***!
  17937. \*****************************************************/
  17938. /*! no static exports found */
  17939. /***/ (function(module, exports, __webpack_require__) {
  17940. "use strict";
  17941. var utils = __webpack_require__(/*! ../utils */ 164);
  17942. var rotr32 = utils.rotr32;
  17943. function ft_1(s, x, y, z) {
  17944. if (s === 0)
  17945. return ch32(x, y, z);
  17946. if (s === 1 || s === 3)
  17947. return p32(x, y, z);
  17948. if (s === 2)
  17949. return maj32(x, y, z);
  17950. }
  17951. exports.ft_1 = ft_1;
  17952. function ch32(x, y, z) {
  17953. return (x & y) ^ ((~x) & z);
  17954. }
  17955. exports.ch32 = ch32;
  17956. function maj32(x, y, z) {
  17957. return (x & y) ^ (x & z) ^ (y & z);
  17958. }
  17959. exports.maj32 = maj32;
  17960. function p32(x, y, z) {
  17961. return x ^ y ^ z;
  17962. }
  17963. exports.p32 = p32;
  17964. function s0_256(x) {
  17965. return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);
  17966. }
  17967. exports.s0_256 = s0_256;
  17968. function s1_256(x) {
  17969. return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);
  17970. }
  17971. exports.s1_256 = s1_256;
  17972. function g0_256(x) {
  17973. return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);
  17974. }
  17975. exports.g0_256 = g0_256;
  17976. function g1_256(x) {
  17977. return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);
  17978. }
  17979. exports.g1_256 = g1_256;
  17980. /***/ }),
  17981. /* 169 */
  17982. /*!**************************************************!*\
  17983. !*** ./node_modules/hash.js/lib/hash/sha/224.js ***!
  17984. \**************************************************/
  17985. /*! no static exports found */
  17986. /***/ (function(module, exports, __webpack_require__) {
  17987. "use strict";
  17988. var utils = __webpack_require__(/*! ../utils */ 164);
  17989. var SHA256 = __webpack_require__(/*! ./256 */ 170);
  17990. function SHA224() {
  17991. if (!(this instanceof SHA224))
  17992. return new SHA224();
  17993. SHA256.call(this);
  17994. this.h = [
  17995. 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,
  17996. 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];
  17997. }
  17998. utils.inherits(SHA224, SHA256);
  17999. module.exports = SHA224;
  18000. SHA224.blockSize = 512;
  18001. SHA224.outSize = 224;
  18002. SHA224.hmacStrength = 192;
  18003. SHA224.padLength = 64;
  18004. SHA224.prototype._digest = function digest(enc) {
  18005. // Just truncate output
  18006. if (enc === 'hex')
  18007. return utils.toHex32(this.h.slice(0, 7), 'big');
  18008. else
  18009. return utils.split32(this.h.slice(0, 7), 'big');
  18010. };
  18011. /***/ }),
  18012. /* 170 */
  18013. /*!**************************************************!*\
  18014. !*** ./node_modules/hash.js/lib/hash/sha/256.js ***!
  18015. \**************************************************/
  18016. /*! no static exports found */
  18017. /***/ (function(module, exports, __webpack_require__) {
  18018. "use strict";
  18019. var utils = __webpack_require__(/*! ../utils */ 164);
  18020. var common = __webpack_require__(/*! ../common */ 165);
  18021. var shaCommon = __webpack_require__(/*! ./common */ 168);
  18022. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  18023. var sum32 = utils.sum32;
  18024. var sum32_4 = utils.sum32_4;
  18025. var sum32_5 = utils.sum32_5;
  18026. var ch32 = shaCommon.ch32;
  18027. var maj32 = shaCommon.maj32;
  18028. var s0_256 = shaCommon.s0_256;
  18029. var s1_256 = shaCommon.s1_256;
  18030. var g0_256 = shaCommon.g0_256;
  18031. var g1_256 = shaCommon.g1_256;
  18032. var BlockHash = common.BlockHash;
  18033. var sha256_K = [
  18034. 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
  18035. 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
  18036. 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
  18037. 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
  18038. 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
  18039. 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
  18040. 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
  18041. 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
  18042. 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
  18043. 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
  18044. 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
  18045. 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
  18046. 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
  18047. 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
  18048. 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
  18049. 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
  18050. ];
  18051. function SHA256() {
  18052. if (!(this instanceof SHA256))
  18053. return new SHA256();
  18054. BlockHash.call(this);
  18055. this.h = [
  18056. 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
  18057. 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
  18058. ];
  18059. this.k = sha256_K;
  18060. this.W = new Array(64);
  18061. }
  18062. utils.inherits(SHA256, BlockHash);
  18063. module.exports = SHA256;
  18064. SHA256.blockSize = 512;
  18065. SHA256.outSize = 256;
  18066. SHA256.hmacStrength = 192;
  18067. SHA256.padLength = 64;
  18068. SHA256.prototype._update = function _update(msg, start) {
  18069. var W = this.W;
  18070. for (var i = 0; i < 16; i++)
  18071. W[i] = msg[start + i];
  18072. for (; i < W.length; i++)
  18073. W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);
  18074. var a = this.h[0];
  18075. var b = this.h[1];
  18076. var c = this.h[2];
  18077. var d = this.h[3];
  18078. var e = this.h[4];
  18079. var f = this.h[5];
  18080. var g = this.h[6];
  18081. var h = this.h[7];
  18082. assert(this.k.length === W.length);
  18083. for (i = 0; i < W.length; i++) {
  18084. var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);
  18085. var T2 = sum32(s0_256(a), maj32(a, b, c));
  18086. h = g;
  18087. g = f;
  18088. f = e;
  18089. e = sum32(d, T1);
  18090. d = c;
  18091. c = b;
  18092. b = a;
  18093. a = sum32(T1, T2);
  18094. }
  18095. this.h[0] = sum32(this.h[0], a);
  18096. this.h[1] = sum32(this.h[1], b);
  18097. this.h[2] = sum32(this.h[2], c);
  18098. this.h[3] = sum32(this.h[3], d);
  18099. this.h[4] = sum32(this.h[4], e);
  18100. this.h[5] = sum32(this.h[5], f);
  18101. this.h[6] = sum32(this.h[6], g);
  18102. this.h[7] = sum32(this.h[7], h);
  18103. };
  18104. SHA256.prototype._digest = function digest(enc) {
  18105. if (enc === 'hex')
  18106. return utils.toHex32(this.h, 'big');
  18107. else
  18108. return utils.split32(this.h, 'big');
  18109. };
  18110. /***/ }),
  18111. /* 171 */
  18112. /*!**************************************************!*\
  18113. !*** ./node_modules/hash.js/lib/hash/sha/384.js ***!
  18114. \**************************************************/
  18115. /*! no static exports found */
  18116. /***/ (function(module, exports, __webpack_require__) {
  18117. "use strict";
  18118. var utils = __webpack_require__(/*! ../utils */ 164);
  18119. var SHA512 = __webpack_require__(/*! ./512 */ 172);
  18120. function SHA384() {
  18121. if (!(this instanceof SHA384))
  18122. return new SHA384();
  18123. SHA512.call(this);
  18124. this.h = [
  18125. 0xcbbb9d5d, 0xc1059ed8,
  18126. 0x629a292a, 0x367cd507,
  18127. 0x9159015a, 0x3070dd17,
  18128. 0x152fecd8, 0xf70e5939,
  18129. 0x67332667, 0xffc00b31,
  18130. 0x8eb44a87, 0x68581511,
  18131. 0xdb0c2e0d, 0x64f98fa7,
  18132. 0x47b5481d, 0xbefa4fa4 ];
  18133. }
  18134. utils.inherits(SHA384, SHA512);
  18135. module.exports = SHA384;
  18136. SHA384.blockSize = 1024;
  18137. SHA384.outSize = 384;
  18138. SHA384.hmacStrength = 192;
  18139. SHA384.padLength = 128;
  18140. SHA384.prototype._digest = function digest(enc) {
  18141. if (enc === 'hex')
  18142. return utils.toHex32(this.h.slice(0, 12), 'big');
  18143. else
  18144. return utils.split32(this.h.slice(0, 12), 'big');
  18145. };
  18146. /***/ }),
  18147. /* 172 */
  18148. /*!**************************************************!*\
  18149. !*** ./node_modules/hash.js/lib/hash/sha/512.js ***!
  18150. \**************************************************/
  18151. /*! no static exports found */
  18152. /***/ (function(module, exports, __webpack_require__) {
  18153. "use strict";
  18154. var utils = __webpack_require__(/*! ../utils */ 164);
  18155. var common = __webpack_require__(/*! ../common */ 165);
  18156. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  18157. var rotr64_hi = utils.rotr64_hi;
  18158. var rotr64_lo = utils.rotr64_lo;
  18159. var shr64_hi = utils.shr64_hi;
  18160. var shr64_lo = utils.shr64_lo;
  18161. var sum64 = utils.sum64;
  18162. var sum64_hi = utils.sum64_hi;
  18163. var sum64_lo = utils.sum64_lo;
  18164. var sum64_4_hi = utils.sum64_4_hi;
  18165. var sum64_4_lo = utils.sum64_4_lo;
  18166. var sum64_5_hi = utils.sum64_5_hi;
  18167. var sum64_5_lo = utils.sum64_5_lo;
  18168. var BlockHash = common.BlockHash;
  18169. var sha512_K = [
  18170. 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
  18171. 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
  18172. 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
  18173. 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
  18174. 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
  18175. 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
  18176. 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
  18177. 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
  18178. 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
  18179. 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
  18180. 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
  18181. 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
  18182. 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
  18183. 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
  18184. 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
  18185. 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
  18186. 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
  18187. 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
  18188. 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
  18189. 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
  18190. 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
  18191. 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
  18192. 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
  18193. 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
  18194. 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
  18195. 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
  18196. 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
  18197. 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
  18198. 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
  18199. 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
  18200. 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
  18201. 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
  18202. 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
  18203. 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
  18204. 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
  18205. 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
  18206. 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
  18207. 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
  18208. 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
  18209. 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
  18210. ];
  18211. function SHA512() {
  18212. if (!(this instanceof SHA512))
  18213. return new SHA512();
  18214. BlockHash.call(this);
  18215. this.h = [
  18216. 0x6a09e667, 0xf3bcc908,
  18217. 0xbb67ae85, 0x84caa73b,
  18218. 0x3c6ef372, 0xfe94f82b,
  18219. 0xa54ff53a, 0x5f1d36f1,
  18220. 0x510e527f, 0xade682d1,
  18221. 0x9b05688c, 0x2b3e6c1f,
  18222. 0x1f83d9ab, 0xfb41bd6b,
  18223. 0x5be0cd19, 0x137e2179 ];
  18224. this.k = sha512_K;
  18225. this.W = new Array(160);
  18226. }
  18227. utils.inherits(SHA512, BlockHash);
  18228. module.exports = SHA512;
  18229. SHA512.blockSize = 1024;
  18230. SHA512.outSize = 512;
  18231. SHA512.hmacStrength = 192;
  18232. SHA512.padLength = 128;
  18233. SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {
  18234. var W = this.W;
  18235. // 32 x 32bit words
  18236. for (var i = 0; i < 32; i++)
  18237. W[i] = msg[start + i];
  18238. for (; i < W.length; i += 2) {
  18239. var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2
  18240. var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);
  18241. var c1_hi = W[i - 14]; // i - 7
  18242. var c1_lo = W[i - 13];
  18243. var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15
  18244. var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);
  18245. var c3_hi = W[i - 32]; // i - 16
  18246. var c3_lo = W[i - 31];
  18247. W[i] = sum64_4_hi(
  18248. c0_hi, c0_lo,
  18249. c1_hi, c1_lo,
  18250. c2_hi, c2_lo,
  18251. c3_hi, c3_lo);
  18252. W[i + 1] = sum64_4_lo(
  18253. c0_hi, c0_lo,
  18254. c1_hi, c1_lo,
  18255. c2_hi, c2_lo,
  18256. c3_hi, c3_lo);
  18257. }
  18258. };
  18259. SHA512.prototype._update = function _update(msg, start) {
  18260. this._prepareBlock(msg, start);
  18261. var W = this.W;
  18262. var ah = this.h[0];
  18263. var al = this.h[1];
  18264. var bh = this.h[2];
  18265. var bl = this.h[3];
  18266. var ch = this.h[4];
  18267. var cl = this.h[5];
  18268. var dh = this.h[6];
  18269. var dl = this.h[7];
  18270. var eh = this.h[8];
  18271. var el = this.h[9];
  18272. var fh = this.h[10];
  18273. var fl = this.h[11];
  18274. var gh = this.h[12];
  18275. var gl = this.h[13];
  18276. var hh = this.h[14];
  18277. var hl = this.h[15];
  18278. assert(this.k.length === W.length);
  18279. for (var i = 0; i < W.length; i += 2) {
  18280. var c0_hi = hh;
  18281. var c0_lo = hl;
  18282. var c1_hi = s1_512_hi(eh, el);
  18283. var c1_lo = s1_512_lo(eh, el);
  18284. var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);
  18285. var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);
  18286. var c3_hi = this.k[i];
  18287. var c3_lo = this.k[i + 1];
  18288. var c4_hi = W[i];
  18289. var c4_lo = W[i + 1];
  18290. var T1_hi = sum64_5_hi(
  18291. c0_hi, c0_lo,
  18292. c1_hi, c1_lo,
  18293. c2_hi, c2_lo,
  18294. c3_hi, c3_lo,
  18295. c4_hi, c4_lo);
  18296. var T1_lo = sum64_5_lo(
  18297. c0_hi, c0_lo,
  18298. c1_hi, c1_lo,
  18299. c2_hi, c2_lo,
  18300. c3_hi, c3_lo,
  18301. c4_hi, c4_lo);
  18302. c0_hi = s0_512_hi(ah, al);
  18303. c0_lo = s0_512_lo(ah, al);
  18304. c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);
  18305. c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);
  18306. var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);
  18307. var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);
  18308. hh = gh;
  18309. hl = gl;
  18310. gh = fh;
  18311. gl = fl;
  18312. fh = eh;
  18313. fl = el;
  18314. eh = sum64_hi(dh, dl, T1_hi, T1_lo);
  18315. el = sum64_lo(dl, dl, T1_hi, T1_lo);
  18316. dh = ch;
  18317. dl = cl;
  18318. ch = bh;
  18319. cl = bl;
  18320. bh = ah;
  18321. bl = al;
  18322. ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);
  18323. al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);
  18324. }
  18325. sum64(this.h, 0, ah, al);
  18326. sum64(this.h, 2, bh, bl);
  18327. sum64(this.h, 4, ch, cl);
  18328. sum64(this.h, 6, dh, dl);
  18329. sum64(this.h, 8, eh, el);
  18330. sum64(this.h, 10, fh, fl);
  18331. sum64(this.h, 12, gh, gl);
  18332. sum64(this.h, 14, hh, hl);
  18333. };
  18334. SHA512.prototype._digest = function digest(enc) {
  18335. if (enc === 'hex')
  18336. return utils.toHex32(this.h, 'big');
  18337. else
  18338. return utils.split32(this.h, 'big');
  18339. };
  18340. function ch64_hi(xh, xl, yh, yl, zh) {
  18341. var r = (xh & yh) ^ ((~xh) & zh);
  18342. if (r < 0)
  18343. r += 0x100000000;
  18344. return r;
  18345. }
  18346. function ch64_lo(xh, xl, yh, yl, zh, zl) {
  18347. var r = (xl & yl) ^ ((~xl) & zl);
  18348. if (r < 0)
  18349. r += 0x100000000;
  18350. return r;
  18351. }
  18352. function maj64_hi(xh, xl, yh, yl, zh) {
  18353. var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);
  18354. if (r < 0)
  18355. r += 0x100000000;
  18356. return r;
  18357. }
  18358. function maj64_lo(xh, xl, yh, yl, zh, zl) {
  18359. var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);
  18360. if (r < 0)
  18361. r += 0x100000000;
  18362. return r;
  18363. }
  18364. function s0_512_hi(xh, xl) {
  18365. var c0_hi = rotr64_hi(xh, xl, 28);
  18366. var c1_hi = rotr64_hi(xl, xh, 2); // 34
  18367. var c2_hi = rotr64_hi(xl, xh, 7); // 39
  18368. var r = c0_hi ^ c1_hi ^ c2_hi;
  18369. if (r < 0)
  18370. r += 0x100000000;
  18371. return r;
  18372. }
  18373. function s0_512_lo(xh, xl) {
  18374. var c0_lo = rotr64_lo(xh, xl, 28);
  18375. var c1_lo = rotr64_lo(xl, xh, 2); // 34
  18376. var c2_lo = rotr64_lo(xl, xh, 7); // 39
  18377. var r = c0_lo ^ c1_lo ^ c2_lo;
  18378. if (r < 0)
  18379. r += 0x100000000;
  18380. return r;
  18381. }
  18382. function s1_512_hi(xh, xl) {
  18383. var c0_hi = rotr64_hi(xh, xl, 14);
  18384. var c1_hi = rotr64_hi(xh, xl, 18);
  18385. var c2_hi = rotr64_hi(xl, xh, 9); // 41
  18386. var r = c0_hi ^ c1_hi ^ c2_hi;
  18387. if (r < 0)
  18388. r += 0x100000000;
  18389. return r;
  18390. }
  18391. function s1_512_lo(xh, xl) {
  18392. var c0_lo = rotr64_lo(xh, xl, 14);
  18393. var c1_lo = rotr64_lo(xh, xl, 18);
  18394. var c2_lo = rotr64_lo(xl, xh, 9); // 41
  18395. var r = c0_lo ^ c1_lo ^ c2_lo;
  18396. if (r < 0)
  18397. r += 0x100000000;
  18398. return r;
  18399. }
  18400. function g0_512_hi(xh, xl) {
  18401. var c0_hi = rotr64_hi(xh, xl, 1);
  18402. var c1_hi = rotr64_hi(xh, xl, 8);
  18403. var c2_hi = shr64_hi(xh, xl, 7);
  18404. var r = c0_hi ^ c1_hi ^ c2_hi;
  18405. if (r < 0)
  18406. r += 0x100000000;
  18407. return r;
  18408. }
  18409. function g0_512_lo(xh, xl) {
  18410. var c0_lo = rotr64_lo(xh, xl, 1);
  18411. var c1_lo = rotr64_lo(xh, xl, 8);
  18412. var c2_lo = shr64_lo(xh, xl, 7);
  18413. var r = c0_lo ^ c1_lo ^ c2_lo;
  18414. if (r < 0)
  18415. r += 0x100000000;
  18416. return r;
  18417. }
  18418. function g1_512_hi(xh, xl) {
  18419. var c0_hi = rotr64_hi(xh, xl, 19);
  18420. var c1_hi = rotr64_hi(xl, xh, 29); // 61
  18421. var c2_hi = shr64_hi(xh, xl, 6);
  18422. var r = c0_hi ^ c1_hi ^ c2_hi;
  18423. if (r < 0)
  18424. r += 0x100000000;
  18425. return r;
  18426. }
  18427. function g1_512_lo(xh, xl) {
  18428. var c0_lo = rotr64_lo(xh, xl, 19);
  18429. var c1_lo = rotr64_lo(xl, xh, 29); // 61
  18430. var c2_lo = shr64_lo(xh, xl, 6);
  18431. var r = c0_lo ^ c1_lo ^ c2_lo;
  18432. if (r < 0)
  18433. r += 0x100000000;
  18434. return r;
  18435. }
  18436. /***/ }),
  18437. /* 173 */
  18438. /*!*************************************************!*\
  18439. !*** ./node_modules/hash.js/lib/hash/ripemd.js ***!
  18440. \*************************************************/
  18441. /*! no static exports found */
  18442. /***/ (function(module, exports, __webpack_require__) {
  18443. "use strict";
  18444. var utils = __webpack_require__(/*! ./utils */ 164);
  18445. var common = __webpack_require__(/*! ./common */ 165);
  18446. var rotl32 = utils.rotl32;
  18447. var sum32 = utils.sum32;
  18448. var sum32_3 = utils.sum32_3;
  18449. var sum32_4 = utils.sum32_4;
  18450. var BlockHash = common.BlockHash;
  18451. function RIPEMD160() {
  18452. if (!(this instanceof RIPEMD160))
  18453. return new RIPEMD160();
  18454. BlockHash.call(this);
  18455. this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];
  18456. this.endian = 'little';
  18457. }
  18458. utils.inherits(RIPEMD160, BlockHash);
  18459. exports.ripemd160 = RIPEMD160;
  18460. RIPEMD160.blockSize = 512;
  18461. RIPEMD160.outSize = 160;
  18462. RIPEMD160.hmacStrength = 192;
  18463. RIPEMD160.padLength = 64;
  18464. RIPEMD160.prototype._update = function update(msg, start) {
  18465. var A = this.h[0];
  18466. var B = this.h[1];
  18467. var C = this.h[2];
  18468. var D = this.h[3];
  18469. var E = this.h[4];
  18470. var Ah = A;
  18471. var Bh = B;
  18472. var Ch = C;
  18473. var Dh = D;
  18474. var Eh = E;
  18475. for (var j = 0; j < 80; j++) {
  18476. var T = sum32(
  18477. rotl32(
  18478. sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),
  18479. s[j]),
  18480. E);
  18481. A = E;
  18482. E = D;
  18483. D = rotl32(C, 10);
  18484. C = B;
  18485. B = T;
  18486. T = sum32(
  18487. rotl32(
  18488. sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),
  18489. sh[j]),
  18490. Eh);
  18491. Ah = Eh;
  18492. Eh = Dh;
  18493. Dh = rotl32(Ch, 10);
  18494. Ch = Bh;
  18495. Bh = T;
  18496. }
  18497. T = sum32_3(this.h[1], C, Dh);
  18498. this.h[1] = sum32_3(this.h[2], D, Eh);
  18499. this.h[2] = sum32_3(this.h[3], E, Ah);
  18500. this.h[3] = sum32_3(this.h[4], A, Bh);
  18501. this.h[4] = sum32_3(this.h[0], B, Ch);
  18502. this.h[0] = T;
  18503. };
  18504. RIPEMD160.prototype._digest = function digest(enc) {
  18505. if (enc === 'hex')
  18506. return utils.toHex32(this.h, 'little');
  18507. else
  18508. return utils.split32(this.h, 'little');
  18509. };
  18510. function f(j, x, y, z) {
  18511. if (j <= 15)
  18512. return x ^ y ^ z;
  18513. else if (j <= 31)
  18514. return (x & y) | ((~x) & z);
  18515. else if (j <= 47)
  18516. return (x | (~y)) ^ z;
  18517. else if (j <= 63)
  18518. return (x & z) | (y & (~z));
  18519. else
  18520. return x ^ (y | (~z));
  18521. }
  18522. function K(j) {
  18523. if (j <= 15)
  18524. return 0x00000000;
  18525. else if (j <= 31)
  18526. return 0x5a827999;
  18527. else if (j <= 47)
  18528. return 0x6ed9eba1;
  18529. else if (j <= 63)
  18530. return 0x8f1bbcdc;
  18531. else
  18532. return 0xa953fd4e;
  18533. }
  18534. function Kh(j) {
  18535. if (j <= 15)
  18536. return 0x50a28be6;
  18537. else if (j <= 31)
  18538. return 0x5c4dd124;
  18539. else if (j <= 47)
  18540. return 0x6d703ef3;
  18541. else if (j <= 63)
  18542. return 0x7a6d76e9;
  18543. else
  18544. return 0x00000000;
  18545. }
  18546. var r = [
  18547. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
  18548. 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
  18549. 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
  18550. 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
  18551. 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
  18552. ];
  18553. var rh = [
  18554. 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
  18555. 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
  18556. 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
  18557. 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
  18558. 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
  18559. ];
  18560. var s = [
  18561. 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
  18562. 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
  18563. 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
  18564. 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
  18565. 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
  18566. ];
  18567. var sh = [
  18568. 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
  18569. 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
  18570. 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
  18571. 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
  18572. 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
  18573. ];
  18574. /***/ }),
  18575. /* 174 */
  18576. /*!***********************************************!*\
  18577. !*** ./node_modules/hash.js/lib/hash/hmac.js ***!
  18578. \***********************************************/
  18579. /*! no static exports found */
  18580. /***/ (function(module, exports, __webpack_require__) {
  18581. "use strict";
  18582. var utils = __webpack_require__(/*! ./utils */ 164);
  18583. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  18584. function Hmac(hash, key, enc) {
  18585. if (!(this instanceof Hmac))
  18586. return new Hmac(hash, key, enc);
  18587. this.Hash = hash;
  18588. this.blockSize = hash.blockSize / 8;
  18589. this.outSize = hash.outSize / 8;
  18590. this.inner = null;
  18591. this.outer = null;
  18592. this._init(utils.toArray(key, enc));
  18593. }
  18594. module.exports = Hmac;
  18595. Hmac.prototype._init = function init(key) {
  18596. // Shorten key, if needed
  18597. if (key.length > this.blockSize)
  18598. key = new this.Hash().update(key).digest();
  18599. assert(key.length <= this.blockSize);
  18600. // Add padding to key
  18601. for (var i = key.length; i < this.blockSize; i++)
  18602. key.push(0);
  18603. for (i = 0; i < key.length; i++)
  18604. key[i] ^= 0x36;
  18605. this.inner = new this.Hash().update(key);
  18606. // 0x36 ^ 0x5c = 0x6a
  18607. for (i = 0; i < key.length; i++)
  18608. key[i] ^= 0x6a;
  18609. this.outer = new this.Hash().update(key);
  18610. };
  18611. Hmac.prototype.update = function update(msg, enc) {
  18612. this.inner.update(msg, enc);
  18613. return this;
  18614. };
  18615. Hmac.prototype.digest = function digest(enc) {
  18616. this.outer.update(this.inner.digest());
  18617. return this.outer.digest(enc);
  18618. };
  18619. /***/ }),
  18620. /* 175 */
  18621. /*!*********************************************************************!*\
  18622. !*** ./node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js ***!
  18623. \*********************************************************************/
  18624. /*! no static exports found */
  18625. /***/ (function(module, exports) {
  18626. module.exports = {
  18627. doubles: {
  18628. step: 4,
  18629. points: [
  18630. [
  18631. 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',
  18632. 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821'
  18633. ],
  18634. [
  18635. '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',
  18636. '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf'
  18637. ],
  18638. [
  18639. '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',
  18640. 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695'
  18641. ],
  18642. [
  18643. '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',
  18644. '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9'
  18645. ],
  18646. [
  18647. '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',
  18648. '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36'
  18649. ],
  18650. [
  18651. '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',
  18652. '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f'
  18653. ],
  18654. [
  18655. 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',
  18656. '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999'
  18657. ],
  18658. [
  18659. '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',
  18660. 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09'
  18661. ],
  18662. [
  18663. 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',
  18664. '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d'
  18665. ],
  18666. [
  18667. 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',
  18668. 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088'
  18669. ],
  18670. [
  18671. 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',
  18672. '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d'
  18673. ],
  18674. [
  18675. '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',
  18676. '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8'
  18677. ],
  18678. [
  18679. '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',
  18680. '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a'
  18681. ],
  18682. [
  18683. '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',
  18684. '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453'
  18685. ],
  18686. [
  18687. '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',
  18688. '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160'
  18689. ],
  18690. [
  18691. '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',
  18692. '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0'
  18693. ],
  18694. [
  18695. '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',
  18696. '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6'
  18697. ],
  18698. [
  18699. '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',
  18700. '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589'
  18701. ],
  18702. [
  18703. '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',
  18704. 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17'
  18705. ],
  18706. [
  18707. 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',
  18708. '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda'
  18709. ],
  18710. [
  18711. 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',
  18712. '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd'
  18713. ],
  18714. [
  18715. '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',
  18716. '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2'
  18717. ],
  18718. [
  18719. '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',
  18720. '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6'
  18721. ],
  18722. [
  18723. 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',
  18724. '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f'
  18725. ],
  18726. [
  18727. '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',
  18728. 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01'
  18729. ],
  18730. [
  18731. 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',
  18732. '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3'
  18733. ],
  18734. [
  18735. 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',
  18736. 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f'
  18737. ],
  18738. [
  18739. 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',
  18740. '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7'
  18741. ],
  18742. [
  18743. 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',
  18744. 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78'
  18745. ],
  18746. [
  18747. 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',
  18748. '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1'
  18749. ],
  18750. [
  18751. '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',
  18752. 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150'
  18753. ],
  18754. [
  18755. '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',
  18756. '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82'
  18757. ],
  18758. [
  18759. 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',
  18760. '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc'
  18761. ],
  18762. [
  18763. '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',
  18764. 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b'
  18765. ],
  18766. [
  18767. 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',
  18768. '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51'
  18769. ],
  18770. [
  18771. 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',
  18772. '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45'
  18773. ],
  18774. [
  18775. 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',
  18776. 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120'
  18777. ],
  18778. [
  18779. '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',
  18780. '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84'
  18781. ],
  18782. [
  18783. '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',
  18784. '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d'
  18785. ],
  18786. [
  18787. '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',
  18788. 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d'
  18789. ],
  18790. [
  18791. '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',
  18792. '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8'
  18793. ],
  18794. [
  18795. 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',
  18796. '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8'
  18797. ],
  18798. [
  18799. '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',
  18800. '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac'
  18801. ],
  18802. [
  18803. '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',
  18804. 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f'
  18805. ],
  18806. [
  18807. '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',
  18808. '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962'
  18809. ],
  18810. [
  18811. 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',
  18812. '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907'
  18813. ],
  18814. [
  18815. '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',
  18816. 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec'
  18817. ],
  18818. [
  18819. 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',
  18820. 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d'
  18821. ],
  18822. [
  18823. 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',
  18824. '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414'
  18825. ],
  18826. [
  18827. '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',
  18828. 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd'
  18829. ],
  18830. [
  18831. '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',
  18832. 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0'
  18833. ],
  18834. [
  18835. 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',
  18836. '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811'
  18837. ],
  18838. [
  18839. 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',
  18840. '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1'
  18841. ],
  18842. [
  18843. 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',
  18844. '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c'
  18845. ],
  18846. [
  18847. '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',
  18848. 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73'
  18849. ],
  18850. [
  18851. '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',
  18852. '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd'
  18853. ],
  18854. [
  18855. 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',
  18856. 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405'
  18857. ],
  18858. [
  18859. '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',
  18860. 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589'
  18861. ],
  18862. [
  18863. '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',
  18864. '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e'
  18865. ],
  18866. [
  18867. '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',
  18868. '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27'
  18869. ],
  18870. [
  18871. 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',
  18872. 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1'
  18873. ],
  18874. [
  18875. '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',
  18876. '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482'
  18877. ],
  18878. [
  18879. '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',
  18880. '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945'
  18881. ],
  18882. [
  18883. 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',
  18884. '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573'
  18885. ],
  18886. [
  18887. 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',
  18888. 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82'
  18889. ]
  18890. ]
  18891. },
  18892. naf: {
  18893. wnd: 7,
  18894. points: [
  18895. [
  18896. 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',
  18897. '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672'
  18898. ],
  18899. [
  18900. '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',
  18901. 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6'
  18902. ],
  18903. [
  18904. '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',
  18905. '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da'
  18906. ],
  18907. [
  18908. 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',
  18909. 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37'
  18910. ],
  18911. [
  18912. '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',
  18913. 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b'
  18914. ],
  18915. [
  18916. 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',
  18917. 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81'
  18918. ],
  18919. [
  18920. 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',
  18921. '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58'
  18922. ],
  18923. [
  18924. 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',
  18925. '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77'
  18926. ],
  18927. [
  18928. '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',
  18929. '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a'
  18930. ],
  18931. [
  18932. '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',
  18933. '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c'
  18934. ],
  18935. [
  18936. '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',
  18937. '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67'
  18938. ],
  18939. [
  18940. '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',
  18941. '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402'
  18942. ],
  18943. [
  18944. 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',
  18945. 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55'
  18946. ],
  18947. [
  18948. 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',
  18949. '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482'
  18950. ],
  18951. [
  18952. '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',
  18953. 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82'
  18954. ],
  18955. [
  18956. '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',
  18957. 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396'
  18958. ],
  18959. [
  18960. '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',
  18961. '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49'
  18962. ],
  18963. [
  18964. '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',
  18965. '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf'
  18966. ],
  18967. [
  18968. '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',
  18969. '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a'
  18970. ],
  18971. [
  18972. '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',
  18973. 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7'
  18974. ],
  18975. [
  18976. 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',
  18977. 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933'
  18978. ],
  18979. [
  18980. '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',
  18981. '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a'
  18982. ],
  18983. [
  18984. '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',
  18985. '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6'
  18986. ],
  18987. [
  18988. 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',
  18989. 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37'
  18990. ],
  18991. [
  18992. '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',
  18993. '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e'
  18994. ],
  18995. [
  18996. 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',
  18997. 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6'
  18998. ],
  18999. [
  19000. 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',
  19001. 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476'
  19002. ],
  19003. [
  19004. '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',
  19005. '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40'
  19006. ],
  19007. [
  19008. '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',
  19009. '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61'
  19010. ],
  19011. [
  19012. '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',
  19013. '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683'
  19014. ],
  19015. [
  19016. 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',
  19017. '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5'
  19018. ],
  19019. [
  19020. '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',
  19021. '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b'
  19022. ],
  19023. [
  19024. 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',
  19025. '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417'
  19026. ],
  19027. [
  19028. '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',
  19029. 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868'
  19030. ],
  19031. [
  19032. '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',
  19033. 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a'
  19034. ],
  19035. [
  19036. 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',
  19037. 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6'
  19038. ],
  19039. [
  19040. '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',
  19041. '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996'
  19042. ],
  19043. [
  19044. '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',
  19045. 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e'
  19046. ],
  19047. [
  19048. 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',
  19049. 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d'
  19050. ],
  19051. [
  19052. '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',
  19053. '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2'
  19054. ],
  19055. [
  19056. '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',
  19057. 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e'
  19058. ],
  19059. [
  19060. '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',
  19061. '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437'
  19062. ],
  19063. [
  19064. '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',
  19065. 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311'
  19066. ],
  19067. [
  19068. 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',
  19069. '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4'
  19070. ],
  19071. [
  19072. '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',
  19073. '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575'
  19074. ],
  19075. [
  19076. '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',
  19077. 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d'
  19078. ],
  19079. [
  19080. '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',
  19081. 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d'
  19082. ],
  19083. [
  19084. 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',
  19085. 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629'
  19086. ],
  19087. [
  19088. 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',
  19089. 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06'
  19090. ],
  19091. [
  19092. '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',
  19093. '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374'
  19094. ],
  19095. [
  19096. '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',
  19097. '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee'
  19098. ],
  19099. [
  19100. 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',
  19101. '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1'
  19102. ],
  19103. [
  19104. 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',
  19105. 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b'
  19106. ],
  19107. [
  19108. '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',
  19109. '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661'
  19110. ],
  19111. [
  19112. '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',
  19113. '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6'
  19114. ],
  19115. [
  19116. 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',
  19117. '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e'
  19118. ],
  19119. [
  19120. '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',
  19121. '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d'
  19122. ],
  19123. [
  19124. 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',
  19125. 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc'
  19126. ],
  19127. [
  19128. '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',
  19129. 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4'
  19130. ],
  19131. [
  19132. '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',
  19133. '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c'
  19134. ],
  19135. [
  19136. 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',
  19137. '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b'
  19138. ],
  19139. [
  19140. 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',
  19141. '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913'
  19142. ],
  19143. [
  19144. '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',
  19145. '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154'
  19146. ],
  19147. [
  19148. '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',
  19149. '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865'
  19150. ],
  19151. [
  19152. '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',
  19153. 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc'
  19154. ],
  19155. [
  19156. '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',
  19157. 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224'
  19158. ],
  19159. [
  19160. '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',
  19161. '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e'
  19162. ],
  19163. [
  19164. '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',
  19165. '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6'
  19166. ],
  19167. [
  19168. '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',
  19169. '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511'
  19170. ],
  19171. [
  19172. '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',
  19173. 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b'
  19174. ],
  19175. [
  19176. 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',
  19177. 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2'
  19178. ],
  19179. [
  19180. '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',
  19181. 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c'
  19182. ],
  19183. [
  19184. 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',
  19185. '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3'
  19186. ],
  19187. [
  19188. 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',
  19189. '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d'
  19190. ],
  19191. [
  19192. 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',
  19193. '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700'
  19194. ],
  19195. [
  19196. 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',
  19197. '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4'
  19198. ],
  19199. [
  19200. '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',
  19201. 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196'
  19202. ],
  19203. [
  19204. '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',
  19205. '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4'
  19206. ],
  19207. [
  19208. '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',
  19209. 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257'
  19210. ],
  19211. [
  19212. 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',
  19213. 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13'
  19214. ],
  19215. [
  19216. 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',
  19217. '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096'
  19218. ],
  19219. [
  19220. 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',
  19221. 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38'
  19222. ],
  19223. [
  19224. 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',
  19225. '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f'
  19226. ],
  19227. [
  19228. '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',
  19229. '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448'
  19230. ],
  19231. [
  19232. 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',
  19233. '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a'
  19234. ],
  19235. [
  19236. 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',
  19237. '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4'
  19238. ],
  19239. [
  19240. '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',
  19241. '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437'
  19242. ],
  19243. [
  19244. '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',
  19245. 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7'
  19246. ],
  19247. [
  19248. 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',
  19249. '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d'
  19250. ],
  19251. [
  19252. 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',
  19253. '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a'
  19254. ],
  19255. [
  19256. 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',
  19257. '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54'
  19258. ],
  19259. [
  19260. '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',
  19261. '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77'
  19262. ],
  19263. [
  19264. 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',
  19265. 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517'
  19266. ],
  19267. [
  19268. '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',
  19269. 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10'
  19270. ],
  19271. [
  19272. 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',
  19273. 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125'
  19274. ],
  19275. [
  19276. 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',
  19277. '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e'
  19278. ],
  19279. [
  19280. '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',
  19281. 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1'
  19282. ],
  19283. [
  19284. 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',
  19285. '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2'
  19286. ],
  19287. [
  19288. 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',
  19289. '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423'
  19290. ],
  19291. [
  19292. 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',
  19293. '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8'
  19294. ],
  19295. [
  19296. '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',
  19297. 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758'
  19298. ],
  19299. [
  19300. '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',
  19301. 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375'
  19302. ],
  19303. [
  19304. 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',
  19305. '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d'
  19306. ],
  19307. [
  19308. '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',
  19309. 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec'
  19310. ],
  19311. [
  19312. '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',
  19313. '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0'
  19314. ],
  19315. [
  19316. '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',
  19317. 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c'
  19318. ],
  19319. [
  19320. 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',
  19321. 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4'
  19322. ],
  19323. [
  19324. '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',
  19325. 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f'
  19326. ],
  19327. [
  19328. '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',
  19329. '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649'
  19330. ],
  19331. [
  19332. '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',
  19333. 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826'
  19334. ],
  19335. [
  19336. '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',
  19337. '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5'
  19338. ],
  19339. [
  19340. 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',
  19341. 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87'
  19342. ],
  19343. [
  19344. '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',
  19345. '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b'
  19346. ],
  19347. [
  19348. 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',
  19349. '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc'
  19350. ],
  19351. [
  19352. '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',
  19353. '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c'
  19354. ],
  19355. [
  19356. 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',
  19357. 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f'
  19358. ],
  19359. [
  19360. 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',
  19361. '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a'
  19362. ],
  19363. [
  19364. 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',
  19365. 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46'
  19366. ],
  19367. [
  19368. '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',
  19369. 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f'
  19370. ],
  19371. [
  19372. '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',
  19373. '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03'
  19374. ],
  19375. [
  19376. '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',
  19377. 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08'
  19378. ],
  19379. [
  19380. '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',
  19381. '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8'
  19382. ],
  19383. [
  19384. '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',
  19385. '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373'
  19386. ],
  19387. [
  19388. '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',
  19389. 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3'
  19390. ],
  19391. [
  19392. '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',
  19393. '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8'
  19394. ],
  19395. [
  19396. '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',
  19397. '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1'
  19398. ],
  19399. [
  19400. '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',
  19401. '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9'
  19402. ]
  19403. ]
  19404. }
  19405. };
  19406. /***/ }),
  19407. /* 176 */
  19408. /*!********************************************************!*\
  19409. !*** ./node_modules/elliptic/lib/elliptic/ec/index.js ***!
  19410. \********************************************************/
  19411. /*! no static exports found */
  19412. /***/ (function(module, exports, __webpack_require__) {
  19413. "use strict";
  19414. var BN = __webpack_require__(/*! bn.js */ 142);
  19415. var HmacDRBG = __webpack_require__(/*! hmac-drbg */ 177);
  19416. var utils = __webpack_require__(/*! ../utils */ 155);
  19417. var curves = __webpack_require__(/*! ../curves */ 162);
  19418. var rand = __webpack_require__(/*! brorand */ 146);
  19419. var assert = utils.assert;
  19420. var KeyPair = __webpack_require__(/*! ./key */ 178);
  19421. var Signature = __webpack_require__(/*! ./signature */ 179);
  19422. function EC(options) {
  19423. if (!(this instanceof EC))
  19424. return new EC(options);
  19425. // Shortcut `elliptic.ec(curve-name)`
  19426. if (typeof options === 'string') {
  19427. assert(curves.hasOwnProperty(options), 'Unknown curve ' + options);
  19428. options = curves[options];
  19429. }
  19430. // Shortcut for `elliptic.ec(elliptic.curves.curveName)`
  19431. if (options instanceof curves.PresetCurve)
  19432. options = { curve: options };
  19433. this.curve = options.curve.curve;
  19434. this.n = this.curve.n;
  19435. this.nh = this.n.ushrn(1);
  19436. this.g = this.curve.g;
  19437. // Point on curve
  19438. this.g = options.curve.g;
  19439. this.g.precompute(options.curve.n.bitLength() + 1);
  19440. // Hash for function for DRBG
  19441. this.hash = options.hash || options.curve.hash;
  19442. }
  19443. module.exports = EC;
  19444. EC.prototype.keyPair = function keyPair(options) {
  19445. return new KeyPair(this, options);
  19446. };
  19447. EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {
  19448. return KeyPair.fromPrivate(this, priv, enc);
  19449. };
  19450. EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {
  19451. return KeyPair.fromPublic(this, pub, enc);
  19452. };
  19453. EC.prototype.genKeyPair = function genKeyPair(options) {
  19454. if (!options)
  19455. options = {};
  19456. // Instantiate Hmac_DRBG
  19457. var drbg = new HmacDRBG({
  19458. hash: this.hash,
  19459. pers: options.pers,
  19460. persEnc: options.persEnc || 'utf8',
  19461. entropy: options.entropy || rand(this.hash.hmacStrength),
  19462. entropyEnc: options.entropy && options.entropyEnc || 'utf8',
  19463. nonce: this.n.toArray()
  19464. });
  19465. var bytes = this.n.byteLength();
  19466. var ns2 = this.n.sub(new BN(2));
  19467. do {
  19468. var priv = new BN(drbg.generate(bytes));
  19469. if (priv.cmp(ns2) > 0)
  19470. continue;
  19471. priv.iaddn(1);
  19472. return this.keyFromPrivate(priv);
  19473. } while (true);
  19474. };
  19475. EC.prototype._truncateToN = function truncateToN(msg, truncOnly) {
  19476. var delta = msg.byteLength() * 8 - this.n.bitLength();
  19477. if (delta > 0)
  19478. msg = msg.ushrn(delta);
  19479. if (!truncOnly && msg.cmp(this.n) >= 0)
  19480. return msg.sub(this.n);
  19481. else
  19482. return msg;
  19483. };
  19484. EC.prototype.sign = function sign(msg, key, enc, options) {
  19485. if (typeof enc === 'object') {
  19486. options = enc;
  19487. enc = null;
  19488. }
  19489. if (!options)
  19490. options = {};
  19491. key = this.keyFromPrivate(key, enc);
  19492. msg = this._truncateToN(new BN(msg, 16));
  19493. // Zero-extend key to provide enough entropy
  19494. var bytes = this.n.byteLength();
  19495. var bkey = key.getPrivate().toArray('be', bytes);
  19496. // Zero-extend nonce to have the same byte size as N
  19497. var nonce = msg.toArray('be', bytes);
  19498. // Instantiate Hmac_DRBG
  19499. var drbg = new HmacDRBG({
  19500. hash: this.hash,
  19501. entropy: bkey,
  19502. nonce: nonce,
  19503. pers: options.pers,
  19504. persEnc: options.persEnc || 'utf8'
  19505. });
  19506. // Number of bytes to generate
  19507. var ns1 = this.n.sub(new BN(1));
  19508. for (var iter = 0; true; iter++) {
  19509. var k = options.k ?
  19510. options.k(iter) :
  19511. new BN(drbg.generate(this.n.byteLength()));
  19512. k = this._truncateToN(k, true);
  19513. if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)
  19514. continue;
  19515. var kp = this.g.mul(k);
  19516. if (kp.isInfinity())
  19517. continue;
  19518. var kpX = kp.getX();
  19519. var r = kpX.umod(this.n);
  19520. if (r.cmpn(0) === 0)
  19521. continue;
  19522. var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));
  19523. s = s.umod(this.n);
  19524. if (s.cmpn(0) === 0)
  19525. continue;
  19526. var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |
  19527. (kpX.cmp(r) !== 0 ? 2 : 0);
  19528. // Use complement of `s`, if it is > `n / 2`
  19529. if (options.canonical && s.cmp(this.nh) > 0) {
  19530. s = this.n.sub(s);
  19531. recoveryParam ^= 1;
  19532. }
  19533. return new Signature({ r: r, s: s, recoveryParam: recoveryParam });
  19534. }
  19535. };
  19536. EC.prototype.verify = function verify(msg, signature, key, enc) {
  19537. msg = this._truncateToN(new BN(msg, 16));
  19538. key = this.keyFromPublic(key, enc);
  19539. signature = new Signature(signature, 'hex');
  19540. // Perform primitive values validation
  19541. var r = signature.r;
  19542. var s = signature.s;
  19543. if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)
  19544. return false;
  19545. if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)
  19546. return false;
  19547. // Validate signature
  19548. var sinv = s.invm(this.n);
  19549. var u1 = sinv.mul(msg).umod(this.n);
  19550. var u2 = sinv.mul(r).umod(this.n);
  19551. if (!this.curve._maxwellTrick) {
  19552. var p = this.g.mulAdd(u1, key.getPublic(), u2);
  19553. if (p.isInfinity())
  19554. return false;
  19555. return p.getX().umod(this.n).cmp(r) === 0;
  19556. }
  19557. // NOTE: Greg Maxwell's trick, inspired by:
  19558. // https://git.io/vad3K
  19559. var p = this.g.jmulAdd(u1, key.getPublic(), u2);
  19560. if (p.isInfinity())
  19561. return false;
  19562. // Compare `p.x` of Jacobian point with `r`,
  19563. // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the
  19564. // inverse of `p.z^2`
  19565. return p.eqXToP(r);
  19566. };
  19567. EC.prototype.recoverPubKey = function(msg, signature, j, enc) {
  19568. assert((3 & j) === j, 'The recovery param is more than two bits');
  19569. signature = new Signature(signature, enc);
  19570. var n = this.n;
  19571. var e = new BN(msg);
  19572. var r = signature.r;
  19573. var s = signature.s;
  19574. // A set LSB signifies that the y-coordinate is odd
  19575. var isYOdd = j & 1;
  19576. var isSecondKey = j >> 1;
  19577. if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)
  19578. throw new Error('Unable to find sencond key candinate');
  19579. // 1.1. Let x = r + jn.
  19580. if (isSecondKey)
  19581. r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);
  19582. else
  19583. r = this.curve.pointFromX(r, isYOdd);
  19584. var rInv = signature.r.invm(n);
  19585. var s1 = n.sub(e).mul(rInv).umod(n);
  19586. var s2 = s.mul(rInv).umod(n);
  19587. // 1.6.1 Compute Q = r^-1 (sR - eG)
  19588. // Q = r^-1 (sR + -eG)
  19589. return this.g.mulAdd(s1, r, s2);
  19590. };
  19591. EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {
  19592. signature = new Signature(signature, enc);
  19593. if (signature.recoveryParam !== null)
  19594. return signature.recoveryParam;
  19595. for (var i = 0; i < 4; i++) {
  19596. var Qprime;
  19597. try {
  19598. Qprime = this.recoverPubKey(e, signature, i);
  19599. } catch (e) {
  19600. continue;
  19601. }
  19602. if (Qprime.eq(Q))
  19603. return i;
  19604. }
  19605. throw new Error('Unable to find valid recovery factor');
  19606. };
  19607. /***/ }),
  19608. /* 177 */
  19609. /*!*************************************************!*\
  19610. !*** ./node_modules/hmac-drbg/lib/hmac-drbg.js ***!
  19611. \*************************************************/
  19612. /*! no static exports found */
  19613. /***/ (function(module, exports, __webpack_require__) {
  19614. "use strict";
  19615. var hash = __webpack_require__(/*! hash.js */ 163);
  19616. var utils = __webpack_require__(/*! minimalistic-crypto-utils */ 156);
  19617. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  19618. function HmacDRBG(options) {
  19619. if (!(this instanceof HmacDRBG))
  19620. return new HmacDRBG(options);
  19621. this.hash = options.hash;
  19622. this.predResist = !!options.predResist;
  19623. this.outLen = this.hash.outSize;
  19624. this.minEntropy = options.minEntropy || this.hash.hmacStrength;
  19625. this._reseed = null;
  19626. this.reseedInterval = null;
  19627. this.K = null;
  19628. this.V = null;
  19629. var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');
  19630. var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');
  19631. var pers = utils.toArray(options.pers, options.persEnc || 'hex');
  19632. assert(entropy.length >= (this.minEntropy / 8),
  19633. 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');
  19634. this._init(entropy, nonce, pers);
  19635. }
  19636. module.exports = HmacDRBG;
  19637. HmacDRBG.prototype._init = function init(entropy, nonce, pers) {
  19638. var seed = entropy.concat(nonce).concat(pers);
  19639. this.K = new Array(this.outLen / 8);
  19640. this.V = new Array(this.outLen / 8);
  19641. for (var i = 0; i < this.V.length; i++) {
  19642. this.K[i] = 0x00;
  19643. this.V[i] = 0x01;
  19644. }
  19645. this._update(seed);
  19646. this._reseed = 1;
  19647. this.reseedInterval = 0x1000000000000; // 2^48
  19648. };
  19649. HmacDRBG.prototype._hmac = function hmac() {
  19650. return new hash.hmac(this.hash, this.K);
  19651. };
  19652. HmacDRBG.prototype._update = function update(seed) {
  19653. var kmac = this._hmac()
  19654. .update(this.V)
  19655. .update([ 0x00 ]);
  19656. if (seed)
  19657. kmac = kmac.update(seed);
  19658. this.K = kmac.digest();
  19659. this.V = this._hmac().update(this.V).digest();
  19660. if (!seed)
  19661. return;
  19662. this.K = this._hmac()
  19663. .update(this.V)
  19664. .update([ 0x01 ])
  19665. .update(seed)
  19666. .digest();
  19667. this.V = this._hmac().update(this.V).digest();
  19668. };
  19669. HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {
  19670. // Optional entropy enc
  19671. if (typeof entropyEnc !== 'string') {
  19672. addEnc = add;
  19673. add = entropyEnc;
  19674. entropyEnc = null;
  19675. }
  19676. entropy = utils.toArray(entropy, entropyEnc);
  19677. add = utils.toArray(add, addEnc);
  19678. assert(entropy.length >= (this.minEntropy / 8),
  19679. 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');
  19680. this._update(entropy.concat(add || []));
  19681. this._reseed = 1;
  19682. };
  19683. HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {
  19684. if (this._reseed > this.reseedInterval)
  19685. throw new Error('Reseed is required');
  19686. // Optional encoding
  19687. if (typeof enc !== 'string') {
  19688. addEnc = add;
  19689. add = enc;
  19690. enc = null;
  19691. }
  19692. // Optional additional data
  19693. if (add) {
  19694. add = utils.toArray(add, addEnc || 'hex');
  19695. this._update(add);
  19696. }
  19697. var temp = [];
  19698. while (temp.length < len) {
  19699. this.V = this._hmac().update(this.V).digest();
  19700. temp = temp.concat(this.V);
  19701. }
  19702. var res = temp.slice(0, len);
  19703. this._update(add);
  19704. this._reseed++;
  19705. return utils.encode(res, enc);
  19706. };
  19707. /***/ }),
  19708. /* 178 */
  19709. /*!******************************************************!*\
  19710. !*** ./node_modules/elliptic/lib/elliptic/ec/key.js ***!
  19711. \******************************************************/
  19712. /*! no static exports found */
  19713. /***/ (function(module, exports, __webpack_require__) {
  19714. "use strict";
  19715. var BN = __webpack_require__(/*! bn.js */ 142);
  19716. var utils = __webpack_require__(/*! ../utils */ 155);
  19717. var assert = utils.assert;
  19718. function KeyPair(ec, options) {
  19719. this.ec = ec;
  19720. this.priv = null;
  19721. this.pub = null;
  19722. // KeyPair(ec, { priv: ..., pub: ... })
  19723. if (options.priv)
  19724. this._importPrivate(options.priv, options.privEnc);
  19725. if (options.pub)
  19726. this._importPublic(options.pub, options.pubEnc);
  19727. }
  19728. module.exports = KeyPair;
  19729. KeyPair.fromPublic = function fromPublic(ec, pub, enc) {
  19730. if (pub instanceof KeyPair)
  19731. return pub;
  19732. return new KeyPair(ec, {
  19733. pub: pub,
  19734. pubEnc: enc
  19735. });
  19736. };
  19737. KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {
  19738. if (priv instanceof KeyPair)
  19739. return priv;
  19740. return new KeyPair(ec, {
  19741. priv: priv,
  19742. privEnc: enc
  19743. });
  19744. };
  19745. KeyPair.prototype.validate = function validate() {
  19746. var pub = this.getPublic();
  19747. if (pub.isInfinity())
  19748. return { result: false, reason: 'Invalid public key' };
  19749. if (!pub.validate())
  19750. return { result: false, reason: 'Public key is not a point' };
  19751. if (!pub.mul(this.ec.curve.n).isInfinity())
  19752. return { result: false, reason: 'Public key * N != O' };
  19753. return { result: true, reason: null };
  19754. };
  19755. KeyPair.prototype.getPublic = function getPublic(compact, enc) {
  19756. // compact is optional argument
  19757. if (typeof compact === 'string') {
  19758. enc = compact;
  19759. compact = null;
  19760. }
  19761. if (!this.pub)
  19762. this.pub = this.ec.g.mul(this.priv);
  19763. if (!enc)
  19764. return this.pub;
  19765. return this.pub.encode(enc, compact);
  19766. };
  19767. KeyPair.prototype.getPrivate = function getPrivate(enc) {
  19768. if (enc === 'hex')
  19769. return this.priv.toString(16, 2);
  19770. else
  19771. return this.priv;
  19772. };
  19773. KeyPair.prototype._importPrivate = function _importPrivate(key, enc) {
  19774. this.priv = new BN(key, enc || 16);
  19775. // Ensure that the priv won't be bigger than n, otherwise we may fail
  19776. // in fixed multiplication method
  19777. this.priv = this.priv.umod(this.ec.curve.n);
  19778. };
  19779. KeyPair.prototype._importPublic = function _importPublic(key, enc) {
  19780. if (key.x || key.y) {
  19781. // Montgomery points only have an `x` coordinate.
  19782. // Weierstrass/Edwards points on the other hand have both `x` and
  19783. // `y` coordinates.
  19784. if (this.ec.curve.type === 'mont') {
  19785. assert(key.x, 'Need x coordinate');
  19786. } else if (this.ec.curve.type === 'short' ||
  19787. this.ec.curve.type === 'edwards') {
  19788. assert(key.x && key.y, 'Need both x and y coordinate');
  19789. }
  19790. this.pub = this.ec.curve.point(key.x, key.y);
  19791. return;
  19792. }
  19793. this.pub = this.ec.curve.decodePoint(key, enc);
  19794. };
  19795. // ECDH
  19796. KeyPair.prototype.derive = function derive(pub) {
  19797. return pub.mul(this.priv).getX();
  19798. };
  19799. // ECDSA
  19800. KeyPair.prototype.sign = function sign(msg, enc, options) {
  19801. return this.ec.sign(msg, this, enc, options);
  19802. };
  19803. KeyPair.prototype.verify = function verify(msg, signature) {
  19804. return this.ec.verify(msg, signature, this);
  19805. };
  19806. KeyPair.prototype.inspect = function inspect() {
  19807. return '<Key priv: ' + (this.priv && this.priv.toString(16, 2)) +
  19808. ' pub: ' + (this.pub && this.pub.inspect()) + ' >';
  19809. };
  19810. /***/ }),
  19811. /* 179 */
  19812. /*!************************************************************!*\
  19813. !*** ./node_modules/elliptic/lib/elliptic/ec/signature.js ***!
  19814. \************************************************************/
  19815. /*! no static exports found */
  19816. /***/ (function(module, exports, __webpack_require__) {
  19817. "use strict";
  19818. var BN = __webpack_require__(/*! bn.js */ 142);
  19819. var utils = __webpack_require__(/*! ../utils */ 155);
  19820. var assert = utils.assert;
  19821. function Signature(options, enc) {
  19822. if (options instanceof Signature)
  19823. return options;
  19824. if (this._importDER(options, enc))
  19825. return;
  19826. assert(options.r && options.s, 'Signature without r or s');
  19827. this.r = new BN(options.r, 16);
  19828. this.s = new BN(options.s, 16);
  19829. if (options.recoveryParam === undefined)
  19830. this.recoveryParam = null;
  19831. else
  19832. this.recoveryParam = options.recoveryParam;
  19833. }
  19834. module.exports = Signature;
  19835. function Position() {
  19836. this.place = 0;
  19837. }
  19838. function getLength(buf, p) {
  19839. var initial = buf[p.place++];
  19840. if (!(initial & 0x80)) {
  19841. return initial;
  19842. }
  19843. var octetLen = initial & 0xf;
  19844. var val = 0;
  19845. for (var i = 0, off = p.place; i < octetLen; i++, off++) {
  19846. val <<= 8;
  19847. val |= buf[off];
  19848. }
  19849. p.place = off;
  19850. return val;
  19851. }
  19852. function rmPadding(buf) {
  19853. var i = 0;
  19854. var len = buf.length - 1;
  19855. while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {
  19856. i++;
  19857. }
  19858. if (i === 0) {
  19859. return buf;
  19860. }
  19861. return buf.slice(i);
  19862. }
  19863. Signature.prototype._importDER = function _importDER(data, enc) {
  19864. data = utils.toArray(data, enc);
  19865. var p = new Position();
  19866. if (data[p.place++] !== 0x30) {
  19867. return false;
  19868. }
  19869. var len = getLength(data, p);
  19870. if ((len + p.place) !== data.length) {
  19871. return false;
  19872. }
  19873. if (data[p.place++] !== 0x02) {
  19874. return false;
  19875. }
  19876. var rlen = getLength(data, p);
  19877. var r = data.slice(p.place, rlen + p.place);
  19878. p.place += rlen;
  19879. if (data[p.place++] !== 0x02) {
  19880. return false;
  19881. }
  19882. var slen = getLength(data, p);
  19883. if (data.length !== slen + p.place) {
  19884. return false;
  19885. }
  19886. var s = data.slice(p.place, slen + p.place);
  19887. if (r[0] === 0 && (r[1] & 0x80)) {
  19888. r = r.slice(1);
  19889. }
  19890. if (s[0] === 0 && (s[1] & 0x80)) {
  19891. s = s.slice(1);
  19892. }
  19893. this.r = new BN(r);
  19894. this.s = new BN(s);
  19895. this.recoveryParam = null;
  19896. return true;
  19897. };
  19898. function constructLength(arr, len) {
  19899. if (len < 0x80) {
  19900. arr.push(len);
  19901. return;
  19902. }
  19903. var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);
  19904. arr.push(octets | 0x80);
  19905. while (--octets) {
  19906. arr.push((len >>> (octets << 3)) & 0xff);
  19907. }
  19908. arr.push(len);
  19909. }
  19910. Signature.prototype.toDER = function toDER(enc) {
  19911. var r = this.r.toArray();
  19912. var s = this.s.toArray();
  19913. // Pad values
  19914. if (r[0] & 0x80)
  19915. r = [ 0 ].concat(r);
  19916. // Pad values
  19917. if (s[0] & 0x80)
  19918. s = [ 0 ].concat(s);
  19919. r = rmPadding(r);
  19920. s = rmPadding(s);
  19921. while (!s[0] && !(s[1] & 0x80)) {
  19922. s = s.slice(1);
  19923. }
  19924. var arr = [ 0x02 ];
  19925. constructLength(arr, r.length);
  19926. arr = arr.concat(r);
  19927. arr.push(0x02);
  19928. constructLength(arr, s.length);
  19929. var backHalf = arr.concat(s);
  19930. var res = [ 0x30 ];
  19931. constructLength(res, backHalf.length);
  19932. res = res.concat(backHalf);
  19933. return utils.encode(res, enc);
  19934. };
  19935. /***/ }),
  19936. /* 180 */
  19937. /*!***********************************************************!*\
  19938. !*** ./node_modules/elliptic/lib/elliptic/eddsa/index.js ***!
  19939. \***********************************************************/
  19940. /*! no static exports found */
  19941. /***/ (function(module, exports, __webpack_require__) {
  19942. "use strict";
  19943. var hash = __webpack_require__(/*! hash.js */ 163);
  19944. var curves = __webpack_require__(/*! ../curves */ 162);
  19945. var utils = __webpack_require__(/*! ../utils */ 155);
  19946. var assert = utils.assert;
  19947. var parseBytes = utils.parseBytes;
  19948. var KeyPair = __webpack_require__(/*! ./key */ 181);
  19949. var Signature = __webpack_require__(/*! ./signature */ 182);
  19950. function EDDSA(curve) {
  19951. assert(curve === 'ed25519', 'only tested with ed25519 so far');
  19952. if (!(this instanceof EDDSA))
  19953. return new EDDSA(curve);
  19954. var curve = curves[curve].curve;
  19955. this.curve = curve;
  19956. this.g = curve.g;
  19957. this.g.precompute(curve.n.bitLength() + 1);
  19958. this.pointClass = curve.point().constructor;
  19959. this.encodingLength = Math.ceil(curve.n.bitLength() / 8);
  19960. this.hash = hash.sha512;
  19961. }
  19962. module.exports = EDDSA;
  19963. /**
  19964. * @param {Array|String} message - message bytes
  19965. * @param {Array|String|KeyPair} secret - secret bytes or a keypair
  19966. * @returns {Signature} - signature
  19967. */
  19968. EDDSA.prototype.sign = function sign(message, secret) {
  19969. message = parseBytes(message);
  19970. var key = this.keyFromSecret(secret);
  19971. var r = this.hashInt(key.messagePrefix(), message);
  19972. var R = this.g.mul(r);
  19973. var Rencoded = this.encodePoint(R);
  19974. var s_ = this.hashInt(Rencoded, key.pubBytes(), message)
  19975. .mul(key.priv());
  19976. var S = r.add(s_).umod(this.curve.n);
  19977. return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });
  19978. };
  19979. /**
  19980. * @param {Array} message - message bytes
  19981. * @param {Array|String|Signature} sig - sig bytes
  19982. * @param {Array|String|Point|KeyPair} pub - public key
  19983. * @returns {Boolean} - true if public key matches sig of message
  19984. */
  19985. EDDSA.prototype.verify = function verify(message, sig, pub) {
  19986. message = parseBytes(message);
  19987. sig = this.makeSignature(sig);
  19988. var key = this.keyFromPublic(pub);
  19989. var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);
  19990. var SG = this.g.mul(sig.S());
  19991. var RplusAh = sig.R().add(key.pub().mul(h));
  19992. return RplusAh.eq(SG);
  19993. };
  19994. EDDSA.prototype.hashInt = function hashInt() {
  19995. var hash = this.hash();
  19996. for (var i = 0; i < arguments.length; i++)
  19997. hash.update(arguments[i]);
  19998. return utils.intFromLE(hash.digest()).umod(this.curve.n);
  19999. };
  20000. EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {
  20001. return KeyPair.fromPublic(this, pub);
  20002. };
  20003. EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {
  20004. return KeyPair.fromSecret(this, secret);
  20005. };
  20006. EDDSA.prototype.makeSignature = function makeSignature(sig) {
  20007. if (sig instanceof Signature)
  20008. return sig;
  20009. return new Signature(this, sig);
  20010. };
  20011. /**
  20012. * * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2
  20013. *
  20014. * EDDSA defines methods for encoding and decoding points and integers. These are
  20015. * helper convenience methods, that pass along to utility functions implied
  20016. * parameters.
  20017. *
  20018. */
  20019. EDDSA.prototype.encodePoint = function encodePoint(point) {
  20020. var enc = point.getY().toArray('le', this.encodingLength);
  20021. enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;
  20022. return enc;
  20023. };
  20024. EDDSA.prototype.decodePoint = function decodePoint(bytes) {
  20025. bytes = utils.parseBytes(bytes);
  20026. var lastIx = bytes.length - 1;
  20027. var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);
  20028. var xIsOdd = (bytes[lastIx] & 0x80) !== 0;
  20029. var y = utils.intFromLE(normed);
  20030. return this.curve.pointFromY(y, xIsOdd);
  20031. };
  20032. EDDSA.prototype.encodeInt = function encodeInt(num) {
  20033. return num.toArray('le', this.encodingLength);
  20034. };
  20035. EDDSA.prototype.decodeInt = function decodeInt(bytes) {
  20036. return utils.intFromLE(bytes);
  20037. };
  20038. EDDSA.prototype.isPoint = function isPoint(val) {
  20039. return val instanceof this.pointClass;
  20040. };
  20041. /***/ }),
  20042. /* 181 */
  20043. /*!*********************************************************!*\
  20044. !*** ./node_modules/elliptic/lib/elliptic/eddsa/key.js ***!
  20045. \*********************************************************/
  20046. /*! no static exports found */
  20047. /***/ (function(module, exports, __webpack_require__) {
  20048. "use strict";
  20049. var utils = __webpack_require__(/*! ../utils */ 155);
  20050. var assert = utils.assert;
  20051. var parseBytes = utils.parseBytes;
  20052. var cachedProperty = utils.cachedProperty;
  20053. /**
  20054. * @param {EDDSA} eddsa - instance
  20055. * @param {Object} params - public/private key parameters
  20056. *
  20057. * @param {Array<Byte>} [params.secret] - secret seed bytes
  20058. * @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)
  20059. * @param {Array<Byte>} [params.pub] - public key point encoded as bytes
  20060. *
  20061. */
  20062. function KeyPair(eddsa, params) {
  20063. this.eddsa = eddsa;
  20064. this._secret = parseBytes(params.secret);
  20065. if (eddsa.isPoint(params.pub))
  20066. this._pub = params.pub;
  20067. else
  20068. this._pubBytes = parseBytes(params.pub);
  20069. }
  20070. KeyPair.fromPublic = function fromPublic(eddsa, pub) {
  20071. if (pub instanceof KeyPair)
  20072. return pub;
  20073. return new KeyPair(eddsa, { pub: pub });
  20074. };
  20075. KeyPair.fromSecret = function fromSecret(eddsa, secret) {
  20076. if (secret instanceof KeyPair)
  20077. return secret;
  20078. return new KeyPair(eddsa, { secret: secret });
  20079. };
  20080. KeyPair.prototype.secret = function secret() {
  20081. return this._secret;
  20082. };
  20083. cachedProperty(KeyPair, 'pubBytes', function pubBytes() {
  20084. return this.eddsa.encodePoint(this.pub());
  20085. });
  20086. cachedProperty(KeyPair, 'pub', function pub() {
  20087. if (this._pubBytes)
  20088. return this.eddsa.decodePoint(this._pubBytes);
  20089. return this.eddsa.g.mul(this.priv());
  20090. });
  20091. cachedProperty(KeyPair, 'privBytes', function privBytes() {
  20092. var eddsa = this.eddsa;
  20093. var hash = this.hash();
  20094. var lastIx = eddsa.encodingLength - 1;
  20095. var a = hash.slice(0, eddsa.encodingLength);
  20096. a[0] &= 248;
  20097. a[lastIx] &= 127;
  20098. a[lastIx] |= 64;
  20099. return a;
  20100. });
  20101. cachedProperty(KeyPair, 'priv', function priv() {
  20102. return this.eddsa.decodeInt(this.privBytes());
  20103. });
  20104. cachedProperty(KeyPair, 'hash', function hash() {
  20105. return this.eddsa.hash().update(this.secret()).digest();
  20106. });
  20107. cachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {
  20108. return this.hash().slice(this.eddsa.encodingLength);
  20109. });
  20110. KeyPair.prototype.sign = function sign(message) {
  20111. assert(this._secret, 'KeyPair can only verify');
  20112. return this.eddsa.sign(message, this);
  20113. };
  20114. KeyPair.prototype.verify = function verify(message, sig) {
  20115. return this.eddsa.verify(message, sig, this);
  20116. };
  20117. KeyPair.prototype.getSecret = function getSecret(enc) {
  20118. assert(this._secret, 'KeyPair is public only');
  20119. return utils.encode(this.secret(), enc);
  20120. };
  20121. KeyPair.prototype.getPublic = function getPublic(enc) {
  20122. return utils.encode(this.pubBytes(), enc);
  20123. };
  20124. module.exports = KeyPair;
  20125. /***/ }),
  20126. /* 182 */
  20127. /*!***************************************************************!*\
  20128. !*** ./node_modules/elliptic/lib/elliptic/eddsa/signature.js ***!
  20129. \***************************************************************/
  20130. /*! no static exports found */
  20131. /***/ (function(module, exports, __webpack_require__) {
  20132. "use strict";
  20133. var BN = __webpack_require__(/*! bn.js */ 142);
  20134. var utils = __webpack_require__(/*! ../utils */ 155);
  20135. var assert = utils.assert;
  20136. var cachedProperty = utils.cachedProperty;
  20137. var parseBytes = utils.parseBytes;
  20138. /**
  20139. * @param {EDDSA} eddsa - eddsa instance
  20140. * @param {Array<Bytes>|Object} sig -
  20141. * @param {Array<Bytes>|Point} [sig.R] - R point as Point or bytes
  20142. * @param {Array<Bytes>|bn} [sig.S] - S scalar as bn or bytes
  20143. * @param {Array<Bytes>} [sig.Rencoded] - R point encoded
  20144. * @param {Array<Bytes>} [sig.Sencoded] - S scalar encoded
  20145. */
  20146. function Signature(eddsa, sig) {
  20147. this.eddsa = eddsa;
  20148. if (typeof sig !== 'object')
  20149. sig = parseBytes(sig);
  20150. if (Array.isArray(sig)) {
  20151. sig = {
  20152. R: sig.slice(0, eddsa.encodingLength),
  20153. S: sig.slice(eddsa.encodingLength)
  20154. };
  20155. }
  20156. assert(sig.R && sig.S, 'Signature without R or S');
  20157. if (eddsa.isPoint(sig.R))
  20158. this._R = sig.R;
  20159. if (sig.S instanceof BN)
  20160. this._S = sig.S;
  20161. this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;
  20162. this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;
  20163. }
  20164. cachedProperty(Signature, 'S', function S() {
  20165. return this.eddsa.decodeInt(this.Sencoded());
  20166. });
  20167. cachedProperty(Signature, 'R', function R() {
  20168. return this.eddsa.decodePoint(this.Rencoded());
  20169. });
  20170. cachedProperty(Signature, 'Rencoded', function Rencoded() {
  20171. return this.eddsa.encodePoint(this.R());
  20172. });
  20173. cachedProperty(Signature, 'Sencoded', function Sencoded() {
  20174. return this.eddsa.encodeInt(this.S());
  20175. });
  20176. Signature.prototype.toBytes = function toBytes() {
  20177. return this.Rencoded().concat(this.Sencoded());
  20178. };
  20179. Signature.prototype.toHex = function toHex() {
  20180. return utils.encode(this.toBytes(), 'hex').toUpperCase();
  20181. };
  20182. module.exports = Signature;
  20183. /***/ }),
  20184. /* 183 */
  20185. /*!******************************************!*\
  20186. !*** ./node_modules/parse-asn1/index.js ***!
  20187. \******************************************/
  20188. /*! no static exports found */
  20189. /***/ (function(module, exports, __webpack_require__) {
  20190. var asn1 = __webpack_require__(/*! ./asn1 */ 184)
  20191. var aesid = __webpack_require__(/*! ./aesid.json */ 201)
  20192. var fixProc = __webpack_require__(/*! ./fixProc */ 202)
  20193. var ciphers = __webpack_require__(/*! browserify-aes */ 120)
  20194. var compat = __webpack_require__(/*! pbkdf2 */ 105)
  20195. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  20196. module.exports = parseKeys
  20197. function parseKeys (buffer) {
  20198. var password
  20199. if (typeof buffer === 'object' && !Buffer.isBuffer(buffer)) {
  20200. password = buffer.passphrase
  20201. buffer = buffer.key
  20202. }
  20203. if (typeof buffer === 'string') {
  20204. buffer = Buffer.from(buffer)
  20205. }
  20206. var stripped = fixProc(buffer, password)
  20207. var type = stripped.tag
  20208. var data = stripped.data
  20209. var subtype, ndata
  20210. switch (type) {
  20211. case 'CERTIFICATE':
  20212. ndata = asn1.certificate.decode(data, 'der').tbsCertificate.subjectPublicKeyInfo
  20213. // falls through
  20214. case 'PUBLIC KEY':
  20215. if (!ndata) {
  20216. ndata = asn1.PublicKey.decode(data, 'der')
  20217. }
  20218. subtype = ndata.algorithm.algorithm.join('.')
  20219. switch (subtype) {
  20220. case '1.2.840.113549.1.1.1':
  20221. return asn1.RSAPublicKey.decode(ndata.subjectPublicKey.data, 'der')
  20222. case '1.2.840.10045.2.1':
  20223. ndata.subjectPrivateKey = ndata.subjectPublicKey
  20224. return {
  20225. type: 'ec',
  20226. data: ndata
  20227. }
  20228. case '1.2.840.10040.4.1':
  20229. ndata.algorithm.params.pub_key = asn1.DSAparam.decode(ndata.subjectPublicKey.data, 'der')
  20230. return {
  20231. type: 'dsa',
  20232. data: ndata.algorithm.params
  20233. }
  20234. default: throw new Error('unknown key id ' + subtype)
  20235. }
  20236. throw new Error('unknown key type ' + type)
  20237. case 'ENCRYPTED PRIVATE KEY':
  20238. data = asn1.EncryptedPrivateKey.decode(data, 'der')
  20239. data = decrypt(data, password)
  20240. // falls through
  20241. case 'PRIVATE KEY':
  20242. ndata = asn1.PrivateKey.decode(data, 'der')
  20243. subtype = ndata.algorithm.algorithm.join('.')
  20244. switch (subtype) {
  20245. case '1.2.840.113549.1.1.1':
  20246. return asn1.RSAPrivateKey.decode(ndata.subjectPrivateKey, 'der')
  20247. case '1.2.840.10045.2.1':
  20248. return {
  20249. curve: ndata.algorithm.curve,
  20250. privateKey: asn1.ECPrivateKey.decode(ndata.subjectPrivateKey, 'der').privateKey
  20251. }
  20252. case '1.2.840.10040.4.1':
  20253. ndata.algorithm.params.priv_key = asn1.DSAparam.decode(ndata.subjectPrivateKey, 'der')
  20254. return {
  20255. type: 'dsa',
  20256. params: ndata.algorithm.params
  20257. }
  20258. default: throw new Error('unknown key id ' + subtype)
  20259. }
  20260. throw new Error('unknown key type ' + type)
  20261. case 'RSA PUBLIC KEY':
  20262. return asn1.RSAPublicKey.decode(data, 'der')
  20263. case 'RSA PRIVATE KEY':
  20264. return asn1.RSAPrivateKey.decode(data, 'der')
  20265. case 'DSA PRIVATE KEY':
  20266. return {
  20267. type: 'dsa',
  20268. params: asn1.DSAPrivateKey.decode(data, 'der')
  20269. }
  20270. case 'EC PRIVATE KEY':
  20271. data = asn1.ECPrivateKey.decode(data, 'der')
  20272. return {
  20273. curve: data.parameters.value,
  20274. privateKey: data.privateKey
  20275. }
  20276. default: throw new Error('unknown key type ' + type)
  20277. }
  20278. }
  20279. parseKeys.signature = asn1.signature
  20280. function decrypt (data, password) {
  20281. var salt = data.algorithm.decrypt.kde.kdeparams.salt
  20282. var iters = parseInt(data.algorithm.decrypt.kde.kdeparams.iters.toString(), 10)
  20283. var algo = aesid[data.algorithm.decrypt.cipher.algo.join('.')]
  20284. var iv = data.algorithm.decrypt.cipher.iv
  20285. var cipherText = data.subjectPrivateKey
  20286. var keylen = parseInt(algo.split('-')[1], 10) / 8
  20287. var key = compat.pbkdf2Sync(password, salt, iters, keylen, 'sha1')
  20288. var cipher = ciphers.createDecipheriv(algo, key, iv)
  20289. var out = []
  20290. out.push(cipher.update(cipherText))
  20291. out.push(cipher.final())
  20292. return Buffer.concat(out)
  20293. }
  20294. /***/ }),
  20295. /* 184 */
  20296. /*!*****************************************!*\
  20297. !*** ./node_modules/parse-asn1/asn1.js ***!
  20298. \*****************************************/
  20299. /*! no static exports found */
  20300. /***/ (function(module, exports, __webpack_require__) {
  20301. "use strict";
  20302. // from https://github.com/indutny/self-signed/blob/gh-pages/lib/asn1.js
  20303. // Fedor, you are amazing.
  20304. var asn1 = __webpack_require__(/*! asn1.js */ 185)
  20305. exports.certificate = __webpack_require__(/*! ./certificate */ 200)
  20306. var RSAPrivateKey = asn1.define('RSAPrivateKey', function () {
  20307. this.seq().obj(
  20308. this.key('version').int(),
  20309. this.key('modulus').int(),
  20310. this.key('publicExponent').int(),
  20311. this.key('privateExponent').int(),
  20312. this.key('prime1').int(),
  20313. this.key('prime2').int(),
  20314. this.key('exponent1').int(),
  20315. this.key('exponent2').int(),
  20316. this.key('coefficient').int()
  20317. )
  20318. })
  20319. exports.RSAPrivateKey = RSAPrivateKey
  20320. var RSAPublicKey = asn1.define('RSAPublicKey', function () {
  20321. this.seq().obj(
  20322. this.key('modulus').int(),
  20323. this.key('publicExponent').int()
  20324. )
  20325. })
  20326. exports.RSAPublicKey = RSAPublicKey
  20327. var PublicKey = asn1.define('SubjectPublicKeyInfo', function () {
  20328. this.seq().obj(
  20329. this.key('algorithm').use(AlgorithmIdentifier),
  20330. this.key('subjectPublicKey').bitstr()
  20331. )
  20332. })
  20333. exports.PublicKey = PublicKey
  20334. var AlgorithmIdentifier = asn1.define('AlgorithmIdentifier', function () {
  20335. this.seq().obj(
  20336. this.key('algorithm').objid(),
  20337. this.key('none').null_().optional(),
  20338. this.key('curve').objid().optional(),
  20339. this.key('params').seq().obj(
  20340. this.key('p').int(),
  20341. this.key('q').int(),
  20342. this.key('g').int()
  20343. ).optional()
  20344. )
  20345. })
  20346. var PrivateKeyInfo = asn1.define('PrivateKeyInfo', function () {
  20347. this.seq().obj(
  20348. this.key('version').int(),
  20349. this.key('algorithm').use(AlgorithmIdentifier),
  20350. this.key('subjectPrivateKey').octstr()
  20351. )
  20352. })
  20353. exports.PrivateKey = PrivateKeyInfo
  20354. var EncryptedPrivateKeyInfo = asn1.define('EncryptedPrivateKeyInfo', function () {
  20355. this.seq().obj(
  20356. this.key('algorithm').seq().obj(
  20357. this.key('id').objid(),
  20358. this.key('decrypt').seq().obj(
  20359. this.key('kde').seq().obj(
  20360. this.key('id').objid(),
  20361. this.key('kdeparams').seq().obj(
  20362. this.key('salt').octstr(),
  20363. this.key('iters').int()
  20364. )
  20365. ),
  20366. this.key('cipher').seq().obj(
  20367. this.key('algo').objid(),
  20368. this.key('iv').octstr()
  20369. )
  20370. )
  20371. ),
  20372. this.key('subjectPrivateKey').octstr()
  20373. )
  20374. })
  20375. exports.EncryptedPrivateKey = EncryptedPrivateKeyInfo
  20376. var DSAPrivateKey = asn1.define('DSAPrivateKey', function () {
  20377. this.seq().obj(
  20378. this.key('version').int(),
  20379. this.key('p').int(),
  20380. this.key('q').int(),
  20381. this.key('g').int(),
  20382. this.key('pub_key').int(),
  20383. this.key('priv_key').int()
  20384. )
  20385. })
  20386. exports.DSAPrivateKey = DSAPrivateKey
  20387. exports.DSAparam = asn1.define('DSAparam', function () {
  20388. this.int()
  20389. })
  20390. var ECPrivateKey = asn1.define('ECPrivateKey', function () {
  20391. this.seq().obj(
  20392. this.key('version').int(),
  20393. this.key('privateKey').octstr(),
  20394. this.key('parameters').optional().explicit(0).use(ECParameters),
  20395. this.key('publicKey').optional().explicit(1).bitstr()
  20396. )
  20397. })
  20398. exports.ECPrivateKey = ECPrivateKey
  20399. var ECParameters = asn1.define('ECParameters', function () {
  20400. this.choice({
  20401. namedCurve: this.objid()
  20402. })
  20403. })
  20404. exports.signature = asn1.define('signature', function () {
  20405. this.seq().obj(
  20406. this.key('r').int(),
  20407. this.key('s').int()
  20408. )
  20409. })
  20410. /***/ }),
  20411. /* 185 */
  20412. /*!******************************************!*\
  20413. !*** ./node_modules/asn1.js/lib/asn1.js ***!
  20414. \******************************************/
  20415. /*! no static exports found */
  20416. /***/ (function(module, exports, __webpack_require__) {
  20417. var asn1 = exports;
  20418. asn1.bignum = __webpack_require__(/*! bn.js */ 142);
  20419. asn1.define = __webpack_require__(/*! ./asn1/api */ 186).define;
  20420. asn1.base = __webpack_require__(/*! ./asn1/base */ 188);
  20421. asn1.constants = __webpack_require__(/*! ./asn1/constants */ 192);
  20422. asn1.decoders = __webpack_require__(/*! ./asn1/decoders */ 194);
  20423. asn1.encoders = __webpack_require__(/*! ./asn1/encoders */ 197);
  20424. /***/ }),
  20425. /* 186 */
  20426. /*!**********************************************!*\
  20427. !*** ./node_modules/asn1.js/lib/asn1/api.js ***!
  20428. \**********************************************/
  20429. /*! no static exports found */
  20430. /***/ (function(module, exports, __webpack_require__) {
  20431. var asn1 = __webpack_require__(/*! ../asn1 */ 185);
  20432. var inherits = __webpack_require__(/*! inherits */ 66);
  20433. var api = exports;
  20434. api.define = function define(name, body) {
  20435. return new Entity(name, body);
  20436. };
  20437. function Entity(name, body) {
  20438. this.name = name;
  20439. this.body = body;
  20440. this.decoders = {};
  20441. this.encoders = {};
  20442. };
  20443. Entity.prototype._createNamed = function createNamed(base) {
  20444. var named;
  20445. try {
  20446. named = __webpack_require__(/*! vm */ 187).runInThisContext(
  20447. '(function ' + this.name + '(entity) {\n' +
  20448. ' this._initNamed(entity);\n' +
  20449. '})'
  20450. );
  20451. } catch (e) {
  20452. named = function (entity) {
  20453. this._initNamed(entity);
  20454. };
  20455. }
  20456. inherits(named, base);
  20457. named.prototype._initNamed = function initnamed(entity) {
  20458. base.call(this, entity);
  20459. };
  20460. return new named(this);
  20461. };
  20462. Entity.prototype._getDecoder = function _getDecoder(enc) {
  20463. enc = enc || 'der';
  20464. // Lazily create decoder
  20465. if (!this.decoders.hasOwnProperty(enc))
  20466. this.decoders[enc] = this._createNamed(asn1.decoders[enc]);
  20467. return this.decoders[enc];
  20468. };
  20469. Entity.prototype.decode = function decode(data, enc, options) {
  20470. return this._getDecoder(enc).decode(data, options);
  20471. };
  20472. Entity.prototype._getEncoder = function _getEncoder(enc) {
  20473. enc = enc || 'der';
  20474. // Lazily create encoder
  20475. if (!this.encoders.hasOwnProperty(enc))
  20476. this.encoders[enc] = this._createNamed(asn1.encoders[enc]);
  20477. return this.encoders[enc];
  20478. };
  20479. Entity.prototype.encode = function encode(data, enc, /* internal */ reporter) {
  20480. return this._getEncoder(enc).encode(data, reporter);
  20481. };
  20482. /***/ }),
  20483. /* 187 */
  20484. /*!*********************************************!*\
  20485. !*** ./node_modules/vm-browserify/index.js ***!
  20486. \*********************************************/
  20487. /*! no static exports found */
  20488. /***/ (function(module, exports) {
  20489. var indexOf = function (xs, item) {
  20490. if (xs.indexOf) return xs.indexOf(item);
  20491. else for (var i = 0; i < xs.length; i++) {
  20492. if (xs[i] === item) return i;
  20493. }
  20494. return -1;
  20495. };
  20496. var Object_keys = function (obj) {
  20497. if (Object.keys) return Object.keys(obj)
  20498. else {
  20499. var res = [];
  20500. for (var key in obj) res.push(key)
  20501. return res;
  20502. }
  20503. };
  20504. var forEach = function (xs, fn) {
  20505. if (xs.forEach) return xs.forEach(fn)
  20506. else for (var i = 0; i < xs.length; i++) {
  20507. fn(xs[i], i, xs);
  20508. }
  20509. };
  20510. var defineProp = (function() {
  20511. try {
  20512. Object.defineProperty({}, '_', {});
  20513. return function(obj, name, value) {
  20514. Object.defineProperty(obj, name, {
  20515. writable: true,
  20516. enumerable: false,
  20517. configurable: true,
  20518. value: value
  20519. })
  20520. };
  20521. } catch(e) {
  20522. return function(obj, name, value) {
  20523. obj[name] = value;
  20524. };
  20525. }
  20526. }());
  20527. var globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',
  20528. 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',
  20529. 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',
  20530. 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',
  20531. 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'];
  20532. function Context() {}
  20533. Context.prototype = {};
  20534. var Script = exports.Script = function NodeScript (code) {
  20535. if (!(this instanceof Script)) return new Script(code);
  20536. this.code = code;
  20537. };
  20538. Script.prototype.runInContext = function (context) {
  20539. if (!(context instanceof Context)) {
  20540. throw new TypeError("needs a 'context' argument.");
  20541. }
  20542. var iframe = document.createElement('iframe');
  20543. if (!iframe.style) iframe.style = {};
  20544. iframe.style.display = 'none';
  20545. document.body.appendChild(iframe);
  20546. var win = iframe.contentWindow;
  20547. var wEval = win.eval, wExecScript = win.execScript;
  20548. if (!wEval && wExecScript) {
  20549. // win.eval() magically appears when this is called in IE:
  20550. wExecScript.call(win, 'null');
  20551. wEval = win.eval;
  20552. }
  20553. forEach(Object_keys(context), function (key) {
  20554. win[key] = context[key];
  20555. });
  20556. forEach(globals, function (key) {
  20557. if (context[key]) {
  20558. win[key] = context[key];
  20559. }
  20560. });
  20561. var winKeys = Object_keys(win);
  20562. var res = wEval.call(win, this.code);
  20563. forEach(Object_keys(win), function (key) {
  20564. // Avoid copying circular objects like `top` and `window` by only
  20565. // updating existing context properties or new properties in the `win`
  20566. // that was only introduced after the eval.
  20567. if (key in context || indexOf(winKeys, key) === -1) {
  20568. context[key] = win[key];
  20569. }
  20570. });
  20571. forEach(globals, function (key) {
  20572. if (!(key in context)) {
  20573. defineProp(context, key, win[key]);
  20574. }
  20575. });
  20576. document.body.removeChild(iframe);
  20577. return res;
  20578. };
  20579. Script.prototype.runInThisContext = function () {
  20580. return eval(this.code); // maybe...
  20581. };
  20582. Script.prototype.runInNewContext = function (context) {
  20583. var ctx = Script.createContext(context);
  20584. var res = this.runInContext(ctx);
  20585. if (context) {
  20586. forEach(Object_keys(ctx), function (key) {
  20587. context[key] = ctx[key];
  20588. });
  20589. }
  20590. return res;
  20591. };
  20592. forEach(Object_keys(Script.prototype), function (name) {
  20593. exports[name] = Script[name] = function (code) {
  20594. var s = Script(code);
  20595. return s[name].apply(s, [].slice.call(arguments, 1));
  20596. };
  20597. });
  20598. exports.isContext = function (context) {
  20599. return context instanceof Context;
  20600. };
  20601. exports.createScript = function (code) {
  20602. return exports.Script(code);
  20603. };
  20604. exports.createContext = Script.createContext = function (context) {
  20605. var copy = new Context();
  20606. if(typeof context === 'object') {
  20607. forEach(Object_keys(context), function (key) {
  20608. copy[key] = context[key];
  20609. });
  20610. }
  20611. return copy;
  20612. };
  20613. /***/ }),
  20614. /* 188 */
  20615. /*!*****************************************************!*\
  20616. !*** ./node_modules/asn1.js/lib/asn1/base/index.js ***!
  20617. \*****************************************************/
  20618. /*! no static exports found */
  20619. /***/ (function(module, exports, __webpack_require__) {
  20620. var base = exports;
  20621. base.Reporter = __webpack_require__(/*! ./reporter */ 189).Reporter;
  20622. base.DecoderBuffer = __webpack_require__(/*! ./buffer */ 190).DecoderBuffer;
  20623. base.EncoderBuffer = __webpack_require__(/*! ./buffer */ 190).EncoderBuffer;
  20624. base.Node = __webpack_require__(/*! ./node */ 191);
  20625. /***/ }),
  20626. /* 189 */
  20627. /*!********************************************************!*\
  20628. !*** ./node_modules/asn1.js/lib/asn1/base/reporter.js ***!
  20629. \********************************************************/
  20630. /*! no static exports found */
  20631. /***/ (function(module, exports, __webpack_require__) {
  20632. var inherits = __webpack_require__(/*! inherits */ 66);
  20633. function Reporter(options) {
  20634. this._reporterState = {
  20635. obj: null,
  20636. path: [],
  20637. options: options || {},
  20638. errors: []
  20639. };
  20640. }
  20641. exports.Reporter = Reporter;
  20642. Reporter.prototype.isError = function isError(obj) {
  20643. return obj instanceof ReporterError;
  20644. };
  20645. Reporter.prototype.save = function save() {
  20646. var state = this._reporterState;
  20647. return { obj: state.obj, pathLen: state.path.length };
  20648. };
  20649. Reporter.prototype.restore = function restore(data) {
  20650. var state = this._reporterState;
  20651. state.obj = data.obj;
  20652. state.path = state.path.slice(0, data.pathLen);
  20653. };
  20654. Reporter.prototype.enterKey = function enterKey(key) {
  20655. return this._reporterState.path.push(key);
  20656. };
  20657. Reporter.prototype.exitKey = function exitKey(index) {
  20658. var state = this._reporterState;
  20659. state.path = state.path.slice(0, index - 1);
  20660. };
  20661. Reporter.prototype.leaveKey = function leaveKey(index, key, value) {
  20662. var state = this._reporterState;
  20663. this.exitKey(index);
  20664. if (state.obj !== null)
  20665. state.obj[key] = value;
  20666. };
  20667. Reporter.prototype.path = function path() {
  20668. return this._reporterState.path.join('/');
  20669. };
  20670. Reporter.prototype.enterObject = function enterObject() {
  20671. var state = this._reporterState;
  20672. var prev = state.obj;
  20673. state.obj = {};
  20674. return prev;
  20675. };
  20676. Reporter.prototype.leaveObject = function leaveObject(prev) {
  20677. var state = this._reporterState;
  20678. var now = state.obj;
  20679. state.obj = prev;
  20680. return now;
  20681. };
  20682. Reporter.prototype.error = function error(msg) {
  20683. var err;
  20684. var state = this._reporterState;
  20685. var inherited = msg instanceof ReporterError;
  20686. if (inherited) {
  20687. err = msg;
  20688. } else {
  20689. err = new ReporterError(state.path.map(function(elem) {
  20690. return '[' + JSON.stringify(elem) + ']';
  20691. }).join(''), msg.message || msg, msg.stack);
  20692. }
  20693. if (!state.options.partial)
  20694. throw err;
  20695. if (!inherited)
  20696. state.errors.push(err);
  20697. return err;
  20698. };
  20699. Reporter.prototype.wrapResult = function wrapResult(result) {
  20700. var state = this._reporterState;
  20701. if (!state.options.partial)
  20702. return result;
  20703. return {
  20704. result: this.isError(result) ? null : result,
  20705. errors: state.errors
  20706. };
  20707. };
  20708. function ReporterError(path, msg) {
  20709. this.path = path;
  20710. this.rethrow(msg);
  20711. };
  20712. inherits(ReporterError, Error);
  20713. ReporterError.prototype.rethrow = function rethrow(msg) {
  20714. this.message = msg + ' at: ' + (this.path || '(shallow)');
  20715. if (Error.captureStackTrace)
  20716. Error.captureStackTrace(this, ReporterError);
  20717. if (!this.stack) {
  20718. try {
  20719. // IE only adds stack when thrown
  20720. throw new Error(this.message);
  20721. } catch (e) {
  20722. this.stack = e.stack;
  20723. }
  20724. }
  20725. return this;
  20726. };
  20727. /***/ }),
  20728. /* 190 */
  20729. /*!******************************************************!*\
  20730. !*** ./node_modules/asn1.js/lib/asn1/base/buffer.js ***!
  20731. \******************************************************/
  20732. /*! no static exports found */
  20733. /***/ (function(module, exports, __webpack_require__) {
  20734. var inherits = __webpack_require__(/*! inherits */ 66);
  20735. var Reporter = __webpack_require__(/*! ../base */ 188).Reporter;
  20736. var Buffer = __webpack_require__(/*! buffer */ 61).Buffer;
  20737. function DecoderBuffer(base, options) {
  20738. Reporter.call(this, options);
  20739. if (!Buffer.isBuffer(base)) {
  20740. this.error('Input not Buffer');
  20741. return;
  20742. }
  20743. this.base = base;
  20744. this.offset = 0;
  20745. this.length = base.length;
  20746. }
  20747. inherits(DecoderBuffer, Reporter);
  20748. exports.DecoderBuffer = DecoderBuffer;
  20749. DecoderBuffer.prototype.save = function save() {
  20750. return { offset: this.offset, reporter: Reporter.prototype.save.call(this) };
  20751. };
  20752. DecoderBuffer.prototype.restore = function restore(save) {
  20753. // Return skipped data
  20754. var res = new DecoderBuffer(this.base);
  20755. res.offset = save.offset;
  20756. res.length = this.offset;
  20757. this.offset = save.offset;
  20758. Reporter.prototype.restore.call(this, save.reporter);
  20759. return res;
  20760. };
  20761. DecoderBuffer.prototype.isEmpty = function isEmpty() {
  20762. return this.offset === this.length;
  20763. };
  20764. DecoderBuffer.prototype.readUInt8 = function readUInt8(fail) {
  20765. if (this.offset + 1 <= this.length)
  20766. return this.base.readUInt8(this.offset++, true);
  20767. else
  20768. return this.error(fail || 'DecoderBuffer overrun');
  20769. }
  20770. DecoderBuffer.prototype.skip = function skip(bytes, fail) {
  20771. if (!(this.offset + bytes <= this.length))
  20772. return this.error(fail || 'DecoderBuffer overrun');
  20773. var res = new DecoderBuffer(this.base);
  20774. // Share reporter state
  20775. res._reporterState = this._reporterState;
  20776. res.offset = this.offset;
  20777. res.length = this.offset + bytes;
  20778. this.offset += bytes;
  20779. return res;
  20780. }
  20781. DecoderBuffer.prototype.raw = function raw(save) {
  20782. return this.base.slice(save ? save.offset : this.offset, this.length);
  20783. }
  20784. function EncoderBuffer(value, reporter) {
  20785. if (Array.isArray(value)) {
  20786. this.length = 0;
  20787. this.value = value.map(function(item) {
  20788. if (!(item instanceof EncoderBuffer))
  20789. item = new EncoderBuffer(item, reporter);
  20790. this.length += item.length;
  20791. return item;
  20792. }, this);
  20793. } else if (typeof value === 'number') {
  20794. if (!(0 <= value && value <= 0xff))
  20795. return reporter.error('non-byte EncoderBuffer value');
  20796. this.value = value;
  20797. this.length = 1;
  20798. } else if (typeof value === 'string') {
  20799. this.value = value;
  20800. this.length = Buffer.byteLength(value);
  20801. } else if (Buffer.isBuffer(value)) {
  20802. this.value = value;
  20803. this.length = value.length;
  20804. } else {
  20805. return reporter.error('Unsupported type: ' + typeof value);
  20806. }
  20807. }
  20808. exports.EncoderBuffer = EncoderBuffer;
  20809. EncoderBuffer.prototype.join = function join(out, offset) {
  20810. if (!out)
  20811. out = new Buffer(this.length);
  20812. if (!offset)
  20813. offset = 0;
  20814. if (this.length === 0)
  20815. return out;
  20816. if (Array.isArray(this.value)) {
  20817. this.value.forEach(function(item) {
  20818. item.join(out, offset);
  20819. offset += item.length;
  20820. });
  20821. } else {
  20822. if (typeof this.value === 'number')
  20823. out[offset] = this.value;
  20824. else if (typeof this.value === 'string')
  20825. out.write(this.value, offset);
  20826. else if (Buffer.isBuffer(this.value))
  20827. this.value.copy(out, offset);
  20828. offset += this.length;
  20829. }
  20830. return out;
  20831. };
  20832. /***/ }),
  20833. /* 191 */
  20834. /*!****************************************************!*\
  20835. !*** ./node_modules/asn1.js/lib/asn1/base/node.js ***!
  20836. \****************************************************/
  20837. /*! no static exports found */
  20838. /***/ (function(module, exports, __webpack_require__) {
  20839. var Reporter = __webpack_require__(/*! ../base */ 188).Reporter;
  20840. var EncoderBuffer = __webpack_require__(/*! ../base */ 188).EncoderBuffer;
  20841. var DecoderBuffer = __webpack_require__(/*! ../base */ 188).DecoderBuffer;
  20842. var assert = __webpack_require__(/*! minimalistic-assert */ 116);
  20843. // Supported tags
  20844. var tags = [
  20845. 'seq', 'seqof', 'set', 'setof', 'objid', 'bool',
  20846. 'gentime', 'utctime', 'null_', 'enum', 'int', 'objDesc',
  20847. 'bitstr', 'bmpstr', 'charstr', 'genstr', 'graphstr', 'ia5str', 'iso646str',
  20848. 'numstr', 'octstr', 'printstr', 't61str', 'unistr', 'utf8str', 'videostr'
  20849. ];
  20850. // Public methods list
  20851. var methods = [
  20852. 'key', 'obj', 'use', 'optional', 'explicit', 'implicit', 'def', 'choice',
  20853. 'any', 'contains'
  20854. ].concat(tags);
  20855. // Overrided methods list
  20856. var overrided = [
  20857. '_peekTag', '_decodeTag', '_use',
  20858. '_decodeStr', '_decodeObjid', '_decodeTime',
  20859. '_decodeNull', '_decodeInt', '_decodeBool', '_decodeList',
  20860. '_encodeComposite', '_encodeStr', '_encodeObjid', '_encodeTime',
  20861. '_encodeNull', '_encodeInt', '_encodeBool'
  20862. ];
  20863. function Node(enc, parent) {
  20864. var state = {};
  20865. this._baseState = state;
  20866. state.enc = enc;
  20867. state.parent = parent || null;
  20868. state.children = null;
  20869. // State
  20870. state.tag = null;
  20871. state.args = null;
  20872. state.reverseArgs = null;
  20873. state.choice = null;
  20874. state.optional = false;
  20875. state.any = false;
  20876. state.obj = false;
  20877. state.use = null;
  20878. state.useDecoder = null;
  20879. state.key = null;
  20880. state['default'] = null;
  20881. state.explicit = null;
  20882. state.implicit = null;
  20883. state.contains = null;
  20884. // Should create new instance on each method
  20885. if (!state.parent) {
  20886. state.children = [];
  20887. this._wrap();
  20888. }
  20889. }
  20890. module.exports = Node;
  20891. var stateProps = [
  20892. 'enc', 'parent', 'children', 'tag', 'args', 'reverseArgs', 'choice',
  20893. 'optional', 'any', 'obj', 'use', 'alteredUse', 'key', 'default', 'explicit',
  20894. 'implicit', 'contains'
  20895. ];
  20896. Node.prototype.clone = function clone() {
  20897. var state = this._baseState;
  20898. var cstate = {};
  20899. stateProps.forEach(function(prop) {
  20900. cstate[prop] = state[prop];
  20901. });
  20902. var res = new this.constructor(cstate.parent);
  20903. res._baseState = cstate;
  20904. return res;
  20905. };
  20906. Node.prototype._wrap = function wrap() {
  20907. var state = this._baseState;
  20908. methods.forEach(function(method) {
  20909. this[method] = function _wrappedMethod() {
  20910. var clone = new this.constructor(this);
  20911. state.children.push(clone);
  20912. return clone[method].apply(clone, arguments);
  20913. };
  20914. }, this);
  20915. };
  20916. Node.prototype._init = function init(body) {
  20917. var state = this._baseState;
  20918. assert(state.parent === null);
  20919. body.call(this);
  20920. // Filter children
  20921. state.children = state.children.filter(function(child) {
  20922. return child._baseState.parent === this;
  20923. }, this);
  20924. assert.equal(state.children.length, 1, 'Root node can have only one child');
  20925. };
  20926. Node.prototype._useArgs = function useArgs(args) {
  20927. var state = this._baseState;
  20928. // Filter children and args
  20929. var children = args.filter(function(arg) {
  20930. return arg instanceof this.constructor;
  20931. }, this);
  20932. args = args.filter(function(arg) {
  20933. return !(arg instanceof this.constructor);
  20934. }, this);
  20935. if (children.length !== 0) {
  20936. assert(state.children === null);
  20937. state.children = children;
  20938. // Replace parent to maintain backward link
  20939. children.forEach(function(child) {
  20940. child._baseState.parent = this;
  20941. }, this);
  20942. }
  20943. if (args.length !== 0) {
  20944. assert(state.args === null);
  20945. state.args = args;
  20946. state.reverseArgs = args.map(function(arg) {
  20947. if (typeof arg !== 'object' || arg.constructor !== Object)
  20948. return arg;
  20949. var res = {};
  20950. Object.keys(arg).forEach(function(key) {
  20951. if (key == (key | 0))
  20952. key |= 0;
  20953. var value = arg[key];
  20954. res[value] = key;
  20955. });
  20956. return res;
  20957. });
  20958. }
  20959. };
  20960. //
  20961. // Overrided methods
  20962. //
  20963. overrided.forEach(function(method) {
  20964. Node.prototype[method] = function _overrided() {
  20965. var state = this._baseState;
  20966. throw new Error(method + ' not implemented for encoding: ' + state.enc);
  20967. };
  20968. });
  20969. //
  20970. // Public methods
  20971. //
  20972. tags.forEach(function(tag) {
  20973. Node.prototype[tag] = function _tagMethod() {
  20974. var state = this._baseState;
  20975. var args = Array.prototype.slice.call(arguments);
  20976. assert(state.tag === null);
  20977. state.tag = tag;
  20978. this._useArgs(args);
  20979. return this;
  20980. };
  20981. });
  20982. Node.prototype.use = function use(item) {
  20983. assert(item);
  20984. var state = this._baseState;
  20985. assert(state.use === null);
  20986. state.use = item;
  20987. return this;
  20988. };
  20989. Node.prototype.optional = function optional() {
  20990. var state = this._baseState;
  20991. state.optional = true;
  20992. return this;
  20993. };
  20994. Node.prototype.def = function def(val) {
  20995. var state = this._baseState;
  20996. assert(state['default'] === null);
  20997. state['default'] = val;
  20998. state.optional = true;
  20999. return this;
  21000. };
  21001. Node.prototype.explicit = function explicit(num) {
  21002. var state = this._baseState;
  21003. assert(state.explicit === null && state.implicit === null);
  21004. state.explicit = num;
  21005. return this;
  21006. };
  21007. Node.prototype.implicit = function implicit(num) {
  21008. var state = this._baseState;
  21009. assert(state.explicit === null && state.implicit === null);
  21010. state.implicit = num;
  21011. return this;
  21012. };
  21013. Node.prototype.obj = function obj() {
  21014. var state = this._baseState;
  21015. var args = Array.prototype.slice.call(arguments);
  21016. state.obj = true;
  21017. if (args.length !== 0)
  21018. this._useArgs(args);
  21019. return this;
  21020. };
  21021. Node.prototype.key = function key(newKey) {
  21022. var state = this._baseState;
  21023. assert(state.key === null);
  21024. state.key = newKey;
  21025. return this;
  21026. };
  21027. Node.prototype.any = function any() {
  21028. var state = this._baseState;
  21029. state.any = true;
  21030. return this;
  21031. };
  21032. Node.prototype.choice = function choice(obj) {
  21033. var state = this._baseState;
  21034. assert(state.choice === null);
  21035. state.choice = obj;
  21036. this._useArgs(Object.keys(obj).map(function(key) {
  21037. return obj[key];
  21038. }));
  21039. return this;
  21040. };
  21041. Node.prototype.contains = function contains(item) {
  21042. var state = this._baseState;
  21043. assert(state.use === null);
  21044. state.contains = item;
  21045. return this;
  21046. };
  21047. //
  21048. // Decoding
  21049. //
  21050. Node.prototype._decode = function decode(input, options) {
  21051. var state = this._baseState;
  21052. // Decode root node
  21053. if (state.parent === null)
  21054. return input.wrapResult(state.children[0]._decode(input, options));
  21055. var result = state['default'];
  21056. var present = true;
  21057. var prevKey = null;
  21058. if (state.key !== null)
  21059. prevKey = input.enterKey(state.key);
  21060. // Check if tag is there
  21061. if (state.optional) {
  21062. var tag = null;
  21063. if (state.explicit !== null)
  21064. tag = state.explicit;
  21065. else if (state.implicit !== null)
  21066. tag = state.implicit;
  21067. else if (state.tag !== null)
  21068. tag = state.tag;
  21069. if (tag === null && !state.any) {
  21070. // Trial and Error
  21071. var save = input.save();
  21072. try {
  21073. if (state.choice === null)
  21074. this._decodeGeneric(state.tag, input, options);
  21075. else
  21076. this._decodeChoice(input, options);
  21077. present = true;
  21078. } catch (e) {
  21079. present = false;
  21080. }
  21081. input.restore(save);
  21082. } else {
  21083. present = this._peekTag(input, tag, state.any);
  21084. if (input.isError(present))
  21085. return present;
  21086. }
  21087. }
  21088. // Push object on stack
  21089. var prevObj;
  21090. if (state.obj && present)
  21091. prevObj = input.enterObject();
  21092. if (present) {
  21093. // Unwrap explicit values
  21094. if (state.explicit !== null) {
  21095. var explicit = this._decodeTag(input, state.explicit);
  21096. if (input.isError(explicit))
  21097. return explicit;
  21098. input = explicit;
  21099. }
  21100. var start = input.offset;
  21101. // Unwrap implicit and normal values
  21102. if (state.use === null && state.choice === null) {
  21103. if (state.any)
  21104. var save = input.save();
  21105. var body = this._decodeTag(
  21106. input,
  21107. state.implicit !== null ? state.implicit : state.tag,
  21108. state.any
  21109. );
  21110. if (input.isError(body))
  21111. return body;
  21112. if (state.any)
  21113. result = input.raw(save);
  21114. else
  21115. input = body;
  21116. }
  21117. if (options && options.track && state.tag !== null)
  21118. options.track(input.path(), start, input.length, 'tagged');
  21119. if (options && options.track && state.tag !== null)
  21120. options.track(input.path(), input.offset, input.length, 'content');
  21121. // Select proper method for tag
  21122. if (state.any)
  21123. result = result;
  21124. else if (state.choice === null)
  21125. result = this._decodeGeneric(state.tag, input, options);
  21126. else
  21127. result = this._decodeChoice(input, options);
  21128. if (input.isError(result))
  21129. return result;
  21130. // Decode children
  21131. if (!state.any && state.choice === null && state.children !== null) {
  21132. state.children.forEach(function decodeChildren(child) {
  21133. // NOTE: We are ignoring errors here, to let parser continue with other
  21134. // parts of encoded data
  21135. child._decode(input, options);
  21136. });
  21137. }
  21138. // Decode contained/encoded by schema, only in bit or octet strings
  21139. if (state.contains && (state.tag === 'octstr' || state.tag === 'bitstr')) {
  21140. var data = new DecoderBuffer(result);
  21141. result = this._getUse(state.contains, input._reporterState.obj)
  21142. ._decode(data, options);
  21143. }
  21144. }
  21145. // Pop object
  21146. if (state.obj && present)
  21147. result = input.leaveObject(prevObj);
  21148. // Set key
  21149. if (state.key !== null && (result !== null || present === true))
  21150. input.leaveKey(prevKey, state.key, result);
  21151. else if (prevKey !== null)
  21152. input.exitKey(prevKey);
  21153. return result;
  21154. };
  21155. Node.prototype._decodeGeneric = function decodeGeneric(tag, input, options) {
  21156. var state = this._baseState;
  21157. if (tag === 'seq' || tag === 'set')
  21158. return null;
  21159. if (tag === 'seqof' || tag === 'setof')
  21160. return this._decodeList(input, tag, state.args[0], options);
  21161. else if (/str$/.test(tag))
  21162. return this._decodeStr(input, tag, options);
  21163. else if (tag === 'objid' && state.args)
  21164. return this._decodeObjid(input, state.args[0], state.args[1], options);
  21165. else if (tag === 'objid')
  21166. return this._decodeObjid(input, null, null, options);
  21167. else if (tag === 'gentime' || tag === 'utctime')
  21168. return this._decodeTime(input, tag, options);
  21169. else if (tag === 'null_')
  21170. return this._decodeNull(input, options);
  21171. else if (tag === 'bool')
  21172. return this._decodeBool(input, options);
  21173. else if (tag === 'objDesc')
  21174. return this._decodeStr(input, tag, options);
  21175. else if (tag === 'int' || tag === 'enum')
  21176. return this._decodeInt(input, state.args && state.args[0], options);
  21177. if (state.use !== null) {
  21178. return this._getUse(state.use, input._reporterState.obj)
  21179. ._decode(input, options);
  21180. } else {
  21181. return input.error('unknown tag: ' + tag);
  21182. }
  21183. };
  21184. Node.prototype._getUse = function _getUse(entity, obj) {
  21185. var state = this._baseState;
  21186. // Create altered use decoder if implicit is set
  21187. state.useDecoder = this._use(entity, obj);
  21188. assert(state.useDecoder._baseState.parent === null);
  21189. state.useDecoder = state.useDecoder._baseState.children[0];
  21190. if (state.implicit !== state.useDecoder._baseState.implicit) {
  21191. state.useDecoder = state.useDecoder.clone();
  21192. state.useDecoder._baseState.implicit = state.implicit;
  21193. }
  21194. return state.useDecoder;
  21195. };
  21196. Node.prototype._decodeChoice = function decodeChoice(input, options) {
  21197. var state = this._baseState;
  21198. var result = null;
  21199. var match = false;
  21200. Object.keys(state.choice).some(function(key) {
  21201. var save = input.save();
  21202. var node = state.choice[key];
  21203. try {
  21204. var value = node._decode(input, options);
  21205. if (input.isError(value))
  21206. return false;
  21207. result = { type: key, value: value };
  21208. match = true;
  21209. } catch (e) {
  21210. input.restore(save);
  21211. return false;
  21212. }
  21213. return true;
  21214. }, this);
  21215. if (!match)
  21216. return input.error('Choice not matched');
  21217. return result;
  21218. };
  21219. //
  21220. // Encoding
  21221. //
  21222. Node.prototype._createEncoderBuffer = function createEncoderBuffer(data) {
  21223. return new EncoderBuffer(data, this.reporter);
  21224. };
  21225. Node.prototype._encode = function encode(data, reporter, parent) {
  21226. var state = this._baseState;
  21227. if (state['default'] !== null && state['default'] === data)
  21228. return;
  21229. var result = this._encodeValue(data, reporter, parent);
  21230. if (result === undefined)
  21231. return;
  21232. if (this._skipDefault(result, reporter, parent))
  21233. return;
  21234. return result;
  21235. };
  21236. Node.prototype._encodeValue = function encode(data, reporter, parent) {
  21237. var state = this._baseState;
  21238. // Decode root node
  21239. if (state.parent === null)
  21240. return state.children[0]._encode(data, reporter || new Reporter());
  21241. var result = null;
  21242. // Set reporter to share it with a child class
  21243. this.reporter = reporter;
  21244. // Check if data is there
  21245. if (state.optional && data === undefined) {
  21246. if (state['default'] !== null)
  21247. data = state['default']
  21248. else
  21249. return;
  21250. }
  21251. // Encode children first
  21252. var content = null;
  21253. var primitive = false;
  21254. if (state.any) {
  21255. // Anything that was given is translated to buffer
  21256. result = this._createEncoderBuffer(data);
  21257. } else if (state.choice) {
  21258. result = this._encodeChoice(data, reporter);
  21259. } else if (state.contains) {
  21260. content = this._getUse(state.contains, parent)._encode(data, reporter);
  21261. primitive = true;
  21262. } else if (state.children) {
  21263. content = state.children.map(function(child) {
  21264. if (child._baseState.tag === 'null_')
  21265. return child._encode(null, reporter, data);
  21266. if (child._baseState.key === null)
  21267. return reporter.error('Child should have a key');
  21268. var prevKey = reporter.enterKey(child._baseState.key);
  21269. if (typeof data !== 'object')
  21270. return reporter.error('Child expected, but input is not object');
  21271. var res = child._encode(data[child._baseState.key], reporter, data);
  21272. reporter.leaveKey(prevKey);
  21273. return res;
  21274. }, this).filter(function(child) {
  21275. return child;
  21276. });
  21277. content = this._createEncoderBuffer(content);
  21278. } else {
  21279. if (state.tag === 'seqof' || state.tag === 'setof') {
  21280. // TODO(indutny): this should be thrown on DSL level
  21281. if (!(state.args && state.args.length === 1))
  21282. return reporter.error('Too many args for : ' + state.tag);
  21283. if (!Array.isArray(data))
  21284. return reporter.error('seqof/setof, but data is not Array');
  21285. var child = this.clone();
  21286. child._baseState.implicit = null;
  21287. content = this._createEncoderBuffer(data.map(function(item) {
  21288. var state = this._baseState;
  21289. return this._getUse(state.args[0], data)._encode(item, reporter);
  21290. }, child));
  21291. } else if (state.use !== null) {
  21292. result = this._getUse(state.use, parent)._encode(data, reporter);
  21293. } else {
  21294. content = this._encodePrimitive(state.tag, data);
  21295. primitive = true;
  21296. }
  21297. }
  21298. // Encode data itself
  21299. var result;
  21300. if (!state.any && state.choice === null) {
  21301. var tag = state.implicit !== null ? state.implicit : state.tag;
  21302. var cls = state.implicit === null ? 'universal' : 'context';
  21303. if (tag === null) {
  21304. if (state.use === null)
  21305. reporter.error('Tag could be omitted only for .use()');
  21306. } else {
  21307. if (state.use === null)
  21308. result = this._encodeComposite(tag, primitive, cls, content);
  21309. }
  21310. }
  21311. // Wrap in explicit
  21312. if (state.explicit !== null)
  21313. result = this._encodeComposite(state.explicit, false, 'context', result);
  21314. return result;
  21315. };
  21316. Node.prototype._encodeChoice = function encodeChoice(data, reporter) {
  21317. var state = this._baseState;
  21318. var node = state.choice[data.type];
  21319. if (!node) {
  21320. assert(
  21321. false,
  21322. data.type + ' not found in ' +
  21323. JSON.stringify(Object.keys(state.choice)));
  21324. }
  21325. return node._encode(data.value, reporter);
  21326. };
  21327. Node.prototype._encodePrimitive = function encodePrimitive(tag, data) {
  21328. var state = this._baseState;
  21329. if (/str$/.test(tag))
  21330. return this._encodeStr(data, tag);
  21331. else if (tag === 'objid' && state.args)
  21332. return this._encodeObjid(data, state.reverseArgs[0], state.args[1]);
  21333. else if (tag === 'objid')
  21334. return this._encodeObjid(data, null, null);
  21335. else if (tag === 'gentime' || tag === 'utctime')
  21336. return this._encodeTime(data, tag);
  21337. else if (tag === 'null_')
  21338. return this._encodeNull();
  21339. else if (tag === 'int' || tag === 'enum')
  21340. return this._encodeInt(data, state.args && state.reverseArgs[0]);
  21341. else if (tag === 'bool')
  21342. return this._encodeBool(data);
  21343. else if (tag === 'objDesc')
  21344. return this._encodeStr(data, tag);
  21345. else
  21346. throw new Error('Unsupported tag: ' + tag);
  21347. };
  21348. Node.prototype._isNumstr = function isNumstr(str) {
  21349. return /^[0-9 ]*$/.test(str);
  21350. };
  21351. Node.prototype._isPrintstr = function isPrintstr(str) {
  21352. return /^[A-Za-z0-9 '\(\)\+,\-\.\/:=\?]*$/.test(str);
  21353. };
  21354. /***/ }),
  21355. /* 192 */
  21356. /*!**********************************************************!*\
  21357. !*** ./node_modules/asn1.js/lib/asn1/constants/index.js ***!
  21358. \**********************************************************/
  21359. /*! no static exports found */
  21360. /***/ (function(module, exports, __webpack_require__) {
  21361. var constants = exports;
  21362. // Helper
  21363. constants._reverse = function reverse(map) {
  21364. var res = {};
  21365. Object.keys(map).forEach(function(key) {
  21366. // Convert key to integer if it is stringified
  21367. if ((key | 0) == key)
  21368. key = key | 0;
  21369. var value = map[key];
  21370. res[value] = key;
  21371. });
  21372. return res;
  21373. };
  21374. constants.der = __webpack_require__(/*! ./der */ 193);
  21375. /***/ }),
  21376. /* 193 */
  21377. /*!********************************************************!*\
  21378. !*** ./node_modules/asn1.js/lib/asn1/constants/der.js ***!
  21379. \********************************************************/
  21380. /*! no static exports found */
  21381. /***/ (function(module, exports, __webpack_require__) {
  21382. var constants = __webpack_require__(/*! ../constants */ 192);
  21383. exports.tagClass = {
  21384. 0: 'universal',
  21385. 1: 'application',
  21386. 2: 'context',
  21387. 3: 'private'
  21388. };
  21389. exports.tagClassByName = constants._reverse(exports.tagClass);
  21390. exports.tag = {
  21391. 0x00: 'end',
  21392. 0x01: 'bool',
  21393. 0x02: 'int',
  21394. 0x03: 'bitstr',
  21395. 0x04: 'octstr',
  21396. 0x05: 'null_',
  21397. 0x06: 'objid',
  21398. 0x07: 'objDesc',
  21399. 0x08: 'external',
  21400. 0x09: 'real',
  21401. 0x0a: 'enum',
  21402. 0x0b: 'embed',
  21403. 0x0c: 'utf8str',
  21404. 0x0d: 'relativeOid',
  21405. 0x10: 'seq',
  21406. 0x11: 'set',
  21407. 0x12: 'numstr',
  21408. 0x13: 'printstr',
  21409. 0x14: 't61str',
  21410. 0x15: 'videostr',
  21411. 0x16: 'ia5str',
  21412. 0x17: 'utctime',
  21413. 0x18: 'gentime',
  21414. 0x19: 'graphstr',
  21415. 0x1a: 'iso646str',
  21416. 0x1b: 'genstr',
  21417. 0x1c: 'unistr',
  21418. 0x1d: 'charstr',
  21419. 0x1e: 'bmpstr'
  21420. };
  21421. exports.tagByName = constants._reverse(exports.tag);
  21422. /***/ }),
  21423. /* 194 */
  21424. /*!*********************************************************!*\
  21425. !*** ./node_modules/asn1.js/lib/asn1/decoders/index.js ***!
  21426. \*********************************************************/
  21427. /*! no static exports found */
  21428. /***/ (function(module, exports, __webpack_require__) {
  21429. var decoders = exports;
  21430. decoders.der = __webpack_require__(/*! ./der */ 195);
  21431. decoders.pem = __webpack_require__(/*! ./pem */ 196);
  21432. /***/ }),
  21433. /* 195 */
  21434. /*!*******************************************************!*\
  21435. !*** ./node_modules/asn1.js/lib/asn1/decoders/der.js ***!
  21436. \*******************************************************/
  21437. /*! no static exports found */
  21438. /***/ (function(module, exports, __webpack_require__) {
  21439. var inherits = __webpack_require__(/*! inherits */ 66);
  21440. var asn1 = __webpack_require__(/*! ../../asn1 */ 185);
  21441. var base = asn1.base;
  21442. var bignum = asn1.bignum;
  21443. // Import DER constants
  21444. var der = asn1.constants.der;
  21445. function DERDecoder(entity) {
  21446. this.enc = 'der';
  21447. this.name = entity.name;
  21448. this.entity = entity;
  21449. // Construct base tree
  21450. this.tree = new DERNode();
  21451. this.tree._init(entity.body);
  21452. };
  21453. module.exports = DERDecoder;
  21454. DERDecoder.prototype.decode = function decode(data, options) {
  21455. if (!(data instanceof base.DecoderBuffer))
  21456. data = new base.DecoderBuffer(data, options);
  21457. return this.tree._decode(data, options);
  21458. };
  21459. // Tree methods
  21460. function DERNode(parent) {
  21461. base.Node.call(this, 'der', parent);
  21462. }
  21463. inherits(DERNode, base.Node);
  21464. DERNode.prototype._peekTag = function peekTag(buffer, tag, any) {
  21465. if (buffer.isEmpty())
  21466. return false;
  21467. var state = buffer.save();
  21468. var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: "' + tag + '"');
  21469. if (buffer.isError(decodedTag))
  21470. return decodedTag;
  21471. buffer.restore(state);
  21472. return decodedTag.tag === tag || decodedTag.tagStr === tag ||
  21473. (decodedTag.tagStr + 'of') === tag || any;
  21474. };
  21475. DERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {
  21476. var decodedTag = derDecodeTag(buffer,
  21477. 'Failed to decode tag of "' + tag + '"');
  21478. if (buffer.isError(decodedTag))
  21479. return decodedTag;
  21480. var len = derDecodeLen(buffer,
  21481. decodedTag.primitive,
  21482. 'Failed to get length of "' + tag + '"');
  21483. // Failure
  21484. if (buffer.isError(len))
  21485. return len;
  21486. if (!any &&
  21487. decodedTag.tag !== tag &&
  21488. decodedTag.tagStr !== tag &&
  21489. decodedTag.tagStr + 'of' !== tag) {
  21490. return buffer.error('Failed to match tag: "' + tag + '"');
  21491. }
  21492. if (decodedTag.primitive || len !== null)
  21493. return buffer.skip(len, 'Failed to match body of: "' + tag + '"');
  21494. // Indefinite length... find END tag
  21495. var state = buffer.save();
  21496. var res = this._skipUntilEnd(
  21497. buffer,
  21498. 'Failed to skip indefinite length body: "' + this.tag + '"');
  21499. if (buffer.isError(res))
  21500. return res;
  21501. len = buffer.offset - state.offset;
  21502. buffer.restore(state);
  21503. return buffer.skip(len, 'Failed to match body of: "' + tag + '"');
  21504. };
  21505. DERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {
  21506. while (true) {
  21507. var tag = derDecodeTag(buffer, fail);
  21508. if (buffer.isError(tag))
  21509. return tag;
  21510. var len = derDecodeLen(buffer, tag.primitive, fail);
  21511. if (buffer.isError(len))
  21512. return len;
  21513. var res;
  21514. if (tag.primitive || len !== null)
  21515. res = buffer.skip(len)
  21516. else
  21517. res = this._skipUntilEnd(buffer, fail);
  21518. // Failure
  21519. if (buffer.isError(res))
  21520. return res;
  21521. if (tag.tagStr === 'end')
  21522. break;
  21523. }
  21524. };
  21525. DERNode.prototype._decodeList = function decodeList(buffer, tag, decoder,
  21526. options) {
  21527. var result = [];
  21528. while (!buffer.isEmpty()) {
  21529. var possibleEnd = this._peekTag(buffer, 'end');
  21530. if (buffer.isError(possibleEnd))
  21531. return possibleEnd;
  21532. var res = decoder.decode(buffer, 'der', options);
  21533. if (buffer.isError(res) && possibleEnd)
  21534. break;
  21535. result.push(res);
  21536. }
  21537. return result;
  21538. };
  21539. DERNode.prototype._decodeStr = function decodeStr(buffer, tag) {
  21540. if (tag === 'bitstr') {
  21541. var unused = buffer.readUInt8();
  21542. if (buffer.isError(unused))
  21543. return unused;
  21544. return { unused: unused, data: buffer.raw() };
  21545. } else if (tag === 'bmpstr') {
  21546. var raw = buffer.raw();
  21547. if (raw.length % 2 === 1)
  21548. return buffer.error('Decoding of string type: bmpstr length mismatch');
  21549. var str = '';
  21550. for (var i = 0; i < raw.length / 2; i++) {
  21551. str += String.fromCharCode(raw.readUInt16BE(i * 2));
  21552. }
  21553. return str;
  21554. } else if (tag === 'numstr') {
  21555. var numstr = buffer.raw().toString('ascii');
  21556. if (!this._isNumstr(numstr)) {
  21557. return buffer.error('Decoding of string type: ' +
  21558. 'numstr unsupported characters');
  21559. }
  21560. return numstr;
  21561. } else if (tag === 'octstr') {
  21562. return buffer.raw();
  21563. } else if (tag === 'objDesc') {
  21564. return buffer.raw();
  21565. } else if (tag === 'printstr') {
  21566. var printstr = buffer.raw().toString('ascii');
  21567. if (!this._isPrintstr(printstr)) {
  21568. return buffer.error('Decoding of string type: ' +
  21569. 'printstr unsupported characters');
  21570. }
  21571. return printstr;
  21572. } else if (/str$/.test(tag)) {
  21573. return buffer.raw().toString();
  21574. } else {
  21575. return buffer.error('Decoding of string type: ' + tag + ' unsupported');
  21576. }
  21577. };
  21578. DERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {
  21579. var result;
  21580. var identifiers = [];
  21581. var ident = 0;
  21582. while (!buffer.isEmpty()) {
  21583. var subident = buffer.readUInt8();
  21584. ident <<= 7;
  21585. ident |= subident & 0x7f;
  21586. if ((subident & 0x80) === 0) {
  21587. identifiers.push(ident);
  21588. ident = 0;
  21589. }
  21590. }
  21591. if (subident & 0x80)
  21592. identifiers.push(ident);
  21593. var first = (identifiers[0] / 40) | 0;
  21594. var second = identifiers[0] % 40;
  21595. if (relative)
  21596. result = identifiers;
  21597. else
  21598. result = [first, second].concat(identifiers.slice(1));
  21599. if (values) {
  21600. var tmp = values[result.join(' ')];
  21601. if (tmp === undefined)
  21602. tmp = values[result.join('.')];
  21603. if (tmp !== undefined)
  21604. result = tmp;
  21605. }
  21606. return result;
  21607. };
  21608. DERNode.prototype._decodeTime = function decodeTime(buffer, tag) {
  21609. var str = buffer.raw().toString();
  21610. if (tag === 'gentime') {
  21611. var year = str.slice(0, 4) | 0;
  21612. var mon = str.slice(4, 6) | 0;
  21613. var day = str.slice(6, 8) | 0;
  21614. var hour = str.slice(8, 10) | 0;
  21615. var min = str.slice(10, 12) | 0;
  21616. var sec = str.slice(12, 14) | 0;
  21617. } else if (tag === 'utctime') {
  21618. var year = str.slice(0, 2) | 0;
  21619. var mon = str.slice(2, 4) | 0;
  21620. var day = str.slice(4, 6) | 0;
  21621. var hour = str.slice(6, 8) | 0;
  21622. var min = str.slice(8, 10) | 0;
  21623. var sec = str.slice(10, 12) | 0;
  21624. if (year < 70)
  21625. year = 2000 + year;
  21626. else
  21627. year = 1900 + year;
  21628. } else {
  21629. return buffer.error('Decoding ' + tag + ' time is not supported yet');
  21630. }
  21631. return Date.UTC(year, mon - 1, day, hour, min, sec, 0);
  21632. };
  21633. DERNode.prototype._decodeNull = function decodeNull(buffer) {
  21634. return null;
  21635. };
  21636. DERNode.prototype._decodeBool = function decodeBool(buffer) {
  21637. var res = buffer.readUInt8();
  21638. if (buffer.isError(res))
  21639. return res;
  21640. else
  21641. return res !== 0;
  21642. };
  21643. DERNode.prototype._decodeInt = function decodeInt(buffer, values) {
  21644. // Bigint, return as it is (assume big endian)
  21645. var raw = buffer.raw();
  21646. var res = new bignum(raw);
  21647. if (values)
  21648. res = values[res.toString(10)] || res;
  21649. return res;
  21650. };
  21651. DERNode.prototype._use = function use(entity, obj) {
  21652. if (typeof entity === 'function')
  21653. entity = entity(obj);
  21654. return entity._getDecoder('der').tree;
  21655. };
  21656. // Utility methods
  21657. function derDecodeTag(buf, fail) {
  21658. var tag = buf.readUInt8(fail);
  21659. if (buf.isError(tag))
  21660. return tag;
  21661. var cls = der.tagClass[tag >> 6];
  21662. var primitive = (tag & 0x20) === 0;
  21663. // Multi-octet tag - load
  21664. if ((tag & 0x1f) === 0x1f) {
  21665. var oct = tag;
  21666. tag = 0;
  21667. while ((oct & 0x80) === 0x80) {
  21668. oct = buf.readUInt8(fail);
  21669. if (buf.isError(oct))
  21670. return oct;
  21671. tag <<= 7;
  21672. tag |= oct & 0x7f;
  21673. }
  21674. } else {
  21675. tag &= 0x1f;
  21676. }
  21677. var tagStr = der.tag[tag];
  21678. return {
  21679. cls: cls,
  21680. primitive: primitive,
  21681. tag: tag,
  21682. tagStr: tagStr
  21683. };
  21684. }
  21685. function derDecodeLen(buf, primitive, fail) {
  21686. var len = buf.readUInt8(fail);
  21687. if (buf.isError(len))
  21688. return len;
  21689. // Indefinite form
  21690. if (!primitive && len === 0x80)
  21691. return null;
  21692. // Definite form
  21693. if ((len & 0x80) === 0) {
  21694. // Short form
  21695. return len;
  21696. }
  21697. // Long form
  21698. var num = len & 0x7f;
  21699. if (num > 4)
  21700. return buf.error('length octect is too long');
  21701. len = 0;
  21702. for (var i = 0; i < num; i++) {
  21703. len <<= 8;
  21704. var j = buf.readUInt8(fail);
  21705. if (buf.isError(j))
  21706. return j;
  21707. len |= j;
  21708. }
  21709. return len;
  21710. }
  21711. /***/ }),
  21712. /* 196 */
  21713. /*!*******************************************************!*\
  21714. !*** ./node_modules/asn1.js/lib/asn1/decoders/pem.js ***!
  21715. \*******************************************************/
  21716. /*! no static exports found */
  21717. /***/ (function(module, exports, __webpack_require__) {
  21718. var inherits = __webpack_require__(/*! inherits */ 66);
  21719. var Buffer = __webpack_require__(/*! buffer */ 61).Buffer;
  21720. var DERDecoder = __webpack_require__(/*! ./der */ 195);
  21721. function PEMDecoder(entity) {
  21722. DERDecoder.call(this, entity);
  21723. this.enc = 'pem';
  21724. };
  21725. inherits(PEMDecoder, DERDecoder);
  21726. module.exports = PEMDecoder;
  21727. PEMDecoder.prototype.decode = function decode(data, options) {
  21728. var lines = data.toString().split(/[\r\n]+/g);
  21729. var label = options.label.toUpperCase();
  21730. var re = /^-----(BEGIN|END) ([^-]+)-----$/;
  21731. var start = -1;
  21732. var end = -1;
  21733. for (var i = 0; i < lines.length; i++) {
  21734. var match = lines[i].match(re);
  21735. if (match === null)
  21736. continue;
  21737. if (match[2] !== label)
  21738. continue;
  21739. if (start === -1) {
  21740. if (match[1] !== 'BEGIN')
  21741. break;
  21742. start = i;
  21743. } else {
  21744. if (match[1] !== 'END')
  21745. break;
  21746. end = i;
  21747. break;
  21748. }
  21749. }
  21750. if (start === -1 || end === -1)
  21751. throw new Error('PEM section not found for: ' + label);
  21752. var base64 = lines.slice(start + 1, end).join('');
  21753. // Remove excessive symbols
  21754. base64.replace(/[^a-z0-9\+\/=]+/gi, '');
  21755. var input = new Buffer(base64, 'base64');
  21756. return DERDecoder.prototype.decode.call(this, input, options);
  21757. };
  21758. /***/ }),
  21759. /* 197 */
  21760. /*!*********************************************************!*\
  21761. !*** ./node_modules/asn1.js/lib/asn1/encoders/index.js ***!
  21762. \*********************************************************/
  21763. /*! no static exports found */
  21764. /***/ (function(module, exports, __webpack_require__) {
  21765. var encoders = exports;
  21766. encoders.der = __webpack_require__(/*! ./der */ 198);
  21767. encoders.pem = __webpack_require__(/*! ./pem */ 199);
  21768. /***/ }),
  21769. /* 198 */
  21770. /*!*******************************************************!*\
  21771. !*** ./node_modules/asn1.js/lib/asn1/encoders/der.js ***!
  21772. \*******************************************************/
  21773. /*! no static exports found */
  21774. /***/ (function(module, exports, __webpack_require__) {
  21775. var inherits = __webpack_require__(/*! inherits */ 66);
  21776. var Buffer = __webpack_require__(/*! buffer */ 61).Buffer;
  21777. var asn1 = __webpack_require__(/*! ../../asn1 */ 185);
  21778. var base = asn1.base;
  21779. // Import DER constants
  21780. var der = asn1.constants.der;
  21781. function DEREncoder(entity) {
  21782. this.enc = 'der';
  21783. this.name = entity.name;
  21784. this.entity = entity;
  21785. // Construct base tree
  21786. this.tree = new DERNode();
  21787. this.tree._init(entity.body);
  21788. };
  21789. module.exports = DEREncoder;
  21790. DEREncoder.prototype.encode = function encode(data, reporter) {
  21791. return this.tree._encode(data, reporter).join();
  21792. };
  21793. // Tree methods
  21794. function DERNode(parent) {
  21795. base.Node.call(this, 'der', parent);
  21796. }
  21797. inherits(DERNode, base.Node);
  21798. DERNode.prototype._encodeComposite = function encodeComposite(tag,
  21799. primitive,
  21800. cls,
  21801. content) {
  21802. var encodedTag = encodeTag(tag, primitive, cls, this.reporter);
  21803. // Short form
  21804. if (content.length < 0x80) {
  21805. var header = new Buffer(2);
  21806. header[0] = encodedTag;
  21807. header[1] = content.length;
  21808. return this._createEncoderBuffer([ header, content ]);
  21809. }
  21810. // Long form
  21811. // Count octets required to store length
  21812. var lenOctets = 1;
  21813. for (var i = content.length; i >= 0x100; i >>= 8)
  21814. lenOctets++;
  21815. var header = new Buffer(1 + 1 + lenOctets);
  21816. header[0] = encodedTag;
  21817. header[1] = 0x80 | lenOctets;
  21818. for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8)
  21819. header[i] = j & 0xff;
  21820. return this._createEncoderBuffer([ header, content ]);
  21821. };
  21822. DERNode.prototype._encodeStr = function encodeStr(str, tag) {
  21823. if (tag === 'bitstr') {
  21824. return this._createEncoderBuffer([ str.unused | 0, str.data ]);
  21825. } else if (tag === 'bmpstr') {
  21826. var buf = new Buffer(str.length * 2);
  21827. for (var i = 0; i < str.length; i++) {
  21828. buf.writeUInt16BE(str.charCodeAt(i), i * 2);
  21829. }
  21830. return this._createEncoderBuffer(buf);
  21831. } else if (tag === 'numstr') {
  21832. if (!this._isNumstr(str)) {
  21833. return this.reporter.error('Encoding of string type: numstr supports ' +
  21834. 'only digits and space');
  21835. }
  21836. return this._createEncoderBuffer(str);
  21837. } else if (tag === 'printstr') {
  21838. if (!this._isPrintstr(str)) {
  21839. return this.reporter.error('Encoding of string type: printstr supports ' +
  21840. 'only latin upper and lower case letters, ' +
  21841. 'digits, space, apostrophe, left and rigth ' +
  21842. 'parenthesis, plus sign, comma, hyphen, ' +
  21843. 'dot, slash, colon, equal sign, ' +
  21844. 'question mark');
  21845. }
  21846. return this._createEncoderBuffer(str);
  21847. } else if (/str$/.test(tag)) {
  21848. return this._createEncoderBuffer(str);
  21849. } else if (tag === 'objDesc') {
  21850. return this._createEncoderBuffer(str);
  21851. } else {
  21852. return this.reporter.error('Encoding of string type: ' + tag +
  21853. ' unsupported');
  21854. }
  21855. };
  21856. DERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {
  21857. if (typeof id === 'string') {
  21858. if (!values)
  21859. return this.reporter.error('string objid given, but no values map found');
  21860. if (!values.hasOwnProperty(id))
  21861. return this.reporter.error('objid not found in values map');
  21862. id = values[id].split(/[\s\.]+/g);
  21863. for (var i = 0; i < id.length; i++)
  21864. id[i] |= 0;
  21865. } else if (Array.isArray(id)) {
  21866. id = id.slice();
  21867. for (var i = 0; i < id.length; i++)
  21868. id[i] |= 0;
  21869. }
  21870. if (!Array.isArray(id)) {
  21871. return this.reporter.error('objid() should be either array or string, ' +
  21872. 'got: ' + JSON.stringify(id));
  21873. }
  21874. if (!relative) {
  21875. if (id[1] >= 40)
  21876. return this.reporter.error('Second objid identifier OOB');
  21877. id.splice(0, 2, id[0] * 40 + id[1]);
  21878. }
  21879. // Count number of octets
  21880. var size = 0;
  21881. for (var i = 0; i < id.length; i++) {
  21882. var ident = id[i];
  21883. for (size++; ident >= 0x80; ident >>= 7)
  21884. size++;
  21885. }
  21886. var objid = new Buffer(size);
  21887. var offset = objid.length - 1;
  21888. for (var i = id.length - 1; i >= 0; i--) {
  21889. var ident = id[i];
  21890. objid[offset--] = ident & 0x7f;
  21891. while ((ident >>= 7) > 0)
  21892. objid[offset--] = 0x80 | (ident & 0x7f);
  21893. }
  21894. return this._createEncoderBuffer(objid);
  21895. };
  21896. function two(num) {
  21897. if (num < 10)
  21898. return '0' + num;
  21899. else
  21900. return num;
  21901. }
  21902. DERNode.prototype._encodeTime = function encodeTime(time, tag) {
  21903. var str;
  21904. var date = new Date(time);
  21905. if (tag === 'gentime') {
  21906. str = [
  21907. two(date.getFullYear()),
  21908. two(date.getUTCMonth() + 1),
  21909. two(date.getUTCDate()),
  21910. two(date.getUTCHours()),
  21911. two(date.getUTCMinutes()),
  21912. two(date.getUTCSeconds()),
  21913. 'Z'
  21914. ].join('');
  21915. } else if (tag === 'utctime') {
  21916. str = [
  21917. two(date.getFullYear() % 100),
  21918. two(date.getUTCMonth() + 1),
  21919. two(date.getUTCDate()),
  21920. two(date.getUTCHours()),
  21921. two(date.getUTCMinutes()),
  21922. two(date.getUTCSeconds()),
  21923. 'Z'
  21924. ].join('');
  21925. } else {
  21926. this.reporter.error('Encoding ' + tag + ' time is not supported yet');
  21927. }
  21928. return this._encodeStr(str, 'octstr');
  21929. };
  21930. DERNode.prototype._encodeNull = function encodeNull() {
  21931. return this._createEncoderBuffer('');
  21932. };
  21933. DERNode.prototype._encodeInt = function encodeInt(num, values) {
  21934. if (typeof num === 'string') {
  21935. if (!values)
  21936. return this.reporter.error('String int or enum given, but no values map');
  21937. if (!values.hasOwnProperty(num)) {
  21938. return this.reporter.error('Values map doesn\'t contain: ' +
  21939. JSON.stringify(num));
  21940. }
  21941. num = values[num];
  21942. }
  21943. // Bignum, assume big endian
  21944. if (typeof num !== 'number' && !Buffer.isBuffer(num)) {
  21945. var numArray = num.toArray();
  21946. if (!num.sign && numArray[0] & 0x80) {
  21947. numArray.unshift(0);
  21948. }
  21949. num = new Buffer(numArray);
  21950. }
  21951. if (Buffer.isBuffer(num)) {
  21952. var size = num.length;
  21953. if (num.length === 0)
  21954. size++;
  21955. var out = new Buffer(size);
  21956. num.copy(out);
  21957. if (num.length === 0)
  21958. out[0] = 0
  21959. return this._createEncoderBuffer(out);
  21960. }
  21961. if (num < 0x80)
  21962. return this._createEncoderBuffer(num);
  21963. if (num < 0x100)
  21964. return this._createEncoderBuffer([0, num]);
  21965. var size = 1;
  21966. for (var i = num; i >= 0x100; i >>= 8)
  21967. size++;
  21968. var out = new Array(size);
  21969. for (var i = out.length - 1; i >= 0; i--) {
  21970. out[i] = num & 0xff;
  21971. num >>= 8;
  21972. }
  21973. if(out[0] & 0x80) {
  21974. out.unshift(0);
  21975. }
  21976. return this._createEncoderBuffer(new Buffer(out));
  21977. };
  21978. DERNode.prototype._encodeBool = function encodeBool(value) {
  21979. return this._createEncoderBuffer(value ? 0xff : 0);
  21980. };
  21981. DERNode.prototype._use = function use(entity, obj) {
  21982. if (typeof entity === 'function')
  21983. entity = entity(obj);
  21984. return entity._getEncoder('der').tree;
  21985. };
  21986. DERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {
  21987. var state = this._baseState;
  21988. var i;
  21989. if (state['default'] === null)
  21990. return false;
  21991. var data = dataBuffer.join();
  21992. if (state.defaultBuffer === undefined)
  21993. state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();
  21994. if (data.length !== state.defaultBuffer.length)
  21995. return false;
  21996. for (i=0; i < data.length; i++)
  21997. if (data[i] !== state.defaultBuffer[i])
  21998. return false;
  21999. return true;
  22000. };
  22001. // Utility methods
  22002. function encodeTag(tag, primitive, cls, reporter) {
  22003. var res;
  22004. if (tag === 'seqof')
  22005. tag = 'seq';
  22006. else if (tag === 'setof')
  22007. tag = 'set';
  22008. if (der.tagByName.hasOwnProperty(tag))
  22009. res = der.tagByName[tag];
  22010. else if (typeof tag === 'number' && (tag | 0) === tag)
  22011. res = tag;
  22012. else
  22013. return reporter.error('Unknown tag: ' + tag);
  22014. if (res >= 0x1f)
  22015. return reporter.error('Multi-octet tag encoding unsupported');
  22016. if (!primitive)
  22017. res |= 0x20;
  22018. res |= (der.tagClassByName[cls || 'universal'] << 6);
  22019. return res;
  22020. }
  22021. /***/ }),
  22022. /* 199 */
  22023. /*!*******************************************************!*\
  22024. !*** ./node_modules/asn1.js/lib/asn1/encoders/pem.js ***!
  22025. \*******************************************************/
  22026. /*! no static exports found */
  22027. /***/ (function(module, exports, __webpack_require__) {
  22028. var inherits = __webpack_require__(/*! inherits */ 66);
  22029. var DEREncoder = __webpack_require__(/*! ./der */ 198);
  22030. function PEMEncoder(entity) {
  22031. DEREncoder.call(this, entity);
  22032. this.enc = 'pem';
  22033. };
  22034. inherits(PEMEncoder, DEREncoder);
  22035. module.exports = PEMEncoder;
  22036. PEMEncoder.prototype.encode = function encode(data, options) {
  22037. var buf = DEREncoder.prototype.encode.call(this, data);
  22038. var p = buf.toString('base64');
  22039. var out = [ '-----BEGIN ' + options.label + '-----' ];
  22040. for (var i = 0; i < p.length; i += 64)
  22041. out.push(p.slice(i, i + 64));
  22042. out.push('-----END ' + options.label + '-----');
  22043. return out.join('\n');
  22044. };
  22045. /***/ }),
  22046. /* 200 */
  22047. /*!************************************************!*\
  22048. !*** ./node_modules/parse-asn1/certificate.js ***!
  22049. \************************************************/
  22050. /*! no static exports found */
  22051. /***/ (function(module, exports, __webpack_require__) {
  22052. "use strict";
  22053. // from https://github.com/Rantanen/node-dtls/blob/25a7dc861bda38cfeac93a723500eea4f0ac2e86/Certificate.js
  22054. // thanks to @Rantanen
  22055. var asn = __webpack_require__(/*! asn1.js */ 185)
  22056. var Time = asn.define('Time', function () {
  22057. this.choice({
  22058. utcTime: this.utctime(),
  22059. generalTime: this.gentime()
  22060. })
  22061. })
  22062. var AttributeTypeValue = asn.define('AttributeTypeValue', function () {
  22063. this.seq().obj(
  22064. this.key('type').objid(),
  22065. this.key('value').any()
  22066. )
  22067. })
  22068. var AlgorithmIdentifier = asn.define('AlgorithmIdentifier', function () {
  22069. this.seq().obj(
  22070. this.key('algorithm').objid(),
  22071. this.key('parameters').optional(),
  22072. this.key('curve').objid().optional()
  22073. )
  22074. })
  22075. var SubjectPublicKeyInfo = asn.define('SubjectPublicKeyInfo', function () {
  22076. this.seq().obj(
  22077. this.key('algorithm').use(AlgorithmIdentifier),
  22078. this.key('subjectPublicKey').bitstr()
  22079. )
  22080. })
  22081. var RelativeDistinguishedName = asn.define('RelativeDistinguishedName', function () {
  22082. this.setof(AttributeTypeValue)
  22083. })
  22084. var RDNSequence = asn.define('RDNSequence', function () {
  22085. this.seqof(RelativeDistinguishedName)
  22086. })
  22087. var Name = asn.define('Name', function () {
  22088. this.choice({
  22089. rdnSequence: this.use(RDNSequence)
  22090. })
  22091. })
  22092. var Validity = asn.define('Validity', function () {
  22093. this.seq().obj(
  22094. this.key('notBefore').use(Time),
  22095. this.key('notAfter').use(Time)
  22096. )
  22097. })
  22098. var Extension = asn.define('Extension', function () {
  22099. this.seq().obj(
  22100. this.key('extnID').objid(),
  22101. this.key('critical').bool().def(false),
  22102. this.key('extnValue').octstr()
  22103. )
  22104. })
  22105. var TBSCertificate = asn.define('TBSCertificate', function () {
  22106. this.seq().obj(
  22107. this.key('version').explicit(0).int().optional(),
  22108. this.key('serialNumber').int(),
  22109. this.key('signature').use(AlgorithmIdentifier),
  22110. this.key('issuer').use(Name),
  22111. this.key('validity').use(Validity),
  22112. this.key('subject').use(Name),
  22113. this.key('subjectPublicKeyInfo').use(SubjectPublicKeyInfo),
  22114. this.key('issuerUniqueID').implicit(1).bitstr().optional(),
  22115. this.key('subjectUniqueID').implicit(2).bitstr().optional(),
  22116. this.key('extensions').explicit(3).seqof(Extension).optional()
  22117. )
  22118. })
  22119. var X509Certificate = asn.define('X509Certificate', function () {
  22120. this.seq().obj(
  22121. this.key('tbsCertificate').use(TBSCertificate),
  22122. this.key('signatureAlgorithm').use(AlgorithmIdentifier),
  22123. this.key('signatureValue').bitstr()
  22124. )
  22125. })
  22126. module.exports = X509Certificate
  22127. /***/ }),
  22128. /* 201 */
  22129. /*!********************************************!*\
  22130. !*** ./node_modules/parse-asn1/aesid.json ***!
  22131. \********************************************/
  22132. /*! exports provided: 2.16.840.1.101.3.4.1.1, 2.16.840.1.101.3.4.1.2, 2.16.840.1.101.3.4.1.3, 2.16.840.1.101.3.4.1.4, 2.16.840.1.101.3.4.1.21, 2.16.840.1.101.3.4.1.22, 2.16.840.1.101.3.4.1.23, 2.16.840.1.101.3.4.1.24, 2.16.840.1.101.3.4.1.41, 2.16.840.1.101.3.4.1.42, 2.16.840.1.101.3.4.1.43, 2.16.840.1.101.3.4.1.44, default */
  22133. /***/ (function(module) {
  22134. module.exports = JSON.parse("{\"2.16.840.1.101.3.4.1.1\":\"aes-128-ecb\",\"2.16.840.1.101.3.4.1.2\":\"aes-128-cbc\",\"2.16.840.1.101.3.4.1.3\":\"aes-128-ofb\",\"2.16.840.1.101.3.4.1.4\":\"aes-128-cfb\",\"2.16.840.1.101.3.4.1.21\":\"aes-192-ecb\",\"2.16.840.1.101.3.4.1.22\":\"aes-192-cbc\",\"2.16.840.1.101.3.4.1.23\":\"aes-192-ofb\",\"2.16.840.1.101.3.4.1.24\":\"aes-192-cfb\",\"2.16.840.1.101.3.4.1.41\":\"aes-256-ecb\",\"2.16.840.1.101.3.4.1.42\":\"aes-256-cbc\",\"2.16.840.1.101.3.4.1.43\":\"aes-256-ofb\",\"2.16.840.1.101.3.4.1.44\":\"aes-256-cfb\"}");
  22135. /***/ }),
  22136. /* 202 */
  22137. /*!********************************************!*\
  22138. !*** ./node_modules/parse-asn1/fixProc.js ***!
  22139. \********************************************/
  22140. /*! no static exports found */
  22141. /***/ (function(module, exports, __webpack_require__) {
  22142. // adapted from https://github.com/apatil/pemstrip
  22143. var findProc = /Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r\+\/\=]+)[\n\r]+/m
  22144. var startRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m
  22145. var fullRegex = /^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r\+\/\=]+)-----END \1-----$/m
  22146. var evp = __webpack_require__(/*! evp_bytestokey */ 137)
  22147. var ciphers = __webpack_require__(/*! browserify-aes */ 120)
  22148. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  22149. module.exports = function (okey, password) {
  22150. var key = okey.toString()
  22151. var match = key.match(findProc)
  22152. var decrypted
  22153. if (!match) {
  22154. var match2 = key.match(fullRegex)
  22155. decrypted = new Buffer(match2[2].replace(/[\r\n]/g, ''), 'base64')
  22156. } else {
  22157. var suite = 'aes' + match[1]
  22158. var iv = Buffer.from(match[2], 'hex')
  22159. var cipherText = Buffer.from(match[3].replace(/[\r\n]/g, ''), 'base64')
  22160. var cipherKey = evp(password, iv.slice(0, 8), parseInt(match[1], 10)).key
  22161. var out = []
  22162. var cipher = ciphers.createDecipheriv(suite, cipherKey, iv)
  22163. out.push(cipher.update(cipherText))
  22164. out.push(cipher.final())
  22165. decrypted = Buffer.concat(out)
  22166. }
  22167. var tag = key.match(startRegex)[1]
  22168. return {
  22169. tag: tag,
  22170. data: decrypted
  22171. }
  22172. }
  22173. /***/ }),
  22174. /* 203 */
  22175. /*!**********************************************************!*\
  22176. !*** ./node_modules/browserify-sign/browser/curves.json ***!
  22177. \**********************************************************/
  22178. /*! exports provided: 1.3.132.0.10, 1.3.132.0.33, 1.2.840.10045.3.1.1, 1.2.840.10045.3.1.7, 1.3.132.0.34, 1.3.132.0.35, default */
  22179. /***/ (function(module) {
  22180. module.exports = JSON.parse("{\"1.3.132.0.10\":\"secp256k1\",\"1.3.132.0.33\":\"p224\",\"1.2.840.10045.3.1.1\":\"p192\",\"1.2.840.10045.3.1.7\":\"p256\",\"1.3.132.0.34\":\"p384\",\"1.3.132.0.35\":\"p521\"}");
  22181. /***/ }),
  22182. /* 204 */
  22183. /*!********************************************************!*\
  22184. !*** ./node_modules/browserify-sign/browser/verify.js ***!
  22185. \********************************************************/
  22186. /*! no static exports found */
  22187. /***/ (function(module, exports, __webpack_require__) {
  22188. // much of this based on https://github.com/indutny/self-signed/blob/gh-pages/lib/rsa.js
  22189. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  22190. var BN = __webpack_require__(/*! bn.js */ 142)
  22191. var EC = __webpack_require__(/*! elliptic */ 153).ec
  22192. var parseKeys = __webpack_require__(/*! parse-asn1 */ 183)
  22193. var curves = __webpack_require__(/*! ./curves.json */ 203)
  22194. function verify (sig, hash, key, signType, tag) {
  22195. var pub = parseKeys(key)
  22196. if (pub.type === 'ec') {
  22197. // rsa keys can be interpreted as ecdsa ones in openssl
  22198. if (signType !== 'ecdsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')
  22199. return ecVerify(sig, hash, pub)
  22200. } else if (pub.type === 'dsa') {
  22201. if (signType !== 'dsa') throw new Error('wrong public key type')
  22202. return dsaVerify(sig, hash, pub)
  22203. } else {
  22204. if (signType !== 'rsa' && signType !== 'ecdsa/rsa') throw new Error('wrong public key type')
  22205. }
  22206. hash = Buffer.concat([tag, hash])
  22207. var len = pub.modulus.byteLength()
  22208. var pad = [1]
  22209. var padNum = 0
  22210. while (hash.length + pad.length + 2 < len) {
  22211. pad.push(0xff)
  22212. padNum++
  22213. }
  22214. pad.push(0x00)
  22215. var i = -1
  22216. while (++i < hash.length) {
  22217. pad.push(hash[i])
  22218. }
  22219. pad = Buffer.from(pad)
  22220. var red = BN.mont(pub.modulus)
  22221. sig = new BN(sig).toRed(red)
  22222. sig = sig.redPow(new BN(pub.publicExponent))
  22223. sig = Buffer.from(sig.fromRed().toArray())
  22224. var out = padNum < 8 ? 1 : 0
  22225. len = Math.min(sig.length, pad.length)
  22226. if (sig.length !== pad.length) out = 1
  22227. i = -1
  22228. while (++i < len) out |= sig[i] ^ pad[i]
  22229. return out === 0
  22230. }
  22231. function ecVerify (sig, hash, pub) {
  22232. var curveId = curves[pub.data.algorithm.curve.join('.')]
  22233. if (!curveId) throw new Error('unknown curve ' + pub.data.algorithm.curve.join('.'))
  22234. var curve = new EC(curveId)
  22235. var pubkey = pub.data.subjectPrivateKey.data
  22236. return curve.verify(hash, sig, pubkey)
  22237. }
  22238. function dsaVerify (sig, hash, pub) {
  22239. var p = pub.data.p
  22240. var q = pub.data.q
  22241. var g = pub.data.g
  22242. var y = pub.data.pub_key
  22243. var unpacked = parseKeys.signature.decode(sig, 'der')
  22244. var s = unpacked.s
  22245. var r = unpacked.r
  22246. checkValue(s, q)
  22247. checkValue(r, q)
  22248. var montp = BN.mont(p)
  22249. var w = s.invm(q)
  22250. var v = g.toRed(montp)
  22251. .redPow(new BN(hash).mul(w).mod(q))
  22252. .fromRed()
  22253. .mul(y.toRed(montp).redPow(r.mul(w).mod(q)).fromRed())
  22254. .mod(p)
  22255. .mod(q)
  22256. return v.cmp(r) === 0
  22257. }
  22258. function checkValue (b, q) {
  22259. if (b.cmpn(0) <= 0) throw new Error('invalid sig')
  22260. if (b.cmp(q) >= q) throw new Error('invalid sig')
  22261. }
  22262. module.exports = verify
  22263. /***/ }),
  22264. /* 205 */
  22265. /*!*********************************************!*\
  22266. !*** ./node_modules/create-ecdh/browser.js ***!
  22267. \*********************************************/
  22268. /*! no static exports found */
  22269. /***/ (function(module, exports, __webpack_require__) {
  22270. /* WEBPACK VAR INJECTION */(function(Buffer) {var elliptic = __webpack_require__(/*! elliptic */ 153)
  22271. var BN = __webpack_require__(/*! bn.js */ 142)
  22272. module.exports = function createECDH (curve) {
  22273. return new ECDH(curve)
  22274. }
  22275. var aliases = {
  22276. secp256k1: {
  22277. name: 'secp256k1',
  22278. byteLength: 32
  22279. },
  22280. secp224r1: {
  22281. name: 'p224',
  22282. byteLength: 28
  22283. },
  22284. prime256v1: {
  22285. name: 'p256',
  22286. byteLength: 32
  22287. },
  22288. prime192v1: {
  22289. name: 'p192',
  22290. byteLength: 24
  22291. },
  22292. ed25519: {
  22293. name: 'ed25519',
  22294. byteLength: 32
  22295. },
  22296. secp384r1: {
  22297. name: 'p384',
  22298. byteLength: 48
  22299. },
  22300. secp521r1: {
  22301. name: 'p521',
  22302. byteLength: 66
  22303. }
  22304. }
  22305. aliases.p224 = aliases.secp224r1
  22306. aliases.p256 = aliases.secp256r1 = aliases.prime256v1
  22307. aliases.p192 = aliases.secp192r1 = aliases.prime192v1
  22308. aliases.p384 = aliases.secp384r1
  22309. aliases.p521 = aliases.secp521r1
  22310. function ECDH (curve) {
  22311. this.curveType = aliases[curve]
  22312. if (!this.curveType) {
  22313. this.curveType = {
  22314. name: curve
  22315. }
  22316. }
  22317. this.curve = new elliptic.ec(this.curveType.name) // eslint-disable-line new-cap
  22318. this.keys = void 0
  22319. }
  22320. ECDH.prototype.generateKeys = function (enc, format) {
  22321. this.keys = this.curve.genKeyPair()
  22322. return this.getPublicKey(enc, format)
  22323. }
  22324. ECDH.prototype.computeSecret = function (other, inenc, enc) {
  22325. inenc = inenc || 'utf8'
  22326. if (!Buffer.isBuffer(other)) {
  22327. other = new Buffer(other, inenc)
  22328. }
  22329. var otherPub = this.curve.keyFromPublic(other).getPublic()
  22330. var out = otherPub.mul(this.keys.getPrivate()).getX()
  22331. return formatReturnValue(out, enc, this.curveType.byteLength)
  22332. }
  22333. ECDH.prototype.getPublicKey = function (enc, format) {
  22334. var key = this.keys.getPublic(format === 'compressed', true)
  22335. if (format === 'hybrid') {
  22336. if (key[key.length - 1] % 2) {
  22337. key[0] = 7
  22338. } else {
  22339. key[0] = 6
  22340. }
  22341. }
  22342. return formatReturnValue(key, enc)
  22343. }
  22344. ECDH.prototype.getPrivateKey = function (enc) {
  22345. return formatReturnValue(this.keys.getPrivate(), enc)
  22346. }
  22347. ECDH.prototype.setPublicKey = function (pub, enc) {
  22348. enc = enc || 'utf8'
  22349. if (!Buffer.isBuffer(pub)) {
  22350. pub = new Buffer(pub, enc)
  22351. }
  22352. this.keys._importPublic(pub)
  22353. return this
  22354. }
  22355. ECDH.prototype.setPrivateKey = function (priv, enc) {
  22356. enc = enc || 'utf8'
  22357. if (!Buffer.isBuffer(priv)) {
  22358. priv = new Buffer(priv, enc)
  22359. }
  22360. var _priv = new BN(priv)
  22361. _priv = _priv.toString(16)
  22362. this.keys = this.curve.genKeyPair()
  22363. this.keys._importPrivate(_priv)
  22364. return this
  22365. }
  22366. function formatReturnValue (bn, enc, len) {
  22367. if (!Array.isArray(bn)) {
  22368. bn = bn.toArray()
  22369. }
  22370. var buf = new Buffer(bn)
  22371. if (len && buf.length < len) {
  22372. var zeros = new Buffer(len - buf.length)
  22373. zeros.fill(0)
  22374. buf = Buffer.concat([zeros, buf])
  22375. }
  22376. if (!enc) {
  22377. return buf
  22378. } else {
  22379. return buf.toString(enc)
  22380. }
  22381. }
  22382. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../buffer/index.js */ 61).Buffer))
  22383. /***/ }),
  22384. /* 206 */
  22385. /*!************************************************!*\
  22386. !*** ./node_modules/public-encrypt/browser.js ***!
  22387. \************************************************/
  22388. /*! no static exports found */
  22389. /***/ (function(module, exports, __webpack_require__) {
  22390. exports.publicEncrypt = __webpack_require__(/*! ./publicEncrypt */ 207)
  22391. exports.privateDecrypt = __webpack_require__(/*! ./privateDecrypt */ 211)
  22392. exports.privateEncrypt = function privateEncrypt (key, buf) {
  22393. return exports.publicEncrypt(key, buf, true)
  22394. }
  22395. exports.publicDecrypt = function publicDecrypt (key, buf) {
  22396. return exports.privateDecrypt(key, buf, true)
  22397. }
  22398. /***/ }),
  22399. /* 207 */
  22400. /*!******************************************************!*\
  22401. !*** ./node_modules/public-encrypt/publicEncrypt.js ***!
  22402. \******************************************************/
  22403. /*! no static exports found */
  22404. /***/ (function(module, exports, __webpack_require__) {
  22405. var parseKeys = __webpack_require__(/*! parse-asn1 */ 183)
  22406. var randomBytes = __webpack_require__(/*! randombytes */ 57)
  22407. var createHash = __webpack_require__(/*! create-hash */ 65)
  22408. var mgf = __webpack_require__(/*! ./mgf */ 208)
  22409. var xor = __webpack_require__(/*! ./xor */ 209)
  22410. var BN = __webpack_require__(/*! bn.js */ 142)
  22411. var withPublic = __webpack_require__(/*! ./withPublic */ 210)
  22412. var crt = __webpack_require__(/*! browserify-rsa */ 152)
  22413. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  22414. module.exports = function publicEncrypt (publicKey, msg, reverse) {
  22415. var padding
  22416. if (publicKey.padding) {
  22417. padding = publicKey.padding
  22418. } else if (reverse) {
  22419. padding = 1
  22420. } else {
  22421. padding = 4
  22422. }
  22423. var key = parseKeys(publicKey)
  22424. var paddedMsg
  22425. if (padding === 4) {
  22426. paddedMsg = oaep(key, msg)
  22427. } else if (padding === 1) {
  22428. paddedMsg = pkcs1(key, msg, reverse)
  22429. } else if (padding === 3) {
  22430. paddedMsg = new BN(msg)
  22431. if (paddedMsg.cmp(key.modulus) >= 0) {
  22432. throw new Error('data too long for modulus')
  22433. }
  22434. } else {
  22435. throw new Error('unknown padding')
  22436. }
  22437. if (reverse) {
  22438. return crt(paddedMsg, key)
  22439. } else {
  22440. return withPublic(paddedMsg, key)
  22441. }
  22442. }
  22443. function oaep (key, msg) {
  22444. var k = key.modulus.byteLength()
  22445. var mLen = msg.length
  22446. var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()
  22447. var hLen = iHash.length
  22448. var hLen2 = 2 * hLen
  22449. if (mLen > k - hLen2 - 2) {
  22450. throw new Error('message too long')
  22451. }
  22452. var ps = Buffer.alloc(k - mLen - hLen2 - 2)
  22453. var dblen = k - hLen - 1
  22454. var seed = randomBytes(hLen)
  22455. var maskedDb = xor(Buffer.concat([iHash, ps, Buffer.alloc(1, 1), msg], dblen), mgf(seed, dblen))
  22456. var maskedSeed = xor(seed, mgf(maskedDb, hLen))
  22457. return new BN(Buffer.concat([Buffer.alloc(1), maskedSeed, maskedDb], k))
  22458. }
  22459. function pkcs1 (key, msg, reverse) {
  22460. var mLen = msg.length
  22461. var k = key.modulus.byteLength()
  22462. if (mLen > k - 11) {
  22463. throw new Error('message too long')
  22464. }
  22465. var ps
  22466. if (reverse) {
  22467. ps = Buffer.alloc(k - mLen - 3, 0xff)
  22468. } else {
  22469. ps = nonZero(k - mLen - 3)
  22470. }
  22471. return new BN(Buffer.concat([Buffer.from([0, reverse ? 1 : 2]), ps, Buffer.alloc(1), msg], k))
  22472. }
  22473. function nonZero (len) {
  22474. var out = Buffer.allocUnsafe(len)
  22475. var i = 0
  22476. var cache = randomBytes(len * 2)
  22477. var cur = 0
  22478. var num
  22479. while (i < len) {
  22480. if (cur === cache.length) {
  22481. cache = randomBytes(len * 2)
  22482. cur = 0
  22483. }
  22484. num = cache[cur++]
  22485. if (num) {
  22486. out[i++] = num
  22487. }
  22488. }
  22489. return out
  22490. }
  22491. /***/ }),
  22492. /* 208 */
  22493. /*!********************************************!*\
  22494. !*** ./node_modules/public-encrypt/mgf.js ***!
  22495. \********************************************/
  22496. /*! no static exports found */
  22497. /***/ (function(module, exports, __webpack_require__) {
  22498. var createHash = __webpack_require__(/*! create-hash */ 65)
  22499. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  22500. module.exports = function (seed, len) {
  22501. var t = Buffer.alloc(0)
  22502. var i = 0
  22503. var c
  22504. while (t.length < len) {
  22505. c = i2ops(i++)
  22506. t = Buffer.concat([t, createHash('sha1').update(seed).update(c).digest()])
  22507. }
  22508. return t.slice(0, len)
  22509. }
  22510. function i2ops (c) {
  22511. var out = Buffer.allocUnsafe(4)
  22512. out.writeUInt32BE(c, 0)
  22513. return out
  22514. }
  22515. /***/ }),
  22516. /* 209 */
  22517. /*!********************************************!*\
  22518. !*** ./node_modules/public-encrypt/xor.js ***!
  22519. \********************************************/
  22520. /*! no static exports found */
  22521. /***/ (function(module, exports) {
  22522. module.exports = function xor (a, b) {
  22523. var len = a.length
  22524. var i = -1
  22525. while (++i < len) {
  22526. a[i] ^= b[i]
  22527. }
  22528. return a
  22529. }
  22530. /***/ }),
  22531. <<<<<<< HEAD
  22532. /* 210 */
  22533. /*!***************************************************!*\
  22534. !*** ./node_modules/public-encrypt/withPublic.js ***!
  22535. \***************************************************/
  22536. =======
  22537. /* 44 */
  22538. /*!*****************************************************************!*\
  22539. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/js/bluWKM.js ***!
  22540. \*****************************************************************/
  22541. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  22542. /*! no static exports found */
  22543. /***/ (function(module, exports, __webpack_require__) {
  22544. var BN = __webpack_require__(/*! bn.js */ 142)
  22545. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  22546. function withPublic (paddedMsg, key) {
  22547. return Buffer.from(paddedMsg
  22548. .toRed(BN.mont(key.modulus))
  22549. .redPow(new BN(key.publicExponent))
  22550. .fromRed()
  22551. .toArray())
  22552. }
  22553. module.exports = withPublic
  22554. /***/ }),
  22555. <<<<<<< HEAD
  22556. /* 211 */
  22557. /*!*******************************************************!*\
  22558. !*** ./node_modules/public-encrypt/privateDecrypt.js ***!
  22559. \*******************************************************/
  22560. =======
  22561. /* 45 */
  22562. /*!******************************************************************!*\
  22563. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/js/bluUtil.js ***!
  22564. \******************************************************************/
  22565. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  22566. /*! no static exports found */
  22567. /***/ (function(module, exports, __webpack_require__) {
  22568. var parseKeys = __webpack_require__(/*! parse-asn1 */ 183)
  22569. var mgf = __webpack_require__(/*! ./mgf */ 208)
  22570. var xor = __webpack_require__(/*! ./xor */ 209)
  22571. var BN = __webpack_require__(/*! bn.js */ 142)
  22572. var crt = __webpack_require__(/*! browserify-rsa */ 152)
  22573. var createHash = __webpack_require__(/*! create-hash */ 65)
  22574. var withPublic = __webpack_require__(/*! ./withPublic */ 210)
  22575. var Buffer = __webpack_require__(/*! safe-buffer */ 60).Buffer
  22576. module.exports = function privateDecrypt (privateKey, enc, reverse) {
  22577. var padding
  22578. if (privateKey.padding) {
  22579. padding = privateKey.padding
  22580. } else if (reverse) {
  22581. padding = 1
  22582. } else {
  22583. padding = 4
  22584. }
  22585. var key = parseKeys(privateKey)
  22586. var k = key.modulus.byteLength()
  22587. if (enc.length > k || new BN(enc).cmp(key.modulus) >= 0) {
  22588. throw new Error('decryption error')
  22589. }
  22590. var msg
  22591. if (reverse) {
  22592. msg = withPublic(new BN(enc), key)
  22593. } else {
  22594. msg = crt(enc, key)
  22595. }
  22596. var zBuffer = Buffer.alloc(k - msg.length)
  22597. msg = Buffer.concat([zBuffer, msg], k)
  22598. if (padding === 4) {
  22599. return oaep(key, msg)
  22600. } else if (padding === 1) {
  22601. return pkcs1(key, msg, reverse)
  22602. } else if (padding === 3) {
  22603. return msg
  22604. } else {
  22605. throw new Error('unknown padding')
  22606. }
  22607. }
  22608. function oaep (key, msg) {
  22609. var k = key.modulus.byteLength()
  22610. var iHash = createHash('sha1').update(Buffer.alloc(0)).digest()
  22611. var hLen = iHash.length
  22612. if (msg[0] !== 0) {
  22613. throw new Error('decryption error')
  22614. }
  22615. var maskedSeed = msg.slice(1, hLen + 1)
  22616. var maskedDb = msg.slice(hLen + 1)
  22617. var seed = xor(maskedSeed, mgf(maskedDb, hLen))
  22618. var db = xor(maskedDb, mgf(seed, k - hLen - 1))
  22619. if (compare(iHash, db.slice(0, hLen))) {
  22620. throw new Error('decryption error')
  22621. }
  22622. var i = hLen
  22623. while (db[i] === 0) {
  22624. i++
  22625. }
  22626. if (db[i++] !== 1) {
  22627. throw new Error('decryption error')
  22628. }
  22629. return db.slice(i)
  22630. }
  22631. function pkcs1 (key, msg, reverse) {
  22632. var p1 = msg.slice(0, 2)
  22633. var i = 2
  22634. var status = 0
  22635. while (msg[i++] !== 0) {
  22636. if (i >= msg.length) {
  22637. status++
  22638. break
  22639. }
  22640. }
  22641. var ps = msg.slice(2, i - 1)
  22642. if ((p1.toString('hex') !== '0002' && !reverse) || (p1.toString('hex') !== '0001' && reverse)) {
  22643. status++
  22644. }
  22645. if (ps.length < 8) {
  22646. status++
  22647. }
  22648. if (status) {
  22649. throw new Error('decryption error')
  22650. }
  22651. return msg.slice(i)
  22652. }
  22653. function compare (a, b) {
  22654. a = Buffer.from(a)
  22655. b = Buffer.from(b)
  22656. var dif = 0
  22657. var len = a.length
  22658. if (a.length !== b.length) {
  22659. dif++
  22660. len = Math.min(a.length, b.length)
  22661. }
  22662. var i = -1
  22663. while (++i < len) {
  22664. dif += (a[i] ^ b[i])
  22665. }
  22666. return dif
  22667. }
  22668. /***/ }),
  22669. <<<<<<< HEAD
  22670. /* 212 */
  22671. /*!********************************************!*\
  22672. !*** ./node_modules/randomfill/browser.js ***!
  22673. \********************************************/
  22674. =======
  22675. /* 46 */
  22676. /*!*************************************************************************!*\
  22677. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/js/dataTransition.js ***!
  22678. \*************************************************************************/
  22679. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  22680. /*! no static exports found */
  22681. /***/ (function(module, exports, __webpack_require__) {
  22682. "use strict";
  22683. /* WEBPACK VAR INJECTION */(function(__webpack_provided_global_dot_crypto, global, process) {
  22684. function oldBrowser () {
  22685. throw new Error('secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11')
  22686. }
  22687. var safeBuffer = __webpack_require__(/*! safe-buffer */ 60)
  22688. var randombytes = __webpack_require__(/*! randombytes */ 57)
  22689. var Buffer = safeBuffer.Buffer
  22690. var kBufferMaxLength = safeBuffer.kMaxLength
  22691. var crypto = __webpack_provided_global_dot_crypto || global.msCrypto
  22692. var kMaxUint32 = Math.pow(2, 32) - 1
  22693. function assertOffset (offset, length) {
  22694. if (typeof offset !== 'number' || offset !== offset) { // eslint-disable-line no-self-compare
  22695. throw new TypeError('offset must be a number')
  22696. }
  22697. if (offset > kMaxUint32 || offset < 0) {
  22698. throw new TypeError('offset must be a uint32')
  22699. }
  22700. if (offset > kBufferMaxLength || offset > length) {
  22701. throw new RangeError('offset out of range')
  22702. }
  22703. }
  22704. function assertSize (size, offset, length) {
  22705. if (typeof size !== 'number' || size !== size) { // eslint-disable-line no-self-compare
  22706. throw new TypeError('size must be a number')
  22707. }
  22708. if (size > kMaxUint32 || size < 0) {
  22709. throw new TypeError('size must be a uint32')
  22710. }
  22711. if (size + offset > length || size > kBufferMaxLength) {
  22712. throw new RangeError('buffer too small')
  22713. }
  22714. }
  22715. if ((crypto && crypto.getRandomValues) || !process.browser) {
  22716. exports.randomFill = randomFill
  22717. exports.randomFillSync = randomFillSync
  22718. } else {
  22719. exports.randomFill = oldBrowser
  22720. exports.randomFillSync = oldBrowser
  22721. }
  22722. function randomFill (buf, offset, size, cb) {
  22723. if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {
  22724. throw new TypeError('"buf" argument must be a Buffer or Uint8Array')
  22725. }
  22726. if (typeof offset === 'function') {
  22727. cb = offset
  22728. offset = 0
  22729. size = buf.length
  22730. } else if (typeof size === 'function') {
  22731. cb = size
  22732. size = buf.length - offset
  22733. } else if (typeof cb !== 'function') {
  22734. throw new TypeError('"cb" argument must be a function')
  22735. }
  22736. assertOffset(offset, buf.length)
  22737. assertSize(size, offset, buf.length)
  22738. return actualFill(buf, offset, size, cb)
  22739. }
  22740. function actualFill (buf, offset, size, cb) {
  22741. if (process.browser) {
  22742. var ourBuf = buf.buffer
  22743. var uint = new Uint8Array(ourBuf, offset, size)
  22744. crypto.getRandomValues(uint)
  22745. if (cb) {
  22746. process.nextTick(function () {
  22747. cb(null, buf)
  22748. })
  22749. return
  22750. }
  22751. return buf
  22752. }
  22753. if (cb) {
  22754. randombytes(size, function (err, bytes) {
  22755. if (err) {
  22756. return cb(err)
  22757. }
  22758. bytes.copy(buf, offset)
  22759. cb(null, buf)
  22760. })
  22761. return
  22762. }
  22763. var bytes = randombytes(size)
  22764. bytes.copy(buf, offset)
  22765. return buf
  22766. }
  22767. function randomFillSync (buf, offset, size) {
  22768. if (typeof offset === 'undefined') {
  22769. offset = 0
  22770. }
  22771. if (!Buffer.isBuffer(buf) && !(buf instanceof global.Uint8Array)) {
  22772. throw new TypeError('"buf" argument must be a Buffer or Uint8Array')
  22773. }
  22774. assertOffset(offset, buf.length)
  22775. if (size === undefined) size = buf.length - offset
  22776. assertSize(size, offset, buf.length)
  22777. return actualFill(buf, offset, size)
  22778. }
  22779. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/crypto.js */ 55)["default"], __webpack_require__(/*! ./../webpack/buildin/global.js */ 11), __webpack_require__(/*! ./../node-libs-browser/mock/process.js */ 58)))
  22780. /***/ }),
  22781. <<<<<<< HEAD
  22782. /* 213 */
  22783. /*!********************************************************************!*\
  22784. !*** C:/Users/001/Desktop/运维端/pages/manage/manage.vue?mpType=page ***!
  22785. \********************************************************************/
  22786. =======
  22787. /* 47 */
  22788. /*!*********************************************************************************!*\
  22789. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/manage.vue?mpType=page ***!
  22790. \*********************************************************************************/
  22791. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  22792. /*! no static exports found */
  22793. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  22794. "use strict";
  22795. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./manage.vue?vue&type=template&id=4950d314&mpType=page */ 214);\n/* harmony import */ var _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./manage.vue?vue&type=script&lang=js&mpType=page */ 224);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/manage.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBOEg7QUFDOUg7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSw0RkFBTTtBQUNSLEVBQUUscUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsZ0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9tYW5hZ2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ5NTBkMzE0Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9tYW5hZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL21hbmFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvbWFuYWdlLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///213\n");
  22796. /***/ }),
  22797. <<<<<<< HEAD
  22798. /* 214 */
  22799. /*!**************************************************************************************************!*\
  22800. !*** C:/Users/001/Desktop/运维端/pages/manage/manage.vue?vue&type=template&id=4950d314&mpType=page ***!
  22801. \**************************************************************************************************/
  22802. =======
  22803. /* 48 */
  22804. /*!***************************************************************************************************************!*\
  22805. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/manage.vue?vue&type=template&id=4950d314&mpType=page ***!
  22806. \***************************************************************************************************************/
  22807. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  22808. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  22809. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  22810. "use strict";
  22811. __webpack_require__.r(__webpack_exports__);
  22812. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./manage.vue?vue&type=template&id=4950d314&mpType=page */ 215);
  22813. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  22814. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  22815. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  22816. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_template_id_4950d314_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  22817. /***/ }),
  22818. <<<<<<< HEAD
  22819. /* 215 */
  22820. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  22821. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/manage.vue?vue&type=template&id=4950d314&mpType=page ***!
  22822. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  22823. =======
  22824. /* 49 */
  22825. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  22826. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/manage.vue?vue&type=template&id=4950d314&mpType=page ***!
  22827. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  22828. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  22829. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  22830. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  22831. "use strict";
  22832. __webpack_require__.r(__webpack_exports__);
  22833. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  22834. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  22835. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  22836. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  22837. var components
  22838. var render = function() {
  22839. var _vm = this
  22840. var _h = _vm.$createElement
  22841. var _c = _vm._self._c || _h
  22842. return _c(
  22843. "view",
  22844. { staticClass: _vm._$s(0, "sc", "body"), attrs: { _i: 0 } },
  22845. [
  22846. _c(
  22847. "view",
  22848. { staticClass: _vm._$s(1, "sc", "allArea"), attrs: { _i: 1 } },
  22849. [
  22850. _c(
  22851. "view",
  22852. { staticClass: _vm._$s(2, "sc", "area1"), attrs: { _i: 2 } },
  22853. [
  22854. _c(
  22855. "text",
  22856. {
  22857. staticClass: _vm._$s(3, "sc", "arear-text"),
  22858. attrs: { _i: 3 },
  22859. on: { click: _vm.tanKuang }
  22860. },
  22861. [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.list[_vm.curVal].text)))]
  22862. ),
  22863. _c("image", {
  22864. attrs: {
  22865. src: _vm._$s(4, "a-src", __webpack_require__(/*! ../../static/down.png */ 216)),
  22866. _i: 4
  22867. }
  22868. })
  22869. ]
  22870. )
  22871. ]
  22872. ),
  22873. _c(
  22874. "view",
  22875. { staticClass: _vm._$s(5, "sc", "swiperHead"), attrs: { _i: 5 } },
  22876. [
  22877. _vm._$s(6, "i", _vm.swiperTabList.length > 1)
  22878. ? _c("swiperNavBar", {
  22879. attrs: {
  22880. scrollIntoView: _vm.scrollIntoView,
  22881. swiperTabList: _vm.swiperTabList,
  22882. swiperTabIdx: _vm.swiperTabIdx,
  22883. currentSwiperWidth: _vm.currentSwiperWidth,
  22884. currentSwiperHeight: _vm.currentSwiperHeight,
  22885. swiperCurrentSize: _vm.swiperCurrentSize,
  22886. swiperColor: _vm.swiperColor,
  22887. swiperCurrentColor: _vm.swiperCurrentColor,
  22888. currentSwiperLineShow: _vm.currentSwiperLineShow,
  22889. currentSwiperLineActiveWidth:
  22890. _vm.currentSwiperLineActiveWidth,
  22891. currentSwiperLineActiveHeight:
  22892. _vm.currentSwiperLineActiveHeight,
  22893. currentSwiperLineActiveBg: _vm.currentSwiperLineActiveBg,
  22894. currentSwiperLineAnimatie: _vm.currentSwiperLineAnimatie,
  22895. _i: 6
  22896. },
  22897. on: { change: _vm.CurrentTab }
  22898. })
  22899. : _vm._e()
  22900. ],
  22901. 1
  22902. ),
  22903. _vm._$s(7, "i", _vm.swiperTabIdx == 2)
  22904. ? _c(
  22905. "view",
  22906. { staticClass: _vm._$s(7, "sc", "bike-top"), attrs: { _i: 7 } },
  22907. [
  22908. _c(
  22909. "view",
  22910. {
  22911. staticClass: _vm._$s(8, "sc", "bike-top-list"),
  22912. attrs: { _i: 8 },
  22913. on: {
  22914. click: function($event) {
  22915. return _vm.localscreen("")
  22916. }
  22917. }
  22918. },
  22919. [
  22920. _c(
  22921. "view",
  22922. {
  22923. staticClass: _vm._$s(9, "sc", "bike-count"),
  22924. attrs: { _i: 9 }
  22925. },
  22926. [_vm._v(_vm._$s(9, "t0-0", _vm._s(_vm.bike.total_bikes)))]
  22927. ),
  22928. _c("view", {
  22929. staticClass: _vm._$s(10, "sc", "bike-describe"),
  22930. attrs: { _i: 10 }
  22931. }),
  22932. _c("image", {
  22933. staticClass: _vm._$s(11, "sc", "right-index"),
  22934. attrs: { _i: 11 }
  22935. })
  22936. ]
  22937. ),
  22938. _c(
  22939. "view",
  22940. {
  22941. staticClass: _vm._$s(12, "sc", "bike-top-list"),
  22942. attrs: { _i: 12 },
  22943. on: {
  22944. click: function($event) {
  22945. return _vm.localscreen("put_status=1")
  22946. }
  22947. }
  22948. },
  22949. [
  22950. _c(
  22951. "view",
  22952. {
  22953. staticClass: _vm._$s(13, "sc", "bike-count"),
  22954. attrs: { _i: 13 }
  22955. },
  22956. [
  22957. _vm._v(
  22958. _vm._$s(13, "t0-0", _vm._s(_vm.bike.put_total_bikes))
  22959. )
  22960. ]
  22961. ),
  22962. _c("view", {
  22963. staticClass: _vm._$s(14, "sc", "bike-describe"),
  22964. attrs: { _i: 14 }
  22965. }),
  22966. _c("image", {
  22967. staticClass: _vm._$s(15, "sc", "right-index"),
  22968. attrs: { _i: 15 }
  22969. })
  22970. ]
  22971. ),
  22972. _c(
  22973. "view",
  22974. {
  22975. staticClass: _vm._$s(16, "sc", "bike-top-list"),
  22976. attrs: { _i: 16 },
  22977. on: {
  22978. click: function($event) {
  22979. return _vm.localscreen("is_link=1")
  22980. }
  22981. }
  22982. },
  22983. [
  22984. _c(
  22985. "view",
  22986. {
  22987. staticClass: _vm._$s(17, "sc", "bike-count"),
  22988. attrs: { _i: 17 }
  22989. },
  22990. [
  22991. _vm._v(
  22992. _vm._$s(17, "t0-0", _vm._s(_vm.bike.line_total_bikes))
  22993. )
  22994. ]
  22995. ),
  22996. _c("view", {
  22997. staticClass: _vm._$s(18, "sc", "bike-describe"),
  22998. attrs: { _i: 18 }
  22999. }),
  23000. _c("image", {
  23001. staticClass: _vm._$s(19, "sc", "right-index"),
  23002. attrs: { _i: 19 }
  23003. })
  23004. ]
  23005. ),
  23006. _c(
  23007. "view",
  23008. {
  23009. staticClass: _vm._$s(20, "sc", "bike-top-list"),
  23010. attrs: { _i: 20 },
  23011. on: {
  23012. click: function($event) {
  23013. return _vm.localscreen("is_trouble=1")
  23014. }
  23015. }
  23016. },
  23017. [
  23018. _c(
  23019. "view",
  23020. {
  23021. staticClass: _vm._$s(21, "sc", "bike-count"),
  23022. attrs: { _i: 21 }
  23023. },
  23024. [
  23025. _vm._v(
  23026. _vm._$s(
  23027. 21,
  23028. "t0-0",
  23029. _vm._s(_vm.bike.trouble_total_bikes)
  23030. )
  23031. )
  23032. ]
  23033. ),
  23034. _c("view", {
  23035. staticClass: _vm._$s(22, "sc", "bike-describe"),
  23036. attrs: { _i: 22 }
  23037. }),
  23038. _c("image", {
  23039. staticClass: _vm._$s(23, "sc", "right-index"),
  23040. attrs: { _i: 23 }
  23041. })
  23042. ]
  23043. ),
  23044. _c(
  23045. "view",
  23046. {
  23047. staticClass: _vm._$s(24, "sc", "bike-top-list"),
  23048. attrs: { _i: 24 },
  23049. on: {
  23050. click: function($event) {
  23051. return _vm.localscreen("today_use=1")
  23052. }
  23053. }
  23054. },
  23055. [
  23056. _c(
  23057. "view",
  23058. {
  23059. staticClass: _vm._$s(25, "sc", "bike-count"),
  23060. attrs: { _i: 25 }
  23061. },
  23062. [
  23063. _vm._v(
  23064. _vm._$s(
  23065. 25,
  23066. "t0-0",
  23067. _vm._s(_vm.bike.today_use_total_bikes)
  23068. )
  23069. )
  23070. ]
  23071. ),
  23072. _c("view", {
  23073. staticClass: _vm._$s(26, "sc", "bike-describe"),
  23074. attrs: { _i: 26 }
  23075. }),
  23076. _c("image", {
  23077. staticClass: _vm._$s(27, "sc", "right-index"),
  23078. attrs: { _i: 27 }
  23079. })
  23080. ]
  23081. ),
  23082. _c(
  23083. "view",
  23084. {
  23085. staticClass: _vm._$s(28, "sc", "bike-top-list"),
  23086. attrs: { _i: 28 },
  23087. on: {
  23088. click: function($event) {
  23089. return _vm.localscreen("is_low_battery_power=0")
  23090. }
  23091. }
  23092. },
  23093. [
  23094. _c(
  23095. "view",
  23096. {
  23097. staticClass: _vm._$s(29, "sc", "bike-count"),
  23098. attrs: { _i: 29 }
  23099. },
  23100. [
  23101. _vm._v(
  23102. _vm._$s(
  23103. 29,
  23104. "t0-0",
  23105. _vm._s(_vm.bike.low_battery_total_bikes)
  23106. )
  23107. )
  23108. ]
  23109. ),
  23110. _c("view", {
  23111. staticClass: _vm._$s(30, "sc", "bike-describe"),
  23112. attrs: { _i: 30 }
  23113. }),
  23114. _c("image", {
  23115. staticClass: _vm._$s(31, "sc", "right-index"),
  23116. attrs: { _i: 31 }
  23117. })
  23118. ]
  23119. ),
  23120. _c(
  23121. "view",
  23122. {
  23123. staticClass: _vm._$s(32, "sc", "bike-top-list"),
  23124. attrs: { _i: 32 },
  23125. on: {
  23126. click: function($event) {
  23127. return _vm.localscreen("is_riding=1")
  23128. }
  23129. }
  23130. },
  23131. [
  23132. _c(
  23133. "view",
  23134. {
  23135. staticClass: _vm._$s(33, "sc", "bike-count"),
  23136. attrs: { _i: 33 }
  23137. },
  23138. [
  23139. _vm._v(
  23140. _vm._$s(33, "t0-0", _vm._s(_vm.bike.riding_total_bikes))
  23141. )
  23142. ]
  23143. ),
  23144. _c("view", {
  23145. staticClass: _vm._$s(34, "sc", "bike-describe"),
  23146. attrs: { _i: 34 }
  23147. }),
  23148. _c("image", {
  23149. staticClass: _vm._$s(35, "sc", "right-index"),
  23150. attrs: { _i: 35 }
  23151. })
  23152. ]
  23153. ),
  23154. _c(
  23155. "view",
  23156. {
  23157. staticClass: _vm._$s(36, "sc", "bike-top-list"),
  23158. attrs: { _i: 36 },
  23159. on: {
  23160. click: function($event) {
  23161. return _vm.localscreen("is_riding1=0")
  23162. }
  23163. }
  23164. },
  23165. [
  23166. _c(
  23167. "view",
  23168. {
  23169. staticClass: _vm._$s(37, "sc", "bike-count"),
  23170. attrs: { _i: 37 }
  23171. },
  23172. [
  23173. _vm._v(
  23174. _vm._$s(
  23175. 37,
  23176. "t0-0",
  23177. _vm._s(_vm.bike.not_riding_total_bikes)
  23178. )
  23179. )
  23180. ]
  23181. ),
  23182. _c("view", {
  23183. staticClass: _vm._$s(38, "sc", "bike-describe"),
  23184. attrs: { _i: 38 }
  23185. }),
  23186. _c("image", {
  23187. staticClass: _vm._$s(39, "sc", "right-index"),
  23188. attrs: { _i: 39 }
  23189. })
  23190. ]
  23191. )
  23192. ]
  23193. )
  23194. : _vm._e(),
  23195. _vm._$s(40, "i", _vm.swiperTabIdx == 4)
  23196. ? _c(
  23197. "view",
  23198. { staticClass: _vm._$s(40, "sc", "bike-top"), attrs: { _i: 40 } },
  23199. [
  23200. _c(
  23201. "view",
  23202. {
  23203. staticClass: _vm._$s(41, "sc", "bike-top-list"),
  23204. attrs: { _i: 41 },
  23205. on: {
  23206. click: function($event) {
  23207. return _vm.localscreen("type=7")
  23208. }
  23209. }
  23210. },
  23211. [
  23212. _c(
  23213. "view",
  23214. {
  23215. staticClass: _vm._$s(42, "sc", "bike-count"),
  23216. attrs: { _i: 42 }
  23217. },
  23218. [
  23219. _vm._v(
  23220. _vm._$s(42, "t0-0", _vm._s(_vm.work_order.headman_num))
  23221. )
  23222. ]
  23223. ),
  23224. _c("view", {
  23225. staticClass: _vm._$s(43, "sc", "bike-describe"),
  23226. attrs: { _i: 43 }
  23227. }),
  23228. _c("image", {
  23229. staticClass: _vm._$s(44, "sc", "right-index"),
  23230. attrs: { _i: 44 }
  23231. })
  23232. ]
  23233. ),
  23234. _c(
  23235. "view",
  23236. {
  23237. staticClass: _vm._$s(45, "sc", "bike-top-list"),
  23238. attrs: { _i: 45 },
  23239. on: {
  23240. click: function($event) {
  23241. return _vm.localscreen("planned=2")
  23242. }
  23243. }
  23244. },
  23245. [
  23246. _c(
  23247. "view",
  23248. {
  23249. staticClass: _vm._$s(46, "sc", "bike-count"),
  23250. attrs: { _i: 46 }
  23251. },
  23252. [
  23253. _vm._v(
  23254. _vm._$s(
  23255. 46,
  23256. "t0-0",
  23257. _vm._s(_vm.work_order.planned_work_num)
  23258. )
  23259. )
  23260. ]
  23261. ),
  23262. _c("view", {
  23263. staticClass: _vm._$s(47, "sc", "bike-describe"),
  23264. attrs: { _i: 47 }
  23265. }),
  23266. _c("image", {
  23267. staticClass: _vm._$s(48, "sc", "right-index"),
  23268. attrs: { _i: 48 }
  23269. })
  23270. ]
  23271. ),
  23272. _c(
  23273. "view",
  23274. {
  23275. staticClass: _vm._$s(49, "sc", "bike-top-list"),
  23276. attrs: { _i: 49 },
  23277. on: {
  23278. click: function($event) {
  23279. return _vm.localscreen("planned=1")
  23280. }
  23281. }
  23282. },
  23283. [
  23284. _c(
  23285. "view",
  23286. {
  23287. staticClass: _vm._$s(50, "sc", "bike-count"),
  23288. attrs: { _i: 50 }
  23289. },
  23290. [
  23291. _vm._v(
  23292. _vm._$s(
  23293. 50,
  23294. "t0-0",
  23295. _vm._s(_vm.work_order.planned_meet_num)
  23296. )
  23297. )
  23298. ]
  23299. ),
  23300. _c("view", {
  23301. staticClass: _vm._$s(51, "sc", "bike-describe"),
  23302. attrs: { _i: 51 }
  23303. }),
  23304. _c("image", {
  23305. staticClass: _vm._$s(52, "sc", "right-index"),
  23306. attrs: { _i: 52 }
  23307. })
  23308. ]
  23309. ),
  23310. _c(
  23311. "view",
  23312. {
  23313. staticClass: _vm._$s(53, "sc", "bike-top-list"),
  23314. attrs: { _i: 53 },
  23315. on: {
  23316. click: function($event) {
  23317. return _vm.localscreen("type=8")
  23318. }
  23319. }
  23320. },
  23321. [
  23322. _c(
  23323. "view",
  23324. {
  23325. staticClass: _vm._$s(54, "sc", "bike-count"),
  23326. attrs: { _i: 54 }
  23327. },
  23328. [
  23329. _vm._v(
  23330. _vm._$s(54, "t0-0", _vm._s(_vm.work_order.trouble_num))
  23331. )
  23332. ]
  23333. ),
  23334. _c("view", {
  23335. staticClass: _vm._$s(55, "sc", "bike-describe"),
  23336. attrs: { _i: 55 }
  23337. }),
  23338. _c("image", {
  23339. staticClass: _vm._$s(56, "sc", "right-index"),
  23340. attrs: { _i: 56 }
  23341. })
  23342. ]
  23343. ),
  23344. _c(
  23345. "view",
  23346. {
  23347. staticClass: _vm._$s(57, "sc", "bike-top-list"),
  23348. attrs: { _i: 57 },
  23349. on: {
  23350. click: function($event) {
  23351. return _vm.localscreen("type=5")
  23352. }
  23353. }
  23354. },
  23355. [
  23356. _c(
  23357. "view",
  23358. {
  23359. staticClass: _vm._$s(58, "sc", "bike-count"),
  23360. attrs: { _i: 58 }
  23361. },
  23362. [
  23363. _vm._v(
  23364. _vm._$s(58, "t0-0", _vm._s(_vm.work_order.alert_num))
  23365. )
  23366. ]
  23367. ),
  23368. _c("view", {
  23369. staticClass: _vm._$s(59, "sc", "bike-describe"),
  23370. attrs: { _i: 59 }
  23371. }),
  23372. _c("image", {
  23373. staticClass: _vm._$s(60, "sc", "right-index"),
  23374. attrs: { _i: 60 }
  23375. })
  23376. ]
  23377. ),
  23378. _c(
  23379. "view",
  23380. {
  23381. staticClass: _vm._$s(61, "sc", "bike-top-list"),
  23382. attrs: { _i: 61 },
  23383. on: {
  23384. click: function($event) {
  23385. return _vm.localscreen("type=6")
  23386. }
  23387. }
  23388. },
  23389. [
  23390. _c(
  23391. "view",
  23392. {
  23393. staticClass: _vm._$s(62, "sc", "bike-count"),
  23394. attrs: { _i: 62 }
  23395. },
  23396. [
  23397. _vm._v(
  23398. _vm._$s(62, "t0-0", _vm._s(_vm.work_order.steal_num))
  23399. )
  23400. ]
  23401. ),
  23402. _c("view", {
  23403. staticClass: _vm._$s(63, "sc", "bike-describe"),
  23404. attrs: { _i: 63 }
  23405. }),
  23406. _c("image", {
  23407. staticClass: _vm._$s(64, "sc", "right-index"),
  23408. attrs: { _i: 64 }
  23409. })
  23410. ]
  23411. ),
  23412. _c(
  23413. "view",
  23414. {
  23415. staticClass: _vm._$s(65, "sc", "bike-top-list"),
  23416. attrs: { _i: 65 },
  23417. on: {
  23418. click: function($event) {
  23419. return _vm.localscreen("type=9")
  23420. }
  23421. }
  23422. },
  23423. [
  23424. _c(
  23425. "view",
  23426. {
  23427. staticClass: _vm._$s(66, "sc", "bike-count"),
  23428. attrs: { _i: 66 }
  23429. },
  23430. [
  23431. _vm._v(
  23432. _vm._$s(66, "t0-0", _vm._s(_vm.work_order.help_num))
  23433. )
  23434. ]
  23435. ),
  23436. _c("view", {
  23437. staticClass: _vm._$s(67, "sc", "bike-describe"),
  23438. attrs: { _i: 67 }
  23439. }),
  23440. _c("image", {
  23441. staticClass: _vm._$s(68, "sc", "right-index"),
  23442. attrs: { _i: 68 }
  23443. })
  23444. ]
  23445. ),
  23446. _c(
  23447. "view",
  23448. {
  23449. staticClass: _vm._$s(69, "sc", "bike-top-list"),
  23450. attrs: { _i: 69 },
  23451. on: {
  23452. click: function($event) {
  23453. return _vm.localscreen("type=1")
  23454. }
  23455. }
  23456. },
  23457. [
  23458. _c(
  23459. "view",
  23460. {
  23461. staticClass: _vm._$s(70, "sc", "bike-count"),
  23462. attrs: { _i: 70 }
  23463. },
  23464. [
  23465. _vm._v(
  23466. _vm._$s(70, "t0-0", _vm._s(_vm.work_order.charge_num))
  23467. )
  23468. ]
  23469. ),
  23470. _c("view", {
  23471. staticClass: _vm._$s(71, "sc", "bike-describe"),
  23472. attrs: { _i: 71 }
  23473. }),
  23474. _c("image", {
  23475. staticClass: _vm._$s(72, "sc", "right-index"),
  23476. attrs: { _i: 72 }
  23477. })
  23478. ]
  23479. )
  23480. ]
  23481. )
  23482. : _vm._e(),
  23483. _c("view", [
  23484. _c(
  23485. "swiper",
  23486. {
  23487. style: _vm._$s(74, "s", { height: _vm.mainHeight - 110 + "px" }),
  23488. attrs: {
  23489. current: _vm._$s(74, "a-current", _vm.swiperTabIdx),
  23490. current: _vm._$s(74, "a-current", _vm.swiperTabIdx),
  23491. _i: 74
  23492. },
  23493. on: { change: _vm.SwiperChange }
  23494. },
  23495. [
  23496. _c(
  23497. "swiper-item",
  23498. {
  23499. staticClass: _vm._$s(75, "sc", "swiper-item"),
  23500. attrs: { _i: 75 }
  23501. },
  23502. [
  23503. _c(
  23504. "view",
  23505. {
  23506. staticClass: _vm._$s(76, "sc", "out-content"),
  23507. style: _vm._$s(76, "s", {
  23508. height: _vm.mainHeight - 110 + "px"
  23509. }),
  23510. attrs: { _i: 76 }
  23511. },
  23512. [
  23513. _c(
  23514. "view",
  23515. {
  23516. staticClass: _vm._$s(77, "sc", "new_list"),
  23517. attrs: { _i: 77 },
  23518. on: { click: _vm.skipUser }
  23519. },
  23520. [
  23521. _c(
  23522. "view",
  23523. {
  23524. staticClass: _vm._$s(78, "sc", "new-left"),
  23525. attrs: { _i: 78 }
  23526. },
  23527. [
  23528. _c("image", {
  23529. attrs: {
  23530. src: _vm._$s(
  23531. 79,
  23532. "a-src",
  23533. __webpack_require__(/*! ../../static/img/new/user.png */ 217)
  23534. ),
  23535. _i: 79
  23536. }
  23537. }),
  23538. _c("view", {
  23539. staticClass: _vm._$s(80, "sc", "new-title"),
  23540. attrs: { _i: 80 }
  23541. })
  23542. ]
  23543. ),
  23544. _c(
  23545. "view",
  23546. {
  23547. staticClass: _vm._$s(81, "sc", "new-middle"),
  23548. attrs: { _i: 81 }
  23549. },
  23550. [
  23551. _c(
  23552. "view",
  23553. {
  23554. staticClass: _vm._$s(82, "sc", "new-text"),
  23555. attrs: { _i: 82 }
  23556. },
  23557. [
  23558. _vm._v(
  23559. _vm._$s(
  23560. 82,
  23561. "t0-0",
  23562. _vm._s(_vm.user.totalUser)
  23563. )
  23564. )
  23565. ]
  23566. ),
  23567. _c(
  23568. "view",
  23569. {
  23570. staticClass: _vm._$s(83, "sc", "new-text"),
  23571. attrs: { _i: 83 }
  23572. },
  23573. [
  23574. _vm._v(
  23575. _vm._$s(83, "t0-0", _vm._s(_vm.user.cardUser))
  23576. )
  23577. ]
  23578. ),
  23579. _c(
  23580. "view",
  23581. {
  23582. staticClass: _vm._$s(84, "sc", "new-text"),
  23583. attrs: { _i: 84 }
  23584. },
  23585. [
  23586. _vm._v(
  23587. _vm._$s(
  23588. 84,
  23589. "t0-0",
  23590. _vm._s(_vm.user.depositUser)
  23591. )
  23592. )
  23593. ]
  23594. )
  23595. ]
  23596. ),
  23597. _c(
  23598. "view",
  23599. {
  23600. staticClass: _vm._$s(85, "sc", "new-right"),
  23601. attrs: { _i: 85 }
  23602. },
  23603. [
  23604. _c(
  23605. "view",
  23606. {
  23607. staticClass: _vm._$s(86, "sc", "new-text"),
  23608. attrs: { _i: 86 }
  23609. },
  23610. [
  23611. _c(
  23612. "text",
  23613. {
  23614. staticClass: _vm._$s(87, "sc", "text-one"),
  23615. attrs: { _i: 87 }
  23616. },
  23617. [
  23618. _vm._v(
  23619. _vm._$s(
  23620. 87,
  23621. "t0-0",
  23622. _vm._s(_vm.user.todayAddUser)
  23623. )
  23624. )
  23625. ]
  23626. )
  23627. ]
  23628. ),
  23629. _c(
  23630. "view",
  23631. {
  23632. staticClass: _vm._$s(88, "sc", "new-text"),
  23633. attrs: { _i: 88 }
  23634. },
  23635. [
  23636. _c(
  23637. "text",
  23638. {
  23639. staticClass: _vm._$s(89, "sc", "text-one"),
  23640. attrs: { _i: 89 }
  23641. },
  23642. [
  23643. _vm._v(
  23644. _vm._$s(
  23645. 89,
  23646. "t0-0",
  23647. _vm._s(_vm.user.todayActiveUser)
  23648. )
  23649. )
  23650. ]
  23651. )
  23652. ]
  23653. )
  23654. ]
  23655. )
  23656. ]
  23657. ),
  23658. _c(
  23659. "view",
  23660. {
  23661. staticClass: _vm._$s(90, "sc", "new_list"),
  23662. attrs: { _i: 90 },
  23663. on: { click: _vm.skipBike }
  23664. },
  23665. [
  23666. _c(
  23667. "view",
  23668. {
  23669. staticClass: _vm._$s(91, "sc", "new-left"),
  23670. attrs: { _i: 91 }
  23671. },
  23672. [
  23673. _c("image", {
  23674. attrs: {
  23675. src: _vm._$s(
  23676. 92,
  23677. "a-src",
  23678. __webpack_require__(/*! ../../static/img/new/bike.png */ 218)
  23679. ),
  23680. _i: 92
  23681. }
  23682. }),
  23683. _c("view", {
  23684. staticClass: _vm._$s(93, "sc", "new-title"),
  23685. attrs: { _i: 93 }
  23686. })
  23687. ]
  23688. ),
  23689. _c(
  23690. "view",
  23691. {
  23692. staticClass: _vm._$s(94, "sc", "new-middle"),
  23693. attrs: { _i: 94 }
  23694. },
  23695. [
  23696. _c(
  23697. "view",
  23698. {
  23699. staticClass: _vm._$s(95, "sc", "new-text"),
  23700. attrs: { _i: 95 }
  23701. },
  23702. [
  23703. _vm._v(
  23704. _vm._$s(
  23705. 95,
  23706. "t0-0",
  23707. _vm._s(_vm.bike.total_bikes)
  23708. )
  23709. )
  23710. ]
  23711. ),
  23712. _c(
  23713. "view",
  23714. {
  23715. staticClass: _vm._$s(96, "sc", "new-text"),
  23716. attrs: { _i: 96 }
  23717. },
  23718. [
  23719. _vm._v(
  23720. _vm._$s(
  23721. 96,
  23722. "t0-0",
  23723. _vm._s(_vm.bike.put_total_bikes)
  23724. )
  23725. )
  23726. ]
  23727. ),
  23728. _c(
  23729. "view",
  23730. {
  23731. staticClass: _vm._$s(97, "sc", "new-text"),
  23732. attrs: { _i: 97 }
  23733. },
  23734. [
  23735. _vm._v(
  23736. _vm._$s(
  23737. 97,
  23738. "t0-0",
  23739. _vm._s(_vm.bike.trouble_total_bikes)
  23740. )
  23741. )
  23742. ]
  23743. )
  23744. ]
  23745. ),
  23746. _c(
  23747. "view",
  23748. {
  23749. staticClass: _vm._$s(98, "sc", "new-right"),
  23750. attrs: { _i: 98 }
  23751. },
  23752. [
  23753. _c(
  23754. "view",
  23755. {
  23756. staticClass: _vm._$s(99, "sc", "new-text"),
  23757. attrs: { _i: 99 }
  23758. },
  23759. [
  23760. _c(
  23761. "text",
  23762. {
  23763. staticClass: _vm._$s(100, "sc", "text-one"),
  23764. attrs: { _i: 100 }
  23765. },
  23766. [
  23767. _vm._v(
  23768. _vm._$s(
  23769. 100,
  23770. "t0-0",
  23771. _vm._s(_vm.bike.today_use_total_bikes)
  23772. )
  23773. )
  23774. ]
  23775. )
  23776. ]
  23777. ),
  23778. _c(
  23779. "view",
  23780. {
  23781. staticClass: _vm._$s(101, "sc", "new-text"),
  23782. attrs: { _i: 101 }
  23783. },
  23784. [
  23785. _c(
  23786. "text",
  23787. {
  23788. staticClass: _vm._$s(102, "sc", "text-one"),
  23789. attrs: { _i: 102 }
  23790. },
  23791. [
  23792. _vm._v(
  23793. _vm._$s(
  23794. 102,
  23795. "t0-0",
  23796. _vm._s(_vm.bike.line_total_bikes)
  23797. )
  23798. )
  23799. ]
  23800. )
  23801. ]
  23802. ),
  23803. _c(
  23804. "view",
  23805. {
  23806. staticClass: _vm._$s(103, "sc", "new-text"),
  23807. attrs: { _i: 103 }
  23808. },
  23809. [
  23810. _c(
  23811. "text",
  23812. {
  23813. staticClass: _vm._$s(104, "sc", "text-one"),
  23814. attrs: { _i: 104 }
  23815. },
  23816. [
  23817. _vm._v(
  23818. _vm._$s(
  23819. 104,
  23820. "t0-0",
  23821. _vm._s(_vm.bike.low_battery_total_bikes)
  23822. )
  23823. )
  23824. ]
  23825. )
  23826. ]
  23827. )
  23828. ]
  23829. )
  23830. ]
  23831. ),
  23832. _c(
  23833. "view",
  23834. {
  23835. staticClass: _vm._$s(105, "sc", "new_list"),
  23836. attrs: { _i: 105 },
  23837. on: { click: _vm.skipOrder }
  23838. },
  23839. [
  23840. _c(
  23841. "view",
  23842. {
  23843. staticClass: _vm._$s(106, "sc", "new-left"),
  23844. attrs: { _i: 106 }
  23845. },
  23846. [
  23847. _c("image", {
  23848. attrs: {
  23849. src: _vm._$s(
  23850. 107,
  23851. "a-src",
  23852. __webpack_require__(/*! ../../static/img/new/order.png */ 219)
  23853. ),
  23854. _i: 107
  23855. }
  23856. }),
  23857. _c("view", {
  23858. staticClass: _vm._$s(108, "sc", "new-title"),
  23859. attrs: { _i: 108 }
  23860. })
  23861. ]
  23862. ),
  23863. _c(
  23864. "view",
  23865. {
  23866. staticClass: _vm._$s(109, "sc", "new-middle"),
  23867. attrs: { _i: 109 }
  23868. },
  23869. [
  23870. _c(
  23871. "view",
  23872. {
  23873. staticClass: _vm._$s(110, "sc", "new-text"),
  23874. attrs: { _i: 110 }
  23875. },
  23876. [
  23877. _vm._v(
  23878. _vm._$s(
  23879. 110,
  23880. "t0-0",
  23881. _vm._s(_vm.order.order_total)
  23882. )
  23883. )
  23884. ]
  23885. ),
  23886. _c(
  23887. "view",
  23888. {
  23889. staticClass: _vm._$s(111, "sc", "new-text"),
  23890. attrs: { _i: 111 }
  23891. },
  23892. [
  23893. _vm._v(
  23894. _vm._$s(
  23895. 111,
  23896. "t0-0",
  23897. _vm._s(_vm.order.waiting_pay)
  23898. )
  23899. )
  23900. ]
  23901. )
  23902. ]
  23903. ),
  23904. _c(
  23905. "view",
  23906. {
  23907. staticClass: _vm._$s(112, "sc", "new-right"),
  23908. attrs: { _i: 112 }
  23909. },
  23910. [
  23911. _c(
  23912. "view",
  23913. {
  23914. staticClass: _vm._$s(113, "sc", "new-text"),
  23915. attrs: { _i: 113 }
  23916. },
  23917. [
  23918. _c(
  23919. "text",
  23920. {
  23921. staticClass: _vm._$s(114, "sc", "text-one"),
  23922. attrs: { _i: 114 }
  23923. },
  23924. [
  23925. _vm._v(
  23926. _vm._$s(
  23927. 114,
  23928. "t0-0",
  23929. _vm._s(_vm.order.today_add_order)
  23930. )
  23931. )
  23932. ]
  23933. )
  23934. ]
  23935. ),
  23936. _c(
  23937. "view",
  23938. {
  23939. staticClass: _vm._$s(115, "sc", "new-text"),
  23940. attrs: { _i: 115 }
  23941. },
  23942. [
  23943. _c(
  23944. "text",
  23945. {
  23946. staticClass: _vm._$s(116, "sc", "text-one"),
  23947. attrs: { _i: 116 }
  23948. },
  23949. [
  23950. _vm._v(
  23951. _vm._$s(
  23952. 116,
  23953. "t0-0",
  23954. _vm._s(_vm.order.riding_order)
  23955. )
  23956. )
  23957. ]
  23958. )
  23959. ]
  23960. )
  23961. ]
  23962. )
  23963. ]
  23964. ),
  23965. _c(
  23966. "view",
  23967. {
  23968. staticClass: _vm._$s(117, "sc", "new_list"),
  23969. attrs: { _i: 117 },
  23970. on: { click: _vm.incomeDetail }
  23971. },
  23972. [
  23973. _c(
  23974. "view",
  23975. {
  23976. staticClass: _vm._$s(118, "sc", "new-left"),
  23977. attrs: { _i: 118 }
  23978. },
  23979. [
  23980. _c("image", {
  23981. attrs: {
  23982. src: _vm._$s(
  23983. 119,
  23984. "a-src",
  23985. __webpack_require__(/*! ../../static/img/new/income.png */ 220)
  23986. ),
  23987. _i: 119
  23988. }
  23989. }),
  23990. _c("view", {
  23991. staticClass: _vm._$s(120, "sc", "new-title"),
  23992. attrs: { _i: 120 }
  23993. })
  23994. ]
  23995. ),
  23996. _c(
  23997. "view",
  23998. {
  23999. staticClass: _vm._$s(121, "sc", "new-middle"),
  24000. attrs: { _i: 121 }
  24001. },
  24002. [
  24003. _c(
  24004. "view",
  24005. {
  24006. staticClass: _vm._$s(122, "sc", "new-text"),
  24007. attrs: { _i: 122 }
  24008. },
  24009. [
  24010. _vm._v(
  24011. _vm._$s(
  24012. 122,
  24013. "t0-0",
  24014. _vm._s(
  24015. _vm.orderProfit.rechargeOrderTodayProfit
  24016. )
  24017. )
  24018. )
  24019. ]
  24020. ),
  24021. _c(
  24022. "view",
  24023. {
  24024. staticClass: _vm._$s(123, "sc", "new-text"),
  24025. attrs: { _i: 123 }
  24026. },
  24027. [
  24028. _vm._v(
  24029. _vm._$s(
  24030. 123,
  24031. "t0-0",
  24032. _vm._s(
  24033. _vm.orderProfit.depositCardTodayProfit
  24034. )
  24035. )
  24036. )
  24037. ]
  24038. ),
  24039. _c(
  24040. "view",
  24041. {
  24042. staticClass: _vm._$s(124, "sc", "new-text"),
  24043. attrs: { _i: 124 }
  24044. },
  24045. [
  24046. _vm._v(
  24047. _vm._$s(
  24048. 124,
  24049. "t0-0",
  24050. _vm._s(_vm.bike.trouble_total_bikes)
  24051. )
  24052. )
  24053. ]
  24054. )
  24055. ]
  24056. ),
  24057. _c(
  24058. "view",
  24059. {
  24060. staticClass: _vm._$s(125, "sc", "new-right"),
  24061. attrs: { _i: 125 }
  24062. },
  24063. [
  24064. _c(
  24065. "view",
  24066. {
  24067. staticClass: _vm._$s(126, "sc", "new-text"),
  24068. attrs: { _i: 126 }
  24069. },
  24070. [
  24071. _c(
  24072. "text",
  24073. {
  24074. staticClass: _vm._$s(127, "sc", "text-one"),
  24075. attrs: { _i: 127 }
  24076. },
  24077. [
  24078. _vm._v(
  24079. _vm._$s(
  24080. 127,
  24081. "t0-0",
  24082. _vm._s(_vm.orderProfit.todayProfit)
  24083. )
  24084. )
  24085. ]
  24086. )
  24087. ]
  24088. ),
  24089. _c(
  24090. "view",
  24091. {
  24092. staticClass: _vm._$s(128, "sc", "new-text"),
  24093. attrs: { _i: 128 }
  24094. },
  24095. [
  24096. _c(
  24097. "text",
  24098. {
  24099. staticClass: _vm._$s(129, "sc", "text-one"),
  24100. attrs: { _i: 129 }
  24101. },
  24102. [
  24103. _vm._v(
  24104. _vm._$s(
  24105. 129,
  24106. "t0-0",
  24107. _vm._s(
  24108. _vm.orderProfit
  24109. .riddingCardOrderTodayProfit
  24110. )
  24111. )
  24112. )
  24113. ]
  24114. )
  24115. ]
  24116. )
  24117. ]
  24118. )
  24119. ]
  24120. ),
  24121. _c(
  24122. "view",
  24123. {
  24124. staticClass: _vm._$s(130, "sc", "new_list"),
  24125. attrs: { _i: 130 },
  24126. on: { click: _vm.incomeDetail }
  24127. },
  24128. [
  24129. _c(
  24130. "view",
  24131. {
  24132. staticClass: _vm._$s(131, "sc", "new-left"),
  24133. attrs: { _i: 131 }
  24134. },
  24135. [
  24136. _c("image", {
  24137. attrs: {
  24138. src: _vm._$s(
  24139. 132,
  24140. "a-src",
  24141. __webpack_require__(/*! ../../static/img/new/all-income.png */ 221)
  24142. ),
  24143. _i: 132
  24144. }
  24145. }),
  24146. _c("view", {
  24147. staticClass: _vm._$s(133, "sc", "new-title"),
  24148. attrs: { _i: 133 }
  24149. })
  24150. ]
  24151. ),
  24152. _c(
  24153. "view",
  24154. {
  24155. staticClass: _vm._$s(134, "sc", "new-middle"),
  24156. attrs: { _i: 134 }
  24157. },
  24158. [
  24159. _c(
  24160. "view",
  24161. {
  24162. staticClass: _vm._$s(135, "sc", "new-text"),
  24163. attrs: { _i: 135 }
  24164. },
  24165. [
  24166. _vm._v(
  24167. _vm._$s(
  24168. 135,
  24169. "t0-0",
  24170. _vm._s(_vm.orderProfit.totalProfit)
  24171. )
  24172. )
  24173. ]
  24174. ),
  24175. _c(
  24176. "view",
  24177. {
  24178. staticClass: _vm._$s(136, "sc", "new-text"),
  24179. attrs: { _i: 136 }
  24180. },
  24181. [
  24182. _vm._v(
  24183. _vm._$s(
  24184. 136,
  24185. "t0-0",
  24186. _vm._s(_vm.orderProfit.depositTotal)
  24187. )
  24188. )
  24189. ]
  24190. ),
  24191. _c(
  24192. "view",
  24193. {
  24194. staticClass: _vm._$s(137, "sc", "new-text"),
  24195. attrs: { _i: 137 }
  24196. },
  24197. [
  24198. _vm._v(
  24199. _vm._$s(
  24200. 137,
  24201. "t0-0",
  24202. _vm._s(
  24203. _vm.orderProfit.depositCardTotalProfit
  24204. )
  24205. )
  24206. )
  24207. ]
  24208. )
  24209. ]
  24210. ),
  24211. _c(
  24212. "view",
  24213. {
  24214. staticClass: _vm._$s(138, "sc", "new-right"),
  24215. attrs: { _i: 138 }
  24216. },
  24217. [
  24218. _c(
  24219. "view",
  24220. {
  24221. staticClass: _vm._$s(139, "sc", "new-text"),
  24222. attrs: { _i: 139 }
  24223. },
  24224. [
  24225. _c(
  24226. "text",
  24227. {
  24228. staticClass: _vm._$s(140, "sc", "text-one"),
  24229. attrs: { _i: 140 }
  24230. },
  24231. [
  24232. _vm._v(
  24233. _vm._$s(
  24234. 140,
  24235. "t0-0",
  24236. _vm._s(
  24237. _vm.orderProfit
  24238. .rechargeOrderTotalProfit
  24239. )
  24240. )
  24241. )
  24242. ]
  24243. )
  24244. ]
  24245. ),
  24246. _c(
  24247. "view",
  24248. {
  24249. staticClass: _vm._$s(141, "sc", "new-text"),
  24250. attrs: { _i: 141 }
  24251. },
  24252. [
  24253. _c(
  24254. "text",
  24255. {
  24256. staticClass: _vm._$s(142, "sc", "text-one"),
  24257. attrs: { _i: 142 }
  24258. },
  24259. [
  24260. _vm._v(
  24261. _vm._$s(
  24262. 142,
  24263. "t0-0",
  24264. _vm._s(_vm.orderProfit.monthProfit)
  24265. )
  24266. )
  24267. ]
  24268. )
  24269. ]
  24270. ),
  24271. _c(
  24272. "view",
  24273. {
  24274. staticClass: _vm._$s(143, "sc", "new-text"),
  24275. attrs: { _i: 143 }
  24276. },
  24277. [
  24278. _c(
  24279. "text",
  24280. {
  24281. staticClass: _vm._$s(144, "sc", "text-one"),
  24282. attrs: { _i: 144 }
  24283. },
  24284. [
  24285. _vm._v(
  24286. _vm._$s(
  24287. 144,
  24288. "t0-0",
  24289. _vm._s(
  24290. _vm.orderProfit
  24291. .riddingCardOrderTotalProfit
  24292. )
  24293. )
  24294. )
  24295. ]
  24296. )
  24297. ]
  24298. )
  24299. ]
  24300. )
  24301. ]
  24302. ),
  24303. _c(
  24304. "view",
  24305. {
  24306. staticClass: _vm._$s(145, "sc", "new_list"),
  24307. attrs: { _i: 145 },
  24308. on: { click: _vm.skipWork }
  24309. },
  24310. [
  24311. _c(
  24312. "view",
  24313. {
  24314. staticClass: _vm._$s(146, "sc", "new-left"),
  24315. attrs: { _i: 146 }
  24316. },
  24317. [
  24318. _c("image", {
  24319. attrs: {
  24320. src: _vm._$s(
  24321. 147,
  24322. "a-src",
  24323. __webpack_require__(/*! ../../static/img/new/gongdan.png */ 222)
  24324. ),
  24325. _i: 147
  24326. }
  24327. }),
  24328. _c("view", {
  24329. staticClass: _vm._$s(148, "sc", "new-title"),
  24330. attrs: { _i: 148 }
  24331. })
  24332. ]
  24333. ),
  24334. _c(
  24335. "view",
  24336. {
  24337. staticClass: _vm._$s(149, "sc", "new-middle"),
  24338. attrs: { _i: 149 }
  24339. },
  24340. [
  24341. _c(
  24342. "view",
  24343. {
  24344. staticClass: _vm._$s(150, "sc", "new-text"),
  24345. attrs: { _i: 150 }
  24346. },
  24347. [
  24348. _vm._v(
  24349. _vm._$s(
  24350. 150,
  24351. "t0-0",
  24352. _vm._s(
  24353. _vm.work_order.planned_meet_num +
  24354. _vm.work_order.planned_worked_num +
  24355. _vm.work_order.planned_work_num +
  24356. _vm.work_order.planned_over_num
  24357. )
  24358. )
  24359. )
  24360. ]
  24361. ),
  24362. _c(
  24363. "view",
  24364. {
  24365. staticClass: _vm._$s(151, "sc", "new-text"),
  24366. attrs: { _i: 151 }
  24367. },
  24368. [
  24369. _vm._v(
  24370. _vm._$s(
  24371. 151,
  24372. "t0-0",
  24373. _vm._s(_vm.work_order.planned_over_num)
  24374. )
  24375. )
  24376. ]
  24377. )
  24378. ]
  24379. ),
  24380. _c(
  24381. "view",
  24382. {
  24383. staticClass: _vm._$s(152, "sc", "new-right"),
  24384. attrs: { _i: 152 }
  24385. },
  24386. [
  24387. _c(
  24388. "view",
  24389. {
  24390. staticClass: _vm._$s(153, "sc", "new-text"),
  24391. attrs: { _i: 153 }
  24392. },
  24393. [
  24394. _c(
  24395. "text",
  24396. {
  24397. staticClass: _vm._$s(154, "sc", "text-one"),
  24398. attrs: { _i: 154 }
  24399. },
  24400. [
  24401. _vm._v(
  24402. _vm._$s(
  24403. 154,
  24404. "t0-0",
  24405. _vm._s(_vm.work_order.planned_meet_num)
  24406. )
  24407. )
  24408. ]
  24409. )
  24410. ]
  24411. ),
  24412. _c(
  24413. "view",
  24414. {
  24415. staticClass: _vm._$s(155, "sc", "new-text"),
  24416. attrs: { _i: 155 }
  24417. },
  24418. [
  24419. _c(
  24420. "text",
  24421. {
  24422. staticClass: _vm._$s(156, "sc", "text-one"),
  24423. attrs: { _i: 156 }
  24424. },
  24425. [
  24426. _vm._v(
  24427. _vm._$s(
  24428. 156,
  24429. "t0-0",
  24430. _vm._s(_vm.work_order.planned_work_num)
  24431. )
  24432. )
  24433. ]
  24434. )
  24435. ]
  24436. )
  24437. ]
  24438. )
  24439. ]
  24440. )
  24441. ]
  24442. )
  24443. ]
  24444. ),
  24445. _c(
  24446. "swiper-item",
  24447. {
  24448. staticClass: _vm._$s(157, "sc", "swiper-item"),
  24449. attrs: { _i: 157 }
  24450. },
  24451. [
  24452. _c(
  24453. "scroll-view",
  24454. {
  24455. style: _vm._$s(158, "s", {
  24456. height: _vm.mainHeight - 110 + "px"
  24457. }),
  24458. attrs: { _i: 158 },
  24459. on: { scrolltolower: _vm.scrolltolower }
  24460. },
  24461. [
  24462. _c(
  24463. "view",
  24464. {
  24465. staticClass: _vm._$s(159, "sc", "out-content"),
  24466. attrs: { _i: 159 }
  24467. },
  24468. [
  24469. _c(
  24470. "view",
  24471. {
  24472. staticClass: _vm._$s(160, "sc", "list"),
  24473. attrs: { _i: 160 }
  24474. },
  24475. [
  24476. _c(
  24477. "view",
  24478. {
  24479. staticClass: _vm._$s(161, "sc", "all-list-top"),
  24480. attrs: { _i: 161 }
  24481. },
  24482. [
  24483. _c(
  24484. "view",
  24485. {
  24486. staticClass: _vm._$s(
  24487. 162,
  24488. "sc",
  24489. "all-top-left"
  24490. ),
  24491. attrs: { _i: 162 }
  24492. },
  24493. [
  24494. _c("image", {
  24495. attrs: {
  24496. src: _vm._$s(
  24497. 163,
  24498. "a-src",
  24499. __webpack_require__(/*! ../../static/img/manage1.png */ 223)
  24500. ),
  24501. _i: 163
  24502. }
  24503. }),
  24504. _c(
  24505. "view",
  24506. {
  24507. staticClass: _vm._$s(
  24508. 164,
  24509. "sc",
  24510. "all-list-title"
  24511. ),
  24512. attrs: { _i: 164 }
  24513. },
  24514. [
  24515. _c("text"),
  24516. _c("text", [
  24517. _vm._v(
  24518. _vm._$s(
  24519. 166,
  24520. "t0-0",
  24521. _vm._s(_vm.user.totalUser)
  24522. )
  24523. )
  24524. ])
  24525. ]
  24526. )
  24527. ]
  24528. )
  24529. ]
  24530. ),
  24531. _c(
  24532. "view",
  24533. {
  24534. staticClass: _vm._$s(
  24535. 167,
  24536. "sc",
  24537. "all-list-content"
  24538. ),
  24539. attrs: { _i: 167 }
  24540. },
  24541. [
  24542. _c(
  24543. "view",
  24544. {
  24545. staticClass: _vm._$s(
  24546. 168,
  24547. "sc",
  24548. "content-child"
  24549. ),
  24550. attrs: { _i: 168 }
  24551. },
  24552. [
  24553. _c("view", {
  24554. staticClass: _vm._$s(
  24555. 169,
  24556. "sc",
  24557. "first-child"
  24558. ),
  24559. attrs: { _i: 169 }
  24560. }),
  24561. _c(
  24562. "view",
  24563. {
  24564. staticClass: _vm._$s(
  24565. 170,
  24566. "sc",
  24567. "second-child"
  24568. ),
  24569. attrs: { _i: 170 }
  24570. },
  24571. [
  24572. _vm._v(
  24573. _vm._$s(
  24574. 170,
  24575. "t0-0",
  24576. _vm._s(_vm.user.todayAddUser)
  24577. )
  24578. )
  24579. ]
  24580. )
  24581. ]
  24582. ),
  24583. _c(
  24584. "view",
  24585. {
  24586. staticClass: _vm._$s(
  24587. 171,
  24588. "sc",
  24589. "content-child"
  24590. ),
  24591. attrs: { _i: 171 }
  24592. },
  24593. [
  24594. _c(
  24595. "view",
  24596. {
  24597. staticClass: _vm._$s(
  24598. 172,
  24599. "sc",
  24600. "first-child"
  24601. ),
  24602. attrs: { _i: 172 }
  24603. },
  24604. [
  24605. _c(
  24606. "view",
  24607. {
  24608. staticClass: _vm._$s(
  24609. 173,
  24610. "sc",
  24611. "second-child"
  24612. ),
  24613. attrs: { _i: 173 }
  24614. },
  24615. [
  24616. _vm._v(
  24617. _vm._$s(
  24618. 173,
  24619. "t0-0",
  24620. _vm._s(_vm.user.depositUser)
  24621. )
  24622. )
  24623. ]
  24624. )
  24625. ]
  24626. )
  24627. ]
  24628. )
  24629. ]
  24630. )
  24631. ]
  24632. ),
  24633. _vm._l(
  24634. _vm._$s(174, "f", { forItems: _vm.userList }),
  24635. function(item, index, $20, $30) {
  24636. return _c(
  24637. "view",
  24638. {
  24639. key: _vm._$s(174, "f", {
  24640. forIndex: $20,
  24641. key: index
  24642. }),
  24643. staticClass: _vm._$s(
  24644. "174-" + $30,
  24645. "sc",
  24646. "user-list"
  24647. ),
  24648. attrs: { _i: "174-" + $30 },
  24649. on: {
  24650. click: function($event) {
  24651. return _vm.userDetail(item.id)
  24652. }
  24653. }
  24654. },
  24655. [
  24656. _c(
  24657. "text",
  24658. {
  24659. staticClass: _vm._$s(
  24660. "175-" + $30,
  24661. "sc",
  24662. "user-phone"
  24663. ),
  24664. attrs: { _i: "175-" + $30 }
  24665. },
  24666. [
  24667. _vm._v(
  24668. _vm._$s(
  24669. "175-" + $30,
  24670. "t0-0",
  24671. _vm._s(item.mobile)
  24672. )
  24673. )
  24674. ]
  24675. ),
  24676. _c("view", [
  24677. _c(
  24678. "view",
  24679. {
  24680. staticClass: _vm._$s(
  24681. "177-" + $30,
  24682. "sc",
  24683. "user-name"
  24684. ),
  24685. attrs: { _i: "177-" + $30 }
  24686. },
  24687. [
  24688. _c("text", [
  24689. _vm._v(
  24690. _vm._$s(
  24691. "178-" + $30,
  24692. "t0-0",
  24693. _vm._s(item.username)
  24694. )
  24695. )
  24696. ])
  24697. ]
  24698. ),
  24699. _c(
  24700. "view",
  24701. {
  24702. staticClass: _vm._$s(
  24703. "179-" + $30,
  24704. "sc",
  24705. "user-balance"
  24706. ),
  24707. attrs: { _i: "179-" + $30 }
  24708. },
  24709. [
  24710. _vm._v(
  24711. _vm._$s(
  24712. "179-" + $30,
  24713. "t0-0",
  24714. _vm._s(item.wallet_money)
  24715. )
  24716. )
  24717. ]
  24718. )
  24719. ]),
  24720. _vm._$s(
  24721. "180-" + $30,
  24722. "i",
  24723. _vm.deposit_type == 3
  24724. )
  24725. ? _c("view", {
  24726. staticClass: _vm._$s(
  24727. "180-" + $30,
  24728. "sc",
  24729. "user-tag1"
  24730. ),
  24731. attrs: { _i: "180-" + $30 }
  24732. })
  24733. : _vm._e(),
  24734. _vm._$s(
  24735. "181-" + $30,
  24736. "i",
  24737. _vm.deposit_type == 12
  24738. )
  24739. ? _c("view", {
  24740. staticClass: _vm._$s(
  24741. "181-" + $30,
  24742. "sc",
  24743. "user-tag2"
  24744. ),
  24745. attrs: { _i: "181-" + $30 }
  24746. })
  24747. : _vm._e(),
  24748. _vm._$s(
  24749. "182-" + $30,
  24750. "i",
  24751. _vm.deposit_type == 1
  24752. )
  24753. ? _c("view", {
  24754. staticClass: _vm._$s(
  24755. "182-" + $30,
  24756. "sc",
  24757. "user-tag3"
  24758. ),
  24759. attrs: { _i: "182-" + $30 }
  24760. })
  24761. : _vm._e()
  24762. ]
  24763. )
  24764. }
  24765. ),
  24766. _vm._$s(183, "i", _vm.userList.length == 0)
  24767. ? _c(
  24768. "view",
  24769. {
  24770. staticClass: _vm._$s(
  24771. 183,
  24772. "sc",
  24773. "noData noUser"
  24774. ),
  24775. attrs: { _i: 183 }
  24776. },
  24777. [_c("image", { attrs: { _i: 184 } }), _c("view")]
  24778. )
  24779. : _vm._e()
  24780. ],
  24781. 2
  24782. )
  24783. ]
  24784. )
  24785. ]
  24786. ),
  24787. _c(
  24788. "swiper-item",
  24789. {
  24790. staticClass: _vm._$s(186, "sc", "swiper-item"),
  24791. attrs: { _i: 186 }
  24792. },
  24793. [
  24794. _c(
  24795. "scroll-view",
  24796. {
  24797. style: _vm._$s(187, "s", {
  24798. height: _vm.mainHeight - 110 + "px"
  24799. }),
  24800. attrs: { _i: 187 },
  24801. on: { scrolltolower: _vm.scrolltolower }
  24802. },
  24803. [
  24804. _c(
  24805. "view",
  24806. {
  24807. staticClass: _vm._$s(188, "sc", "bike"),
  24808. attrs: { _i: 188 }
  24809. },
  24810. [
  24811. _c(
  24812. "view",
  24813. {
  24814. staticClass: _vm._$s(189, "sc", "out-content"),
  24815. attrs: { _i: 189 }
  24816. },
  24817. _vm._l(
  24818. _vm._$s(190, "f", { forItems: _vm.bikeList }),
  24819. function(item, index1, $21, $31) {
  24820. return _c(
  24821. "view",
  24822. {
  24823. key: _vm._$s(190, "f", {
  24824. forIndex: $21,
  24825. key: index1
  24826. }),
  24827. staticClass: _vm._$s(
  24828. "190-" + $31,
  24829. "sc",
  24830. "bike-list"
  24831. ),
  24832. attrs: { _i: "190-" + $31 },
  24833. on: {
  24834. click: function($event) {
  24835. return _vm.bikeDetail(
  24836. item.id,
  24837. item.bike_no
  24838. )
  24839. }
  24840. }
  24841. },
  24842. [
  24843. _c(
  24844. "view",
  24845. {
  24846. staticClass: _vm._$s(
  24847. "191-" + $31,
  24848. "sc",
  24849. "bike-left"
  24850. ),
  24851. attrs: { _i: "191-" + $31 }
  24852. },
  24853. [
  24854. _c(
  24855. "view",
  24856. {
  24857. staticClass: _vm._$s(
  24858. "192-" + $31,
  24859. "sc",
  24860. "bike-list-first"
  24861. ),
  24862. attrs: { _i: "192-" + $31 }
  24863. },
  24864. [
  24865. _c(
  24866. "text",
  24867. {
  24868. staticClass: _vm._$s(
  24869. "193-" + $31,
  24870. "sc",
  24871. "bike-id"
  24872. ),
  24873. attrs: { _i: "193-" + $31 }
  24874. },
  24875. [
  24876. _vm._v(
  24877. _vm._$s(
  24878. "193-" + $31,
  24879. "t0-0",
  24880. _vm._s(item.bike_no)
  24881. )
  24882. )
  24883. ]
  24884. ),
  24885. _c(
  24886. "text",
  24887. {
  24888. staticClass: _vm._$s(
  24889. "194-" + $31,
  24890. "sc",
  24891. "Battery"
  24892. ),
  24893. attrs: { _i: "194-" + $31 }
  24894. },
  24895. [
  24896. _vm._v(
  24897. _vm._$s(
  24898. "194-" + $31,
  24899. "t0-0",
  24900. _vm._s(item.battery_power)
  24901. )
  24902. )
  24903. ]
  24904. ),
  24905. _c(
  24906. "text",
  24907. {
  24908. staticClass: _vm._$s(
  24909. "195-" + $31,
  24910. "sc",
  24911. "riding-status"
  24912. ),
  24913. attrs: { _i: "195-" + $31 }
  24914. },
  24915. [
  24916. _vm._v(
  24917. _vm._$s(
  24918. "195-" + $31,
  24919. "t0-0",
  24920. _vm._s(
  24921. item.is_riding == 0
  24922. ? "未骑行"
  24923. : "骑行中"
  24924. )
  24925. )
  24926. )
  24927. ]
  24928. )
  24929. ]
  24930. ),
  24931. _c(
  24932. "view",
  24933. {
  24934. staticClass: _vm._$s(
  24935. "196-" + $31,
  24936. "sc",
  24937. "bike-list-second"
  24938. ),
  24939. attrs: { _i: "196-" + $31 }
  24940. },
  24941. [
  24942. _c(
  24943. "text",
  24944. {
  24945. staticClass: _vm._$s(
  24946. "197-" + $31,
  24947. "sc",
  24948. "order-tinme"
  24949. ),
  24950. attrs: { _i: "197-" + $31 }
  24951. },
  24952. [
  24953. _vm._v(
  24954. _vm._$s(
  24955. "197-" + $31,
  24956. "t0-0",
  24957. _vm._s(item.not_use_time)
  24958. )
  24959. )
  24960. ]
  24961. ),
  24962. _c("text", {
  24963. staticClass: _vm._$s(
  24964. "198-" + $31,
  24965. "sc",
  24966. "bike-money"
  24967. ),
  24968. attrs: { _i: "198-" + $31 }
  24969. }),
  24970. _c("text", [
  24971. _vm._v(
  24972. _vm._$s(
  24973. "199-" + $31,
  24974. "t0-0",
  24975. _vm._s(item.average_profit)
  24976. )
  24977. )
  24978. ])
  24979. ]
  24980. ),
  24981. _vm._$s(
  24982. "200-" + $31,
  24983. "i",
  24984. item.tab_name == "未骑行"
  24985. )
  24986. ? _c(
  24987. "view",
  24988. {
  24989. staticClass: _vm._$s(
  24990. "200-" + $31,
  24991. "sc",
  24992. "user-tag1"
  24993. ),
  24994. attrs: { _i: "200-" + $31 }
  24995. },
  24996. [
  24997. _vm._v(
  24998. _vm._$s(
  24999. "200-" + $31,
  25000. "t0-0",
  25001. _vm._s(item.tab_name)
  25002. )
  25003. )
  25004. ]
  25005. )
  25006. : _vm._e(),
  25007. _vm._$s(
  25008. "201-" + $31,
  25009. "i",
  25010. item.tab_name == "中控离线"
  25011. )
  25012. ? _c(
  25013. "view",
  25014. {
  25015. staticClass: _vm._$s(
  25016. "201-" + $31,
  25017. "sc",
  25018. "user-tag1"
  25019. ),
  25020. attrs: { _i: "201-" + $31 }
  25021. },
  25022. [
  25023. _vm._v(
  25024. _vm._$s(
  25025. "201-" + $31,
  25026. "t0-0",
  25027. _vm._s(item.tab_name)
  25028. )
  25029. )
  25030. ]
  25031. )
  25032. : _vm._e(),
  25033. _vm._$s(
  25034. "202-" + $31,
  25035. "i",
  25036. item.tab_name == "未投放"
  25037. )
  25038. ? _c(
  25039. "view",
  25040. {
  25041. staticClass: _vm._$s(
  25042. "202-" + $31,
  25043. "sc",
  25044. "user-tag1"
  25045. ),
  25046. attrs: { _i: "202-" + $31 }
  25047. },
  25048. [
  25049. _vm._v(
  25050. _vm._$s(
  25051. "202-" + $31,
  25052. "t0-0",
  25053. _vm._s(item.tab_name)
  25054. )
  25055. )
  25056. ]
  25057. )
  25058. : _vm._e(),
  25059. _vm._$s(
  25060. "203-" + $31,
  25061. "i",
  25062. item.tab_name == "低电量"
  25063. )
  25064. ? _c(
  25065. "view",
  25066. {
  25067. staticClass: _vm._$s(
  25068. "203-" + $31,
  25069. "sc",
  25070. "user-tag1"
  25071. ),
  25072. attrs: { _i: "203-" + $31 }
  25073. },
  25074. [
  25075. _vm._v(
  25076. _vm._$s(
  25077. "203-" + $31,
  25078. "t0-0",
  25079. _vm._s(item.tab_name)
  25080. )
  25081. )
  25082. ]
  25083. )
  25084. : _vm._e(),
  25085. _vm._$s(
  25086. "204-" + $31,
  25087. "i",
  25088. item.tab_name == "骑行中"
  25089. )
  25090. ? _c(
  25091. "view",
  25092. {
  25093. staticClass: _vm._$s(
  25094. "204-" + $31,
  25095. "sc",
  25096. "user-tag1"
  25097. ),
  25098. attrs: { _i: "204-" + $31 }
  25099. },
  25100. [
  25101. _vm._v(
  25102. _vm._$s(
  25103. "204-" + $31,
  25104. "t0-0",
  25105. _vm._s(item.tab_name)
  25106. )
  25107. )
  25108. ]
  25109. )
  25110. : _vm._e(),
  25111. _vm._$s(
  25112. "205-" + $31,
  25113. "i",
  25114. item.tab_name == "不在停车区"
  25115. )
  25116. ? _c(
  25117. "view",
  25118. {
  25119. staticClass: _vm._$s(
  25120. "205-" + $31,
  25121. "sc",
  25122. "user-tag1"
  25123. ),
  25124. attrs: { _i: "205-" + $31 }
  25125. },
  25126. [
  25127. _vm._v(
  25128. _vm._$s(
  25129. "205-" + $31,
  25130. "t0-0",
  25131. _vm._s(item.tab_name)
  25132. )
  25133. )
  25134. ]
  25135. )
  25136. : _vm._e(),
  25137. _vm._$s(
  25138. "206-" + $31,
  25139. "i",
  25140. item.tab_name == "故障"
  25141. )
  25142. ? _c(
  25143. "view",
  25144. {
  25145. staticClass: _vm._$s(
  25146. "206-" + $31,
  25147. "sc",
  25148. "user-tag1"
  25149. ),
  25150. attrs: { _i: "206-" + $31 }
  25151. },
  25152. [
  25153. _vm._v(
  25154. _vm._$s(
  25155. "206-" + $31,
  25156. "t0-0",
  25157. _vm._s(item.tab_name)
  25158. )
  25159. )
  25160. ]
  25161. )
  25162. : _vm._e(),
  25163. _vm._$s(
  25164. "207-" + $31,
  25165. "i",
  25166. item.tab_name == "故障下线"
  25167. )
  25168. ? _c(
  25169. "view",
  25170. {
  25171. staticClass: _vm._$s(
  25172. "207-" + $31,
  25173. "sc",
  25174. "user-tag1"
  25175. ),
  25176. attrs: { _i: "207-" + $31 }
  25177. },
  25178. [
  25179. _vm._v(
  25180. _vm._$s(
  25181. "207-" + $31,
  25182. "t0-0",
  25183. _vm._s(item.tab_name)
  25184. )
  25185. )
  25186. ]
  25187. )
  25188. : _vm._e()
  25189. ]
  25190. ),
  25191. _c(
  25192. "view",
  25193. {
  25194. staticClass: _vm._$s(
  25195. "208-" + $31,
  25196. "sc",
  25197. "bike-right"
  25198. ),
  25199. attrs: { _i: "208-" + $31 }
  25200. },
  25201. [
  25202. _c("image", {
  25203. attrs: { _i: "209-" + $31 }
  25204. })
  25205. ]
  25206. )
  25207. ]
  25208. )
  25209. }
  25210. ),
  25211. 0
  25212. )
  25213. ]
  25214. )
  25215. ]
  25216. )
  25217. ]
  25218. ),
  25219. _c(
  25220. "swiper-item",
  25221. {
  25222. staticClass: _vm._$s(210, "sc", "swiper-item"),
  25223. attrs: { _i: 210 }
  25224. },
  25225. [
  25226. _c(
  25227. "scroll-view",
  25228. {
  25229. style: _vm._$s(211, "s", {
  25230. height: _vm.mainHeight - 110 + "px"
  25231. }),
  25232. attrs: { _i: 211 },
  25233. on: { scrolltolower: _vm.scrolltolower }
  25234. },
  25235. [
  25236. _c(
  25237. "view",
  25238. {
  25239. staticClass: _vm._$s(212, "sc", "out-content"),
  25240. attrs: { _i: 212 }
  25241. },
  25242. [
  25243. _c(
  25244. "view",
  25245. {
  25246. staticClass: _vm._$s(213, "sc", "list"),
  25247. attrs: { _i: 213 }
  25248. },
  25249. [
  25250. _c(
  25251. "view",
  25252. {
  25253. staticClass: _vm._$s(214, "sc", "all-list-top"),
  25254. attrs: { _i: 214 }
  25255. },
  25256. [
  25257. _c(
  25258. "view",
  25259. {
  25260. staticClass: _vm._$s(
  25261. 215,
  25262. "sc",
  25263. "all-top-left"
  25264. ),
  25265. attrs: { _i: 215 }
  25266. },
  25267. [
  25268. _c("image", { attrs: { _i: 216 } }),
  25269. _c(
  25270. "view",
  25271. {
  25272. staticClass: _vm._$s(
  25273. 217,
  25274. "sc",
  25275. "all-list-title"
  25276. ),
  25277. attrs: { _i: 217 }
  25278. },
  25279. [
  25280. _c("text"),
  25281. _c("text", [
  25282. _vm._v(
  25283. _vm._$s(
  25284. 219,
  25285. "t0-0",
  25286. _vm._s(_vm.order.today_add_money)
  25287. )
  25288. )
  25289. ])
  25290. ]
  25291. )
  25292. ]
  25293. )
  25294. ]
  25295. ),
  25296. _c(
  25297. "view",
  25298. {
  25299. staticClass: _vm._$s(
  25300. 220,
  25301. "sc",
  25302. "all-list-content"
  25303. ),
  25304. attrs: { _i: 220 }
  25305. },
  25306. [
  25307. _c(
  25308. "view",
  25309. {
  25310. staticClass: _vm._$s(
  25311. 221,
  25312. "sc",
  25313. "content-child"
  25314. ),
  25315. attrs: { _i: 221 }
  25316. },
  25317. [
  25318. _c("view", {
  25319. staticClass: _vm._$s(
  25320. 222,
  25321. "sc",
  25322. "first-child"
  25323. ),
  25324. attrs: { _i: 222 }
  25325. }),
  25326. _c(
  25327. "view",
  25328. {
  25329. staticClass: _vm._$s(
  25330. 223,
  25331. "sc",
  25332. "second-child"
  25333. ),
  25334. attrs: { _i: 223 }
  25335. },
  25336. [
  25337. _vm._v(
  25338. _vm._$s(
  25339. 223,
  25340. "t0-0",
  25341. _vm._s(_vm.order.today_add_order)
  25342. )
  25343. )
  25344. ]
  25345. )
  25346. ]
  25347. ),
  25348. _c(
  25349. "view",
  25350. {
  25351. staticClass: _vm._$s(
  25352. 224,
  25353. "sc",
  25354. "content-child"
  25355. ),
  25356. attrs: { _i: 224 },
  25357. on: {
  25358. click: function($event) {
  25359. return _vm.localscreen(
  25360. _vm.curPage == 1
  25361. ? "normal_riding=1"
  25362. : "rent_riding=1"
  25363. )
  25364. }
  25365. }
  25366. },
  25367. [
  25368. _c("view", {
  25369. staticClass: _vm._$s(
  25370. 225,
  25371. "sc",
  25372. "first-child"
  25373. ),
  25374. attrs: { _i: 225 }
  25375. }),
  25376. _c(
  25377. "view",
  25378. {
  25379. staticClass: _vm._$s(
  25380. 226,
  25381. "sc",
  25382. "second-child"
  25383. ),
  25384. attrs: { _i: 226 }
  25385. },
  25386. [
  25387. _vm._v(
  25388. _vm._$s(
  25389. 226,
  25390. "t0-0",
  25391. _vm._s(_vm.order.riding_order)
  25392. )
  25393. )
  25394. ]
  25395. )
  25396. ]
  25397. )
  25398. ]
  25399. )
  25400. ]
  25401. ),
  25402. _c(
  25403. "view",
  25404. {
  25405. staticClass: _vm._$s(227, "sc", "order-bottom"),
  25406. attrs: { _i: 227 }
  25407. },
  25408. [
  25409. _c("view", {
  25410. staticClass: _vm._$s(
  25411. 228,
  25412. "sc",
  25413. "order-bottom-left"
  25414. ),
  25415. class: _vm._$s(
  25416. 228,
  25417. "c",
  25418. _vm.curPage == 1 ? "active" : ""
  25419. ),
  25420. attrs: { _i: 228 },
  25421. on: { click: _vm.normalOrder }
  25422. }),
  25423. _c("view", {
  25424. staticClass: _vm._$s(
  25425. 229,
  25426. "sc",
  25427. "order-bottom-right"
  25428. ),
  25429. class: _vm._$s(
  25430. 229,
  25431. "c",
  25432. _vm.curPage == 2 ? "active" : ""
  25433. ),
  25434. attrs: { _i: 229 },
  25435. on: { click: _vm.dayOrder }
  25436. })
  25437. ]
  25438. ),
  25439. _vm._l(
  25440. _vm._$s(230, "f", { forItems: _vm.orderList }),
  25441. function(item, index2, $22, $32) {
  25442. return _c(
  25443. "view",
  25444. {
  25445. key: _vm._$s(230, "f", {
  25446. forIndex: $22,
  25447. key: index2
  25448. }),
  25449. staticClass: _vm._$s(
  25450. "230-" + $32,
  25451. "sc",
  25452. "order-list"
  25453. ),
  25454. attrs: { _i: "230-" + $32 },
  25455. on: {
  25456. click: function($event) {
  25457. return _vm.orderDetail(item.id)
  25458. }
  25459. }
  25460. },
  25461. [
  25462. _c(
  25463. "text",
  25464. {
  25465. staticClass: _vm._$s(
  25466. "231-" + $32,
  25467. "sc",
  25468. "order-bike-num"
  25469. ),
  25470. attrs: { _i: "231-" + $32 }
  25471. },
  25472. [
  25473. _vm._v(
  25474. _vm._$s(
  25475. "231-" + $32,
  25476. "t0-0",
  25477. _vm._s(item.bike_no)
  25478. )
  25479. )
  25480. ]
  25481. ),
  25482. _c(
  25483. "view",
  25484. {
  25485. staticClass: _vm._$s(
  25486. "232-" + $32,
  25487. "sc",
  25488. "order-user"
  25489. ),
  25490. attrs: { _i: "232-" + $32 }
  25491. },
  25492. [
  25493. _c(
  25494. "text",
  25495. {
  25496. staticClass: _vm._$s(
  25497. "233-" + $32,
  25498. "sc",
  25499. "order-user-name"
  25500. ),
  25501. attrs: { _i: "233-" + $32 }
  25502. },
  25503. [
  25504. _vm._v(
  25505. _vm._$s(
  25506. "233-" + $32,
  25507. "t0-0",
  25508. _vm._s(item.nickname)
  25509. )
  25510. )
  25511. ]
  25512. ),
  25513. _c(
  25514. "text",
  25515. {
  25516. staticClass: _vm._$s(
  25517. "234-" + $32,
  25518. "sc",
  25519. "order-user-phone"
  25520. ),
  25521. attrs: { _i: "234-" + $32 },
  25522. on: {
  25523. click: function($event) {
  25524. $event.stopPropagation()
  25525. return _vm.phoneCall(item.mobile)
  25526. }
  25527. }
  25528. },
  25529. [
  25530. _vm._v(
  25531. _vm._$s(
  25532. "234-" + $32,
  25533. "t0-0",
  25534. _vm._s(item.mobile)
  25535. )
  25536. )
  25537. ]
  25538. )
  25539. ]
  25540. ),
  25541. _c(
  25542. "text",
  25543. {
  25544. staticClass: _vm._$s(
  25545. "235-" + $32,
  25546. "sc",
  25547. "order-time"
  25548. ),
  25549. attrs: { _i: "235-" + $32 }
  25550. },
  25551. [
  25552. _vm._v(
  25553. _vm._$s(
  25554. "235-" + $32,
  25555. "t0-0",
  25556. _vm._s(item.start_use_bike_time)
  25557. ) +
  25558. _vm._$s(
  25559. "235-" + $32,
  25560. "t0-1",
  25561. _vm._s(item.end_use_bike_time)
  25562. )
  25563. )
  25564. ]
  25565. ),
  25566. _vm._$s(
  25567. "236-" + $32,
  25568. "i",
  25569. item.orders_status == "骑行中"
  25570. )
  25571. ? _c(
  25572. "view",
  25573. {
  25574. staticClass: _vm._$s(
  25575. "236-" + $32,
  25576. "sc",
  25577. "user-tag1"
  25578. ),
  25579. attrs: { _i: "236-" + $32 }
  25580. },
  25581. [
  25582. _vm._v(
  25583. _vm._$s(
  25584. "236-" + $32,
  25585. "t0-0",
  25586. _vm._s(item.orders_status)
  25587. )
  25588. )
  25589. ]
  25590. )
  25591. : _vm._e(),
  25592. _vm._$s(
  25593. "237-" + $32,
  25594. "i",
  25595. item.orders_status == "订单关闭"
  25596. )
  25597. ? _c(
  25598. "view",
  25599. {
  25600. staticClass: _vm._$s(
  25601. "237-" + $32,
  25602. "sc",
  25603. "user-tag1"
  25604. ),
  25605. attrs: { _i: "237-" + $32 }
  25606. },
  25607. [
  25608. _vm._v(
  25609. _vm._$s(
  25610. "237-" + $32,
  25611. "t0-0",
  25612. _vm._s(item.orders_status)
  25613. )
  25614. )
  25615. ]
  25616. )
  25617. : _vm._e(),
  25618. _vm._$s(
  25619. "238-" + $32,
  25620. "i",
  25621. item.orders_status == "已完成"
  25622. )
  25623. ? _c(
  25624. "view",
  25625. {
  25626. staticClass: _vm._$s(
  25627. "238-" + $32,
  25628. "sc",
  25629. "user-tag1"
  25630. ),
  25631. attrs: { _i: "238-" + $32 }
  25632. },
  25633. [
  25634. _vm._v(
  25635. _vm._$s(
  25636. "238-" + $32,
  25637. "t0-0",
  25638. _vm._s(item.orders_status)
  25639. )
  25640. )
  25641. ]
  25642. )
  25643. : _vm._e(),
  25644. _vm._$s(
  25645. "239-" + $32,
  25646. "i",
  25647. item.orders_status == "待支付"
  25648. )
  25649. ? _c(
  25650. "view",
  25651. {
  25652. staticClass: _vm._$s(
  25653. "239-" + $32,
  25654. "sc",
  25655. "user-tag1"
  25656. ),
  25657. attrs: { _i: "239-" + $32 }
  25658. },
  25659. [
  25660. _vm._v(
  25661. _vm._$s(
  25662. "239-" + $32,
  25663. "t0-0",
  25664. _vm._s(item.orders_status)
  25665. )
  25666. )
  25667. ]
  25668. )
  25669. : _vm._e(),
  25670. _vm._$s(
  25671. "240-" + $32,
  25672. "i",
  25673. item.orders_status == "临时停车"
  25674. )
  25675. ? _c(
  25676. "view",
  25677. {
  25678. staticClass: _vm._$s(
  25679. "240-" + $32,
  25680. "sc",
  25681. "user-tag1"
  25682. ),
  25683. attrs: { _i: "240-" + $32 }
  25684. },
  25685. [
  25686. _vm._v(
  25687. _vm._$s(
  25688. "240-" + $32,
  25689. "t0-0",
  25690. _vm._s(item.orders_status)
  25691. )
  25692. )
  25693. ]
  25694. )
  25695. : _vm._e(),
  25696. _vm._$s(
  25697. "241-" + $32,
  25698. "i",
  25699. item.orders_status == "租车中"
  25700. )
  25701. ? _c(
  25702. "view",
  25703. {
  25704. staticClass: _vm._$s(
  25705. "241-" + $32,
  25706. "sc",
  25707. "user-tag1"
  25708. ),
  25709. attrs: { _i: "241-" + $32 }
  25710. },
  25711. [
  25712. _vm._v(
  25713. _vm._$s(
  25714. "241-" + $32,
  25715. "t0-0",
  25716. _vm._s(item.orders_status)
  25717. )
  25718. )
  25719. ]
  25720. )
  25721. : _vm._e(),
  25722. _vm._$s(
  25723. "242-" + $32,
  25724. "i",
  25725. item.orders_status == "租车结束,待支付"
  25726. )
  25727. ? _c(
  25728. "view",
  25729. {
  25730. staticClass: _vm._$s(
  25731. "242-" + $32,
  25732. "sc",
  25733. "user-tag1"
  25734. ),
  25735. attrs: { _i: "242-" + $32 }
  25736. },
  25737. [
  25738. _vm._v(
  25739. _vm._$s(
  25740. "242-" + $32,
  25741. "t0-0",
  25742. _vm._s(item.orders_status)
  25743. )
  25744. )
  25745. ]
  25746. )
  25747. : _vm._e()
  25748. ]
  25749. )
  25750. }
  25751. ),
  25752. _vm._$s(243, "i", _vm.orderList.length == 0)
  25753. ? _c(
  25754. "view",
  25755. {
  25756. staticClass: _vm._$s(
  25757. 243,
  25758. "sc",
  25759. "noData noOrder"
  25760. ),
  25761. attrs: { _i: 243 }
  25762. },
  25763. [_c("image", { attrs: { _i: 244 } }), _c("view")]
  25764. )
  25765. : _vm._e()
  25766. ],
  25767. 2
  25768. )
  25769. ]
  25770. )
  25771. ]
  25772. ),
  25773. _c(
  25774. "swiper-item",
  25775. {
  25776. staticClass: _vm._$s(246, "sc", "swiper-item"),
  25777. attrs: { _i: 246 }
  25778. },
  25779. [
  25780. _c(
  25781. "view",
  25782. {
  25783. staticClass: _vm._$s(247, "sc", "bike"),
  25784. style: _vm._$s(247, "s", {
  25785. height: _vm.mainHeight - 110 + "px"
  25786. }),
  25787. attrs: { _i: 247 }
  25788. },
  25789. [
  25790. _c(
  25791. "view",
  25792. {
  25793. staticClass: _vm._$s(248, "sc", "out-content"),
  25794. attrs: { _i: 248 }
  25795. },
  25796. _vm._l(
  25797. _vm._$s(249, "f", { forItems: _vm.work_orderList }),
  25798. function(item, index3, $23, $33) {
  25799. return _c(
  25800. "view",
  25801. {
  25802. key: _vm._$s(249, "f", {
  25803. forIndex: $23,
  25804. key: index3
  25805. }),
  25806. staticClass: _vm._$s(
  25807. "249-" + $33,
  25808. "sc",
  25809. "bike-list"
  25810. ),
  25811. attrs: { _i: "249-" + $33 },
  25812. on: {
  25813. click: function($event) {
  25814. return _vm.workDetail(item.id)
  25815. }
  25816. }
  25817. },
  25818. [
  25819. _c(
  25820. "view",
  25821. {
  25822. staticClass: _vm._$s(
  25823. "250-" + $33,
  25824. "sc",
  25825. "work-list-left"
  25826. ),
  25827. attrs: { _i: "250-" + $33 }
  25828. },
  25829. [
  25830. _c(
  25831. "view",
  25832. {
  25833. staticClass: _vm._$s(
  25834. "251-" + $33,
  25835. "sc",
  25836. "work-title"
  25837. ),
  25838. attrs: { _i: "251-" + $33 }
  25839. },
  25840. [
  25841. _vm._v(
  25842. _vm._$s(
  25843. "251-" + $33,
  25844. "t0-0",
  25845. _vm._s(item.type_name)
  25846. )
  25847. )
  25848. ]
  25849. ),
  25850. _c("view", [
  25851. _vm._v(
  25852. _vm._$s(
  25853. "252-" + $33,
  25854. "t0-0",
  25855. _vm._s(item.worker)
  25856. )
  25857. )
  25858. ]),
  25859. _c("view", [
  25860. _vm._v(
  25861. _vm._$s(
  25862. "253-" + $33,
  25863. "t0-0",
  25864. _vm._s(item.bike_no)
  25865. )
  25866. )
  25867. ]),
  25868. _c("view", [
  25869. _vm._v(
  25870. _vm._$s(
  25871. "254-" + $33,
  25872. "t0-0",
  25873. _vm._s(item.created_at)
  25874. )
  25875. )
  25876. ])
  25877. ]
  25878. ),
  25879. _c(
  25880. "view",
  25881. {
  25882. staticClass: _vm._$s(
  25883. "255-" + $33,
  25884. "sc",
  25885. "work-list-right"
  25886. ),
  25887. attrs: { _i: "255-" + $33 }
  25888. },
  25889. [
  25890. _c("view", [
  25891. _c("text"),
  25892. _vm._$s(
  25893. "258-" + $33,
  25894. "i",
  25895. item.planned == "已完成"
  25896. )
  25897. ? _c("text", [
  25898. _vm._v(
  25899. _vm._$s(
  25900. "258-" + $33,
  25901. "t0-0",
  25902. _vm._s(item.planned)
  25903. )
  25904. )
  25905. ])
  25906. : _vm._e(),
  25907. _vm._$s(
  25908. "259-" + $33,
  25909. "i",
  25910. item.planned == "待接单"
  25911. )
  25912. ? _c("text", [
  25913. _vm._v(
  25914. _vm._$s(
  25915. "259-" + $33,
  25916. "t0-0",
  25917. _vm._s(item.planned)
  25918. )
  25919. )
  25920. ])
  25921. : _vm._e(),
  25922. _vm._$s(
  25923. "260-" + $33,
  25924. "i",
  25925. item.planned == "处理中"
  25926. )
  25927. ? _c("text", [
  25928. _vm._v(
  25929. _vm._$s(
  25930. "260-" + $33,
  25931. "t0-0",
  25932. _vm._s(item.planned)
  25933. )
  25934. )
  25935. ])
  25936. : _vm._e(),
  25937. _vm._$s(
  25938. "261-" + $33,
  25939. "i",
  25940. item.planned == "已处理"
  25941. )
  25942. ? _c("text", [
  25943. _vm._v(
  25944. _vm._$s(
  25945. "261-" + $33,
  25946. "t0-0",
  25947. _vm._s(item.planned)
  25948. )
  25949. )
  25950. ])
  25951. : _vm._e()
  25952. ]),
  25953. _c("view", [
  25954. _c("text"),
  25955. _c("text", [
  25956. _vm._v(
  25957. _vm._$s(
  25958. "264-" + $33,
  25959. "t0-0",
  25960. _vm._s(item.source)
  25961. )
  25962. )
  25963. ])
  25964. ])
  25965. ]
  25966. ),
  25967. _vm._$s(
  25968. "265-" + $33,
  25969. "i",
  25970. item.type_name == "充电工单"
  25971. )
  25972. ? _c(
  25973. "view",
  25974. {
  25975. staticClass: _vm._$s(
  25976. "265-" + $33,
  25977. "sc",
  25978. "user-tag"
  25979. ),
  25980. attrs: { _i: "265-" + $33 }
  25981. },
  25982. [
  25983. _vm._v(
  25984. _vm._$s(
  25985. "265-" + $33,
  25986. "t0-0",
  25987. _vm._s(item.type_name)
  25988. )
  25989. )
  25990. ]
  25991. )
  25992. : _vm._e(),
  25993. _vm._$s(
  25994. "266-" + $33,
  25995. "i",
  25996. item.type_name == "断电工单"
  25997. )
  25998. ? _c(
  25999. "view",
  26000. {
  26001. staticClass: _vm._$s(
  26002. "266-" + $33,
  26003. "sc",
  26004. "user-tag"
  26005. ),
  26006. attrs: { _i: "266-" + $33 }
  26007. },
  26008. [
  26009. _vm._v(
  26010. _vm._$s(
  26011. "266-" + $33,
  26012. "t0-0",
  26013. _vm._s(item.type_name)
  26014. )
  26015. )
  26016. ]
  26017. )
  26018. : _vm._e(),
  26019. _vm._$s(
  26020. "267-" + $33,
  26021. "i",
  26022. item.type_name == "组长工单"
  26023. )
  26024. ? _c(
  26025. "view",
  26026. {
  26027. staticClass: _vm._$s(
  26028. "267-" + $33,
  26029. "sc",
  26030. "user-tag"
  26031. ),
  26032. attrs: { _i: "267-" + $33 }
  26033. },
  26034. [
  26035. _vm._v(
  26036. _vm._$s(
  26037. "267-" + $33,
  26038. "t0-0",
  26039. _vm._s(item.type_name)
  26040. )
  26041. )
  26042. ]
  26043. )
  26044. : _vm._e(),
  26045. _vm._$s(
  26046. "268-" + $33,
  26047. "i",
  26048. item.type_name == "偷盗工单"
  26049. )
  26050. ? _c(
  26051. "view",
  26052. {
  26053. staticClass: _vm._$s(
  26054. "268-" + $33,
  26055. "sc",
  26056. "user-tag"
  26057. ),
  26058. attrs: { _i: "268-" + $33 }
  26059. },
  26060. [
  26061. _vm._v(
  26062. _vm._$s(
  26063. "268-" + $33,
  26064. "t0-0",
  26065. _vm._s(item.type_name)
  26066. )
  26067. )
  26068. ]
  26069. )
  26070. : _vm._e(),
  26071. _vm._$s(
  26072. "269-" + $33,
  26073. "i",
  26074. item.type_name == "离线工单"
  26075. )
  26076. ? _c(
  26077. "view",
  26078. {
  26079. staticClass: _vm._$s(
  26080. "269-" + $33,
  26081. "sc",
  26082. "user-tag"
  26083. ),
  26084. attrs: { _i: "269-" + $33 }
  26085. },
  26086. [
  26087. _vm._v(
  26088. _vm._$s(
  26089. "269-" + $33,
  26090. "t0-0",
  26091. _vm._s(item.type_name)
  26092. )
  26093. )
  26094. ]
  26095. )
  26096. : _vm._e(),
  26097. _vm._$s(
  26098. "270-" + $33,
  26099. "i",
  26100. item.type_name == "救援工单"
  26101. )
  26102. ? _c(
  26103. "view",
  26104. {
  26105. staticClass: _vm._$s(
  26106. "270-" + $33,
  26107. "sc",
  26108. "user-tag"
  26109. ),
  26110. attrs: { _i: "270-" + $33 }
  26111. },
  26112. [
  26113. _vm._v(
  26114. _vm._$s(
  26115. "270-" + $33,
  26116. "t0-0",
  26117. _vm._s(item.type_name)
  26118. )
  26119. )
  26120. ]
  26121. )
  26122. : _vm._e(),
  26123. _vm._$s(
  26124. "271-" + $33,
  26125. "i",
  26126. item.type_name == "警报工单"
  26127. )
  26128. ? _c(
  26129. "view",
  26130. {
  26131. staticClass: _vm._$s(
  26132. "271-" + $33,
  26133. "sc",
  26134. "user-tag"
  26135. ),
  26136. attrs: { _i: "271-" + $33 }
  26137. },
  26138. [
  26139. _vm._v(
  26140. _vm._$s(
  26141. "271-" + $33,
  26142. "t0-0",
  26143. _vm._s(item.type_name)
  26144. )
  26145. )
  26146. ]
  26147. )
  26148. : _vm._e(),
  26149. _vm._$s(
  26150. "272-" + $33,
  26151. "i",
  26152. item.type_name == "故障工单"
  26153. )
  26154. ? _c(
  26155. "view",
  26156. {
  26157. staticClass: _vm._$s(
  26158. "272-" + $33,
  26159. "sc",
  26160. "user-tag"
  26161. ),
  26162. attrs: { _i: "272-" + $33 }
  26163. },
  26164. [
  26165. _vm._v(
  26166. _vm._$s(
  26167. "272-" + $33,
  26168. "t0-0",
  26169. _vm._s(item.type_name)
  26170. )
  26171. )
  26172. ]
  26173. )
  26174. : _vm._e(),
  26175. _vm._$s(
  26176. "273-" + $33,
  26177. "i",
  26178. item.type_name == "其他工单"
  26179. )
  26180. ? _c(
  26181. "view",
  26182. {
  26183. staticClass: _vm._$s(
  26184. "273-" + $33,
  26185. "sc",
  26186. "user-tag"
  26187. ),
  26188. attrs: { _i: "273-" + $33 }
  26189. },
  26190. [
  26191. _vm._v(
  26192. _vm._$s(
  26193. "273-" + $33,
  26194. "t0-0",
  26195. _vm._s(item.type_name)
  26196. )
  26197. )
  26198. ]
  26199. )
  26200. : _vm._e(),
  26201. _vm._$s(
  26202. "274-" + $33,
  26203. "i",
  26204. item.type_name == "查看工单"
  26205. )
  26206. ? _c(
  26207. "view",
  26208. {
  26209. staticClass: _vm._$s(
  26210. "274-" + $33,
  26211. "sc",
  26212. "user-tag"
  26213. ),
  26214. attrs: { _i: "274-" + $33 }
  26215. },
  26216. [
  26217. _vm._v(
  26218. _vm._$s(
  26219. "274-" + $33,
  26220. "t0-0",
  26221. _vm._s(item.type_name)
  26222. )
  26223. )
  26224. ]
  26225. )
  26226. : _vm._e()
  26227. ]
  26228. )
  26229. }
  26230. ),
  26231. 0
  26232. )
  26233. ]
  26234. )
  26235. ]
  26236. )
  26237. ]
  26238. )
  26239. ])
  26240. ]
  26241. )
  26242. }
  26243. var recyclableRender = false
  26244. var staticRenderFns = []
  26245. render._withStripped = true
  26246. /***/ }),
  26247. <<<<<<< HEAD
  26248. /* 216 */
  26249. /*!************************************************!*\
  26250. !*** C:/Users/001/Desktop/运维端/static/down.png ***!
  26251. \************************************************/
  26252. =======
  26253. /* 50 */
  26254. /*!*************************************************************!*\
  26255. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/down.png ***!
  26256. \*************************************************************/
  26257. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26258. /*! no static exports found */
  26259. /***/ (function(module, exports) {
  26260. eval("module.exports = \"/static/down.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIxNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2Rvd24ucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///216\n");
  26261. /***/ }),
  26262. <<<<<<< HEAD
  26263. /* 217 */
  26264. /*!********************************************************!*\
  26265. !*** C:/Users/001/Desktop/运维端/static/img/new/user.png ***!
  26266. \********************************************************/
  26267. =======
  26268. /* 51 */
  26269. /*!*********************************************************************!*\
  26270. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/new/user.png ***!
  26271. \*********************************************************************/
  26272. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26273. /*! no static exports found */
  26274. /***/ (function(module, exports) {
  26275. eval("module.exports = \"/static/img/new/user.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIxNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9uZXcvdXNlci5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///217\n");
  26276. /***/ }),
  26277. <<<<<<< HEAD
  26278. /* 218 */
  26279. /*!********************************************************!*\
  26280. !*** C:/Users/001/Desktop/运维端/static/img/new/bike.png ***!
  26281. \********************************************************/
  26282. =======
  26283. /* 52 */
  26284. /*!*********************************************************************!*\
  26285. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/new/bike.png ***!
  26286. \*********************************************************************/
  26287. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26288. /*! no static exports found */
  26289. /***/ (function(module, exports) {
  26290. eval("module.exports = \"/static/img/new/bike.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIxOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9uZXcvYmlrZS5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///218\n");
  26291. /***/ }),
  26292. <<<<<<< HEAD
  26293. /* 219 */
  26294. /*!*********************************************************!*\
  26295. !*** C:/Users/001/Desktop/运维端/static/img/new/order.png ***!
  26296. \*********************************************************/
  26297. =======
  26298. /* 53 */
  26299. /*!**********************************************************************!*\
  26300. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/new/order.png ***!
  26301. \**********************************************************************/
  26302. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26303. /*! no static exports found */
  26304. /***/ (function(module, exports) {
  26305. eval("module.exports = \"/static/img/new/order.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIxOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9uZXcvb3JkZXIucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///219\n");
  26306. /***/ }),
  26307. <<<<<<< HEAD
  26308. /* 220 */
  26309. /*!**********************************************************!*\
  26310. !*** C:/Users/001/Desktop/运维端/static/img/new/income.png ***!
  26311. \**********************************************************/
  26312. =======
  26313. /* 54 */
  26314. /*!***********************************************************************!*\
  26315. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/new/income.png ***!
  26316. \***********************************************************************/
  26317. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26318. /*! no static exports found */
  26319. /***/ (function(module, exports) {
  26320. eval("module.exports = \"/static/img/new/income.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9uZXcvaW5jb21lLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///220\n");
  26321. /***/ }),
  26322. <<<<<<< HEAD
  26323. /* 221 */
  26324. /*!**************************************************************!*\
  26325. !*** C:/Users/001/Desktop/运维端/static/img/new/all-income.png ***!
  26326. \**************************************************************/
  26327. =======
  26328. /* 55 */
  26329. /*!***************************************************************************!*\
  26330. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/new/all-income.png ***!
  26331. \***************************************************************************/
  26332. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26333. /*! no static exports found */
  26334. /***/ (function(module, exports) {
  26335. eval("module.exports = \"/static/img/new/all-income.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIyMS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9uZXcvYWxsLWluY29tZS5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///221\n");
  26336. /***/ }),
  26337. <<<<<<< HEAD
  26338. /* 222 */
  26339. /*!***********************************************************!*\
  26340. !*** C:/Users/001/Desktop/运维端/static/img/new/gongdan.png ***!
  26341. \***********************************************************/
  26342. =======
  26343. /* 56 */
  26344. /*!************************************************************************!*\
  26345. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/new/gongdan.png ***!
  26346. \************************************************************************/
  26347. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26348. /*! no static exports found */
  26349. /***/ (function(module, exports) {
  26350. eval("module.exports = \"/static/img/new/gongdan.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIyMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9uZXcvZ29uZ2Rhbi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///222\n");
  26351. /***/ }),
  26352. <<<<<<< HEAD
  26353. /* 223 */
  26354. /*!*******************************************************!*\
  26355. !*** C:/Users/001/Desktop/运维端/static/img/manage1.png ***!
  26356. \*******************************************************/
  26357. =======
  26358. /* 57 */
  26359. /*!********************************************************************!*\
  26360. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/manage1.png ***!
  26361. \********************************************************************/
  26362. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26363. /*! no static exports found */
  26364. /***/ (function(module, exports) {
  26365. eval("module.exports = \"/static/img/manage1.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9tYW5hZ2UxLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///223\n");
  26366. /***/ }),
  26367. <<<<<<< HEAD
  26368. /* 224 */
  26369. /*!********************************************************************************************!*\
  26370. !*** C:/Users/001/Desktop/运维端/pages/manage/manage.vue?vue&type=script&lang=js&mpType=page ***!
  26371. \********************************************************************************************/
  26372. =======
  26373. /* 58 */
  26374. /*!*********************************************************************************************************!*\
  26375. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/manage.vue?vue&type=script&lang=js&mpType=page ***!
  26376. \*********************************************************************************************************/
  26377. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26378. /*! no static exports found */
  26379. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26380. "use strict";
  26381. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./manage.vue?vue&type=script&lang=js&mpType=page */ 225);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_manage_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTRpQixDQUFnQiwra0JBQUcsRUFBQyIsImZpbGUiOiIyMjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9tYW5hZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL21hbmFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///224\n");
  26382. /***/ }),
  26383. <<<<<<< HEAD
  26384. /* 225 */
  26385. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26386. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/manage.vue?vue&type=script&lang=js&mpType=page ***!
  26387. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26388. =======
  26389. /* 59 */
  26390. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26391. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/manage.vue?vue&type=script&lang=js&mpType=page ***!
  26392. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26393. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26394. /*! no static exports found */
  26395. /***/ (function(module, exports, __webpack_require__) {
  26396. "use strict";
  26397. <<<<<<< HEAD
  26398. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _swiperNavBar = _interopRequireDefault(__webpack_require__(/*! ../../component/nav/swiperNavBar.vue */ 226));\nvar _allAreatwo = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allAreatwo.vue */ 231));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var _default = { data: function data() {var _ref;return _ref = { swiperTabList: ['全部管理', '用户管理', '车辆管理', '订单管理', '工单管理'], //导航列表\n scrollIntoView: 0, //设置哪个方向可滚动,则在哪个方向滚动到该元素\n swiperTabIdx: 0, swiperCurrentSize: '30upx', //导航的字体大小\n swiperColor: '#424242', //导航栏字体未选中前颜色\n swiperCurrentColor: '#EB5E28', //选中当前导航栏字体颜色\n currentSwiperWidth: '25%', //当前导航的宽度 % upx rpx px (导航超出可左右滑动 )\n currentSwiperHeight: 70, //当前导航的高度度 rpx px\n mainHeight: 200, //全屏或者局部滑动设置的高度\n currentSwiperLineShow: true, //是否显示导航栏的线条 (线条距离标题太近的话可自行修改.swiperLine的css)\n currentSwiperLineActiveBg: '#EB5E28', //当前选中的导航栏线条颜色\n currentSwiperLineActiveWidth: '80upx', //当前选中的导航栏线条的宽度 upx rpx px\n currentSwiperLineActiveHeight: '8upx', //当前选中的导航栏线条的高度度 upx rpx px\n currentSwiperLineAnimatie: 300, //当前选中的导航栏线条过渡效果\n scrollTop: 0, item: '' }, _defineProperty(_ref, \"mainHeight\", 700), _defineProperty(_ref, \"index\", \"\"), _defineProperty(_ref, \"old\", { scrollTop: 0 }), _defineProperty(_ref, \"deposit_type\", 1), _defineProperty(_ref, \"state\", 1), _defineProperty(_ref, \"bike\", []), _defineProperty(_ref, \"work_order\", []), _defineProperty(_ref, \"user\", []), _defineProperty(_ref, \"orderProfit\", []), _defineProperty(_ref, \"order\", []), _defineProperty(_ref, \"bikeList\", []), _defineProperty(_ref, \"work_orderList\", []), _defineProperty(_ref, \"userList\", []), _defineProperty(_ref, \"orderProfitList\", []), _defineProperty(_ref, \"orderList\", []), _defineProperty(_ref, \"curPage\", 1), _defineProperty(_ref, \"name\", ''), _defineProperty(_ref, \"areaID\", ''), _defineProperty(_ref, \"list\", [{ //所有区域选项\n areaID: '', text: '全部区域', value: -1 }]), _defineProperty(_ref, \"value1\", 0), _defineProperty(_ref, \"homeHeight\", ''), _defineProperty(_ref, \"page\", 1), _defineProperty(_ref, \"userUrl\", ''), _defineProperty(_ref, \"curVal\", uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0), _ref;}, components: { swiperNavBar: _swiperNavBar.default, allAreatwo: _allAreatwo.default }, mounted: function mounted() {if (uni.getStorageSync('curVal')) {// let active = this.swiperTabIdx;\n // let areaId = uni.getStorageSync('curId');\n __f__(\"log\", \"这是初始加载数据\", \" at pages/manage/manage.vue:974\");this.allData(); // console.log(this.bike,\"这是车辆数据\")\n } else {this.areaID = this.list[0].areaID;__f__(\"log\", this.areaID, '12345678', \" at pages/manage/manage.vue:980\");this.allData();}}, onLoad: function onLoad() {var _this = this;var arr = uni.getStorageSync('allArea');this.list = this.list.concat(arr);__f__(\"log\", this.list, \" at pages/manage/manage.vue:988\"); // console.log(uin.getStorageSync('token'))\n uni.getSystemInfo({ success: function success(res) {__f__(\"log\", res, \"这是屏幕信息\", \" at pages/manage/manage.vue:992\");_this.mainHeight = res.windowHeight; // let info=uni.createSelectorQuery().select('.swiperMain');\n // info.boundingClientRect(function(data){\n // \tconsole.log(data,'这是组件数据')\n // }).exec(function(){\n // })\n } });}, // onReachBottom() {\n // \t\tconsole.log('触底事件')\n // \t\t// this.loadmore()\n // \t},\n // onReachBottom(){\n // \tconsole.log(\"这是触底事件222222\")\n // \t// // var that = this;\n // \t// uni.showLoading({\n // \t// \ttitle: '加载中121313',\n // \t// })\n // \t},\n methods: { scrolltolower: function scrolltolower() {__f__(\"log\", \"这是滚动触底时间\", \" at pages/manage/manage.vue:1018\");this.loadmore();}, //回到顶部\n // goTop: function(e) { // 一键回到顶部\n // \tif (uni.pageScrollTo) {\n // \t\tuni.pageScrollTo({\n // \t\t\tscrollTop: 0\n // \t\t})\n // \t}\n // },\n // onPullDownRefresh: function() {\n // \tuni.showNavigationBarLoading();\n // \tthis.getWork(), uni.hideNavigationBarLoading(), uni.stopPullDownRefresh();\n // },\n //弹框事件\n tanKuang: function tanKuang() {var that = this;var arr = [];for (var i = 0; i < this.list.length; i++) {arr = arr.concat(this.list[i].text);}__f__(\"log\", arr, \" at pages/manage/manage.vue:1044\");uni.showActionSheet({ itemList: arr, success: function success(res) {var index = res.tapIndex;that.areaID = that.list[index].areaID;that.curVal = res.tapIndex;__f__(\"log\", that.list[index].areaID, \"66666\", \" at pages/manage/manage.vue:1051\");__f__(\"log\", '选中了第' + res.tapIndex + '个按钮', \" at pages/manage/manage.vue:1052\");that.allData();that.tabList();}, fail: function fail(res) {} });}, // 触摸结束事件\n touchEnd: function touchEnd(e) {var that = this;var touchMoveX = e.changedTouches[0].pageX;var touchMoveY = e.changedTouches[0].pageY;var tmX = touchMoveX - touchDotX;var tmY = touchMoveY - touchDotY;if (time < 20) {var absX = Math.abs(tmX);var absY = Math.abs(tmY); // if (absX > 2 * absY) {\n if (absX > 40 && 2 * absY < 20) {if (tmX < 0) {if (this.swiperTabIdx >= 4) return;this.swiperTabIdx = this.swiperTabIdx + 1; // that.goTop();\n that.tabList();that.allData();} else {if (this.swiperTabIdx <= 0) return;this.swiperTabIdx = this.swiperTabIdx - 1;that.tabList();that.allData();}}}clearInterval(interval); // 清除setInterval\n time = 0;}, childMess: function childMess(e) {if (typeof e == \"number\") {} else {this.areaID = e.areaID;__f__(\"log\", e.areaID, '这是子组件穿过来的值', \" at pages/manage/manage.vue:1100\");}this.allData();this.tabList();}, //tab点击事件 自行完善需要的代码 \n // \tCurrentTab: function(e) {\n // \t\tthis.swiperTabIdx ==e.currentTarget.dataset.index;\n // \t\tthis.scrollIntoView = Math.max(0, index - 1)\n // \t\tconsole.log(uni.getStorageSync('curId'), \"这是点击之后的缓存\")\n // \t\tthis.tabList()\n // \t\tconsole.log(index + '----' + item, '这是用户点击之后的页面')\n // \t},\n CurrentTab: function CurrentTab(index, item) {// this.swiperTabIdx = e.currentTarget.dataset.index\n // this.navIndex = e.currentTarget.dataset.index\n // this.tabList()\n // console.log(this.swiperTabIdx, \"这是点击之后的时间\")\n this.swiperTabIdx = index;this.scrollIntoView = Math.max(0, index - 1);__f__(\"log\", index + '----' + item, \" at pages/manage/manage.vue:1124\");this.tabList();}, //全部管理页面跳转用户管理\n skipUser: function skipUser() {this.swiperTabIdx = 1;this.tabList();}, skipBike: function skipBike() {this.swiperTabIdx = 2;this.tabList();}, skipOrder: function skipOrder() {this.swiperTabIdx = 3;this.tabList();}, skipWork: function skipWork() {this.swiperTabIdx = 4;this.tabList();}, //车辆列表筛选\n //滑动事件 自行完善需要的代码\n SwiperChange: function SwiperChange(e) {this.swiperTabIdx = e.detail.current;this.scrollIntoView = Math.max(0, e.detail.current - 1);this.tabList();__f__(\"log\", e, \"这是滚动事件1256\", \" at pages/manage/manage.vue:1154\");}, //全部数据\n allData: function allData() {var _this2 = this; // uni.showLoading({\n // title: '加载中...',\n // })\n var active = this.swiperTabIdx;var areaId = this.areaID;var url = '';if (active == 0) {//所有数据\n if (areaId == '') {url = 'statistics/statistics';} else {url = 'statistics/statistics?put_area_id=' + areaId;}app.request(url, '', 'GET').then(function (res) {uni.hideLoading();if (res.statusCode == 200) {__f__(\"log\", res.data, '数据', \" at pages/manage/manage.vue:1175\");uni.hideLoading();_this2.user = res.data.userData, _this2.bike = res.data.bikeData, _this2.order = res.data.orderData, _this2.work_order = res.data.workOrderData, _this2.orderProfit = res.data.profitData, __f__(\"log\", _this2.user, '数据123456', \" at pages/manage/manage.vue:1182\");}});} else {if (active == 1) {//用户数据\n if (areaId == '') {url = 'user/userStatistics';} else {url = 'user/userStatistics?put_area_id=' + areaId;}} else if (active == 2) {//车辆数据\n if (areaId == '') {url = 'bike/statistics';} else {url = 'bike/statistics?put_area_id=' + areaId;}} else if (active == 3) {//订单数据\n if (areaId == '') {url = 'order/orderStatistics';} else {url = 'order/orderStatistics?put_area_id=' + areaId;}} else if (active == 4) {//工单数据\n if (areaId == '') {url = 'work_order/workOrderStatistics';} else {url = 'work_order/workOrderStatistics?put_area_id=' + areaId;}}app.request(url, '', 'GET').then(function (res) {if (res.statusCode == 200) {__f__(\"log\", res.data, '总数据', \" at pages/manage/manage.vue:1213\");uni.hideLoading();_this2.user = res.data, _this2.bike = res.data, _this2.order = res.data, _this2.work_order = res.data;}});}}, localscreen: function localscreen(e) {//车辆管理的局部筛选\n __f__(\"log\", e, 'hhh', \" at pages/manage/manage.vue:1226\");this.name = e;this.tabList();}, //列表数据\n tabList: function tabList() {var _this3 = this;var active = this.swiperTabIdx;var curPage = this.curPage;var url = '';var name = '';uni.showLoading({ title: '加载中...' }); //当前是全部管理不需要加载\n if (active == 0) {uni.hideLoading();return;}if (this.name != '') {name = '&&' + this.name;__f__(\"log\", name, 'zheshi name ', \" at pages/manage/manage.vue:1247\");}var data = '&&put_area_id=' + this.areaID;if (active == 1) {//用户\n url = 'user/list/?page=1'; // url = 'user/list'\n } else if (active == 2) {//车辆\n url = 'bike/list/?page=1';} else if (active == 3) {//订单\n if (curPage == 1) {url = 'order/list/?page=1';} else {url = 'orderRent/list/?page=1';}} else if (active == 4) {//工单\n url = 'work_order/list?page=1';}app.request(url + data + name, '', 'GET').then(function (res) {if (res.statusCode == 200) {__f__(\"log\", res.data, \" at pages/manage/manage.vue:1266\");uni.hideLoading();_this3.userList = res.data.data, _this3.bikeList = res.data.data, _this3.orderList = res.data.data, _this3.work_orderList = res.data.data;}});}, loadmore: function loadmore() {var _this4 = this; //上拉加载更多的公共方法\n __f__(\"log\", 'loadMore', \"这是触底时间\", \" at pages/manage/manage.vue:1279\"); // var that = this;\n var active = this.swiperTabIdx;if (active == 0) {//当前是全部管理不需要加载\n return;}uni.showLoading({ title: '加载中...' });var url = '';var page = this.page + 1;var data = '';var name = '';if (this.name != '') {name = '&' + this.name;}data = '&put_area_id=' + this.areaID;if (active == 1) {//用户管理\n url = 'user/list?page=' + this.userUrl;} else if (active == 2) {//车辆管理\n url = 'bike/list?page=';} else if (active == 3) {//订单管理\n if (this.curPage == 1) {url = 'order/list?page=';} else {url = 'orderRent/list?page=';}} else if (active == 4) {//工单管理\n url = 'work_order/list?page=';}app.request(url + page + data + name, '', 'GET').then(function (res) {if (res.statusCode == 200) {if (res.data.data.length > 0) {uni.hideLoading();_this4.page = page;if (active == 1) {_this4.userList = _this4.userList.concat(res.data.data);} else if (active == 2) {_this4.bikeList = _this4.bikeList.concat(res.data.data);} else if (active == 3) {_this4.orderList = _this4.orderList.concat(res.data.data);} else if (active == 4) {_this4.work_orderList = _this4.work_orderList.concat(res.data.data);}} else {uni.showToast({ title: '暂无更多数据', icon: 'none' });}}});}, //点击拨打电话\n phoneCall: function phoneCall(e) {uni.makePhoneCall({ phoneNumber: e });}, //普通订单\n normalOrder: function normalOrder() {this.curPage = 1;this.tabList();}, //日租订单\n dayOrder: function dayOrder() {this.curPage = 2;this.tabList();}, //跳转用户详情页面\n userDetail: function userDetail(e) {__f__(\"log\", e, '用户详情数据', \" at pages/manage/manage.vue:1365\");uni.navigateTo({ url: '/pages/manage/userDetail?id=' + e });}, bikeDetail: function bikeDetail(e, aa) {__f__(\"log\", e, \"这是车辆11111\", \" at pages/manage/manage.vue:1371\");__f__(\"log\", aa, \"这是车辆112222222222111\", \" at pages/manage/manage.vue:1372\");uni.navigateTo({ url: '/pages/index/bike_detail?id=' + e + '&bike_no=' + aa });}, //跳转订单详情页面\n orderDetail: function orderDetail(e) {uni.navigateTo({ url: '/pages/manage/orderDetail?id=' + e + '&index=' + this.curPage //普通订单和日租订单\n });}, //跳转工单管理页面\n workDetail: function workDetail(e) {uni.navigateTo({ url: '/pages/manage/workDetail?id=' + e });}, //点击跳转收益详情页面\n incomeDetail: function incomeDetail() {uni.navigateTo({ url: '/pages/manage/incomeDetail?areaId=' + this.areaID });} } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL21hbmFnZS52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMDRCQTtBQUNBLGlIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QSxxQ0FIQSxDQUtBLENBQ0EsQ0FYQSxFQVlBLENBcFFBLEVBcVFBLGtEQUNBO0FBQ0EsNkVBRkEsQ0FHQTtBQUNBLHFDQUNBLGtCQUNBO0FBQ0EsZUFDQSxDQUNBLGtCQUNBLGVBREEsSUFHQSxhQUNBLHlCQUNBLGNBQ0EsY0FDQSxzQkFDQSx1QkFDQSxDQUNBLHFDQUNBLGtCQUNBO0FBQ0EsK0NBQ0EsQ0FIQSxNQUdBLGtCQUNBO0FBQ0EsZ0NBQ0EsQ0FIQSxNQUdBLGtCQUNBO0FBQ0EsZ0NBQ0EseUJBQ0EsQ0FGQSxNQUVBLENBQ0EsNkJBQ0EsQ0FDQSxDQVBBLE1BT0Esa0JBQ0E7QUFDQSxzQ0FDQSxDQUNBLHNFQUNBLDRCQUNBLCtCQUNBLGtCQUVBLG1CQUVBLGtCQUVBLHdEQUVBLENBSkEsTUFJQSxrQkFFQSx3REFFQSxDQUpBLE1BSUEsa0JBRUEsMERBRUEsQ0FKQSxNQUlBLGtCQUVBLG9FQUVBLENBQ0EsQ0F0QkEsTUFzQkEsQ0FDQSxnQkFDQSxlQURBLEVBRUEsWUFGQSxJQUlBLENBQ0EsQ0FDQSxDQS9CQSxFQWdDQSxDQTFVQSxFQTJVQTtBQUNBLHNDQUNBLG9CQUNBLGNBREEsSUFHQSxDQWhWQSxFQWlWQTtBQUNBLHlDQUNBLGlCQUNBLGVBQ0EsQ0FyVkEsRUFzVkE7QUFDQSxtQ0FDQSxpQkFDQSxlQUNBLENBMVZBLEVBMlZBO0FBQ0Esd0NBQ0EsOERBQ0EsaUJBQ0EsdUNBREEsSUFHQSxDQWpXQSxFQWtXQSx3Q0FDQSxpRUFDQSw0RUFFQSxpQkFDQSwwREFEQSxJQUdBLENBeldBLEVBMFdBO0FBQ0EsMENBQ0EsaUJBQ0EsbUVBREEsQ0FDQTtBQURBLFNBSUEsQ0FoWEEsRUFpWEE7QUFDQSx3Q0FDQSxpQkFDQSx1Q0FEQSxJQUdBLENBdFhBLEVBdVhBO0FBQ0EsMkNBQ0EsaUJBQ0EsdURBREEsSUFHQSxDQTVYQSxFQTNHQSxFIiwiZmlsZSI6IjIyNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImJvZHlcIj5cclxuXHRcdDwhLS0gPGJ1dHRvbiB0eXBlPVwiZGVmYXVsdFwiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjogIzAwN0FGRjttYXJnaW4tdG9wOiAyMHVweDtcIiBAY2xpY2s9XCJ0YW5LdWFuZ1wiPuW6lemDqOW8ueahhjwvYnV0dG9uPiAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYWxsQXJlYVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImFyZWExXCI+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJhcmVhci10ZXh0XCIgQGNsaWNrPVwidGFuS3VhbmdcIj57e2xpc3RbY3VyVmFsXS50ZXh0fX08L3RleHQ+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9kb3duLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIFx0XHQ8YWxsQXJlYXR3byBAZ2V0Q2hpbGQ9XCJjaGlsZE1lc3NcIj48L2FsbEFyZWF0d28+IC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXJIZWFkXCI+XHJcblxyXG5cdFx0XHQ8IS0t57uE5Lu2LS0+XHJcblx0XHRcdDxzd2lwZXJOYXZCYXIgOnNjcm9sbEludG9WaWV3PVwic2Nyb2xsSW50b1ZpZXdcIiA6c3dpcGVyVGFiTGlzdD0nc3dpcGVyVGFiTGlzdCcgOnN3aXBlclRhYklkeD0nc3dpcGVyVGFiSWR4J1xyXG5cdFx0XHQgOmN1cnJlbnRTd2lwZXJXaWR0aD0nY3VycmVudFN3aXBlcldpZHRoJyA6Y3VycmVudFN3aXBlckhlaWdodD0nY3VycmVudFN3aXBlckhlaWdodCcgOnN3aXBlckN1cnJlbnRTaXplPSdzd2lwZXJDdXJyZW50U2l6ZSdcclxuXHRcdFx0IDpzd2lwZXJDb2xvcj0nc3dpcGVyQ29sb3InIDpzd2lwZXJDdXJyZW50Q29sb3I9J3N3aXBlckN1cnJlbnRDb2xvcicgOmN1cnJlbnRTd2lwZXJMaW5lU2hvdz1cImN1cnJlbnRTd2lwZXJMaW5lU2hvd1wiXHJcblx0XHRcdCA6Y3VycmVudFN3aXBlckxpbmVBY3RpdmVXaWR0aD1cImN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlV2lkdGhcIiA6Y3VycmVudFN3aXBlckxpbmVBY3RpdmVIZWlnaHQ9XCJjdXJyZW50U3dpcGVyTGluZUFjdGl2ZUhlaWdodFwiXHJcblx0XHRcdCA6Y3VycmVudFN3aXBlckxpbmVBY3RpdmVCZz1cImN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlQmdcIiA6Y3VycmVudFN3aXBlckxpbmVBbmltYXRpZT1cImN1cnJlbnRTd2lwZXJMaW5lQW5pbWF0aWVcIiB2LWlmPVwiIHN3aXBlclRhYkxpc3QubGVuZ3RoID4gMSBcIlxyXG5cdFx0XHQgQGNoYW5nZT1cIkN1cnJlbnRUYWJcIiBzdHlsZT1cImZvbnQtc2l6ZTogMzB1cHg7XCI+XHJcblx0XHRcdDwvc3dpcGVyTmF2QmFyPlxyXG5cdFx0XHQ8IS0t57uE5Lu2LS0+XHJcblxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PCEtLSDovabovobnrqHnkIblpLTpg6ggLS0+XHJcblx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wXCIgdi1pZj1cInN3aXBlclRhYklkeD09MlwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbignJylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e2Jpa2UudG90YWxfYmlrZXN9fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtZGVzY3JpYmVcIj5cclxuXHRcdFx0XHRcdOaAu+i9pui+huaVsFxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJyaWdodC1pbmRleFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS90cmlhbmdsZS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbigncHV0X3N0YXR1cz0xJylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e2Jpa2UucHV0X3RvdGFsX2Jpa2VzfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWRlc2NyaWJlXCI+XHJcblx0XHRcdFx0XHTkuIrnur/ovabovoZcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PGltYWdlIGNsYXNzPVwicmlnaHQtaW5kZXhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvdHJpYW5nbGUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLXRvcC1saXN0XCIgQGNsaWNrPVwibG9jYWxzY3JlZW4oJ2lzX2xpbms9MScpXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWNvdW50XCI+e3tiaWtlLmxpbmVfdG90YWxfYmlrZXN9fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtZGVzY3JpYmVcIj5cclxuXHRcdFx0XHRcdOWcqOe6v+i9pui+hlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJyaWdodC1pbmRleFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS90cmlhbmdsZS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbignaXNfdHJvdWJsZT0xJylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e2Jpa2UudHJvdWJsZV90b3RhbF9iaWtlc319PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1kZXNjcmliZVwiPlxyXG5cdFx0XHRcdFx05pWF6Zqc6L2m6L6GXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInJpZ2h0LWluZGV4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3RyaWFuZ2xlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3AtbGlzdFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKCd0b2RheV91c2U9MScpXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWNvdW50XCI+e3tiaWtlLnRvZGF5X3VzZV90b3RhbF9iaWtlc319PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1kZXNjcmliZVwiPlxyXG5cdFx0XHRcdFx05LuK5pel5L2/55SoXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInJpZ2h0LWluZGV4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3RyaWFuZ2xlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3AtbGlzdFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKCdpc19sb3dfYmF0dGVyeV9wb3dlcj0wJylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e2Jpa2UubG93X2JhdHRlcnlfdG90YWxfYmlrZXN9fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtZGVzY3JpYmVcIj5cclxuXHRcdFx0XHRcdOS9jueUtemHj1xyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJyaWdodC1pbmRleFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS90cmlhbmdsZS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbignaXNfcmlkaW5nPTEnKVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1jb3VudFwiPnt7YmlrZS5yaWRpbmdfdG90YWxfYmlrZXN9fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtZGVzY3JpYmVcIj5cclxuXHRcdFx0XHRcdOmqkeihjOS4rVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJyaWdodC1pbmRleFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS90cmlhbmdsZS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbignaXNfcmlkaW5nMT0wJylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e2Jpa2Uubm90X3JpZGluZ190b3RhbF9iaWtlc319PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1kZXNjcmliZVwiPlxyXG5cdFx0XHRcdFx05pyq5L2/55SoXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInJpZ2h0LWluZGV4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3RyaWFuZ2xlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOW3peWNleeuoeeQhuWktOmDqCAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3BcIiB2LWlmPVwic3dpcGVyVGFiSWR4PT00XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3AtbGlzdFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKCd0eXBlPTcnKVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1jb3VudFwiPnt7d29ya19vcmRlci5oZWFkbWFuX251bX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1kZXNjcmliZVwiPlxyXG5cdFx0XHRcdFx057uE6ZW/5bel5Y2VXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInJpZ2h0LWluZGV4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3RyaWFuZ2xlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3AtbGlzdFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKCdwbGFubmVkPTInKVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1jb3VudFwiPnt7d29ya19vcmRlci5wbGFubmVkX3dvcmtfbnVtfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWRlc2NyaWJlXCI+XHJcblx0XHRcdFx0XHTlpITnkIbkuK3lt6XljZVcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PGltYWdlIGNsYXNzPVwicmlnaHQtaW5kZXhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvdHJpYW5nbGUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLXRvcC1saXN0XCIgQGNsaWNrPVwibG9jYWxzY3JlZW4oJ3BsYW5uZWQ9MScpXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWNvdW50XCI+e3t3b3JrX29yZGVyLnBsYW5uZWRfbWVldF9udW19fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtZGVzY3JpYmVcIj5cclxuXHRcdFx0XHRcdOacquiupOmihuW3peWNlVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJyaWdodC1pbmRleFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS90cmlhbmdsZS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbigndHlwZT04JylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e3dvcmtfb3JkZXIudHJvdWJsZV9udW19fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtZGVzY3JpYmVcIj5cclxuXHRcdFx0XHRcdOaVhemanOW3peWNlVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJyaWdodC1pbmRleFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS90cmlhbmdsZS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtdG9wLWxpc3RcIiBAY2xpY2s9XCJsb2NhbHNjcmVlbigndHlwZT01JylcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtY291bnRcIj57e3dvcmtfb3JkZXIuYWxlcnRfbnVtfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWRlc2NyaWJlXCI+XHJcblx0XHRcdFx0XHTorabmiqXlt6XljZVcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PGltYWdlIGNsYXNzPVwicmlnaHQtaW5kZXhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvdHJpYW5nbGUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLXRvcC1saXN0XCIgQGNsaWNrPVwibG9jYWxzY3JlZW4oJ3R5cGU9NicpXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWNvdW50XCI+e3t3b3JrX29yZGVyLnN0ZWFsX251bX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1kZXNjcmliZVwiPlxyXG5cdFx0XHRcdFx05YG355uX5bel5Y2VXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInJpZ2h0LWluZGV4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3RyaWFuZ2xlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3AtbGlzdFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKCd0eXBlPTknKVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1jb3VudFwiPnt7d29ya19vcmRlci5oZWxwX251bX19PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1kZXNjcmliZVwiPlxyXG5cdFx0XHRcdFx06YGT6Lev5pWR5o+0XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cInJpZ2h0LWluZGV4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3RyaWFuZ2xlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS10b3AtbGlzdFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKCd0eXBlPTEnKVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1jb3VudFwiPnt7d29ya19vcmRlci5jaGFyZ2VfbnVtfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLWRlc2NyaWJlXCI+XHJcblx0XHRcdFx0XHTmjaLnlLXlt6XljZVcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PGltYWdlIGNsYXNzPVwicmlnaHQtaW5kZXhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvdHJpYW5nbGUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cIlwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG5cdFx0XHQ8c3dpcGVyIDppbnRlcnZhbD1cIjMwMDBcIiA6ZHVyYXRpb249XCI1MDBcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7cGFkZGluZy10b3A6IDIyMHVweDtcIiA6c3R5bGU9XCJ7IGhlaWdodDptYWluSGVpZ2h0LTExMCArICdweCcgfVwiXHJcblx0XHRcdCB2LWJpbmQ6Y3VycmVudD1cInN3aXBlclRhYklkeFwiIDpjdXJyZW50PVwic3dpcGVyVGFiSWR4XCIgQGNoYW5nZT1cIlN3aXBlckNoYW5nZVwiPlxyXG5cdFx0XHRcdDwhLS0g5YWo6YOo566h55CGIC0tPlxyXG5cdFx0XHRcdDxzd2lwZXItaXRlbSBjbGFzcz1cInN3aXBlci1pdGVtXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IFwiPlxyXG5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3V0LWNvbnRlbnRcIiBzdHlsZT1cIm92ZXJmbG93LXk6IHNjcm9sbDtcIiA6c3R5bGU9XCJ7IGhlaWdodDptYWluSGVpZ2h0LTExMCsgJ3B4JyB9XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3X2xpc3RcIiBAY2xpY2s9XCJza2lwVXNlclwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL25ldy91c2VyLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx055So5oi3XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LW1pZGRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTmgLvnlKjmiLfmlbDvvJp7e3VzZXIudG90YWxVc2VyfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05pyJ5pWI55So5oi377yae3t1c2VyLmNhcmRVc2VyfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05oq86YeR55So5oi377yae3t1c2VyLmRlcG9zaXRVc2VyfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05LuK5pel5paw5aKe77yaPHRleHQgY2xhc3M9XCJ0ZXh0LW9uZVwiPnt7dXNlci50b2RheUFkZFVzZXJ9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05LuK5pel5rS76LeD77yaPHRleHQgY2xhc3M9XCJ0ZXh0LW9uZVwiPnt7dXNlci50b2RheUFjdGl2ZVVzZXJ9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3X2xpc3RcIiBAY2xpY2s9XCJza2lwQmlrZVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL25ldy9iaWtlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx06L2m6L6GXHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LW1pZGRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTmgLvovabovobmlbDvvJp7e2Jpa2UudG90YWxfYmlrZXN9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTkuIrnur/ovabovobvvJp7e2Jpa2UucHV0X3RvdGFsX2Jpa2VzfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05pWF6Zqc6L2m6L6G77yae3tiaWtlLnRyb3VibGVfdG90YWxfYmlrZXN9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTku4rml6Xkvb/nlKjvvJo8dGV4dCBjbGFzcz1cInRleHQtb25lXCI+e3tiaWtlLnRvZGF5X3VzZV90b3RhbF9iaWtlc319PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTlnKjnur/ovabovobvvJo8dGV4dCBjbGFzcz1cInRleHQtb25lXCI+e3tiaWtlLmxpbmVfdG90YWxfYmlrZXN9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05L2O55S16YeP77yaPHRleHQgY2xhc3M9XCJ0ZXh0LW9uZVwiPnt7YmlrZS5sb3dfYmF0dGVyeV90b3RhbF9iaWtlc319PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXdfbGlzdFwiIEBjbGljaz1cInNraXBPcmRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL25ldy9vcmRlci5wbmdcIiBtb2RlPVwiXCIgc3R5bGU9XCJ3aWR0aDogMTAwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTorqLljZVcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctbWlkZGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10ZXh0XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05oC76K6i5Y2V5pWw77yae3tvcmRlci5vcmRlcl90b3RhbH19XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10ZXh0XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05b6F5pSv5LuY5Lit77yae3tvcmRlci53YWl0aW5nX3BheX19XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpeaWsOWinu+8mjx0ZXh0IGNsYXNzPVwidGV4dC1vbmVcIj57e29yZGVyLnRvZGF5X2FkZF9vcmRlcn19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOi9pumqkeihjOS4re+8mjx0ZXh0IGNsYXNzPVwidGV4dC1vbmVcIj57e29yZGVyLnJpZGluZ19vcmRlcn19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0g5pS255uKIC0tPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ld19saXN0XCIgQGNsaWNrPVwiaW5jb21lRGV0YWlsXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbmV3L2luY29tZS5wbmdcIiBtb2RlPVwiXCIgPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTmlLbnm4pcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctbWlkZGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10ZXh0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpeWFheWAvO+8mnt7b3JkZXJQcm9maXQucmVjaGFyZ2VPcmRlclRvZGF5UHJvZml0fX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05YWN5oq85pel5pS277yae3tvcmRlclByb2ZpdC5kZXBvc2l0Q2FyZFRvZGF5UHJvZml0fX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx06aqR5Y2h5pel5pS277yae3tiaWtlLnRyb3VibGVfdG90YWxfYmlrZXN9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTku4rml6XmlLbnm4rvvJo8dGV4dCBjbGFzcz1cInRleHQtb25lXCI+e3tvcmRlclByb2ZpdC50b2RheVByb2ZpdH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTku4rml6Xmirzph5HvvJo8dGV4dCBjbGFzcz1cInRleHQtb25lXCI+e3tvcmRlclByb2ZpdC5yaWRkaW5nQ2FyZE9yZGVyVG9kYXlQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0g5oC75pS255uKIC0tPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ld19saXN0XCIgQGNsaWNrPVwiaW5jb21lRGV0YWlsXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbmV3L2FsbC1pbmNvbWUucG5nXCIgbW9kZT1cIlwiID48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05oC75pS255uKXHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LW1pZGRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTmgLvmlLbnm4rmlbDvvJp7e29yZGVyUHJvZml0LnRvdGFsUHJvZml0fX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05oC75oq86YeR5pWw77yae3tvcmRlclByb2ZpdC5kZXBvc2l0VG90YWx9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTlhY3mirzmgLvmlLbvvJp7e29yZGVyUHJvZml0LmRlcG9zaXRDYXJkVG90YWxQcm9maXR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTlhYXlgLzmlLbnm4rvvJo8dGV4dCBjbGFzcz1cInRleHQtb25lXCI+e3tvcmRlclByb2ZpdC5yZWNoYXJnZU9yZGVyVG90YWxQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05pys5pyI5pS255uK77yaPHRleHQgY2xhc3M9XCJ0ZXh0LW9uZVwiPnt7b3JkZXJQcm9maXQubW9udGhQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx06aqR5Y2h5oC75pS277yaPHRleHQgY2xhc3M9XCJ0ZXh0LW9uZVwiPnt7b3JkZXJQcm9maXQucmlkZGluZ0NhcmRPcmRlclRvdGFsUHJvZml0fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLSDlt6XljZXnrqHnkIYgLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3X2xpc3RcIiBAY2xpY2s9XCJza2lwV29ya1wiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMzB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbmV3L2dvbmdkYW4ucG5nXCIgbW9kZT1cIlwiID48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx05bel5Y2VXHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LW1pZGRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOWFqOmDqOW3peWNle+8mlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e3dvcmtfb3JkZXIucGxhbm5lZF9tZWV0X251bSt3b3JrX29yZGVyLnBsYW5uZWRfd29ya2VkX251bSt3b3JrX29yZGVyLnBsYW5uZWRfd29ya19udW0rd29ya19vcmRlci5wbGFubmVkX292ZXJfbnVtfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRleHRcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwdXB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTlt7LlrozmiJDvvJoge3t3b3JrX29yZGVyLnBsYW5uZWRfb3Zlcl9udW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOW+heiupOmihu+8mjx0ZXh0IGNsYXNzPVwidGV4dC1vbmVcIj57e3dvcmtfb3JkZXIucGxhbm5lZF9tZWV0X251bX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuZXctdGV4dFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOWkhOeQhuS4re+8mjx0ZXh0IGNsYXNzPVwidGV4dC1vbmVcIj57e3dvcmtfb3JkZXIucGxhbm5lZF93b3JrX251bX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwibGlzdFwiIEBjbGljaz1cInNraXBVc2VyXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC10b3BcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLXRvcC1sZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL21hbmFnZTEucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7mgLvnlKjmiLfmlbA8L3RleHQ+PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDM0dXB4OyBmb250LXdlaWdodDogODAwO1wiIGNsYXNzPVwidGV4dC1vbmVcIj57e3VzZXIudG90YWxVc2VyfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLXRvcC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcmlnaHQtYXJyb3cucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTmnInmlYjmiLfmlbBcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7dXNlci5jYXJkVXNlcn19XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpcnN0LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx05oq86YeR5oi35pWwXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWNvbmQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7e3VzZXIuZGVwb3NpdFVzZXJ9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpeaWsOWinlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3t1c2VyLnRvZGF5QWRkVXNlcn19XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpea0u+i3g1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3t1c2VyLnRvZGF5QWN0aXZlVXNlcn19XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJsaXN0XCIgQGNsaWNrPVwic2tpcEJpa2VcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXRvcFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtdG9wLWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbWFuYWdlMi5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuaAu+i9pui+huaVsDwvdGV4dD48dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMzR1cHg7IGZvbnQtd2VpZ2h0OiA4MDA7XCIgIGNsYXNzPVwidGV4dC1vbmVcIj57e2Jpa2UudG90YWxfYmlrZXN9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtdG9wLXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL21hbmFnZTMucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7ku4rml6Xkvb/nlKg8L3RleHQ+PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDM0dXB4OyBmb250LXdlaWdodDogODAwO1wiICBjbGFzcz1cInRleHQtb25lXCI+e3tiaWtlLnRvZGF5X3VzZV90b3RhbF9iaWtlc319PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yaWdodC1hcnJvdy5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LWNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpcnN0LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx05LiK57q/6L2m6L6GXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWNvbmQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7e2Jpa2UucHV0X3RvdGFsX2Jpa2VzfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTlnKjnur/ovabovoZcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7YmlrZS5saW5lX3RvdGFsX2Jpa2VzfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTmlYXpmpzovabovoZcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7YmlrZS50cm91YmxlX3RvdGFsX2Jpa2VzfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTkvY7nlLXph49cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7YmlrZS5sb3dfYmF0dGVyeV90b3RhbF9iaWtlc319XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcbiAtLT5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImxpc3RcIiBAY2xpY2s9XCJza2lwT3JkZXJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXRvcFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtdG9wLWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbWFuYWdlNC5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuaAu+iuouWNleaVsDwvdGV4dD48dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMzR1cHg7IGZvbnQtd2VpZ2h0OiA4MDA7XCIgIGNsYXNzPVwidGV4dC1vbmVcIj57e29yZGVyLm9yZGVyX3RvdGFsfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLXRvcC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcmlnaHQtYXJyb3cucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC1jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpeaWsOWinlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlci50b2RheV9hZGRfb3JkZXJ9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOi9pumqkeihjOS4rVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlci5yaWRpbmdfb3JkZXJ9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOW+heaUr+S7mOS4rVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlci53YWl0aW5nX3BheX19XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuIC0tPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwibGlzdFwiIEBjbGljaz1cImluY29tZURldGFpbFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdG9wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC10b3AtbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9tYW5hZ2U1LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5LuK5pel5pS255uKPC90ZXh0Pjx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAzNHVweDsgZm9udC13ZWlnaHQ6IDgwMDtcIiBjbGFzcz1cInRleHQtb25lXCI+e3tvcmRlclByb2ZpdC50b2RheVByb2ZpdH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC10b3AtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3JpZ2h0LWFycm93LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC1jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpeWFheWAvFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlclByb2ZpdC5yZWNoYXJnZU9yZGVyVG9kYXlQcm9maXR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS7iuaXpeaKvOmHkVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlclByb2ZpdC5kZXBvc2l0VG9kYXl9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOWFjeaKvOaXpeaUtlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlclByb2ZpdC5kZXBvc2l0Q2FyZFRvZGF5UHJvZml0fX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTpqpHljaHml6XmlLZcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7b3JkZXJQcm9maXQucmlkZGluZ0NhcmRPcmRlclRvZGF5UHJvZml0fX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PiAtLT5cclxuXHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJsaXN0XCIgQGNsaWNrPVwiaW5jb21lRGV0YWlsXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC10b3BcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLXRvcC1sZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL21hbmFnZTYucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7mgLvmlLbnm4rmlbA8L3RleHQ+PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDM0dXB4OyBmb250LXdlaWdodDogODAwO1wiIGNsYXNzPVwidGV4dC1vbmVcIj57e29yZGVyUHJvZml0LnRvdGFsUHJvZml0fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLXRvcC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9tYW5hZ2U3LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5YWF5YC85pS255uKPC90ZXh0Pjx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAzNHVweDsgZm9udC13ZWlnaHQ6IDgwMDtcIiBjbGFzcz1cInRleHQtb25lXCI+e3tvcmRlclByb2ZpdC5yZWNoYXJnZU9yZGVyVG90YWxQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcmlnaHQtYXJyb3cucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC1jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOaAu+aKvOmHkeaVsFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlclByb2ZpdC5kZXBvc2l0VG90YWx9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOWFjeaKvOaAu+aUtlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlclByb2ZpdC5kZXBvc2l0Q2FyZFRvdGFsUHJvZml0fX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTmnKzmnIjmlLbnm4pcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7b3JkZXJQcm9maXQubW9udGhQcm9maXR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOmqkeWNoeaAu+aUtlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlclByb2ZpdC5yaWRkaW5nQ2FyZE9yZGVyVG90YWxQcm9maXR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImxpc3RcIiBAY2xpY2s9XCJza2lwV29ya1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdG9wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC10b3AtbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9nb25nZGFuLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+5bel5Y2V566h55CGPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC10b3AtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3JpZ2h0LWFycm93LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTlhajpg6jlt6XljZVcclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7d29ya19vcmRlci5wbGFubmVkX21lZXRfbnVtK3dvcmtfb3JkZXIucGxhbm5lZF93b3JrZWRfbnVtK3dvcmtfb3JkZXIucGxhbm5lZF93b3JrX251bSt3b3JrX29yZGVyLnBsYW5uZWRfb3Zlcl9udW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOW+heiupOmihlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3t3b3JrX29yZGVyLnBsYW5uZWRfbWVldF9udW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOWkhOeQhuS4rVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3t3b3JrX29yZGVyLnBsYW5uZWRfd29ya19udW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOW3suWujOaIkFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3t3b3JrX29yZGVyLnBsYW5uZWRfb3Zlcl9udW19fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdFx0PCEtLSDnlKjmiLfnrqHnkIYgLS0+XHJcblx0XHRcdFx0PHN3aXBlci1pdGVtIGNsYXNzPVwic3dpcGVyLWl0ZW1cIiBzdHlsZT1cImhlaWdodDogMTAwJTsgXCI+XHJcblx0XHRcdFx0XHQ8c2Nyb2xsLXZpZXcgc2Nyb2xsLXk9XCJ0cnVlXCIgOnN0eWxlPVwieyBoZWlnaHQ6bWFpbkhlaWdodC0xMTAgKyAncHgnIH1cIiBAc2Nyb2xsdG9sb3dlcj1cInNjcm9sbHRvbG93ZXJcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvdXQtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtbGlzdC10b3BcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhbGwtdG9wLWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9tYW5hZ2UxLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuaAu+eUqOaIt+aVsDwvdGV4dD48dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMzR1cHg7IGZvbnQtd2VpZ2h0OiA4MDA7XCI+e3t1c2VyLnRvdGFsVXNlcn19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiYWxsLXRvcC1yaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3JpZ2h0LWFycm93LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtY29udGVudFwiIHN0eWxlPVwicGFkZGluZzogMjh1cHggMHVweCAyOHVweCAwdXB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpcnN0LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHTmlrDlop7nlKjmiLdcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWNvbmQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7dXNlci50b2RheUFkZFVzZXJ9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnQtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpcnN0LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHTmirzph5HnlKjmiLdcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7dXNlci5kZXBvc2l0VXNlcn19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci1saXN0XCIgQGNsaWNrPVwidXNlckRldGFpbChpdGVtLmlkKVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHVzZXJMaXN0XCIgOmtleT0naW5kZXgnPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ1c2VyLXBob25lXCI+5omL5py65Y+377yae3tpdGVtLm1vYmlsZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLW5hbWVcIiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9jazt3aWR0aDo1MCU7aGVpZ2h0OiA0MHVweDsgb3ZlcmZsb3c6IGhpZGRlbjtcIj48dGV4dCBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW47XCI+5aeT5ZCN77yae3tpdGVtLnVzZXJuYW1lfX08L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItYmFsYW5jZVwiIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO1wiPuS9memine+8mnt7aXRlbS53YWxsZXRfbW9uZXl9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHRleHQgY2xhc3M9XCJ1c2VyLXNjaG9vbFwiPuagoeWMuu+8mnt7aXRlbS5hcmVhfX08L3RleHQ+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiZGVwb3NpdF90eXBlPT0zXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOaKvOWFqOeUqOaIt1xyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzJcIiB2LWlmPVwiZGVwb3NpdF90eXBlPT0xMlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTpnZ7mirzlhajnlKjmiLdcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWczXCIgdi1pZj1cImRlcG9zaXRfdHlwZT09MVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTlhY3mirzlhajnlKjmiLdcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJub0RhdGEgIG5vVXNlclwiIHYtaWY9XCJ1c2VyTGlzdC5sZW5ndGggPT0gMFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9ub25lLnBuZ1wiIHN0eWxlPVwid2lkdGg6IDIwMHVweDtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMjAwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldz7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblxyXG5cdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdFx0PCEtLSDovabovobnrqHnkIYgLS0+XHJcblx0XHRcdFx0PHN3aXBlci1pdGVtIGNsYXNzPVwic3dpcGVyLWl0ZW1cIiBzdHlsZT1cImhlaWdodDogMTAwJTtcIj5cclxuXHRcdFx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteT1cInRydWVcIiA6c3R5bGU9XCJ7IGhlaWdodDptYWluSGVpZ2h0LTExMCArICdweCcgfVwiIEBzY3JvbGx0b2xvd2VyPVwic2Nyb2xsdG9sb3dlclwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2VcIiBzdHlsZT1cIm92ZXJmbG93LXk6IHNjcm9sbDsgXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvdXQtY29udGVudFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDMwMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1saXN0XCIgQGNsaWNrPVwiYmlrZURldGFpbChpdGVtLmlkLGl0ZW0uYmlrZV9ubylcIiB2LWZvcj1cIihpdGVtLGluZGV4MSkgaW4gYmlrZUxpc3RcIiA6a2V5PSdpbmRleDEnPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1saXN0LWZpcnN0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImJpa2UtaWRcIj57e2l0ZW0uYmlrZV9ub319PC90ZXh0PiA8dGV4dCBjbGFzcz1cIkJhdHRlcnlcIj57e2l0ZW0uYmF0dGVyeV9wb3dlcn19JTwvdGV4dD4gPHRleHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCBjbGFzcz1cInJpZGluZy1zdGF0dXNcIj57e2l0ZW0uaXNfcmlkaW5nID09IDAgPyAn5pyq6aqR6KGMJzon6aqR6KGM5LitJ319PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtbGlzdC1zZWNvbmRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItdGlubWVcIj57e2l0ZW0ubm90X3VzZV90aW1lfX08L3RleHQ+IDx0ZXh0IGNsYXNzPVwiYmlrZS1tb25leVwiPuW5s+Wdh+aUtuebiu+8mjwvdGV4dD4gPHRleHQ+e3tpdGVtLmF2ZXJhZ2VfcHJvZml0fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0udGFiX25hbWU9PSfmnKrpqpHooYwnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjNjhlOWNlIDAlLCAjMThkNWI5IDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnRhYl9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS50YWJfbmFtZT09J+S4reaOp+emu+e6vydcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNmZjY0NzcgMCUsICNmZjdhNjkgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udGFiX25hbWV9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLnRhYl9uYW1lPT0n5pyq5oqV5pS+J1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzQxYjhmZCAwJSwgIzBlZTdmZSAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS50YWJfbmFtZX19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0udGFiX25hbWU9PSfkvY7nlLXph48nXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjZmY4YjY2IDAlLCAjZmU1NzIyIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnRhYl9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS50YWJfbmFtZT09J+mqkeihjOS4rSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNGRjhDQzcgMCUsICNGMjMyQTMgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udGFiX25hbWV9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLnRhYl9uYW1lPT0n5LiN5Zyo5YGc6L2m5Yy6J1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzkzODJmNCAwJSwgI2EyOTdmYiAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS50YWJfbmFtZX19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0udGFiX25hbWU9PSfmlYXpmpwnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjZmY2NDc3IDAlLCAjZmY3YTY5IDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnRhYl9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS50YWJfbmFtZT09J+aVhemanOS4i+e6vydcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNGRjk4NTQgMCUsICNGRkM1NzMgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udGFiX25hbWV9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlLXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHJcblxyXG5cdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdFx0PCEtLSDorqLljZXnrqHnkIYgLS0+XHJcblx0XHRcdFx0PHN3aXBlci1pdGVtIGNsYXNzPVwic3dpcGVyLWl0ZW1cIiBzdHlsZT1cImhlaWdodDogMTAwJTsgXCI+XHJcblxyXG5cdFx0XHRcdFx0PHNjcm9sbC12aWV3IHNjcm9sbC15PVwidHJ1ZVwiIDpzdHlsZT1cInsgaGVpZ2h0Om1haW5IZWlnaHQtMTEwICsgJ3B4JyB9XCIgQHNjcm9sbHRvbG93ZXI9XCJzY3JvbGx0b2xvd2VyXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3V0LWNvbnRlbnRcIiBzdHlsZT1cIm92ZXJmbG93LXk6IHNjcm9sbDsgXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXRvcFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC10b3AtbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvb3JkZXIxLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsLWxpc3QtdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuS7iuaXpeaAu+aUtuWFpTwvdGV4dD48dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMzR1cHg7IGZvbnQtd2VpZ2h0OiA4MDA7XCI+e3tvcmRlci50b2RheV9hZGRfbW9uZXl9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImFsbC10b3AtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yaWdodC1hcnJvdy5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsbC1saXN0LWNvbnRlbnRcIiBzdHlsZT1cInBhZGRpbmc6IDI4dXB4IDB1cHggMjh1cHggMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50LWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaXJzdC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx05LuK5pel6K6i5Y2VXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vjb25kLWNoaWxkXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e29yZGVyLnRvZGF5X2FkZF9vcmRlcn19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudC1jaGlsZFwiIEBjbGljaz1cImxvY2Fsc2NyZWVuKGN1clBhZ2U9PTE/J25vcm1hbF9yaWRpbmc9MSc6J3JlbnRfcmlkaW5nPTEnKVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmlyc3QtY2hpbGRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdOi/m+ihjOS4reiuouWNlVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlY29uZC1jaGlsZFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tvcmRlci5yaWRpbmdfb3JkZXJ9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWJvdHRvbVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1ib3R0b20tbGVmdFwiIEBjbGljaz1cIm5vcm1hbE9yZGVyXCIgOmNsYXNzPVwiY3VyUGFnZT09MT8nYWN0aXZlJzonJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTmma7pgJrorqLljZVcclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItYm90dG9tLXJpZ2h0XCIgQGNsaWNrPVwiZGF5T3JkZXJcIiA6Y2xhc3M9XCJjdXJQYWdlPT0yPydhY3RpdmUnOicnXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOaXpeenn+iuouWNlVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWxpc3RcIiBAY2xpY2s9XCJvcmRlckRldGFpbChpdGVtLmlkKVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgyKSBpbiBvcmRlckxpc3RcIiA6a2V5PSdpbmRleDInPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1iaWtlLW51bVwiPui9pui+hue8luWPt++8mnt7aXRlbS5iaWtlX25vfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXVzZXJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci11c2VyLW5hbWVcIj7nlKjmiLfvvJp7e2l0ZW0ubmlja25hbWV9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci11c2VyLXBob25lXCIgQGNsaWNrLnN0b3A9XCJwaG9uZUNhbGwoaXRlbS5tb2JpbGUpXCI+e3tpdGVtLm1vYmlsZX19KOeCueWHu+WPr+aLqOaJkyk8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLXRpbWVcIj7ml7bpl7TvvJp7e2l0ZW0uc3RhcnRfdXNlX2Jpa2VfdGltZX194oCU4oCUe3tpdGVtLmVuZF91c2VfYmlrZV90aW1lfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSfpqpHooYzkuK0nXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjNjhlOWNlIDAlLCAjMThkNWI5IDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSforqLljZXlhbPpl60nXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjYzBjMGMwIDAlLCAjODA4MDgwIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSflt7LlrozmiJAnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjNDFiOGZkIDAlLCAjMGVlN2ZlIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSflvoXmlK/ku5gnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLHJnYmEoMjU1LCAxMzksIDEwMiwgMSkgMCUscmdiYSgyNTQsIDg3LCAzNCwgMSkgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS5vcmRlcnNfc3RhdHVzfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+S4tOaXtuWBnOi9pidcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICM5MzgyZjQgMCUsICNhMjk3ZmIgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS5vcmRlcnNfc3RhdHVzfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+enn+i9puS4rSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICMzNjQ4ZjUgMCUsICNhMjk3ZmIgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS5vcmRlcnNfc3RhdHVzfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+enn+i9pue7k+adnyzlvoXmlK/ku5gnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjMzJmOTU1IDAlLCAjYTI5N2ZiIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibm9EYXRhIG5vT3JkZXJcIiB2LWlmPVwib3JkZXJMaXN0Lmxlbmd0aCA9PSAwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL25vbmUucG5nXCIgc3R5bGU9XCJ3aWR0aDogMjAwdXB4O2hlaWdodDogMjAwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldz7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHJcblx0XHRcdFx0PC9zd2lwZXItaXRlbT5cclxuXHRcdFx0XHQ8IS0tIOW3peWNleeuoeeQhiAtLT5cclxuXHRcdFx0XHQ8c3dpcGVyLWl0ZW0gY2xhc3M9XCJzd2lwZXItaXRlbVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiaWtlXCIgc3R5bGU9XCJvdmVyZmxvdy15OiBzY3JvbGw7IFwiIDpzdHlsZT1cInsgaGVpZ2h0Om1haW5IZWlnaHQtMTEwKyAncHgnIH1cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvdXQtY29udGVudFwiIHN0eWxlPVwicGFkZGluZy10b3A6IDMwMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpa2UtbGlzdFwiIEBjbGljaz1cIndvcmtEZXRhaWwoaXRlbS5pZClcIiB2LWZvcj1cIihpdGVtLGluZGV4MykgaW4gd29ya19vcmRlckxpc3RcIiA6a2V5PSdpbmRleDMnPlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwid29yay1saXN0LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ3b3JrLXRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX19XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHTlvZPliY3otJ/otKPkurrvvJp7e2l0ZW0ud29ya2VyfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOi9pui+hue8luWPt++8mnt7aXRlbS5iaWtlX25vfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOWIm+W7uuaXtumXtO+8mnt7aXRlbS5jcmVhdGVkX2F0fX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ3b3JrLWxpc3QtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7ov5vluqbvvJo8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIml0ZW0ucGxhbm5lZD09J+W3suWujOaIkCdcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCI+e3tpdGVtLnBsYW5uZWR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwiaXRlbS5wbGFubmVkPT0n5b6F5o6l5Y2VJ1wiIHN0eWxlPVwiY29sb3I6IHJlZDtcIj57e2l0ZW0ucGxhbm5lZH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJpdGVtLnBsYW5uZWQ9PSflpITnkIbkuK0nXCIgc3R5bGU9XCJjb2xvcjogcmVkO1wiPnt7aXRlbS5wbGFubmVkfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIml0ZW0ucGxhbm5lZD09J+W3suWkhOeQhidcIiBzdHlsZT1cImNvbG9yOiByZWQ7XCI+e3tpdGVtLnBsYW5uZWR9fTwvdGV4dD5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD7mnaXmupDvvJo8L3RleHQ+PHRleHQ+e3tpdGVtLnNvdXJjZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5YWF55S15bel5Y2VJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzY4ZTljZSAwJSwgIzE4ZDViOSAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX19XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZ1wiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+aWreeUteW3peWNlSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNmZjY0NzcgMCUsICNmZjdhNjkgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS50eXBlX25hbWV9fVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfnu4Tplb/lt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjNDFiOGZkIDAlLCAjMGVlN2ZlIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSflgbfnm5flt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjZmY4YjY2IDAlLCAjZmU1NzIyIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfnprvnur/lt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjRkY4Q0M3IDAlLCAjRjIzMkEzIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfmlZHmj7Tlt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjOTM4MmY0IDAlLCAjYTI5N2ZiIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSforabmiqXlt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjRkY5ODU0IDAlLCAjRkZDNTczIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfmlYXpmpzlt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjRDY4NEREIDAlLCAjRjdBN0VDIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX1cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5YW25LuW5bel5Y2VJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzQ3RERBOCAwJSwgIzYxRjc5QyAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX19XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5p+l55yL5bel5Y2VJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzg4QjlFMSAwJSwgIzAwNEZCNiAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX19XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdDwvc3dpcGVyPlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwID0gZ2V0QXBwKClcclxuXHRpbXBvcnQgc3dpcGVyTmF2QmFyIGZyb20gJy4uLy4uL2NvbXBvbmVudC9uYXYvc3dpcGVyTmF2QmFyLnZ1ZSdcclxuXHRpbXBvcnQgYWxsQXJlYXR3byBmcm9tICcuLi8uLi9jb21wb25lbnQvYWxsQXJlYS9hbGxBcmVhdHdvLnZ1ZSdcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHN3aXBlclRhYkxpc3Q6IFsn5YWo6YOo566h55CGJywgJ+eUqOaIt+euoeeQhicsICfovabovobnrqHnkIYnLCAn6K6i5Y2V566h55CGJywgJ+W3peWNleeuoeeQhiddLCAvL+WvvOiIquWIl+ihqFxyXG5cdFx0XHRcdHNjcm9sbEludG9WaWV3OiAwLCAvL+iuvue9ruWTquS4quaWueWQkeWPr+a7muWKqO+8jOWImeWcqOWTquS4quaWueWQkea7muWKqOWIsOivpeWFg+e0oFxyXG5cdFx0XHRcdHN3aXBlclRhYklkeDogMCxcclxuXHRcdFx0XHRzd2lwZXJDdXJyZW50U2l6ZTogJzMwdXB4JywgLy/lr7zoiKrnmoTlrZfkvZPlpKflsI9cclxuXHRcdFx0XHRzd2lwZXJDb2xvcjogJyM0MjQyNDInLCAvL+WvvOiIquagj+Wtl+S9k+acqumAieS4reWJjeminOiJslxyXG5cdFx0XHRcdHN3aXBlckN1cnJlbnRDb2xvcjogJyNFQjVFMjgnLCAvL+mAieS4reW9k+WJjeWvvOiIquagj+Wtl+S9k+minOiJslxyXG5cdFx0XHRcdGN1cnJlbnRTd2lwZXJXaWR0aDogJzI1JScsIC8v5b2T5YmN5a+86Iiq55qE5a695bqmICUgdXB4IHJweCBweCAg77yI5a+86Iiq6LaF5Ye65Y+v5bem5Y+z5ruR5YqoIO+8iVxyXG5cdFx0XHRcdGN1cnJlbnRTd2lwZXJIZWlnaHQ6IDcwLCAvL+W9k+WJjeWvvOiIqueahOmrmOW6puW6piBycHggcHhcclxuXHRcdFx0XHRtYWluSGVpZ2h0OiAyMDAsIC8v5YWo5bGP5oiW6ICF5bGA6YOo5ruR5Yqo6K6+572u55qE6auY5bqmXHJcblx0XHRcdFx0Y3VycmVudFN3aXBlckxpbmVTaG93OiB0cnVlLCAvL+aYr+WQpuaYvuekuuWvvOiIquagj+eahOe6v+adoSDvvIjnur/mnaHot53nprvmoIfpopjlpKrov5HnmoTor53lj6/oh6rooYzkv67mlLkuc3dpcGVyTGluZeeahGNzc++8iVxyXG5cdFx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlQmc6ICcjRUI1RTI4JywgLy/lvZPliY3pgInkuK3nmoTlr7zoiKrmoI/nur/mnaHpopzoibJcclxuXHRcdFx0XHRjdXJyZW50U3dpcGVyTGluZUFjdGl2ZVdpZHRoOiAnODB1cHgnLCAvL+W9k+WJjemAieS4reeahOWvvOiIquagj+e6v+adoeeahOWuveW6piB1cHggcnB4IHB4XHJcblx0XHRcdFx0Y3VycmVudFN3aXBlckxpbmVBY3RpdmVIZWlnaHQ6ICc4dXB4JywgLy/lvZPliY3pgInkuK3nmoTlr7zoiKrmoI/nur/mnaHnmoTpq5jluqbluqYgdXB4IHJweCBweFxyXG5cdFx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQW5pbWF0aWU6IDMwMCwgLy/lvZPliY3pgInkuK3nmoTlr7zoiKrmoI/nur/mnaHov4fmuKHmlYjmnpxcclxuXHRcdFx0XHRzY3JvbGxUb3A6IDAsXHJcblx0XHRcdFx0aXRlbTogJycsXHJcblx0XHRcdFx0bWFpbkhlaWdodDogNzAwLFxyXG5cdFx0XHRcdC8vIG5hdkluZGV4OiAwLFxyXG5cdFx0XHRcdC8vIHN3aXBlclRhYklkeDogMCxcclxuXHRcdFx0XHRpbmRleDogXCJcIixcclxuXHRcdFx0XHRvbGQ6IHtcclxuXHRcdFx0XHRcdHNjcm9sbFRvcDogMFxyXG5cdFx0XHRcdH0sXHJcblxyXG5cdFx0XHRcdGRlcG9zaXRfdHlwZTogMSwgLy/mirzph5HnirbmgIEw6Z2e5oq86YeR55So5oi3IDHmirzph5HnlKjmiLdcclxuXHRcdFx0XHRzdGF0ZTogMSwgLy/orqLljZXnrqHnkIbnlYzpnaLmjInpkq7nirbmgIEgMeS4uuaZrumAmuiuouWNlSAy5Li65pel56ef6K6i5Y2VXHJcblx0XHRcdFx0YmlrZTogW10sIC8v6L2m6L6GXHJcblx0XHRcdFx0d29ya19vcmRlcjogW10sIC8v5bel5Y2VXHJcblx0XHRcdFx0dXNlcjogW10sIC8v55So5oi3XHJcblx0XHRcdFx0b3JkZXJQcm9maXQ6IFtdLCAvL+aUtuebilxyXG5cdFx0XHRcdG9yZGVyOiBbXSwgLy/orqLljZVcclxuXHRcdFx0XHRiaWtlTGlzdDogW10sIC8v6L2m6L6GXHJcblx0XHRcdFx0d29ya19vcmRlckxpc3Q6IFtdLCAvL+W3peWNlVxyXG5cdFx0XHRcdHVzZXJMaXN0OiBbXSwgLy/nlKjmiLdcclxuXHRcdFx0XHRvcmRlclByb2ZpdExpc3Q6IFtdLCAvL+aUtuebilxyXG5cdFx0XHRcdG9yZGVyTGlzdDogW10sIC8v6K6i5Y2VXHJcblx0XHRcdFx0Y3VyUGFnZTogMSwgLy/pu5jorqTmmL7npLrmma7pgJrorqLljZVcclxuXHRcdFx0XHRuYW1lOiAnJywgLy/ovabovobnrqHnkIbnmoTlsYDpg6jnrZvpgIlcclxuXHRcdFx0XHRhcmVhSUQ6ICcnLCAvL+mqkeihjOWMuuWfn2lkXHJcblx0XHRcdFx0bGlzdDogW3sgLy/miYDmnInljLrln5/pgInpoblcclxuXHRcdFx0XHRcdGFyZWFJRDogJycsXHJcblx0XHRcdFx0XHR0ZXh0OiAn5YWo6YOo5Yy65Z+fJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAtMSxcclxuXHRcdFx0XHR9XSwgLy/pqpHooYzljLrln5/pgInmi6nliJfooahcclxuXHRcdFx0XHR2YWx1ZTE6IDAsIC8v6aqR6KGM5Yy65LiO56ys5LiA5Liq5pi+56S65LuA5LmIXHJcblx0XHRcdFx0aG9tZUhlaWdodDogJycsXHJcblx0XHRcdFx0cGFnZTogMSwgLy/lvZPliY3pobXmlbBcclxuXHRcdFx0XHR1c2VyVXJsOiAnJyxcclxuXHRcdFx0XHRjdXJWYWw6IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgPyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpIDogMCwgLy/pqpHooYzljLrkuI7nrKzkuIDkuKrkuIvmoIdcclxuXHRcdFx0XHQvLyBjdXJJZDogXCJcIiwgLy/pqpHooYzljLrln59pZFxyXG5cdFx0XHRcdC8vIGxpc3Q6IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRzd2lwZXJOYXZCYXIsXHJcblx0XHRcdGFsbEFyZWF0d29cclxuXHRcdH0sXHJcblx0XHRtb3VudGVkKCkge1xyXG5cclxuXHRcdFx0aWYgKHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykpIHtcclxuXHRcdFx0XHQvLyAgICBsZXQgYWN0aXZlID0gdGhpcy5zd2lwZXJUYWJJZHg7XHJcblx0XHRcdFx0Ly8gbGV0IGFyZWFJZCA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VySWQnKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIui/meaYr+WIneWni+WKoOi9veaVsOaNrlwiKVxyXG5cdFx0XHRcdHRoaXMuYWxsRGF0YSgpXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5iaWtlLFwi6L+Z5piv6L2m6L6G5pWw5o2uXCIpXHJcblxyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuYXJlYUlEID0gdGhpcy5saXN0WzBdLmFyZWFJRDtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFJRCwgJzEyMzQ1Njc4JylcclxuXHRcdFx0XHR0aGlzLmFsbERhdGEoKVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0dmFyIGFyciA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xyXG5cdFx0XHR0aGlzLmxpc3QgPSB0aGlzLmxpc3QuY29uY2F0KGFycik7XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMubGlzdClcclxuXHRcdFx0Ly8gY29uc29sZS5sb2codWluLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpKVxyXG5cdFx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XHJcblx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgXCLov5nmmK/lsY/luZXkv6Hmga9cIilcclxuXHRcdFx0XHRcdHRoaXMubWFpbkhlaWdodCA9IHJlcy53aW5kb3dIZWlnaHQ7XHJcblx0XHRcdFx0XHQvLyBsZXQgaW5mbz11bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLnNlbGVjdCgnLnN3aXBlck1haW4nKTtcclxuXHRcdFx0XHRcdC8vIGluZm8uYm91bmRpbmdDbGllbnRSZWN0KGZ1bmN0aW9uKGRhdGEpe1xyXG5cdFx0XHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhkYXRhLCfov5nmmK/nu4Tku7bmlbDmja4nKVxyXG5cdFx0XHRcdFx0Ly8gfSkuZXhlYyhmdW5jdGlvbigpe1xyXG5cclxuXHRcdFx0XHRcdC8vIH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cclxuXHRcdH0sXHJcblx0XHQvLyBvblJlYWNoQm90dG9tKCkge1xyXG5cdFx0Ly8gXHRcdGNvbnNvbGUubG9nKCfop6blupXkuovku7YnKVxyXG5cdFx0Ly8gXHRcdC8vIHRoaXMubG9hZG1vcmUoKVxyXG5cdFx0Ly8gXHR9LFxyXG5cclxuXHRcdC8vIG9uUmVhY2hCb3R0b20oKXtcclxuXHRcdC8vIFx0Y29uc29sZS5sb2coXCLov5nmmK/op6blupXkuovku7YyMjIyMjJcIilcclxuXHRcdC8vIFx0Ly8gLy8gdmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0Ly8gXHQvLyB1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0Ly8gXHQvLyBcdHRpdGxlOiAn5Yqg6L295LitMTIxMzEzJyxcclxuXHRcdC8vIFx0Ly8gfSlcclxuXHRcdC8vIFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0c2Nyb2xsdG9sb3dlcjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCLov5nmmK/mu5rliqjop6blupXml7bpl7RcIilcclxuXHRcdFx0XHR0aGlzLmxvYWRtb3JlKClcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lm57liLDpobbpg6hcclxuXHRcdFx0Ly8gZ29Ub3A6IGZ1bmN0aW9uKGUpIHsgLy8g5LiA6ZSu5Zue5Yiw6aG26YOoXHJcblx0XHRcdC8vIFx0aWYgKHVuaS5wYWdlU2Nyb2xsVG8pIHtcclxuXHRcdFx0Ly8gXHRcdHVuaS5wYWdlU2Nyb2xsVG8oe1xyXG5cdFx0XHQvLyBcdFx0XHRzY3JvbGxUb3A6IDBcclxuXHRcdFx0Ly8gXHRcdH0pXHJcblx0XHRcdC8vIFx0fVxyXG5cdFx0XHQvLyB9LFxyXG5cclxuXHRcdFx0Ly8gb25QdWxsRG93blJlZnJlc2g6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHQvLyBcdHVuaS5zaG93TmF2aWdhdGlvbkJhckxvYWRpbmcoKTtcclxuXHRcdFx0Ly8gXHR0aGlzLmdldFdvcmsoKSwgdW5pLmhpZGVOYXZpZ2F0aW9uQmFyTG9hZGluZygpLCB1bmkuc3RvcFB1bGxEb3duUmVmcmVzaCgpO1xyXG5cdFx0XHQvLyB9LFxyXG5cclxuXHJcblx0XHRcdC8v5by55qGG5LqL5Lu2XHJcblxyXG5cdFx0XHR0YW5LdWFuZzogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHZhciBhcnIgPSBbXVxyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5saXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRhcnIgPSBhcnIuY29uY2F0KHRoaXMubGlzdFtpXS50ZXh0KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhhcnIpXHJcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XHJcblx0XHRcdFx0XHRpdGVtTGlzdDogYXJyLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGxldCBpbmRleCA9IHJlcy50YXBJbmRleFxyXG5cdFx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IHRoYXQubGlzdFtpbmRleF0uYXJlYUlEO1xyXG5cdFx0XHRcdFx0XHR0aGF0LmN1clZhbCA9IHJlcy50YXBJbmRleFxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0Lmxpc3RbaW5kZXhdLmFyZWFJRCwgXCI2NjY2NlwiKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+mAieS4reS6huesrCcgKyByZXMudGFwSW5kZXggKyAn5Liq5oyJ6ZKuJyk7XHJcblxyXG5cdFx0XHRcdFx0XHR0aGF0LmFsbERhdGEoKVxyXG5cdFx0XHRcdFx0XHR0aGF0LnRhYkxpc3QoKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge31cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g6Kem5pG457uT5p2f5LqL5Lu2XHJcblx0XHRcdHRvdWNoRW5kOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGxldCB0b3VjaE1vdmVYID0gZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWDtcclxuXHRcdFx0XHRsZXQgdG91Y2hNb3ZlWSA9IGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVk7XHJcblx0XHRcdFx0bGV0IHRtWCA9IHRvdWNoTW92ZVggLSB0b3VjaERvdFg7XHJcblx0XHRcdFx0bGV0IHRtWSA9IHRvdWNoTW92ZVkgLSB0b3VjaERvdFk7XHJcblx0XHRcdFx0aWYgKHRpbWUgPCAyMCkge1xyXG5cdFx0XHRcdFx0bGV0IGFic1ggPSBNYXRoLmFicyh0bVgpO1xyXG5cdFx0XHRcdFx0bGV0IGFic1kgPSBNYXRoLmFicyh0bVkpO1xyXG5cdFx0XHRcdFx0Ly8gaWYgKGFic1ggPiAyICogYWJzWSkge1xyXG5cdFx0XHRcdFx0aWYgKGFic1ggPiA0MCAmJiAoMiAqIGFic1kpIDwgMjApIHtcclxuXHRcdFx0XHRcdFx0aWYgKHRtWCA8IDApIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5zd2lwZXJUYWJJZHggPj0gNCkgcmV0dXJuXHJcblxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc3dpcGVyVGFiSWR4ID0gdGhpcy5zd2lwZXJUYWJJZHggKyAxXHJcblxyXG5cdFx0XHRcdFx0XHRcdC8vIHRoYXQuZ29Ub3AoKTtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LnRhYkxpc3QoKTtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmFsbERhdGEoKTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5zd2lwZXJUYWJJZHggPD0gMCkgcmV0dXJuXHJcblxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc3dpcGVyVGFiSWR4ID0gdGhpcy5zd2lwZXJUYWJJZHggLSAxXHJcblxyXG5cdFx0XHRcdFx0XHRcdHRoYXQudGFiTGlzdCgpO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuYWxsRGF0YSgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOyAvLyDmuIXpmaRzZXRJbnRlcnZhbFxyXG5cdFx0XHRcdHRpbWUgPSAwO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Y2hpbGRNZXNzOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0aWYgKHR5cGVvZihlKSA9PSBcIm51bWJlclwiKSB7XHJcblxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmFyZWFJRCA9IGUuYXJlYUlEXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlLmFyZWFJRCwgJ+i/meaYr+WtkOe7hOS7tuepv+i/h+adpeeahOWAvCcpXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0aGlzLmFsbERhdGEoKVxyXG5cdFx0XHRcdHRoaXMudGFiTGlzdCgpXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL3RhYueCueWHu+S6i+S7tiDoh6rooYzlrozlloTpnIDopoHnmoTku6PnoIEgXHJcblx0XHRcdC8vIFx0Q3VycmVudFRhYjogZnVuY3Rpb24oZSkge1xyXG5cclxuXHRcdFx0Ly8gXHRcdHRoaXMuc3dpcGVyVGFiSWR4ID09ZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXg7XHJcblx0XHRcdC8vIFx0XHR0aGlzLnNjcm9sbEludG9WaWV3ID0gTWF0aC5tYXgoMCwgaW5kZXggLSAxKVxyXG5cdFx0XHQvLyBcdFx0Y29uc29sZS5sb2codW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJJZCcpLCBcIui/meaYr+eCueWHu+S5i+WQjueahOe8k+WtmFwiKVxyXG5cdFx0XHQvLyBcdFx0dGhpcy50YWJMaXN0KClcclxuXHRcdFx0Ly8gXHRcdGNvbnNvbGUubG9nKGluZGV4ICsgJy0tLS0nICsgaXRlbSwgJ+i/meaYr+eUqOaIt+eCueWHu+S5i+WQjueahOmhtemdoicpXHJcblxyXG5cdFx0XHQvLyBcdH0sXHJcblx0XHRcdEN1cnJlbnRUYWI6IGZ1bmN0aW9uKGluZGV4LCBpdGVtKSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5zd2lwZXJUYWJJZHggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pbmRleFxyXG5cdFx0XHRcdC8vIHRoaXMubmF2SW5kZXggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pbmRleFxyXG5cdFx0XHRcdC8vIHRoaXMudGFiTGlzdCgpXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5zd2lwZXJUYWJJZHgsIFwi6L+Z5piv54K55Ye75LmL5ZCO55qE5pe26Ze0XCIpXHJcblx0XHRcdFx0dGhpcy5zd2lwZXJUYWJJZHggPSBpbmRleDtcclxuXHRcdFx0XHR0aGlzLnNjcm9sbEludG9WaWV3ID0gTWF0aC5tYXgoMCwgaW5kZXggLSAxKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhpbmRleCArICctLS0tJyArIGl0ZW0pXHJcblx0XHRcdFx0dGhpcy50YWJMaXN0KClcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lhajpg6jnrqHnkIbpobXpnaLot7PovaznlKjmiLfnrqHnkIZcclxuXHRcdFx0c2tpcFVzZXI6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuc3dpcGVyVGFiSWR4ID0gMVxyXG5cdFx0XHRcdHRoaXMudGFiTGlzdCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdHNraXBCaWtlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLnN3aXBlclRhYklkeCA9IDJcclxuXHRcdFx0XHR0aGlzLnRhYkxpc3QoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRza2lwT3JkZXI6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuc3dpcGVyVGFiSWR4ID0gM1xyXG5cdFx0XHRcdHRoaXMudGFiTGlzdCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdHNraXBXb3JrOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLnN3aXBlclRhYklkeCA9IDRcclxuXHRcdFx0XHR0aGlzLnRhYkxpc3QoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+i9pui+huWIl+ihqOetm+mAiVxyXG5cdFx0XHQvL+a7keWKqOS6i+S7tiAg6Ieq6KGM5a6M5ZaE6ZyA6KaB55qE5Luj56CBXHJcblx0XHRcdFN3aXBlckNoYW5nZTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMuc3dpcGVyVGFiSWR4ID0gZS5kZXRhaWwuY3VycmVudDtcclxuXHRcdFx0XHR0aGlzLnNjcm9sbEludG9WaWV3ID0gTWF0aC5tYXgoMCwgZS5kZXRhaWwuY3VycmVudCAtIDEpO1xyXG5cclxuXHRcdFx0XHR0aGlzLnRhYkxpc3QoKVxyXG5cclxuXHJcblxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUsIFwi6L+Z5piv5rua5Yqo5LqL5Lu2MTI1NlwiKVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lhajpg6jmlbDmja5cclxuXHRcdFx0YWxsRGF0YTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly8gdW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHQvLyAgIHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdGxldCBhY3RpdmUgPSB0aGlzLnN3aXBlclRhYklkeDtcclxuXHRcdFx0XHRsZXQgYXJlYUlkID0gdGhpcy5hcmVhSUQ7XHJcblxyXG5cdFx0XHRcdGxldCB1cmwgPSAnJztcclxuXHRcdFx0XHRpZiAoYWN0aXZlID09IDApIHsgLy/miYDmnInmlbDmja5cclxuXHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0dXJsID0gJ3N0YXRpc3RpY3Mvc3RhdGlzdGljcydcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHVybCA9ICdzdGF0aXN0aWNzL3N0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgJ+aVsOaNricpXHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnVzZXIgPSByZXMuZGF0YS51c2VyRGF0YSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYmlrZSA9IHJlcy5kYXRhLmJpa2VEYXRhLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5vcmRlciA9IHJlcy5kYXRhLm9yZGVyRGF0YSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMud29ya19vcmRlciA9IHJlcy5kYXRhLndvcmtPcmRlckRhdGEsXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm9yZGVyUHJvZml0ID0gcmVzLmRhdGEucHJvZml0RGF0YSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMudXNlciwgJ+aVsOaNrjEyMzQ1NicpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdGlmIChhY3RpdmUgPT0gMSkgeyAvL+eUqOaIt+aVsOaNrlxyXG5cdFx0XHRcdFx0XHRpZiAoYXJlYUlkID09ICcnKSB7XHJcblx0XHRcdFx0XHRcdFx0dXJsID0gJ3VzZXIvdXNlclN0YXRpc3RpY3MnXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dXJsID0gJ3VzZXIvdXNlclN0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAyKSB7IC8v6L2m6L6G5pWw5o2uXHJcblx0XHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHR1cmwgPSAnYmlrZS9zdGF0aXN0aWNzJ1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVybCA9ICdiaWtlL3N0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAzKSB7IC8v6K6i5Y2V5pWw5o2uXHJcblx0XHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHR1cmwgPSAnb3JkZXIvb3JkZXJTdGF0aXN0aWNzJ1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVybCA9ICdvcmRlci9vcmRlclN0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSA0KSB7IC8v5bel5Y2V5pWw5o2uXHJcblx0XHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHR1cmwgPSAnd29ya19vcmRlci93b3JrT3JkZXJTdGF0aXN0aWNzJ1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL3dvcmtPcmRlclN0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEsICfmgLvmlbDmja4nKVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXHJcblx0XHRcdFx0XHRcdFx0dGhpcy51c2VyID0gcmVzLmRhdGEsXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmJpa2UgPSByZXMuZGF0YSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMub3JkZXIgPSByZXMuZGF0YSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMud29ya19vcmRlciA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0bG9jYWxzY3JlZW46IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvL+i9pui+hueuoeeQhueahOWxgOmDqOetm+mAiVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUsICdoaGgnKVxyXG5cdFx0XHRcdHRoaXMubmFtZSA9IGVcclxuXHRcdFx0XHR0aGlzLnRhYkxpc3QoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/liJfooajmlbDmja5cclxuXHRcdFx0dGFiTGlzdCgpIHtcclxuXHJcblx0XHRcdFx0bGV0IGFjdGl2ZSA9IHRoaXMuc3dpcGVyVGFiSWR4O1xyXG5cdFx0XHRcdGxldCBjdXJQYWdlID0gdGhpcy5jdXJQYWdlO1xyXG5cdFx0XHRcdGxldCB1cmwgPSAnJ1xyXG5cdFx0XHRcdGxldCBuYW1lID0gJydcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Ly/lvZPliY3mmK/lhajpg6jnrqHnkIbkuI3pnIDopoHliqDovb1cclxuXHRcdFx0XHRpZiAoYWN0aXZlID09IDApIHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5uYW1lICE9ICcnKSB7XHJcblx0XHRcdFx0XHRuYW1lID0gJyYmJyArIHRoaXMubmFtZVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cobmFtZSwgJ3poZXNoaSBuYW1lICcpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBkYXRhID0gJyYmcHV0X2FyZWFfaWQ9JyArIHRoaXMuYXJlYUlEO1xyXG5cdFx0XHRcdGlmIChhY3RpdmUgPT0gMSkgeyAvL+eUqOaIt1xyXG5cdFx0XHRcdFx0dXJsID0gJ3VzZXIvbGlzdC8/cGFnZT0xJ1xyXG5cdFx0XHRcdFx0Ly8gdXJsID0gJ3VzZXIvbGlzdCdcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAyKSB7IC8v6L2m6L6GXHJcblx0XHRcdFx0XHR1cmwgPSAnYmlrZS9saXN0Lz9wYWdlPTEnXHJcblx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gMykgeyAvL+iuouWNlVxyXG5cdFx0XHRcdFx0aWYgKGN1clBhZ2UgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHR1cmwgPSAnb3JkZXIvbGlzdC8/cGFnZT0xJ1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dXJsID0gJ29yZGVyUmVudC9saXN0Lz9wYWdlPTEnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gNCkgeyAvL+W3peWNlVxyXG5cdFx0XHRcdFx0dXJsID0gJ3dvcmtfb3JkZXIvbGlzdD9wYWdlPTEnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KHVybCArIGRhdGEgKyBuYW1lLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy51c2VyTGlzdCA9IHJlcy5kYXRhLmRhdGEsXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5iaWtlTGlzdCA9IHJlcy5kYXRhLmRhdGEsXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5vcmRlckxpc3QgPSByZXMuZGF0YS5kYXRhLFxyXG5cdFx0XHRcdFx0XHRcdHRoaXMud29ya19vcmRlckxpc3QgPSByZXMuZGF0YS5kYXRhXHJcblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGxvYWRtb3JlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHQvL+S4iuaLieWKoOi9veabtOWkmueahOWFrOWFseaWueazlVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdsb2FkTW9yZScsIFwi6L+Z5piv6Kem5bqV5pe26Ze0XCIpXHJcblx0XHRcdFx0Ly8gdmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHZhciBhY3RpdmUgPSB0aGlzLnN3aXBlclRhYklkeDtcclxuXHRcdFx0XHRpZiAoYWN0aXZlID09IDApIHtcclxuXHRcdFx0XHRcdC8v5b2T5YmN5piv5YWo6YOo566h55CG5LiN6ZyA6KaB5Yqg6L29XHJcblx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR2YXIgdXJsID0gJyc7XHJcblx0XHRcdFx0dmFyIHBhZ2UgPSB0aGlzLnBhZ2UgKyAxO1xyXG5cdFx0XHRcdHZhciBkYXRhID0gJyc7XHJcblx0XHRcdFx0dmFyIG5hbWUgPSAnJztcclxuXHRcdFx0XHRpZiAodGhpcy5uYW1lICE9ICcnKSB7XHJcblx0XHRcdFx0XHRuYW1lID0gJyYnICsgdGhpcy5uYW1lXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGRhdGEgPSAnJnB1dF9hcmVhX2lkPScgKyB0aGlzLmFyZWFJRFxyXG5cdFx0XHRcdGlmIChhY3RpdmUgPT0gMSkge1xyXG5cdFx0XHRcdFx0Ly/nlKjmiLfnrqHnkIZcclxuXHRcdFx0XHRcdHVybCA9ICd1c2VyL2xpc3Q/cGFnZT0nICsgdGhpcy51c2VyVXJsO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAoYWN0aXZlID09IDIpIHtcclxuXHRcdFx0XHRcdC8v6L2m6L6G566h55CGXHJcblx0XHRcdFx0XHR1cmwgPSAnYmlrZS9saXN0P3BhZ2U9JztcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAzKSB7XHJcblx0XHRcdFx0XHQvL+iuouWNleeuoeeQhlxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuY3VyUGFnZSA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdHVybCA9ICdvcmRlci9saXN0P3BhZ2U9JztcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHVybCA9ICdvcmRlclJlbnQvbGlzdD9wYWdlPSc7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gNCkge1xyXG5cdFx0XHRcdFx0Ly/lt6XljZXnrqHnkIZcclxuXHRcdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL2xpc3Q/cGFnZT0nO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRhcHAucmVxdWVzdCh1cmwgKyBwYWdlICsgZGF0YSArIG5hbWUsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuZGF0YS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcclxuXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wYWdlID0gcGFnZVxyXG5cclxuXHRcdFx0XHRcdFx0XHRpZiAoYWN0aXZlID09IDEpIHtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnVzZXJMaXN0ID0gdGhpcy51c2VyTGlzdC5jb25jYXQocmVzLmRhdGEuZGF0YSlcclxuXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gMikge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYmlrZUxpc3QgPSB0aGlzLmJpa2VMaXN0LmNvbmNhdChyZXMuZGF0YS5kYXRhKVxyXG5cclxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAzKSB7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5vcmRlckxpc3QgPSB0aGlzLm9yZGVyTGlzdC5jb25jYXQocmVzLmRhdGEuZGF0YSlcclxuXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gNCkge1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMud29ya19vcmRlckxpc3QgPSB0aGlzLndvcmtfb3JkZXJMaXN0LmNvbmNhdChyZXMuZGF0YS5kYXRhKVxyXG5cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOabtOWkmuaVsOaNricsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ngrnlh7vmi6jmiZPnlLXor51cclxuXHRcdFx0cGhvbmVDYWxsOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xyXG5cdFx0XHRcdFx0cGhvbmVOdW1iZXI6IGVcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+aZrumAmuiuouWNlVxyXG5cdFx0XHRub3JtYWxPcmRlcjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5jdXJQYWdlID0gMVxyXG5cdFx0XHRcdHRoaXMudGFiTGlzdCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5pel56ef6K6i5Y2VXHJcblx0XHRcdGRheU9yZGVyOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmN1clBhZ2UgPSAyXHJcblx0XHRcdFx0dGhpcy50YWJMaXN0KClcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ot7PovaznlKjmiLfor6bmg4XpobXpnaJcclxuXHRcdFx0dXNlckRldGFpbDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUsICfnlKjmiLfor6bmg4XmlbDmja4nKVxyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9tYW5hZ2UvdXNlckRldGFpbD9pZD0nICsgZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGJpa2VEZXRhaWw6IGZ1bmN0aW9uKGUsIGFhKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSwgXCLov5nmmK/ovabovoYxMTExMVwiKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGFhLCBcIui/meaYr+i9pui+hjExMjIyMjIyMjIyMjExMVwiKVxyXG5cclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvaW5kZXgvYmlrZV9kZXRhaWw/aWQ9JyArIGUgKyAnJmJpa2Vfbm89JyArIGFhXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ot7PovazorqLljZXor6bmg4XpobXpnaJcclxuXHRcdFx0b3JkZXJEZXRhaWw6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFuYWdlL29yZGVyRGV0YWlsP2lkPScgKyBlICsgJyZpbmRleD0nICsgdGhpcy5jdXJQYWdlLCAvL+aZrumAmuiuouWNleWSjOaXpeenn+iuouWNlVxyXG5cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+i3s+i9rOW3peWNleeuoeeQhumhtemdolxyXG5cdFx0XHR3b3JrRGV0YWlsOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL21hbmFnZS93b3JrRGV0YWlsP2lkPScgKyBlLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v54K55Ye76Lez6L2s5pS255uK6K+m5oOF6aG16Z2iXHJcblx0XHRcdGluY29tZURldGFpbDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL21hbmFnZS9pbmNvbWVEZXRhaWw/YXJlYUlkPScgKyB0aGlzLmFyZWFJRCxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fSxcclxuXHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQuYWxsQXJlYSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDM1dXB4O1xyXG5cdFx0aGVpZ2h0OiAxMjB1cHg7XHJcblx0XHRmb250LXNpemU6IDM0dXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE1MHVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHQvKiBtYXJnaW4tYm90dG9tOiAyMHJweDsgKi9cclxuXHRcdHotaW5kZXg6IDEwMDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5hbGxBcmVhIGltYWdlIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRtYXJnaW4tbGVmdDogMjB1cHg7XHJcblx0XHRoZWlnaHQ6IDQwdXB4O1xyXG5cdFx0d2lkdGg6IDQwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm5hdiB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDQ0cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDRweDtcclxuXHRcdG1hcmdpbjogMCAzNXVweDtcclxuXHRcdGZvbnQtc2l6ZTogMzB1cHg7XHJcblx0XHQvKiB3aWR0aDogMTAwcHg7ICovXHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0Lm5hdkNsYXNzIHtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMjgyODI4O1xyXG5cclxuXHRcdC8qIGJvcmRlci1ib3R0b20td2lkdGg6IDEwdXB4OyAqL1xyXG5cdH1cclxuXHJcblx0LyogLnN3aXBlckhlYWQge1xyXG5cdHRvcDogMDtcclxuXHR6LWluZGV4OiAxMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdH0gKi9cclxuXHQuc3dpcGVySGVhZCB7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDEyMHVweDtcclxuXHRcdGhlaWdodDogNzB1cHg7XHJcblxyXG5cdFx0cGFkZGluZzogMTV1cHggMDtcclxuXHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblxyXG5cdC5ib2R5IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblxyXG5cdC50b3Age1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMTAwMDAwMDtcclxuXHRcdHRvcDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQge1xyXG5cdFx0aGVpZ2h0OiA4MDBweDtcclxuXHRcdHBhZGRpbmctdG9wOiA0MDBweDtcclxuXHR9XHJcblxyXG5cdC5zY3JvbGwtdmlld19IIHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHQvKiB3aWR0aDogMTAwJTsgKi9cclxuXHRcdHotaW5kZXg6IDEwMDAwMDA7XHJcblx0fVxyXG5cclxuXHQuc2Nyb2xsLXZpZXctaXRlbSB7XHJcblx0XHRoZWlnaHQ6IDMwMHVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzMDB1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDM2dXB4O1xyXG5cdH1cclxuXHJcblx0LnNjcm9sbC12aWV3LWl0ZW1fSCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMzAwdXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMwMHVweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzZ1cHg7XHJcblx0fVxyXG5cclxuXHRwYWdlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGJhY2tncm91bmQ6ICNFRUVFRUU7XHJcblx0fVxyXG5cclxuXHQuc3dpcGVyTWFpbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cclxuXHQuc3dpcGVyTGluZSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogOXB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuc3dpcGVySGVhZCBzY3JvbGwtdmlldyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xyXG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHR9XHJcblxyXG5cdC5zd2lwZXJUYWIge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LnN3aXBlckNvbnQge1xyXG5cdFx0LyogcGFkZGluZy10b3A6IDQwMHVweDsgKi9cclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0LyogI2lmZGVmIEg1ICovXHJcblx0LnN3aXBlckhlYWQge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0dG9wOiA0NHB4O1xyXG5cdFx0ei1pbmRleDogMTA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcblx0fVxyXG5cclxuXHQvKiAjZW5kaWYgKi9cclxuXHJcblx0LnN3aXBlciB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNDAwdXB4O1xyXG5cdH1cclxuXHJcblx0LnN3aXBlckl0ZW0ge1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZDogI2Y5ZjlmOTtcclxuXHRcdG1hcmdpbi10b3A6IDEyMHVweDtcclxuXHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Zm9udC1zaXplOiAzMHVweDtcclxuXHR9XHJcblxyXG5cdC8qIFx0LnN3aXBlckl0ZW0gaW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9ICovXHJcblxyXG5cdC5vdXQtY29udGVudCB7XHJcblx0XHRwYWRkaW5nOiAwIDMwdXB4O1xyXG5cclxuXHRcdC8qIFx0cGFkZGluZzogNDV1cHggMzB1cHg7ICovXHJcblxyXG5cdH1cclxuXHJcblx0Lmxpc3Qge1xyXG5cdFx0bWFyZ2luLXRvcDogMjJ1cHg7XHJcblx0XHQvKiBcdHdpZHRoOiAxMDAlOyAqL1xyXG5cdFx0LyogaGVpZ2h0OiAxNTh1cHg7ICovXHJcblx0XHQvKiBwYWRkaW5nLXRvcDogNDZ1cHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogNjR1cHg7ICovXHJcblx0XHRwYWRkaW5nOiAwIDYwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0LmFsbC1saXN0LXRvcCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0cGFkZGluZzogMzJ1cHggMDtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHQvKiBcdGRpc3BsYXk6IGlubGluZS1ibG9jazsgKi9cclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDF1cHggI0VFRUVFRTtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cdH1cclxuXHJcblx0LmFsbC10b3AtbGVmdCxcclxuXHQuYWxsLXRvcC1yaWdodCB7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuYWxsLWxpc3QtdG9wIGltYWdlIHtcclxuXHRcdGhlaWdodDogMzB1cHg7XHJcblx0XHR3aWR0aDogMzB1cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwdXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogNXVweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0fVxyXG5cclxuXHQuYWxsLWxpc3QtdGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0fVxyXG5cclxuXHQuYWxsLWxpc3QtdGl0bGUgdGV4dDpmaXJzdC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwdXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwdXB4O1xyXG5cdFx0Y29sb3I6ICM3MDc1OUI7XHJcblx0fVxyXG5cclxuXHQuYWxsLWxpc3QtY29udGVudCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogNTZ1cHggMCA2M3VweCAwO1xyXG5cdH1cclxuXHJcblx0LmFsbC1saXN0LXJpZ2h0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQuYWxsLWxpc3QtcmlnaHQgaW1hZ2Uge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAyOHVweDtcclxuXHRcdG1hcmdpbi10b3A6IDE1dXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwdXB4O1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHR3aWR0aDogMjh1cHg7XHJcblx0fVxyXG5cclxuXHQuY29udGVudC1jaGlsZCB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI0VFRUVFRTtcclxuXHR9XHJcblxyXG5cdC5jb250ZW50LWNoaWxkOmxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyOiBub25lXHJcblx0fVxyXG5cclxuXHQuZmlyc3QtY2hpbGQge1xyXG5cdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHRcdGNvbG9yOiAjNzA3NTlCO1xyXG5cdH1cclxuXHJcblx0LnNlY29uZC1jaGlsZCB7XHJcblx0XHRtYXJnaW4tdG9wOiAxN3VweDtcclxuXHRcdGZvbnQtc2l6ZTogMzR1cHg7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdH1cclxuXHJcblx0LyogLmxpc3QtdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdH1cclxuICovXHJcblx0Lmxpc3QtY29udGVudCB7XHJcblxyXG5cdFx0cGFkZGluZy1sZWZ0OiA0MnVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0OHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0fVxyXG5cclxuXHQudGV4dC1sZWZ0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdC8qIG1pbi13aWR0aDoyMSU7ICovXHJcblxyXG5cdH1cclxuXHJcblx0LnRleHQtcmlnaHQge1xyXG5cclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi1sZWZ0OiA1MHVweDtcclxuXHR9XHJcblxyXG5cdC50ZXh0LWxlZnQsXHJcblx0LnRleHQtcmlnaHQge1xyXG5cdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0fVxyXG5cclxuXHQvKiDnlKjmiLfnrqHnkIbmoLflvI8gKi9cclxuXHQudXNlci1jb250ZW50LXRvcCB7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHVweDtcclxuXHRcdC8qIGhlaWdodDogMjk5dXB4OyAqL1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggNTBweCAwcHggcmdiYSgyMTYsIDIxNiwgMjE2LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDU2dXB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDQ3dXB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDMydXB4O1xyXG5cdFx0Y29sb3I6IGJsYWNrO1xyXG5cdH1cclxuXHJcblx0LmltYWdlIGltYWdlLFxyXG5cdC5pbWFnZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0aGVpZ2h0OiA0MnVweDtcclxuXHRcdHdpZHRoOiA0MnVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMjR1cHg7XHJcblx0fVxyXG5cclxuXHQudXNlci10b3AtdGV4dCB7XHJcblx0XHQvKiBcdGJhY2tncm91bmQtY29sb3I6ICMwRUU3RkU7ICovXHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdH1cclxuXHJcblx0LnRvdGFsLWNvdW50IHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDU1dXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMjB1cHg7XHJcblx0XHRmb250LXNpemU6IDYwdXB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFBpbmdGYW5nIFNDO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRcdGNvbG9yOiByZ2JhKDQyLCA0MiwgNDIsIDEpO1xyXG5cdH1cclxuXHJcblx0LnRvcC1ib3R0b20ge1xyXG5cdFx0bWFyZ2luLXRvcDogNDB1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA0MHVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG5cclxuXHQudXNlci1ib3R0b20tbGVmdCB7XHJcblxyXG5cdFx0ZmxleDogMTtcclxuXHJcblx0fVxyXG5cclxuXHQudXNlci1ib3R0b20tcmlnaHQge1xyXG5cdFx0ZmxleDogMTtcclxuXHJcblx0fVxyXG5cclxuXHQuY291bnQge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LWZhbWlseTogUGluZ0ZhbmcgU0M7XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0Y29sb3I6IHJnYmEoNDIsIDQyLCA0MiwgMSk7XHJcblx0XHRtYXJnaW4tdG9wOiAxNHVweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiA3MnVweDtcclxuXHR9XHJcblxyXG5cdC51c2VyLWxpc3QsXHJcblx0Lm9yZGVyLWxpc3Qge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Y2xlYXI6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAxOXVweCA0MHVweDtcclxuXHRcdC8qIGhlaWdodDogMTU5dXB4OyAqL1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwdXB4O1xyXG5cdFx0Y29sb3I6ICM4MzgzODM7XHJcblx0XHRtYXJnaW4tdG9wOiAyN3VweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0XHRmb250LXNpemU6IDI2dXB4O1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCA1MHB4IDBweCByZ2JhKDIxNiwgMjE2LCAyMTYsIDEpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0fVxyXG5cclxuXHQudXNlci1iYWxhbmNlIHtcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTM1dXB4O1xyXG5cdH1cclxuXHJcblx0LnVzZXItdGFnLFxyXG5cclxuXHJcblx0LnVzZXItdGFnMSxcclxuXHQudXNlci10YWcyLFxyXG5cdC51c2VyLXRhZzMge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMTU4dXB4O1xyXG5cdFx0aGVpZ2h0OiA0MnVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0MnVweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDB1cHggMTB1cHggMHVweCAyMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHRmb250LWZhbWlseTogUGluZ0ZhbmcgU0M7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0fVxyXG5cclxuXHQudXNlci10YWcxIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCA4NywgMzQsIDEpO1xyXG5cdFx0LyogYm94LXNoYWRvdzogMHB4IDBweCA2cHggMHB4IHJnYmEoMjU0LCA5NCwgNDQsIDEpOyAqL1xyXG5cdH1cclxuXHJcblx0LnVzZXItdGFnMiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzNywgNDAsIDI0NywgMSk7XHJcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDZweCAwcHggcmdiYSgxMzcsIDQwLCAyNDcsIDEpO1xyXG5cdH1cclxuXHJcblx0LnVzZXItdGFnMyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMjM0LCAyMjQsIDEpO1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCA2cHggMHB4IHJnYmEoMTAwLCAyMzQsIDIyNCwgMSk7XHJcblx0fVxyXG5cclxuXHRwYWdlIHtcclxuXHRcdC8qIFx0cG9zaXRpb246IHJlbGF0aXZlOyAqL1xyXG5cdH1cclxuXHJcblx0LmJpa2UtdG9wIHtcclxuXHRcdHRvcDogMjEwdXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblxyXG5cdFx0ei1pbmRleDogMzA7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cclxuXHRcdC8qIGhlaWdodDogMjM2dXB4OyAqL1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0bWFyZ2luLXRvcDogMTB1cHg7XHJcblx0XHRwYWRkaW5nOiAwIDEwdXB4O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDUwdXB4O1xyXG5cdH1cclxuXHJcblx0LmJpa2UtdG9wLWxpc3Qge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZmxleDogMCAwIDI0JTtcclxuXHRcdGhlaWdodDogNTAlO1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHQvKiBib3JkZXItcmlnaHQ6IHNvbGlkIDF1cHggIzAwN0FGRjsgKi9cclxuXHR9XHJcblxyXG5cdC5iaWtlLXRvcC1saXN0IGltYWdlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0aGVpZ2h0OiAyMXVweDtcclxuXHRcdHdpZHRoOiAyMXVweDtcclxuXHR9XHJcblxyXG5cdC5iaWtlLWNvdW50IHtcclxuXHRcdG1hcmdpbjogMzB1cHggMCAxNHVweCAwO1xyXG5cdFx0Zm9udC1mYW1pbHk6IFBpbmdGYW5nIFNDO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRcdGNvbG9yOiByZ2JhKDI1NCwgODcsIDM0LCAxKTtcclxuXHR9XHJcblxyXG5cdC5iaWtlLWxpc3Qge1xyXG5cdFx0cGFkZGluZzogMjB1cHggNDB1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0LyogaGVpZ2h0OiA1NHB4OyAqL1xyXG5cdFx0Y29sb3I6ICM4MzgzODM7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRib3gtc2hhZG93OiAwdXB4IDB1cHggMTN1cHggMHVweCByZ2JhKDIxNiwgMjE2LCAyMTYsIDEpO1xyXG5cclxuXHR9XHJcblxyXG5cdC5iaWtlLWxlZnQge1xyXG5cdFx0ZmxleDogMCAwIDcwJTtcclxuXHRcdC8qIGJhY2tncm91bmQtY29sb3I6ICMwMDdBRkY7ICovXHJcblxyXG5cdFx0Ym9yZGVyLXJpZ2h0OiAydXB4IHNvbGlkICNlZmVmZWY7XHJcblxyXG5cdH1cclxuXHJcblx0LmJpa2UtcmlnaHQge1xyXG5cdFx0ZmxleDogMTtcclxuXHJcblx0XHQvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjMEVFN0ZFOyAqL1xyXG5cdH1cclxuXHJcblx0LmJpa2UtcmlnaHQgaW1hZ2Uge1xyXG5cdFx0aGVpZ2h0OiA1MHVweDtcclxuXHRcdHdpZHRoOiA2NXVweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHVweDtcclxuXHRcdG1hcmdpbi10b3A6IDMwdXB4O1xyXG5cdH1cclxuXHJcblx0LmJpa2UtbGlzdC1maXJzdCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHVweDtcclxuXHR9XHJcblxyXG5cdC5CYXR0ZXJ5IHtcclxuXHRcdG1hcmdpbjogMCAyMHVweDtcclxuXHRcdGNvbG9yOiByZ2JhKDI1NCwgODcsIDM0LCAxKTtcclxuXHR9XHJcblxyXG5cdC5yaWRpbmctc3RhdHVzIHtcclxuXHRcdGNvbG9yOiByZ2JhKDI1NCwgODcsIDM0LCAxKTtcclxuXHR9XHJcblxyXG5cdC5iaWtlLW1vbmV5IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxNXVweDtcclxuXHR9XHJcblxyXG5cdC8qIOiuouWNleeuoeeQhuagt+W8jyAqL1xyXG5cdC5vcmRlci1ib3R0b20ge1xyXG5cdFx0d2lkdGg6IDgwJTtcclxuXHRcdC8qIGhlaWdodDogNTV1cHg7ICovXHJcblx0XHQvKiBcdGxpbmUtaGVpZ2h0OiA1NXVweDsgKi9cclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggIzY0ZWZkYTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxNXVweDtcclxuXHRcdG1hcmdpbi10b3A6IDMwdXB4O1xyXG5cclxuXHJcblx0fVxyXG5cclxuXHQub3JkZXItYm90dG9tLWxlZnQsXHJcblx0Lm9yZGVyLWJvdHRvbS1yaWdodCB7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0cGFkZGluZzogMTB1cHggMDtcclxuXHRcdC8qIGhlaWdodDogNTV1cHg7ICovXHJcblx0XHR3aWR0aDogMjAwdXB4O1xyXG5cdFx0Y29sb3I6ICM2NGVmZGE7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLWJvdHRvbS1sZWZ0IHtcclxuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEzdXB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTN1cHg7XHJcblx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjNjRlZmRhO1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLWJvdHRvbS1yaWdodCB7XHJcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTN1cHg7XHJcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTN1cHg7XHJcblx0fVxyXG5cclxuXHQuYWN0aXZlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM2NGVmZGE7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cdC5vcmRlci1iaWtlLW51bSB7fVxyXG5cclxuXHQub3JkZXItdXNlciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLXVzZXItbmFtZSxcclxuXHQub3JkZXItdXNlci1waG9uZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRoZWlnaHQ6IDcwdXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDcwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLWxpc3Qge1xyXG5cdFx0Zm9udC1zaXplOiAyNHVweDtcclxuXHR9XHJcblxyXG5cdC8qIOW3peWNleeuoeeQhiAqL1xyXG5cdC53b3JrLWxpc3Qge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblxyXG5cdC53b3JrLXRpdGxlIHtcclxuXHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdC8qIGhlaWdodDogMzB1cHg7ICovXHJcblx0fVxyXG5cclxuXHQud29yay1saXN0LWxlZnQge1xyXG5cdFx0ZmxleDogMCAwIDYwJTtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQud29yay1saXN0LXJpZ2h0IHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQudGV4dC1vbmUge1xyXG5cdFx0Y29sb3I6ICNFQjVFMjg7XHJcblx0fVxyXG5cclxuXHQubm9Vc2VyIHtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0XHRjb2xvcjogIzgzODM4MztcclxuXHRcdHRvcDogNjAlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdH1cclxuXHJcblx0Lm5vT3JkZXIge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdGNvbG9yOiAjODM4MzgzO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiAzOCU7XHJcblx0fVxyXG5cclxuXHQubm9PcmRlciBpbWFnZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHVweDtcclxuXHRcdGhlaWdodDogMjAwdXB4O1xyXG5cdFx0d2lkdGg6IDIwMHVweDtcclxuXHR9XHJcblxyXG5cdC5ob21lIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0fVxyXG5cclxuXHQuc3dpcGVyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0LyogICBoZWlnaHQ6IDsgKi9cclxuXHR9XHJcblxyXG5cdC5zd2lwZXIgc3dpcGVyLWl0ZW0ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQubmV3X2xpc3Qge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdG1hcmdpbi10b3A6IDIydXB4O1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdHBhZGRpbmc6IDMwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdFx0Y29sb3I6ICM3NDc0NzQ7XHJcblx0fVxyXG5cclxuXHQubmV3LWxlZnQge1xyXG5cdCAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZsZXg6IDAgMCAxNSU7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAzMHVweDtcclxuXHRcdG1hcmdpbjogMTB1cHggMDtcclxuXHRcdGJvcmRlci1yaWdodDogc29saWQgI2I2YmFjMTtcclxuXHR9XHJcblxyXG5cdC5uZXctbGVmdCBpbWFnZSB7XHJcblx0XHRoZWlnaHQ6IDcwdXB4O1xyXG5cdFx0d2lkdGg6IDcwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm5ldy10aXRsZSB7XHJcblx0XHRtYXJnaW4tdG9wOiA1dXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Lm5ldy1taWRkbGUge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAzMHVweDtcclxuXHJcblx0fVxyXG5cclxuXHQubmV3LXJpZ2h0IHtcclxuXHRcdGZsZXg6IDE7XHJcblx0fVxyXG5cclxuXHQubmV3LXRleHQge1xyXG5cdFx0cGFkZGluZzogNXVweDtcclxuXHR9XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///225\n");
  26399. /***/ }),
  26400. /* 226 */
  26401. /*!***************************************************************!*\
  26402. !*** C:/Users/001/Desktop/运维端/component/nav/swiperNavBar.vue ***!
  26403. \***************************************************************/
  26404. =======
  26405. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _swiperNavBar = _interopRequireDefault(__webpack_require__(/*! ../../component/nav/swiperNavBar.vue */ 60));\nvar _allAreatwo = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allAreatwo.vue */ 65));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var _default = { data: function data() {var _ref;return _ref = { swiperTabList: ['全部管理', '用户管理', '车辆管理', '订单管理', '工单管理'], //导航列表\n scrollIntoView: 0, //设置哪个方向可滚动,则在哪个方向滚动到该元素\n swiperTabIdx: 0, swiperCurrentSize: '30upx', //导航的字体大小\n swiperColor: '#424242', //导航栏字体未选中前颜色\n swiperCurrentColor: '#EB5E28', //选中当前导航栏字体颜色\n currentSwiperWidth: '25%', //当前导航的宽度 % upx rpx px (导航超出可左右滑动 )\n currentSwiperHeight: 70, //当前导航的高度度 rpx px\n mainHeight: 200, //全屏或者局部滑动设置的高度\n currentSwiperLineShow: true, //是否显示导航栏的线条 (线条距离标题太近的话可自行修改.swiperLine的css)\n currentSwiperLineActiveBg: '#EB5E28', //当前选中的导航栏线条颜色\n currentSwiperLineActiveWidth: '80upx', //当前选中的导航栏线条的宽度 upx rpx px\n currentSwiperLineActiveHeight: '8upx', //当前选中的导航栏线条的高度度 upx rpx px\n currentSwiperLineAnimatie: 300, //当前选中的导航栏线条过渡效果\n scrollTop: 0, item: '' }, _defineProperty(_ref, \"mainHeight\", 700), _defineProperty(_ref, \"index\", \"\"), _defineProperty(_ref, \"old\", { scrollTop: 0 }), _defineProperty(_ref, \"deposit_type\", 1), _defineProperty(_ref, \"state\", 1), _defineProperty(_ref, \"bike\", []), _defineProperty(_ref, \"work_order\", []), _defineProperty(_ref, \"user\", []), _defineProperty(_ref, \"orderProfit\", []), _defineProperty(_ref, \"order\", []), _defineProperty(_ref, \"bikeList\", []), _defineProperty(_ref, \"work_orderList\", []), _defineProperty(_ref, \"userList\", []), _defineProperty(_ref, \"orderProfitList\", []), _defineProperty(_ref, \"orderList\", []), _defineProperty(_ref, \"curPage\", 1), _defineProperty(_ref, \"name\", ''), _defineProperty(_ref, \"areaID\", ''), _defineProperty(_ref, \"list\", [{ //所有区域选项\n areaID: '', text: '全部区域', value: -1 }]), _defineProperty(_ref, \"value1\", 0), _defineProperty(_ref, \"homeHeight\", ''), _defineProperty(_ref, \"page\", 1), _defineProperty(_ref, \"userUrl\", ''), _defineProperty(_ref, \"curVal\", uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0), _ref;}, components: { swiperNavBar: _swiperNavBar.default, allAreatwo: _allAreatwo.default }, mounted: function mounted() {if (uni.getStorageSync('curVal')) {// let active = this.swiperTabIdx;\n // let areaId = uni.getStorageSync('curId');\n __f__(\"log\", \"这是初始加载数据\", \" at pages/manage/manage.vue:974\");this.allData(); // console.log(this.bike,\"这是车辆数据\")\n } else {this.areaID = this.list[0].areaID;__f__(\"log\", this.areaID, '12345678', \" at pages/manage/manage.vue:980\");this.allData();}}, onLoad: function onLoad() {var _this = this;var arr = uni.getStorageSync('allArea');this.list = this.list.concat(arr);__f__(\"log\", this.list, \" at pages/manage/manage.vue:988\"); // console.log(uin.getStorageSync('token'))\n uni.getSystemInfo({ success: function success(res) {__f__(\"log\", res, \"这是屏幕信息\", \" at pages/manage/manage.vue:992\");_this.mainHeight = res.windowHeight; // let info=uni.createSelectorQuery().select('.swiperMain');\n // info.boundingClientRect(function(data){\n // \tconsole.log(data,'这是组件数据')\n // }).exec(function(){\n // })\n } });}, // onReachBottom() {\n // \t\tconsole.log('触底事件')\n // \t\t// this.loadmore()\n // \t},\n // onReachBottom(){\n // \tconsole.log(\"这是触底事件222222\")\n // \t// // var that = this;\n // \t// uni.showLoading({\n // \t// \ttitle: '加载中121313',\n // \t// })\n // \t},\n methods: { scrolltolower: function scrolltolower() {__f__(\"log\", \"这是滚动触底时间\", \" at pages/manage/manage.vue:1018\");this.loadmore();}, //回到顶部\n // goTop: function(e) { // 一键回到顶部\n // \tif (uni.pageScrollTo) {\n // \t\tuni.pageScrollTo({\n // \t\t\tscrollTop: 0\n // \t\t})\n // \t}\n // },\n // onPullDownRefresh: function() {\n // \tuni.showNavigationBarLoading();\n // \tthis.getWork(), uni.hideNavigationBarLoading(), uni.stopPullDownRefresh();\n // },\n //弹框事件\n tanKuang: function tanKuang() {var that = this;var arr = [];for (var i = 0; i < this.list.length; i++) {arr = arr.concat(this.list[i].text);}__f__(\"log\", arr, \" at pages/manage/manage.vue:1044\");uni.showActionSheet({ itemList: arr, success: function success(res) {var index = res.tapIndex;that.areaID = that.list[index].areaID;that.curVal = res.tapIndex;__f__(\"log\", that.list[index].areaID, \"66666\", \" at pages/manage/manage.vue:1051\");__f__(\"log\", '选中了第' + res.tapIndex + '个按钮', \" at pages/manage/manage.vue:1052\");that.allData();that.tabList();}, fail: function fail(res) {} });}, // 触摸结束事件\n touchEnd: function touchEnd(e) {var that = this;var touchMoveX = e.changedTouches[0].pageX;var touchMoveY = e.changedTouches[0].pageY;var tmX = touchMoveX - touchDotX;var tmY = touchMoveY - touchDotY;if (time < 20) {var absX = Math.abs(tmX);var absY = Math.abs(tmY); // if (absX > 2 * absY) {\n if (absX > 40 && 2 * absY < 20) {if (tmX < 0) {if (this.swiperTabIdx >= 4) return;this.swiperTabIdx = this.swiperTabIdx + 1; // that.goTop();\n that.tabList();that.allData();} else {if (this.swiperTabIdx <= 0) return;this.swiperTabIdx = this.swiperTabIdx - 1;that.tabList();that.allData();}}}clearInterval(interval); // 清除setInterval\n time = 0;}, childMess: function childMess(e) {if (typeof e == \"number\") {} else {this.areaID = e.areaID;__f__(\"log\", e.areaID, '这是子组件穿过来的值', \" at pages/manage/manage.vue:1100\");}this.allData();this.tabList();}, //tab点击事件 自行完善需要的代码 \n // \tCurrentTab: function(e) {\n // \t\tthis.swiperTabIdx ==e.currentTarget.dataset.index;\n // \t\tthis.scrollIntoView = Math.max(0, index - 1)\n // \t\tconsole.log(uni.getStorageSync('curId'), \"这是点击之后的缓存\")\n // \t\tthis.tabList()\n // \t\tconsole.log(index + '----' + item, '这是用户点击之后的页面')\n // \t},\n CurrentTab: function CurrentTab(index, item) {// this.swiperTabIdx = e.currentTarget.dataset.index\n // this.navIndex = e.currentTarget.dataset.index\n // this.tabList()\n // console.log(this.swiperTabIdx, \"这是点击之后的时间\")\n this.swiperTabIdx = index;this.scrollIntoView = Math.max(0, index - 1);__f__(\"log\", index + '----' + item, \" at pages/manage/manage.vue:1124\");this.tabList();}, //全部管理页面跳转用户管理\n skipUser: function skipUser() {this.swiperTabIdx = 1;this.tabList();}, skipBike: function skipBike() {this.swiperTabIdx = 2;this.tabList();}, skipOrder: function skipOrder() {this.swiperTabIdx = 3;this.tabList();}, skipWork: function skipWork() {this.swiperTabIdx = 4;this.tabList();}, //车辆列表筛选\n //滑动事件 自行完善需要的代码\n SwiperChange: function SwiperChange(e) {this.swiperTabIdx = e.detail.current;this.scrollIntoView = Math.max(0, e.detail.current - 1);this.tabList();__f__(\"log\", e, \"这是滚动事件1256\", \" at pages/manage/manage.vue:1154\");}, //全部数据\n allData: function allData() {var _this2 = this; // uni.showLoading({\n // title: '加载中...',\n // })\n var active = this.swiperTabIdx;var areaId = this.areaID;var url = '';if (active == 0) {//所有数据\n if (areaId == '') {url = 'statistics/statistics';} else {url = 'statistics/statistics?put_area_id=' + areaId;}app.request(url, '', 'GET').then(function (res) {uni.hideLoading();if (res.statusCode == 200) {__f__(\"log\", res.data, '数据', \" at pages/manage/manage.vue:1175\");uni.hideLoading();_this2.user = res.data.userData, _this2.bike = res.data.bikeData, _this2.order = res.data.orderData, _this2.work_order = res.data.workOrderData, _this2.orderProfit = res.data.profitData, __f__(\"log\", _this2.user, '数据123456', \" at pages/manage/manage.vue:1182\");}});} else {if (active == 1) {//用户数据\n if (areaId == '') {url = 'user/userStatistics';} else {url = 'user/userStatistics?put_area_id=' + areaId;}} else if (active == 2) {//车辆数据\n if (areaId == '') {url = 'bike/statistics';} else {url = 'bike/statistics?put_area_id=' + areaId;}} else if (active == 3) {//订单数据\n if (areaId == '') {url = 'order/orderStatistics';} else {url = 'order/orderStatistics?put_area_id=' + areaId;}} else if (active == 4) {//工单数据\n if (areaId == '') {url = 'work_order/workOrderStatistics';} else {url = 'work_order/workOrderStatistics?put_area_id=' + areaId;}}app.request(url, '', 'GET').then(function (res) {if (res.statusCode == 200) {__f__(\"log\", res.data, '总数据', \" at pages/manage/manage.vue:1213\");uni.hideLoading();_this2.user = res.data, _this2.bike = res.data, _this2.order = res.data, _this2.work_order = res.data;}});}}, localscreen: function localscreen(e) {//车辆管理的局部筛选\n __f__(\"log\", e, 'hhh', \" at pages/manage/manage.vue:1226\");this.name = e;this.tabList();}, //列表数据\n tabList: function tabList() {var _this3 = this;var active = this.swiperTabIdx;var curPage = this.curPage;var url = '';var name = '';uni.showLoading({ title: '加载中...' }); //当前是全部管理不需要加载\n if (active == 0) {uni.hideLoading();return;}if (this.name != '') {name = '&&' + this.name;__f__(\"log\", name, 'zheshi name ', \" at pages/manage/manage.vue:1247\");}var data = '&&put_area_id=' + this.areaID;if (active == 1) {//用户\n url = 'user/list/?page=1'; // url = 'user/list'\n } else if (active == 2) {//车辆\n url = 'bike/list/?page=1';} else if (active == 3) {//订单\n if (curPage == 1) {url = 'order/list/?page=1';} else {url = 'orderRent/list/?page=1';}} else if (active == 4) {//工单\n url = 'work_order/list?page=1';}app.request(url + data + name, '', 'GET').then(function (res) {if (res.statusCode == 200) {__f__(\"log\", res.data, \" at pages/manage/manage.vue:1266\");uni.hideLoading();_this3.userList = res.data.data, _this3.bikeList = res.data.data, _this3.orderList = res.data.data, _this3.work_orderList = res.data.data;}});}, loadmore: function loadmore() {var _this4 = this; //上拉加载更多的公共方法\n __f__(\"log\", 'loadMore', \"这是触底时间\", \" at pages/manage/manage.vue:1279\"); // var that = this;\n var active = this.swiperTabIdx;if (active == 0) {//当前是全部管理不需要加载\n return;}uni.showLoading({ title: '加载中...' });var url = '';var page = this.page + 1;var data = '';var name = '';if (this.name != '') {name = '&' + this.name;}data = '&put_area_id=' + this.areaID;if (active == 1) {//用户管理\n url = 'user/list?page=' + this.userUrl;} else if (active == 2) {//车辆管理\n url = 'bike/list?page=';} else if (active == 3) {//订单管理\n if (this.curPage == 1) {url = 'order/list?page=';} else {url = 'orderRent/list?page=';}} else if (active == 4) {//工单管理\n url = 'work_order/list?page=';}app.request(url + page + data + name, '', 'GET').then(function (res) {if (res.statusCode == 200) {if (res.data.data.length > 0) {uni.hideLoading();_this4.page = page;if (active == 1) {_this4.userList = _this4.userList.concat(res.data.data);} else if (active == 2) {_this4.bikeList = _this4.bikeList.concat(res.data.data);} else if (active == 3) {_this4.orderList = _this4.orderList.concat(res.data.data);} else if (active == 4) {_this4.work_orderList = _this4.work_orderList.concat(res.data.data);}} else {uni.showToast({ title: '暂无更多数据', icon: 'none' });}}});}, //点击拨打电话\n phoneCall: function phoneCall(e) {uni.makePhoneCall({ phoneNumber: e });}, //普通订单\n normalOrder: function normalOrder() {this.curPage = 1;this.tabList();}, //日租订单\n dayOrder: function dayOrder() {this.curPage = 2;this.tabList();}, //跳转用户详情页面\n userDetail: function userDetail(e) {__f__(\"log\", e, '用户详情数据', \" at pages/manage/manage.vue:1365\");uni.navigateTo({ url: '/pages/manage/userDetail?id=' + e });}, bikeDetail: function bikeDetail(e, aa) {__f__(\"log\", e, \"这是车辆11111\", \" at pages/manage/manage.vue:1371\");__f__(\"log\", aa, \"这是车辆112222222222111\", \" at pages/manage/manage.vue:1372\");uni.navigateTo({ url: '/pages/index/bike_detail?id=' + e + '&bike_no=' + aa });}, //跳转订单详情页面\n orderDetail: function orderDetail(e) {uni.navigateTo({ url: '/pages/manage/orderDetail?id=' + e + '&index=' + this.curPage //普通订单和日租订单\n });}, //跳转工单管理页面\n workDetail: function workDetail(e) {uni.navigateTo({ url: '/pages/manage/workDetail?id=' + e });}, //点击跳转收益详情页面\n incomeDetail: function incomeDetail() {uni.navigateTo({ url: '/pages/manage/incomeDetail?areaId=' + this.areaID });} } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL21hbmFnZS52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsInN3aXBlclRhYkxpc3QiLCJzY3JvbGxJbnRvVmlldyIsInN3aXBlclRhYklkeCIsInN3aXBlckN1cnJlbnRTaXplIiwic3dpcGVyQ29sb3IiLCJzd2lwZXJDdXJyZW50Q29sb3IiLCJjdXJyZW50U3dpcGVyV2lkdGgiLCJjdXJyZW50U3dpcGVySGVpZ2h0IiwibWFpbkhlaWdodCIsImN1cnJlbnRTd2lwZXJMaW5lU2hvdyIsImN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlQmciLCJjdXJyZW50U3dpcGVyTGluZUFjdGl2ZVdpZHRoIiwiY3VycmVudFN3aXBlckxpbmVBY3RpdmVIZWlnaHQiLCJjdXJyZW50U3dpcGVyTGluZUFuaW1hdGllIiwic2Nyb2xsVG9wIiwiaXRlbSIsImFyZWFJRCIsInRleHQiLCJ2YWx1ZSIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwiY29tcG9uZW50cyIsInN3aXBlck5hdkJhciIsImFsbEFyZWF0d28iLCJtb3VudGVkIiwiYWxsRGF0YSIsImxpc3QiLCJvbkxvYWQiLCJhcnIiLCJjb25jYXQiLCJnZXRTeXN0ZW1JbmZvIiwic3VjY2VzcyIsInJlcyIsIndpbmRvd0hlaWdodCIsIm1ldGhvZHMiLCJzY3JvbGx0b2xvd2VyIiwibG9hZG1vcmUiLCJ0YW5LdWFuZyIsInRoYXQiLCJpIiwibGVuZ3RoIiwic2hvd0FjdGlvblNoZWV0IiwiaXRlbUxpc3QiLCJpbmRleCIsInRhcEluZGV4IiwiY3VyVmFsIiwidGFiTGlzdCIsImZhaWwiLCJ0b3VjaEVuZCIsImUiLCJ0b3VjaE1vdmVYIiwiY2hhbmdlZFRvdWNoZXMiLCJwYWdlWCIsInRvdWNoTW92ZVkiLCJwYWdlWSIsInRtWCIsInRvdWNoRG90WCIsInRtWSIsInRvdWNoRG90WSIsInRpbWUiLCJhYnNYIiwiTWF0aCIsImFicyIsImFic1kiLCJjbGVhckludGVydmFsIiwiaW50ZXJ2YWwiLCJjaGlsZE1lc3MiLCJDdXJyZW50VGFiIiwibWF4Iiwic2tpcFVzZXIiLCJza2lwQmlrZSIsInNraXBPcmRlciIsInNraXBXb3JrIiwiU3dpcGVyQ2hhbmdlIiwiZGV0YWlsIiwiY3VycmVudCIsImFjdGl2ZSIsImFyZWFJZCIsInVybCIsInJlcXVlc3QiLCJ0aGVuIiwiaGlkZUxvYWRpbmciLCJzdGF0dXNDb2RlIiwidXNlciIsInVzZXJEYXRhIiwiYmlrZSIsImJpa2VEYXRhIiwib3JkZXIiLCJvcmRlckRhdGEiLCJ3b3JrX29yZGVyIiwid29ya09yZGVyRGF0YSIsIm9yZGVyUHJvZml0IiwicHJvZml0RGF0YSIsImxvY2Fsc2NyZWVuIiwibmFtZSIsImN1clBhZ2UiLCJzaG93TG9hZGluZyIsInRpdGxlIiwidXNlckxpc3QiLCJiaWtlTGlzdCIsIm9yZGVyTGlzdCIsIndvcmtfb3JkZXJMaXN0IiwicGFnZSIsInVzZXJVcmwiLCJzaG93VG9hc3QiLCJpY29uIiwicGhvbmVDYWxsIiwibWFrZVBob25lQ2FsbCIsInBob25lTnVtYmVyIiwibm9ybWFsT3JkZXIiLCJkYXlPcmRlciIsInVzZXJEZXRhaWwiLCJuYXZpZ2F0ZVRvIiwiYmlrZURldGFpbCIsImFhIiwib3JkZXJEZXRhaWwiLCJ3b3JrRGV0YWlsIiwiaW5jb21lRGV0YWlsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEwNEJBO0FBQ0EsZ0gsd1NBMzRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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QUNBLENBMVZPLEVBMlZSO0FBQ0FpRSxjQUFVLEVBQUUsb0JBQVM5RCxDQUFULEVBQVksQ0FDdkIsYUFBWUEsQ0FBWixFQUFlLFFBQWYsc0NBQ0E5QixHQUFHLENBQUM2RixVQUFKLENBQWUsRUFDZGxDLEdBQUcsRUFBRSxpQ0FBaUM3QixDQUR4QixFQUFmLEVBR0EsQ0FqV08sRUFrV1JnRSxVQUFVLEVBQUUsb0JBQVNoRSxDQUFULEVBQVlpRSxFQUFaLEVBQWdCLENBQzNCLGFBQVlqRSxDQUFaLEVBQWUsV0FBZixzQ0FDQSxhQUFZaUUsRUFBWixFQUFnQixxQkFBaEIsc0NBRUEvRixHQUFHLENBQUM2RixVQUFKLENBQWUsRUFDZGxDLEdBQUcsRUFBRSxpQ0FBaUM3QixDQUFqQyxHQUFxQyxXQUFyQyxHQUFtRGlFLEVBRDFDLEVBQWYsRUFHQSxDQXpXTyxFQTBXUjtBQUNBQyxlQUFXLEVBQUUscUJBQVNsRSxDQUFULEVBQVksQ0FDeEI5QixHQUFHLENBQUM2RixVQUFKLENBQWUsRUFDZGxDLEdBQUcsRUFBRSxrQ0FBa0M3QixDQUFsQyxHQUFzQyxTQUF0QyxHQUFrRCxLQUFLOEMsT0FEOUMsQ0FDdUQ7QUFEdkQsT0FBZixFQUlBLENBaFhPLEVBaVhSO0FBQ0FxQixjQUFVLEVBQUUsb0JBQVNuRSxDQUFULEVBQVksQ0FDdkI5QixHQUFHLENBQUM2RixVQUFKLENBQWUsRUFDZGxDLEdBQUcsRUFBRSxpQ0FBaUM3QixDQUR4QixFQUFmLEVBR0EsQ0F0WE8sRUF1WFI7QUFDQW9FLGdCQUFZLEVBQUUsd0JBQVcsQ0FDeEJsRyxHQUFHLENBQUM2RixVQUFKLENBQWUsRUFDZGxDLEdBQUcsRUFBRSx1Q0FBdUMsS0FBSzlELE1BRG5DLEVBQWYsRUFHQSxDQTVYTyxFQTNHSyxFIiwiZmlsZSI6IjU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcCA9IGdldEFwcCgpXG5pbXBvcnQgc3dpcGVyTmF2QmFyIGZyb20gJy4uLy4uL2NvbXBvbmVudC9uYXYvc3dpcGVyTmF2QmFyLnZ1ZSdcbmltcG9ydCBhbGxBcmVhdHdvIGZyb20gJy4uLy4uL2NvbXBvbmVudC9hbGxBcmVhL2FsbEFyZWF0d28udnVlJ1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzd2lwZXJUYWJMaXN0OiBbJ+WFqOmDqOeuoeeQhicsICfnlKjmiLfnrqHnkIYnLCAn6L2m6L6G566h55CGJywgJ+iuouWNleeuoeeQhicsICflt6XljZXnrqHnkIYnXSwgLy/lr7zoiKrliJfooahcblx0XHRcdHNjcm9sbEludG9WaWV3OiAwLCAvL+iuvue9ruWTquS4quaWueWQkeWPr+a7muWKqO+8jOWImeWcqOWTquS4quaWueWQkea7muWKqOWIsOivpeWFg+e0oFxuXHRcdFx0c3dpcGVyVGFiSWR4OiAwLFxuXHRcdFx0c3dpcGVyQ3VycmVudFNpemU6ICczMHVweCcsIC8v5a+86Iiq55qE5a2X5L2T5aSn5bCPXG5cdFx0XHRzd2lwZXJDb2xvcjogJyM0MjQyNDInLCAvL+WvvOiIquagj+Wtl+S9k+acqumAieS4reWJjeminOiJslxuXHRcdFx0c3dpcGVyQ3VycmVudENvbG9yOiAnI0VCNUUyOCcsIC8v6YCJ5Lit5b2T5YmN5a+86Iiq5qCP5a2X5L2T6aKc6ImyXG5cdFx0XHRjdXJyZW50U3dpcGVyV2lkdGg6ICcyNSUnLCAvL+W9k+WJjeWvvOiIqueahOWuveW6piAlIHVweCBycHggcHggIO+8iOWvvOiIqui2heWHuuWPr+W3puWPs+a7keWKqCDvvIlcblx0XHRcdGN1cnJlbnRTd2lwZXJIZWlnaHQ6IDcwLCAvL+W9k+WJjeWvvOiIqueahOmrmOW6puW6piBycHggcHhcblx0XHRcdG1haW5IZWlnaHQ6IDIwMCwgLy/lhajlsY/miJbogIXlsYDpg6jmu5Hliqjorr7nva7nmoTpq5jluqZcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lU2hvdzogdHJ1ZSwgLy/mmK/lkKbmmL7npLrlr7zoiKrmoI/nmoTnur/mnaEg77yI57q/5p2h6Led56a75qCH6aKY5aSq6L+R55qE6K+d5Y+v6Ieq6KGM5L+u5pS5LnN3aXBlckxpbmXnmoRjc3PvvIlcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlQmc6ICcjRUI1RTI4JywgLy/lvZPliY3pgInkuK3nmoTlr7zoiKrmoI/nur/mnaHpopzoibJcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlV2lkdGg6ICc4MHVweCcsIC8v5b2T5YmN6YCJ5Lit55qE5a+86Iiq5qCP57q/5p2h55qE5a695bqmIHVweCBycHggcHhcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlSGVpZ2h0OiAnOHVweCcsIC8v5b2T5YmN6YCJ5Lit55qE5a+86Iiq5qCP57q/5p2h55qE6auY5bqm5bqmIHVweCBycHggcHhcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQW5pbWF0aWU6IDMwMCwgLy/lvZPliY3pgInkuK3nmoTlr7zoiKrmoI/nur/mnaHov4fmuKHmlYjmnpxcblx0XHRcdHNjcm9sbFRvcDogMCxcblx0XHRcdGl0ZW06ICcnLFxuXHRcdFx0bWFpbkhlaWdodDogNzAwLFxuXHRcdFx0Ly8gbmF2SW5kZXg6IDAsXG5cdFx0XHQvLyBzd2lwZXJUYWJJZHg6IDAsXG5cdFx0XHRpbmRleDogXCJcIixcblx0XHRcdG9sZDoge1xuXHRcdFx0XHRzY3JvbGxUb3A6IDBcblx0XHRcdH0sXG5cblx0XHRcdGRlcG9zaXRfdHlwZTogMSwgLy/mirzph5HnirbmgIEw6Z2e5oq86YeR55So5oi3IDHmirzph5HnlKjmiLdcblx0XHRcdHN0YXRlOiAxLCAvL+iuouWNleeuoeeQhueVjOmdouaMiemSrueKtuaAgSAx5Li65pmu6YCa6K6i5Y2VIDLkuLrml6Xnp5/orqLljZVcblx0XHRcdGJpa2U6IFtdLCAvL+i9pui+hlxuXHRcdFx0d29ya19vcmRlcjogW10sIC8v5bel5Y2VXG5cdFx0XHR1c2VyOiBbXSwgLy/nlKjmiLdcblx0XHRcdG9yZGVyUHJvZml0OiBbXSwgLy/mlLbnm4pcblx0XHRcdG9yZGVyOiBbXSwgLy/orqLljZVcblx0XHRcdGJpa2VMaXN0OiBbXSwgLy/ovabovoZcblx0XHRcdHdvcmtfb3JkZXJMaXN0OiBbXSwgLy/lt6XljZVcblx0XHRcdHVzZXJMaXN0OiBbXSwgLy/nlKjmiLdcblx0XHRcdG9yZGVyUHJvZml0TGlzdDogW10sIC8v5pS255uKXG5cdFx0XHRvcmRlckxpc3Q6IFtdLCAvL+iuouWNlVxuXHRcdFx0Y3VyUGFnZTogMSwgLy/pu5jorqTmmL7npLrmma7pgJrorqLljZVcblx0XHRcdG5hbWU6ICcnLCAvL+i9pui+hueuoeeQhueahOWxgOmDqOetm+mAiVxuXHRcdFx0YXJlYUlEOiAnJywgLy/pqpHooYzljLrln59pZFxuXHRcdFx0bGlzdDogW3sgLy/miYDmnInljLrln5/pgInpoblcblx0XHRcdFx0YXJlYUlEOiAnJyxcblx0XHRcdFx0dGV4dDogJ+WFqOmDqOWMuuWfnycsXG5cdFx0XHRcdHZhbHVlOiAtMSxcblx0XHRcdH1dLCAvL+mqkeihjOWMuuWfn+mAieaLqeWIl+ihqFxuXHRcdFx0dmFsdWUxOiAwLCAvL+mqkeihjOWMuuS4juesrOS4gOS4quaYvuekuuS7gOS5iFxuXHRcdFx0aG9tZUhlaWdodDogJycsXG5cdFx0XHRwYWdlOiAxLCAvL+W9k+WJjemhteaVsFxuXHRcdFx0dXNlclVybDogJycsXG5cdFx0XHRjdXJWYWw6IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgPyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpIDogMCwgLy/pqpHooYzljLrkuI7nrKzkuIDkuKrkuIvmoIdcblx0XHRcdC8vIGN1cklkOiBcIlwiLCAvL+mqkeihjOWMuuWfn2lkXG5cdFx0XHQvLyBsaXN0OiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKSxcblx0XHR9XG5cdH0sXG5cdGNvbXBvbmVudHM6IHtcblx0XHRzd2lwZXJOYXZCYXIsXG5cdFx0YWxsQXJlYXR3b1xuXHR9LFxuXHRtb3VudGVkKCkge1xuXG5cdFx0aWYgKHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykpIHtcblx0XHRcdC8vICAgIGxldCBhY3RpdmUgPSB0aGlzLnN3aXBlclRhYklkeDtcblx0XHRcdC8vIGxldCBhcmVhSWQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJyk7XG5cdFx0XHRjb25zb2xlLmxvZyhcIui/meaYr+WIneWni+WKoOi9veaVsOaNrlwiKVxuXHRcdFx0dGhpcy5hbGxEYXRhKClcblx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuYmlrZSxcIui/meaYr+i9pui+huaVsOaNrlwiKVxuXG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYXJlYUlEID0gdGhpcy5saXN0WzBdLmFyZWFJRDtcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYUlELCAnMTIzNDU2NzgnKVxuXHRcdFx0dGhpcy5hbGxEYXRhKClcblx0XHR9XG5cdH0sXG5cblx0b25Mb2FkKCkge1xuXHRcdHZhciBhcnIgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcblx0XHR0aGlzLmxpc3QgPSB0aGlzLmxpc3QuY29uY2F0KGFycik7XG5cdFx0Y29uc29sZS5sb2codGhpcy5saXN0KVxuXHRcdC8vIGNvbnNvbGUubG9nKHVpbi5nZXRTdG9yYWdlU3luYygndG9rZW4nKSlcblx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XG5cdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsIFwi6L+Z5piv5bGP5bmV5L+h5oGvXCIpXG5cdFx0XHRcdHRoaXMubWFpbkhlaWdodCA9IHJlcy53aW5kb3dIZWlnaHQ7XG5cdFx0XHRcdC8vIGxldCBpbmZvPXVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCkuc2VsZWN0KCcuc3dpcGVyTWFpbicpO1xuXHRcdFx0XHQvLyBpbmZvLmJvdW5kaW5nQ2xpZW50UmVjdChmdW5jdGlvbihkYXRhKXtcblx0XHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhkYXRhLCfov5nmmK/nu4Tku7bmlbDmja4nKVxuXHRcdFx0XHQvLyB9KS5leGVjKGZ1bmN0aW9uKCl7XG5cblx0XHRcdFx0Ly8gfSlcblx0XHRcdH1cblx0XHR9KVxuXG5cdH0sXG5cdC8vIG9uUmVhY2hCb3R0b20oKSB7XG5cdC8vIFx0XHRjb25zb2xlLmxvZygn6Kem5bqV5LqL5Lu2Jylcblx0Ly8gXHRcdC8vIHRoaXMubG9hZG1vcmUoKVxuXHQvLyBcdH0sXG5cblx0Ly8gb25SZWFjaEJvdHRvbSgpe1xuXHQvLyBcdGNvbnNvbGUubG9nKFwi6L+Z5piv6Kem5bqV5LqL5Lu2MjIyMjIyXCIpXG5cdC8vIFx0Ly8gLy8gdmFyIHRoYXQgPSB0aGlzO1xuXHQvLyBcdC8vIHVuaS5zaG93TG9hZGluZyh7XG5cdC8vIFx0Ly8gXHR0aXRsZTogJ+WKoOi9veS4rTEyMTMxMycsXG5cdC8vIFx0Ly8gfSlcblx0Ly8gXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0c2Nyb2xsdG9sb3dlcjogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhcIui/meaYr+a7muWKqOinpuW6leaXtumXtFwiKVxuXHRcdFx0dGhpcy5sb2FkbW9yZSgpXG5cdFx0fSxcblx0XHQvL+WbnuWIsOmhtumDqFxuXHRcdC8vIGdvVG9wOiBmdW5jdGlvbihlKSB7IC8vIOS4gOmUruWbnuWIsOmhtumDqFxuXHRcdC8vIFx0aWYgKHVuaS5wYWdlU2Nyb2xsVG8pIHtcblx0XHQvLyBcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XG5cdFx0Ly8gXHRcdFx0c2Nyb2xsVG9wOiAwXG5cdFx0Ly8gXHRcdH0pXG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfSxcblxuXHRcdC8vIG9uUHVsbERvd25SZWZyZXNoOiBmdW5jdGlvbigpIHtcblx0XHQvLyBcdHVuaS5zaG93TmF2aWdhdGlvbkJhckxvYWRpbmcoKTtcblx0XHQvLyBcdHRoaXMuZ2V0V29yaygpLCB1bmkuaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nKCksIHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XG5cdFx0Ly8gfSxcblxuXG5cdFx0Ly/lvLnmoYbkuovku7ZcblxuXHRcdHRhbkt1YW5nOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdHZhciBhcnIgPSBbXVxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0YXJyID0gYXJyLmNvbmNhdCh0aGlzLmxpc3RbaV0udGV4dClcblx0XHRcdH1cblx0XHRcdGNvbnNvbGUubG9nKGFycilcblx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xuXHRcdFx0XHRpdGVtTGlzdDogYXJyLFxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRsZXQgaW5kZXggPSByZXMudGFwSW5kZXhcblx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IHRoYXQubGlzdFtpbmRleF0uYXJlYUlEO1xuXHRcdFx0XHRcdHRoYXQuY3VyVmFsID0gcmVzLnRhcEluZGV4XG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5saXN0W2luZGV4XS5hcmVhSUQsIFwiNjY2NjZcIik7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+mAieS4reS6huesrCcgKyByZXMudGFwSW5kZXggKyAn5Liq5oyJ6ZKuJyk7XG5cblx0XHRcdFx0XHR0aGF0LmFsbERhdGEoKVxuXHRcdFx0XHRcdHRoYXQudGFiTGlzdCgpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge31cblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdC8vIOinpuaRuOe7k+adn+S6i+S7tlxuXHRcdHRvdWNoRW5kOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRsZXQgdG91Y2hNb3ZlWCA9IGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVg7XG5cdFx0XHRsZXQgdG91Y2hNb3ZlWSA9IGUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVk7XG5cdFx0XHRsZXQgdG1YID0gdG91Y2hNb3ZlWCAtIHRvdWNoRG90WDtcblx0XHRcdGxldCB0bVkgPSB0b3VjaE1vdmVZIC0gdG91Y2hEb3RZO1xuXHRcdFx0aWYgKHRpbWUgPCAyMCkge1xuXHRcdFx0XHRsZXQgYWJzWCA9IE1hdGguYWJzKHRtWCk7XG5cdFx0XHRcdGxldCBhYnNZID0gTWF0aC5hYnModG1ZKTtcblx0XHRcdFx0Ly8gaWYgKGFic1ggPiAyICogYWJzWSkge1xuXHRcdFx0XHRpZiAoYWJzWCA+IDQwICYmICgyICogYWJzWSkgPCAyMCkge1xuXHRcdFx0XHRcdGlmICh0bVggPCAwKSB7XG5cdFx0XHRcdFx0XHRpZiAodGhpcy5zd2lwZXJUYWJJZHggPj0gNCkgcmV0dXJuXG5cblx0XHRcdFx0XHRcdHRoaXMuc3dpcGVyVGFiSWR4ID0gdGhpcy5zd2lwZXJUYWJJZHggKyAxXG5cblx0XHRcdFx0XHRcdC8vIHRoYXQuZ29Ub3AoKTtcblx0XHRcdFx0XHRcdHRoYXQudGFiTGlzdCgpO1xuXHRcdFx0XHRcdFx0dGhhdC5hbGxEYXRhKCk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGlmICh0aGlzLnN3aXBlclRhYklkeCA8PSAwKSByZXR1cm5cblxuXHRcdFx0XHRcdFx0dGhpcy5zd2lwZXJUYWJJZHggPSB0aGlzLnN3aXBlclRhYklkeCAtIDFcblxuXHRcdFx0XHRcdFx0dGhhdC50YWJMaXN0KCk7XG5cdFx0XHRcdFx0XHR0aGF0LmFsbERhdGEoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOyAvLyDmuIXpmaRzZXRJbnRlcnZhbFxuXHRcdFx0dGltZSA9IDA7XG5cdFx0fSxcblxuXHRcdGNoaWxkTWVzczogZnVuY3Rpb24oZSkge1xuXHRcdFx0aWYgKHR5cGVvZihlKSA9PSBcIm51bWJlclwiKSB7XG5cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuYXJlYUlEID0gZS5hcmVhSURcblx0XHRcdFx0Y29uc29sZS5sb2coZS5hcmVhSUQsICfov5nmmK/lrZDnu4Tku7bnqb/ov4fmnaXnmoTlgLwnKVxuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLmFsbERhdGEoKVxuXHRcdFx0dGhpcy50YWJMaXN0KClcblxuXHRcdH0sXG5cdFx0Ly90YWLngrnlh7vkuovku7Yg6Ieq6KGM5a6M5ZaE6ZyA6KaB55qE5Luj56CBIFxuXHRcdC8vIFx0Q3VycmVudFRhYjogZnVuY3Rpb24oZSkge1xuXG5cdFx0Ly8gXHRcdHRoaXMuc3dpcGVyVGFiSWR4ID09ZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXg7XG5cdFx0Ly8gXHRcdHRoaXMuc2Nyb2xsSW50b1ZpZXcgPSBNYXRoLm1heCgwLCBpbmRleCAtIDEpXG5cdFx0Ly8gXHRcdGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnY3VySWQnKSwgXCLov5nmmK/ngrnlh7vkuYvlkI7nmoTnvJPlrZhcIilcblx0XHQvLyBcdFx0dGhpcy50YWJMaXN0KClcblx0XHQvLyBcdFx0Y29uc29sZS5sb2coaW5kZXggKyAnLS0tLScgKyBpdGVtLCAn6L+Z5piv55So5oi354K55Ye75LmL5ZCO55qE6aG16Z2iJylcblxuXHRcdC8vIFx0fSxcblx0XHRDdXJyZW50VGFiOiBmdW5jdGlvbihpbmRleCwgaXRlbSkge1xuXHRcdFx0Ly8gdGhpcy5zd2lwZXJUYWJJZHggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pbmRleFxuXHRcdFx0Ly8gdGhpcy5uYXZJbmRleCA9IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LmluZGV4XG5cdFx0XHQvLyB0aGlzLnRhYkxpc3QoKVxuXHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5zd2lwZXJUYWJJZHgsIFwi6L+Z5piv54K55Ye75LmL5ZCO55qE5pe26Ze0XCIpXG5cdFx0XHR0aGlzLnN3aXBlclRhYklkeCA9IGluZGV4O1xuXHRcdFx0dGhpcy5zY3JvbGxJbnRvVmlldyA9IE1hdGgubWF4KDAsIGluZGV4IC0gMSk7XG5cdFx0XHRjb25zb2xlLmxvZyhpbmRleCArICctLS0tJyArIGl0ZW0pXG5cdFx0XHR0aGlzLnRhYkxpc3QoKVxuXHRcdH0sXG5cdFx0Ly/lhajpg6jnrqHnkIbpobXpnaLot7PovaznlKjmiLfnrqHnkIZcblx0XHRza2lwVXNlcjogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLnN3aXBlclRhYklkeCA9IDFcblx0XHRcdHRoaXMudGFiTGlzdCgpXG5cdFx0fSxcblx0XHRza2lwQmlrZTogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLnN3aXBlclRhYklkeCA9IDJcblx0XHRcdHRoaXMudGFiTGlzdCgpXG5cdFx0fSxcblx0XHRza2lwT3JkZXI6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zd2lwZXJUYWJJZHggPSAzXG5cdFx0XHR0aGlzLnRhYkxpc3QoKVxuXHRcdH0sXG5cdFx0c2tpcFdvcms6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zd2lwZXJUYWJJZHggPSA0XG5cdFx0XHR0aGlzLnRhYkxpc3QoKVxuXHRcdH0sXG5cdFx0Ly/ovabovobliJfooajnrZvpgIlcblx0XHQvL+a7keWKqOS6i+S7tiAg6Ieq6KGM5a6M5ZaE6ZyA6KaB55qE5Luj56CBXG5cdFx0U3dpcGVyQ2hhbmdlOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLnN3aXBlclRhYklkeCA9IGUuZGV0YWlsLmN1cnJlbnQ7XG5cdFx0XHR0aGlzLnNjcm9sbEludG9WaWV3ID0gTWF0aC5tYXgoMCwgZS5kZXRhaWwuY3VycmVudCAtIDEpO1xuXG5cdFx0XHR0aGlzLnRhYkxpc3QoKVxuXG5cblxuXHRcdFx0Y29uc29sZS5sb2coZSwgXCLov5nmmK/mu5rliqjkuovku7YxMjU2XCIpXG5cblx0XHR9LFxuXHRcdC8v5YWo6YOo5pWw5o2uXG5cdFx0YWxsRGF0YTogZnVuY3Rpb24oKSB7XG5cdFx0XHQvLyB1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0Ly8gICB0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHQvLyB9KVxuXHRcdFx0bGV0IGFjdGl2ZSA9IHRoaXMuc3dpcGVyVGFiSWR4O1xuXHRcdFx0bGV0IGFyZWFJZCA9IHRoaXMuYXJlYUlEO1xuXG5cdFx0XHRsZXQgdXJsID0gJyc7XG5cdFx0XHRpZiAoYWN0aXZlID09IDApIHsgLy/miYDmnInmlbDmja5cblx0XHRcdFx0aWYgKGFyZWFJZCA9PSAnJykge1xuXHRcdFx0XHRcdHVybCA9ICdzdGF0aXN0aWNzL3N0YXRpc3RpY3MnXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dXJsID0gJ3N0YXRpc3RpY3Mvc3RhdGlzdGljcz9wdXRfYXJlYV9pZD0nICsgYXJlYUlkXG5cdFx0XHRcdH1cblx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgJ+aVsOaNricpXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxuXHRcdFx0XHRcdFx0dGhpcy51c2VyID0gcmVzLmRhdGEudXNlckRhdGEsXG5cdFx0XHRcdFx0XHRcdHRoaXMuYmlrZSA9IHJlcy5kYXRhLmJpa2VEYXRhLFxuXHRcdFx0XHRcdFx0XHR0aGlzLm9yZGVyID0gcmVzLmRhdGEub3JkZXJEYXRhLFxuXHRcdFx0XHRcdFx0XHR0aGlzLndvcmtfb3JkZXIgPSByZXMuZGF0YS53b3JrT3JkZXJEYXRhLFxuXHRcdFx0XHRcdFx0XHR0aGlzLm9yZGVyUHJvZml0ID0gcmVzLmRhdGEucHJvZml0RGF0YSxcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy51c2VyLCAn5pWw5o2uMTIzNDU2Jylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoYWN0aXZlID09IDEpIHsgLy/nlKjmiLfmlbDmja5cblx0XHRcdFx0XHRpZiAoYXJlYUlkID09ICcnKSB7XG5cdFx0XHRcdFx0XHR1cmwgPSAndXNlci91c2VyU3RhdGlzdGljcydcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dXJsID0gJ3VzZXIvdXNlclN0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gMikgeyAvL+i9pui+huaVsOaNrlxuXHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcblx0XHRcdFx0XHRcdHVybCA9ICdiaWtlL3N0YXRpc3RpY3MnXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHVybCA9ICdiaWtlL3N0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gMykgeyAvL+iuouWNleaVsOaNrlxuXHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcblx0XHRcdFx0XHRcdHVybCA9ICdvcmRlci9vcmRlclN0YXRpc3RpY3MnXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHVybCA9ICdvcmRlci9vcmRlclN0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gNCkgeyAvL+W3peWNleaVsOaNrlxuXHRcdFx0XHRcdGlmIChhcmVhSWQgPT0gJycpIHtcblx0XHRcdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL3dvcmtPcmRlclN0YXRpc3RpY3MnXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL3dvcmtPcmRlclN0YXRpc3RpY3M/cHV0X2FyZWFfaWQ9JyArIGFyZWFJZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLCAn5oC75pWw5o2uJylcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdFx0XHR0aGlzLnVzZXIgPSByZXMuZGF0YSxcblx0XHRcdFx0XHRcdFx0dGhpcy5iaWtlID0gcmVzLmRhdGEsXG5cdFx0XHRcdFx0XHRcdHRoaXMub3JkZXIgPSByZXMuZGF0YSxcblx0XHRcdFx0XHRcdFx0dGhpcy53b3JrX29yZGVyID0gcmVzLmRhdGFcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cblx0XHR9LFxuXHRcdGxvY2Fsc2NyZWVuOiBmdW5jdGlvbihlKSB7XG5cdFx0XHQvL+i9pui+hueuoeeQhueahOWxgOmDqOetm+mAiVxuXHRcdFx0Y29uc29sZS5sb2coZSwgJ2hoaCcpXG5cdFx0XHR0aGlzLm5hbWUgPSBlXG5cdFx0XHR0aGlzLnRhYkxpc3QoKTtcblx0XHR9LFxuXHRcdC8v5YiX6KGo5pWw5o2uXG5cdFx0dGFiTGlzdCgpIHtcblxuXHRcdFx0bGV0IGFjdGl2ZSA9IHRoaXMuc3dpcGVyVGFiSWR4O1xuXHRcdFx0bGV0IGN1clBhZ2UgPSB0aGlzLmN1clBhZ2U7XG5cdFx0XHRsZXQgdXJsID0gJydcblx0XHRcdGxldCBuYW1lID0gJydcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHQvL+W9k+WJjeaYr+WFqOmDqOeuoeeQhuS4jemcgOimgeWKoOi9vVxuXHRcdFx0aWYgKGFjdGl2ZSA9PSAwKSB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZiAodGhpcy5uYW1lICE9ICcnKSB7XG5cdFx0XHRcdG5hbWUgPSAnJiYnICsgdGhpcy5uYW1lXG5cdFx0XHRcdGNvbnNvbGUubG9nKG5hbWUsICd6aGVzaGkgbmFtZSAnKVxuXHRcdFx0fVxuXHRcdFx0bGV0IGRhdGEgPSAnJiZwdXRfYXJlYV9pZD0nICsgdGhpcy5hcmVhSUQ7XG5cdFx0XHRpZiAoYWN0aXZlID09IDEpIHsgLy/nlKjmiLdcblx0XHRcdFx0dXJsID0gJ3VzZXIvbGlzdC8/cGFnZT0xJ1xuXHRcdFx0XHQvLyB1cmwgPSAndXNlci9saXN0J1xuXHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gMikgeyAvL+i9pui+hlxuXHRcdFx0XHR1cmwgPSAnYmlrZS9saXN0Lz9wYWdlPTEnXG5cdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAzKSB7IC8v6K6i5Y2VXG5cdFx0XHRcdGlmIChjdXJQYWdlID09IDEpIHtcblx0XHRcdFx0XHR1cmwgPSAnb3JkZXIvbGlzdC8/cGFnZT0xJ1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHVybCA9ICdvcmRlclJlbnQvbGlzdC8/cGFnZT0xJ1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSA0KSB7IC8v5bel5Y2VXG5cdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL2xpc3Q/cGFnZT0xJ1xuXHRcdFx0fVxuXHRcdFx0YXBwLnJlcXVlc3QodXJsICsgZGF0YSArIG5hbWUsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cblx0XHRcdFx0XHR0aGlzLnVzZXJMaXN0ID0gcmVzLmRhdGEuZGF0YSxcblx0XHRcdFx0XHRcdHRoaXMuYmlrZUxpc3QgPSByZXMuZGF0YS5kYXRhLFxuXHRcdFx0XHRcdFx0dGhpcy5vcmRlckxpc3QgPSByZXMuZGF0YS5kYXRhLFxuXHRcdFx0XHRcdFx0dGhpcy53b3JrX29yZGVyTGlzdCA9IHJlcy5kYXRhLmRhdGFcblxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0bG9hZG1vcmU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Ly/kuIrmi4nliqDovb3mm7TlpJrnmoTlhazlhbHmlrnms5Vcblx0XHRcdGNvbnNvbGUubG9nKCdsb2FkTW9yZScsIFwi6L+Z5piv6Kem5bqV5pe26Ze0XCIpXG5cdFx0XHQvLyB2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR2YXIgYWN0aXZlID0gdGhpcy5zd2lwZXJUYWJJZHg7XG5cdFx0XHRpZiAoYWN0aXZlID09IDApIHtcblx0XHRcdFx0Ly/lvZPliY3mmK/lhajpg6jnrqHnkIbkuI3pnIDopoHliqDovb1cblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdHZhciB1cmwgPSAnJztcblx0XHRcdHZhciBwYWdlID0gdGhpcy5wYWdlICsgMTtcblx0XHRcdHZhciBkYXRhID0gJyc7XG5cdFx0XHR2YXIgbmFtZSA9ICcnO1xuXHRcdFx0aWYgKHRoaXMubmFtZSAhPSAnJykge1xuXHRcdFx0XHRuYW1lID0gJyYnICsgdGhpcy5uYW1lXG5cdFx0XHR9XG5cdFx0XHRkYXRhID0gJyZwdXRfYXJlYV9pZD0nICsgdGhpcy5hcmVhSURcblx0XHRcdGlmIChhY3RpdmUgPT0gMSkge1xuXHRcdFx0XHQvL+eUqOaIt+euoeeQhlxuXHRcdFx0XHR1cmwgPSAndXNlci9saXN0P3BhZ2U9JyArIHRoaXMudXNlclVybDtcblx0XHRcdH0gZWxzZSBpZiAoYWN0aXZlID09IDIpIHtcblx0XHRcdFx0Ly/ovabovobnrqHnkIZcblx0XHRcdFx0dXJsID0gJ2Jpa2UvbGlzdD9wYWdlPSc7XG5cdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSAzKSB7XG5cdFx0XHRcdC8v6K6i5Y2V566h55CGXG5cdFx0XHRcdGlmICh0aGlzLmN1clBhZ2UgPT0gMSkge1xuXHRcdFx0XHRcdHVybCA9ICdvcmRlci9saXN0P3BhZ2U9Jztcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR1cmwgPSAnb3JkZXJSZW50L2xpc3Q/cGFnZT0nO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2UgaWYgKGFjdGl2ZSA9PSA0KSB7XG5cdFx0XHRcdC8v5bel5Y2V566h55CGXG5cdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL2xpc3Q/cGFnZT0nO1xuXHRcdFx0fVxuXHRcdFx0YXBwLnJlcXVlc3QodXJsICsgcGFnZSArIGRhdGEgKyBuYW1lLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdGlmIChyZXMuZGF0YS5kYXRhLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cblx0XHRcdFx0XHRcdHRoaXMucGFnZSA9IHBhZ2VcblxuXHRcdFx0XHRcdFx0aWYgKGFjdGl2ZSA9PSAxKSB7XG5cblx0XHRcdFx0XHRcdFx0dGhpcy51c2VyTGlzdCA9IHRoaXMudXNlckxpc3QuY29uY2F0KHJlcy5kYXRhLmRhdGEpXG5cblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoYWN0aXZlID09IDIpIHtcblxuXHRcdFx0XHRcdFx0XHR0aGlzLmJpa2VMaXN0ID0gdGhpcy5iaWtlTGlzdC5jb25jYXQocmVzLmRhdGEuZGF0YSlcblxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChhY3RpdmUgPT0gMykge1xuXG5cdFx0XHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gdGhpcy5vcmRlckxpc3QuY29uY2F0KHJlcy5kYXRhLmRhdGEpXG5cblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoYWN0aXZlID09IDQpIHtcblxuXHRcdFx0XHRcdFx0XHR0aGlzLndvcmtfb3JkZXJMaXN0ID0gdGhpcy53b3JrX29yZGVyTGlzdC5jb25jYXQocmVzLmRhdGEuZGF0YSlcblxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmmoLml6Dmm7TlpJrmlbDmja4nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/ngrnlh7vmi6jmiZPnlLXor51cblx0XHRwaG9uZUNhbGw6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdHVuaS5tYWtlUGhvbmVDYWxsKHtcblx0XHRcdFx0cGhvbmVOdW1iZXI6IGVcblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+aZrumAmuiuouWNlVxuXHRcdG5vcm1hbE9yZGVyOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMuY3VyUGFnZSA9IDFcblx0XHRcdHRoaXMudGFiTGlzdCgpXG5cdFx0fSxcblx0XHQvL+aXpeenn+iuouWNlVxuXHRcdGRheU9yZGVyOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMuY3VyUGFnZSA9IDJcblx0XHRcdHRoaXMudGFiTGlzdCgpXG5cdFx0fSxcblx0XHQvL+i3s+i9rOeUqOaIt+ivpuaDhemhtemdolxuXHRcdHVzZXJEZXRhaWw6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUsICfnlKjmiLfor6bmg4XmlbDmja4nKVxuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFuYWdlL3VzZXJEZXRhaWw/aWQ9JyArIGVcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRiaWtlRGV0YWlsOiBmdW5jdGlvbihlLCBhYSkge1xuXHRcdFx0Y29uc29sZS5sb2coZSwgXCLov5nmmK/ovabovoYxMTExMVwiKVxuXHRcdFx0Y29uc29sZS5sb2coYWEsIFwi6L+Z5piv6L2m6L6GMTEyMjIyMjIyMjIyMTExXCIpXG5cblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0dXJsOiAnL3BhZ2VzL2luZGV4L2Jpa2VfZGV0YWlsP2lkPScgKyBlICsgJyZiaWtlX25vPScgKyBhYVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v6Lez6L2s6K6i5Y2V6K+m5oOF6aG16Z2iXG5cdFx0b3JkZXJEZXRhaWw6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0dXJsOiAnL3BhZ2VzL21hbmFnZS9vcmRlckRldGFpbD9pZD0nICsgZSArICcmaW5kZXg9JyArIHRoaXMuY3VyUGFnZSwgLy/mma7pgJrorqLljZXlkozml6Xnp5/orqLljZVcblxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v6Lez6L2s5bel5Y2V566h55CG6aG16Z2iXG5cdFx0d29ya0RldGFpbDogZnVuY3Rpb24oZSkge1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFuYWdlL3dvcmtEZXRhaWw/aWQ9JyArIGUsXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/ngrnlh7vot7PovazmlLbnm4ror6bmg4XpobXpnaJcblx0XHRpbmNvbWVEZXRhaWw6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFuYWdlL2luY29tZURldGFpbD9hcmVhSWQ9JyArIHRoaXMuYXJlYUlELFxuXHRcdFx0fSlcblx0XHR9XG5cblx0fSxcblxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///59\n");
  26406. /***/ }),
  26407. /* 60 */
  26408. /*!****************************************************************************!*\
  26409. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/nav/swiperNavBar.vue ***!
  26410. \****************************************************************************/
  26411. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26412. /*! no static exports found */
  26413. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26414. "use strict";
  26415. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./swiperNavBar.vue?vue&type=template&id=3cb22058& */ 227);\n/* harmony import */ var _swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./swiperNavBar.vue?vue&type=script&lang=js& */ 229);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"component/nav/swiperNavBar.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBeUg7QUFDekg7QUFDZ0U7QUFDTDs7O0FBRzNEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLGtGQUFNO0FBQ1IsRUFBRSx1RkFBTTtBQUNSLEVBQUUsZ0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMkZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9zd2lwZXJOYXZCYXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTNjYjIyMDU4JlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vc3dpcGVyTmF2QmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vc3dpcGVyTmF2QmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJjb21wb25lbnQvbmF2L3N3aXBlck5hdkJhci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///226\n");
  26416. /***/ }),
  26417. <<<<<<< HEAD
  26418. /* 227 */
  26419. /*!**********************************************************************************************!*\
  26420. !*** C:/Users/001/Desktop/运维端/component/nav/swiperNavBar.vue?vue&type=template&id=3cb22058& ***!
  26421. \**********************************************************************************************/
  26422. =======
  26423. /* 61 */
  26424. /*!***********************************************************************************************************!*\
  26425. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/nav/swiperNavBar.vue?vue&type=template&id=3cb22058& ***!
  26426. \***********************************************************************************************************/
  26427. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26428. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  26429. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26430. "use strict";
  26431. __webpack_require__.r(__webpack_exports__);
  26432. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./swiperNavBar.vue?vue&type=template&id=3cb22058& */ 228);
  26433. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  26434. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  26435. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  26436. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_template_id_3cb22058___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  26437. /***/ }),
  26438. <<<<<<< HEAD
  26439. /* 228 */
  26440. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26441. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/component/nav/swiperNavBar.vue?vue&type=template&id=3cb22058& ***!
  26442. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26443. =======
  26444. /* 62 */
  26445. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26446. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/nav/swiperNavBar.vue?vue&type=template&id=3cb22058& ***!
  26447. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26448. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26449. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  26450. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26451. "use strict";
  26452. __webpack_require__.r(__webpack_exports__);
  26453. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  26454. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  26455. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  26456. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  26457. var components
  26458. var render = function() {
  26459. var _vm = this
  26460. var _h = _vm.$createElement
  26461. var _c = _vm._self._c || _h
  26462. return _c(
  26463. "scroll-view",
  26464. {
  26465. style: _vm._$s(0, "s", { height: _vm.currentSwiperHeight + "rpx" }),
  26466. attrs: {
  26467. "scroll-into-view": _vm._$s(
  26468. 0,
  26469. "a-scroll-into-view",
  26470. "tab-" + _vm.scrollIntoView
  26471. ),
  26472. _i: 0
  26473. }
  26474. },
  26475. _vm._l(_vm._$s(1, "f", { forItems: _vm.swiperTabList }), function(
  26476. item,
  26477. index,
  26478. $20,
  26479. $30
  26480. ) {
  26481. return _c(
  26482. "view",
  26483. {
  26484. key: _vm._$s(1, "f", { forIndex: $20, key: index }),
  26485. staticClass: _vm._$s("1-" + $30, "sc", "swiperTab"),
  26486. style: _vm._$s("1-" + $30, "s", {
  26487. width: _vm.currentSwiperWidth,
  26488. lineHeight: _vm.currentSwiperHeight + "rpx"
  26489. }),
  26490. attrs: {
  26491. id: _vm._$s("1-" + $30, "a-id", "tab-" + index),
  26492. _i: "1-" + $30
  26493. },
  26494. on: {
  26495. click: function($event) {
  26496. return _vm.CurrentTab(index, item)
  26497. }
  26498. }
  26499. },
  26500. [
  26501. _c(
  26502. "text",
  26503. {
  26504. style: _vm._$s("2-" + $30, "s", {
  26505. color:
  26506. _vm.swiperTabIdx == index
  26507. ? _vm.swiperCurrentColor
  26508. : _vm.swiperColor
  26509. }),
  26510. attrs: { _i: "2-" + $30 }
  26511. },
  26512. [_vm._v(_vm._$s("2-" + $30, "t0-0", _vm._s(item)))]
  26513. ),
  26514. _c(
  26515. "view",
  26516. {
  26517. directives: [
  26518. {
  26519. name: "show",
  26520. rawName: "v-show",
  26521. value: _vm._$s(
  26522. "3-" + $30,
  26523. "v-show",
  26524. _vm.currentSwiperLineShow
  26525. ),
  26526. expression: "_$s((\"3-\"+$30),'v-show',currentSwiperLineShow)"
  26527. }
  26528. ],
  26529. staticClass: _vm._$s("3-" + $30, "sc", "swiperLine"),
  26530. attrs: { _i: "3-" + $30 }
  26531. },
  26532. [
  26533. _vm._$s("4-" + $30, "i", _vm.swiperTabIdx == index)
  26534. ? _c("view", {
  26535. staticClass: _vm._$s("4-" + $30, "sc", "swiperLineActive"),
  26536. class: _vm._$s("4-" + $30, "c", [
  26537. _vm.swiperTabIdx == index && _vm.currentSwiperLineAnimatie
  26538. ? "currentLine"
  26539. : ""
  26540. ]),
  26541. style: _vm._$s("4-" + $30, "s", {
  26542. width: _vm.currentSwiperLineActiveWidth,
  26543. height: _vm.currentSwiperLineActiveHeight,
  26544. background: _vm.currentSwiperLineActiveBg
  26545. }),
  26546. attrs: { _i: "4-" + $30 }
  26547. })
  26548. : _vm._e()
  26549. ]
  26550. )
  26551. ]
  26552. )
  26553. }),
  26554. 0
  26555. )
  26556. }
  26557. var recyclableRender = false
  26558. var staticRenderFns = []
  26559. render._withStripped = true
  26560. /***/ }),
  26561. <<<<<<< HEAD
  26562. /* 229 */
  26563. /*!****************************************************************************************!*\
  26564. !*** C:/Users/001/Desktop/运维端/component/nav/swiperNavBar.vue?vue&type=script&lang=js& ***!
  26565. \****************************************************************************************/
  26566. =======
  26567. /* 63 */
  26568. /*!*****************************************************************************************************!*\
  26569. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/nav/swiperNavBar.vue?vue&type=script&lang=js& ***!
  26570. \*****************************************************************************************************/
  26571. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26572. /*! no static exports found */
  26573. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26574. "use strict";
  26575. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./swiperNavBar.vue?vue&type=script&lang=js& */ 230);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_swiperNavBar_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVpQixDQUFnQiwwa0JBQUcsRUFBQyIsImZpbGUiOiIyMjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zd2lwZXJOYXZCYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zd2lwZXJOYXZCYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///229\n");
  26576. /***/ }),
  26577. <<<<<<< HEAD
  26578. /* 230 */
  26579. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26580. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/component/nav/swiperNavBar.vue?vue&type=script&lang=js& ***!
  26581. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26582. =======
  26583. /* 64 */
  26584. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26585. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/nav/swiperNavBar.vue?vue&type=script&lang=js& ***!
  26586. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26587. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26588. /*! no static exports found */
  26589. /***/ (function(module, exports, __webpack_require__) {
  26590. "use strict";
  26591. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {};\n\n },\n onLoad: function onLoad() {},\n props: {\n scrollIntoView: { type: Number }, //设置哪个方向可滚动,则在哪个方向滚动到该元素\n swiperTabList: { type: Array }, //导航列表\n swiperTabIdx: { type: Number }, //导航对应列表下标\n swiperColor: { type: String }, //导航栏字体未选中前颜色\n swiperCurrentColor: { type: String }, //选中当前导航栏字体颜色\n currentSwiperWidth: { type: String }, //当前导航的宽度 % upx rpx px\n currentSwiperHeight: { type: Number }, //当前导航的高度度 rpx px\n currentSwiperLineShow: { type: Boolean }, //是否显示线条\n currentSwiperLineActiveWidth: { type: String }, //当前选中的导航栏线条的宽度\n currentSwiperLineActiveHeight: { type: String }, //当前选中的导航栏线条的高度度\n currentSwiperLineActiveBg: { type: String }, //当前选中的导航栏线条颜色\n currentSwiperLineAnimatie: { type: Number } //当前选中的导航栏线条过渡效果\n },\n methods: {\n\n CurrentTab: function CurrentTab(index, item) {\n this.$emit('change', index, item);\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50L25hdi9zd2lwZXJOYXZCYXIudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTs7QUFFQSxHQUpBO0FBS0EsUUFMQSxvQkFLQSxFQUxBO0FBTUE7QUFDQSxvQ0FEQSxFQUNBO0FBQ0Esa0NBRkEsRUFFQTtBQUNBLGtDQUhBLEVBR0E7QUFDQSxpQ0FKQSxFQUlBO0FBQ0Esd0NBTEEsRUFLQTtBQUNBLHdDQU5BLEVBTUE7QUFDQSx5Q0FQQSxFQU9BO0FBQ0EsNENBUkEsRUFRQTtBQUNBLGtEQVRBLEVBU0E7QUFDQSxtREFWQSxFQVVBO0FBQ0EsK0NBWEEsRUFXQTtBQUNBLCtDQVpBLENBWUE7QUFaQSxHQU5BO0FBb0JBOztBQUVBO0FBQ0E7QUFDQSxLQUpBLEVBcEJBLEUiLCJmaWxlIjoiMjMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDwhLS3nu4Tku7YtLT5cclxuXHQ8c2Nyb2xsLXZpZXcgc2hvdy1zY3JvbGxiYXIgc2Nyb2xsLXg9J2ZhbHNlJyBzY3JvbGwtd2l0aC1hbmltYXRpb25cclxuXHRcdDpzY3JvbGwtaW50by12aWV3PVwiICd0YWItJyArIHNjcm9sbEludG9WaWV3XCJcclxuXHRcdDpzdHlsZT1cInsgaGVpZ2h0OmN1cnJlbnRTd2lwZXJIZWlnaHQgKyAncnB4JyB9XCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cInN3aXBlclRhYlwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHN3aXBlclRhYkxpc3RcIiA6a2V5PSdpbmRleCcgXHJcblx0XHRcdDpzdHlsZT1cInsgd2lkdGg6Y3VycmVudFN3aXBlcldpZHRoLGxpbmVIZWlnaHQ6Y3VycmVudFN3aXBlckhlaWdodCArICdycHgnIH1cIiBcclxuXHRcdFx0OmlkPVwiICd0YWItJyArIGluZGV4IFwiIEB0YXA9XCJDdXJyZW50VGFiKGluZGV4LGl0ZW0pXCI+XHJcblx0XHRcdFxyXG5cdFx0XHQ8IS0t5a+86Iiq5qCH6aKYLS0+XHJcblx0XHRcdDx0ZXh0IDpzdHlsZT1cInsgY29sb3I6c3dpcGVyVGFiSWR4ID09IGluZGV4ID8gc3dpcGVyQ3VycmVudENvbG9yOnN3aXBlckNvbG9yIH1cIj5cclxuXHRcdFx0XHR7eyBpdGVtIH19XHJcblx0XHRcdDwvdGV4dD5cclxuXHRcdFx0PCEtLeWvvOiIquagh+mimC0tPlxyXG5cdFx0XHRcclxuXHRcdFx0PCEtLee6v+adoS0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlckxpbmVcIiB2LXNob3c9XCJjdXJyZW50U3dpcGVyTGluZVNob3dcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlckxpbmVBY3RpdmVcIiBcclxuXHRcdFx0XHRcdDpjbGFzcz1cIlsgc3dpcGVyVGFiSWR4ID09IGluZGV4ICYmIGN1cnJlbnRTd2lwZXJMaW5lQW5pbWF0aWUgPydjdXJyZW50TGluZSc6JycgXVwiXHJcblx0XHRcdFx0XHQ6c3R5bGU9XCJ7IFxyXG5cdFx0XHRcdFx0XHR3aWR0aDpjdXJyZW50U3dpcGVyTGluZUFjdGl2ZVdpZHRoLFxyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6Y3VycmVudFN3aXBlckxpbmVBY3RpdmVIZWlnaHQsXHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6Y3VycmVudFN3aXBlckxpbmVBY3RpdmVCZ1xyXG5cdFx0XHRcdFx0fVwiIHYtaWY9XCIgc3dpcGVyVGFiSWR4ID09IGluZGV4IFwiPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8IS0t57q/5p2hLS0+XHJcblx0XHRcdFxyXG5cdFx0PC92aWV3PlxyXG5cdDwvc2Nyb2xsLXZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGV4cG9ydCBkZWZhdWx0e1xyXG5cdFx0ZGF0YSgpe1xyXG5cdFx0XHRyZXR1cm57XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoKSB7IH0sXHJcblx0XHRwcm9wczp7XHJcblx0XHRcdHNjcm9sbEludG9WaWV3OnsgdHlwZTpOdW1iZXIgfSwvL+iuvue9ruWTquS4quaWueWQkeWPr+a7muWKqO+8jOWImeWcqOWTquS4quaWueWQkea7muWKqOWIsOivpeWFg+e0oFxyXG5cdFx0XHRzd2lwZXJUYWJMaXN0OnsgdHlwZTpBcnJheSB9LC8v5a+86Iiq5YiX6KGoXHJcblx0XHRcdHN3aXBlclRhYklkeDp7IHR5cGU6TnVtYmVyIH0sLy/lr7zoiKrlr7nlupTliJfooajkuIvmoIdcclxuXHRcdFx0c3dpcGVyQ29sb3I6eyB0eXBlOlN0cmluZyB9LC8v5a+86Iiq5qCP5a2X5L2T5pyq6YCJ5Lit5YmN6aKc6ImyXHJcblx0XHRcdHN3aXBlckN1cnJlbnRDb2xvcjp7IHR5cGU6U3RyaW5nIH0sLy/pgInkuK3lvZPliY3lr7zoiKrmoI/lrZfkvZPpopzoibJcclxuXHRcdFx0Y3VycmVudFN3aXBlcldpZHRoOnsgdHlwZTpTdHJpbmcgfSwvL+W9k+WJjeWvvOiIqueahOWuveW6piAlIHVweCBycHggcHhcclxuXHRcdFx0Y3VycmVudFN3aXBlckhlaWdodDp7IHR5cGU6TnVtYmVyIH0sLy/lvZPliY3lr7zoiKrnmoTpq5jluqbluqYgcnB4IHB4XHJcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lU2hvdzp7IHR5cGU6Qm9vbGVhbiB9LC8v5piv5ZCm5pi+56S657q/5p2hXHJcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlV2lkdGg6eyB0eXBlOlN0cmluZyB9LC8v5b2T5YmN6YCJ5Lit55qE5a+86Iiq5qCP57q/5p2h55qE5a695bqmXHJcblx0XHRcdGN1cnJlbnRTd2lwZXJMaW5lQWN0aXZlSGVpZ2h0OnsgdHlwZTpTdHJpbmcgfSwvL+W9k+WJjemAieS4reeahOWvvOiIquagj+e6v+adoeeahOmrmOW6puW6plxyXG5cdFx0XHRjdXJyZW50U3dpcGVyTGluZUFjdGl2ZUJnOnsgdHlwZTpTdHJpbmcgfSwvL+W9k+WJjemAieS4reeahOWvvOiIquagj+e6v+adoeminOiJslxyXG5cdFx0XHRjdXJyZW50U3dpcGVyTGluZUFuaW1hdGllOnsgdHlwZTpOdW1iZXIgfSwvL+W9k+WJjemAieS4reeahOWvvOiIquagj+e6v+adoei/h+a4oeaViOaenFxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6e1xyXG5cdFx0XHRcclxuXHRcdFx0Q3VycmVudFRhYjpmdW5jdGlvbiAoaW5kZXgsaXRlbSl7XHJcblx0XHRcdFx0dGhpcy4kZW1pdCgnY2hhbmdlJyxpbmRleCxpdGVtKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQuc3dpcGVySGVhZCBzY3JvbGwtdmlld3tcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdH1cclxuXHQuc3dpcGVyVGFie1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHQuc3dpcGVyTGluZXsgcG9zaXRpb246IGFic29sdXRlO2JvdHRvbTotMTBweDtsZWZ0OiAwO3dpZHRoOiAxMDAlO3otaW5kZXg6IDEwOyB9XHJcblx0LnN3aXBlckxpbmVBY3RpdmV7IG1hcmdpbjogMCBhdXRvO2JvcmRlci1yYWRpdXM6IDMwdXB4OyB9XHJcblx0QGtleWZyYW1lcyBjdXJyZW50TGluZXsgXHJcblx0XHQwJXtcclxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xyXG5cdFx0fSBcclxuXHRcdDEwMCV7XHJcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdXJyZW50TGluZXsgYW5pbWF0aW9uOmN1cnJlbnRMaW5lIDMwMG1zIGZvcndhcmRzOyB9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///230\n");
  26592. /***/ }),
  26593. <<<<<<< HEAD
  26594. /* 231 */
  26595. /*!*****************************************************************!*\
  26596. !*** C:/Users/001/Desktop/运维端/component/allArea/allAreatwo.vue ***!
  26597. \*****************************************************************/
  26598. =======
  26599. /* 65 */
  26600. /*!******************************************************************************!*\
  26601. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allAreatwo.vue ***!
  26602. \******************************************************************************/
  26603. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26604. /*! no static exports found */
  26605. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26606. "use strict";
  26607. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./allAreatwo.vue?vue&type=template&id=6b1538ff& */ 232);\n/* harmony import */ var _allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./allAreatwo.vue?vue&type=script&lang=js& */ 234);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"component/allArea/allAreatwo.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBdUg7QUFDdkg7QUFDOEQ7QUFDTDs7O0FBR3pEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLGdGQUFNO0FBQ1IsRUFBRSxxRkFBTTtBQUNSLEVBQUUsOEZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUseUZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjMxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9hbGxBcmVhdHdvLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD02YjE1MzhmZiZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2FsbEFyZWF0d28udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9hbGxBcmVhdHdvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJjb21wb25lbnQvYWxsQXJlYS9hbGxBcmVhdHdvLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///231\n");
  26608. /***/ }),
  26609. <<<<<<< HEAD
  26610. /* 232 */
  26611. /*!************************************************************************************************!*\
  26612. !*** C:/Users/001/Desktop/运维端/component/allArea/allAreatwo.vue?vue&type=template&id=6b1538ff& ***!
  26613. \************************************************************************************************/
  26614. =======
  26615. /* 66 */
  26616. /*!*************************************************************************************************************!*\
  26617. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allAreatwo.vue?vue&type=template&id=6b1538ff& ***!
  26618. \*************************************************************************************************************/
  26619. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26620. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  26621. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26622. "use strict";
  26623. __webpack_require__.r(__webpack_exports__);
  26624. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./allAreatwo.vue?vue&type=template&id=6b1538ff& */ 233);
  26625. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  26626. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  26627. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  26628. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_template_id_6b1538ff___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  26629. /***/ }),
  26630. <<<<<<< HEAD
  26631. /* 233 */
  26632. /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26633. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/component/allArea/allAreatwo.vue?vue&type=template&id=6b1538ff& ***!
  26634. \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26635. =======
  26636. /* 67 */
  26637. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26638. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allAreatwo.vue?vue&type=template&id=6b1538ff& ***!
  26639. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26640. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26641. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  26642. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26643. "use strict";
  26644. __webpack_require__.r(__webpack_exports__);
  26645. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  26646. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  26647. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  26648. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  26649. var components
  26650. var render = function() {
  26651. var _vm = this
  26652. var _h = _vm.$createElement
  26653. var _c = _vm._self._c || _h
  26654. return _c(
  26655. "view",
  26656. { staticClass: _vm._$s(0, "sc", "allArea"), attrs: { _i: 0 } },
  26657. [
  26658. _c("view", { staticClass: _vm._$s(1, "sc", "area1"), attrs: { _i: 1 } }, [
  26659. _c(
  26660. "text",
  26661. {
  26662. staticClass: _vm._$s(2, "sc", "arear-text"),
  26663. attrs: { _i: 2 },
  26664. on: { click: _vm.Area }
  26665. },
  26666. [_vm._v(_vm._$s(2, "t0-0", _vm._s(_vm.list[_vm.curVal].text)))]
  26667. ),
  26668. _c("image", {
  26669. attrs: {
  26670. src: _vm._$s(3, "a-src", __webpack_require__(/*! ../../static/down.png */ 216)),
  26671. _i: 3
  26672. }
  26673. })
  26674. ])
  26675. ]
  26676. )
  26677. }
  26678. var recyclableRender = false
  26679. var staticRenderFns = []
  26680. render._withStripped = true
  26681. /***/ }),
  26682. <<<<<<< HEAD
  26683. /* 234 */
  26684. /*!******************************************************************************************!*\
  26685. !*** C:/Users/001/Desktop/运维端/component/allArea/allAreatwo.vue?vue&type=script&lang=js& ***!
  26686. \******************************************************************************************/
  26687. =======
  26688. /* 68 */
  26689. /*!*******************************************************************************************************!*\
  26690. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allAreatwo.vue?vue&type=script&lang=js& ***!
  26691. \*******************************************************************************************************/
  26692. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26693. /*! no static exports found */
  26694. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26695. "use strict";
  26696. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./allAreatwo.vue?vue&type=script&lang=js& */ 235);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_allAreatwo_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXFpQixDQUFnQix3a0JBQUcsRUFBQyIsImZpbGUiOiIyMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9hbGxBcmVhdHdvLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYWxsQXJlYXR3by52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///234\n");
  26697. /***/ }),
  26698. <<<<<<< HEAD
  26699. /* 235 */
  26700. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26701. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/component/allArea/allAreatwo.vue?vue&type=script&lang=js& ***!
  26702. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26703. =======
  26704. /* 69 */
  26705. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26706. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/component/allArea/allAreatwo.vue?vue&type=script&lang=js& ***!
  26707. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26708. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26709. /*! no static exports found */
  26710. /***/ (function(module, exports, __webpack_require__) {
  26711. "use strict";
  26712. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n screenHeight: \"\",\n isShow: false,\n animationData: {},\n count: \"\", //点击事件次数\n curVal: '', //骑行区与第一个下标\n curId: \"\", //骑行区域id\n list: [{ \"areaID\": 1, \"text\": '郑州龙子湖' }] };\n\n },\n props: [\n 'mess',\n 'curVal1'],\n\n // props:['curVal1','mess'],\n watch: {\n mess: function mess(newValue, oldValue) {\n this.list = newValue;\n __f__(\"log\", newValuel, \"这是父组件传过来的值\", \" at component/allArea/allAreatwo.vue:39\");\n },\n curVal1: function curVal1(newValue, oldValue) {\n this.curVal = newValue;\n } },\n\n onShow: function onShow() {\n __f__(\"log\", '这是子组件', \" at component/allArea/allAreatwo.vue:46\");\n },\n beforeCreate: function beforeCreate() {\n __f__(\"log\", '子组件beforeCreate', \" at component/allArea/allAreatwo.vue:49\");\n this.list = uni.getStorageSync('allArea');\n this.curVal = uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0;\n __f__(\"log\", this.list, \" at component/allArea/allAreatwo.vue:52\");\n },\n methods: {\n //弹框事件\n Area: function Area(e) {\n var list1 = uni.getStorageSync('allArea');\n var arr = [];\n for (var i = 0, len = list1.length; i < len; i++) {\n arr = arr.concat(list1[i].text);\n __f__(\"log\", arr, \" at component/allArea/allAreatwo.vue:61\");\n }\n __f__(\"log\", uni.getStorageSync('allArea'), \"99999\", \" at component/allArea/allAreatwo.vue:63\");\n var area = uni.getStorageSync('allArea');\n uni.showActionSheet({\n\n itemList: arr,\n success: function success(res) {\n var list = uni.getStorageSync('allArea');\n var index = res.tapIndex;\n\n this.curVal = index;\n this.curId = list[index].areaID;\n\n uni.setStorageSync('curVal', index);\n uni.setStorageSync('curId', list[index].areaID);\n __f__(\"log\", this.curId, \"index\", \" at component/allArea/allAreatwo.vue:77\");\n this.$emit('getChild', this.list[index]);\n\n // console.log(list[index].areaID,\"66666\");\n\n\n\n\n // this.curVal = e\n // this.curId = this.list[e].areaID\n // uni.setStorageSync('curVal', e)\n // uni.setStorageSync('curId', this.list[e].areaID)\n // this.$emit('getChild',this.list[e])\n // console.log(e, \"骑行区\")\n // console.log(this.curVal, \"这是骑行区if\")\n },\n fail: function fail(res) {} });\n\n // this.curVal = uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0\n // console.log(uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0, '这是下标')\n // this.isShow = !this.isShow\n // console.log(this.isShow, \"这是骑行区与123456\")\n // console.log(this.list)\n // var that = this\n // // this.$emit('getChild', this.isShow)\n // setTimeout(function() {\n // \tvar query = uni.createSelectorQuery();\n // \tquery.select('.arear-list').boundingClientRect();\n // \tquery.exec(function(res) {\n // \t\tconsole.log(res[0].height, \"55555555\")\n // \t\tlet height = res[0].height\n // \t\tthat.$emit('getChild', height)\n // \t\t// this.$emit('getChild', this.isShow)\n // \t})\n // }, 500)\n\n // let height = uni.createSelectorQuery().select('arear-list')\n // height.fields({\n // \tsize: true\n // }, data => {\n // \tconsole.log(data.height,\"55555555\")\n // })\n // console.log(height, \"zheshizujianggaodu \")\n },\n // pop: function(e) {\n // \tthis.isShow = !this.isShow\n // \tthis.curVal = e\n // \tthis.curId = this.list[e].areaID\n // \tuni.setStorageSync('curVal', e)\n // \tuni.setStorageSync('curId', this.list[e].areaID)\n // \tthis.$emit('getChild',this.list[e])\n // \tconsole.log(e, \"骑行区\")\n // \tconsole.log(this.curVal, \"这是骑行区if\")\n // },\n //返回上一页\n back: function back() {\n uni.navigateBack({\n delta: 1 });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50L2FsbEFyZWEvYWxsQXJlYXR3by52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0JBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0Esc0JBREE7QUFFQSxtQkFGQTtBQUdBLHVCQUhBO0FBSUEsZUFKQSxFQUlBO0FBQ0EsZ0JBTEEsRUFLQTtBQUNBLGVBTkEsRUFNQTtBQUNBLDhDQVBBOztBQVNBLEdBWEE7QUFZQTtBQUNBLFFBREE7QUFFQSxXQUZBLENBWkE7O0FBZ0JBO0FBQ0E7QUFDQSxRQURBLGdCQUNBLFFBREEsRUFDQSxRQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FKQTtBQUtBLFdBTEEsbUJBS0EsUUFMQSxFQUtBLFFBTEEsRUFLQTtBQUNBO0FBQ0EsS0FQQSxFQWpCQTs7QUEwQkEsUUExQkEsb0JBMEJBO0FBQ0E7QUFDQSxHQTVCQTtBQTZCQSxjQTdCQSwwQkE2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBbENBO0FBbUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQkFGQTtBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0EzQkE7QUE0QkEsbUNBNUJBOztBQThCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FsRUE7QUFtRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFEQTs7QUFHQSxLQWxGQSxFQW5DQSxFIiwiZmlsZSI6IjIzNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImFsbEFyZWFcIj5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cImFyZWExXCI+XHJcblx0XHRcdDx0ZXh0IGNsYXNzPVwiYXJlYXItdGV4dFwiIEBjbGljaz1cIkFyZWFcIj57e2xpc3RbY3VyVmFsXS50ZXh0fX08L3RleHQ+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvZG93bi5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdDwvdmlldz5cclxuXHRcdDwhLS0gPHZpZXcgOmFuaW1hdGlvbj1cImFuaW1hdGlvbkRhdGFcIiBjbGFzcz1cImFyZWFyLWxpc3RcIiB2LXNob3c9XCJpc1Nob3dcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJhcmVhci1jaGlsZC1saXN0XCIgdi1mb3I9XCIoaXRlbXMsaW5kZXgxKSBpbiBsaXN0XCIgOmtleT0naW5kZXgxJyBAY2xpY2s9XCJwb3AoaW5kZXgxKVwiPlxyXG5cdFx0XHRcdHt7aXRlbXMudGV4dH19XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz4gLS0+XHJcblx0XHRcclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc3JjPVwiaHR0cHM6Ly9jZG4uc3RhdGljZmlsZS5vcmcvanF1ZXJ5LzEuMTAuMi9qcXVlcnkubWluLmpzXCI+XHJcbjwvc2NyaXB0PlxyXG48c2NyaXB0PlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0c2NyZWVuSGVpZ2h0OiBcIlwiLFxyXG5cdFx0XHRcdGlzU2hvdzogZmFsc2UsXHJcblx0XHRcdFx0YW5pbWF0aW9uRGF0YToge30sXHJcblx0XHRcdFx0Y291bnQ6IFwiXCIsIC8v54K55Ye75LqL5Lu25qyh5pWwXHJcblx0XHRcdFx0Y3VyVmFsOiAnJywgLy/pqpHooYzljLrkuI7nrKzkuIDkuKrkuIvmoIdcclxuXHRcdFx0XHRjdXJJZDogXCJcIiwgLy/pqpHooYzljLrln59pZFxyXG5cdFx0XHRcdGxpc3Q6IFt7XCJhcmVhSURcIjoxLFwidGV4dFwiOifpg5Hlt57pvpnlrZDmuZYnfV0sXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRwcm9wczogW1xyXG5cdFx0XHQnbWVzcycsXHJcblx0XHRcdCdjdXJWYWwxJ1xyXG5cdFx0XSxcclxuXHRcdC8vIHByb3BzOlsnY3VyVmFsMScsJ21lc3MnXSxcclxuXHRcdHdhdGNoOiB7XHJcblx0XHRcdG1lc3MobmV3VmFsdWUsIG9sZFZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5saXN0ID0gbmV3VmFsdWVcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhuZXdWYWx1ZWwsIFwi6L+Z5piv54i257uE5Lu25Lyg6L+H5p2l55qE5YC8XCIpXHJcblx0XHRcdH0sXHJcblx0XHRcdGN1clZhbDEobmV3VmFsdWUsIG9sZFZhbHVlKSB7XHJcblx0XHRcdFx0dGhpcy5jdXJWYWwgPSBuZXdWYWx1ZVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25TaG93KCkge1xyXG5cdFx0XHRjb25zb2xlLmxvZygn6L+Z5piv5a2Q57uE5Lu2JylcclxuXHRcdH0sXHJcblx0XHRiZWZvcmVDcmVhdGUoKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKCflrZDnu4Tku7ZiZWZvcmVDcmVhdGUnKVxyXG5cdFx0XHRcdHRoaXMubGlzdCA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xyXG5cdFx0XHRcdHRoaXMuY3VyVmFsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA/IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgOiAwO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMubGlzdClcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8v5by55qGG5LqL5Lu2XHJcblx0XHRcdEFyZWE6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR2YXIgbGlzdDEgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKVxyXG5cdFx0XHRcdHZhciBhcnIgPSBbXVxyXG5cdFx0XHRcdGZvciAobGV0IGkgPSAwLCBsZW4gPSBsaXN0MS5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG5cdFx0XHRcdFx0YXJyID0gYXJyLmNvbmNhdChsaXN0MVtpXS50ZXh0KVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYXJyKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyggdW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyksXCI5OTk5OVwiKVxyXG5cdFx0XHRcdHZhciBhcmVhPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKVxyXG5cdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xyXG5cdFx0XHRcdCAgIFxyXG5cdFx0XHRcdFx0aXRlbUxpc3Q6IGFycixcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHR2YXIgbGlzdD11bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKVxyXG5cdFx0XHRcdFx0XHRsZXQgaW5kZXg9cmVzLnRhcEluZGV4XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdHRoaXMuY3VyVmFsID0gaW5kZXhcclxuXHRcdFx0XHRcdFx0dGhpcy5jdXJJZD1saXN0W2luZGV4XS5hcmVhSURcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnY3VyVmFsJywgaW5kZXgpXHJcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnY3VySWQnLCBsaXN0W2luZGV4XS5hcmVhSUQpXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuY3VySWQsXCJpbmRleFwiKTtcclxuXHRcdFx0XHRcdFx0dGhpcy4kZW1pdCgnZ2V0Q2hpbGQnLHRoaXMubGlzdFtpbmRleF0pXHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhsaXN0W2luZGV4XS5hcmVhSUQsXCI2NjY2NlwiKTtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5jdXJWYWwgPSBlXHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuY3VySWQgPSB0aGlzLmxpc3RbZV0uYXJlYUlEXHJcblx0XHRcdFx0XHRcdC8vIHVuaS5zZXRTdG9yYWdlU3luYygnY3VyVmFsJywgZSlcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNldFN0b3JhZ2VTeW5jKCdjdXJJZCcsIHRoaXMubGlzdFtlXS5hcmVhSUQpXHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuJGVtaXQoJ2dldENoaWxkJyx0aGlzLmxpc3RbZV0pXHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUsIFwi6aqR6KGM5Yy6XCIpXHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuY3VyVmFsLCBcIui/meaYr+mqkeihjOWMumlmXCIpXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24ocmVzKSB7fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Ly8gdGhpcy5jdXJWYWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDBcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDAsICfov5nmmK/kuIvmoIcnKVxyXG5cdFx0XHRcdC8vIHRoaXMuaXNTaG93ID0gIXRoaXMuaXNTaG93XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5pc1Nob3csIFwi6L+Z5piv6aqR6KGM5Yy65LiOMTIzNDU2XCIpXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5saXN0KVxyXG5cdFx0XHRcdC8vIHZhciB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdC8vIC8vIHRoaXMuJGVtaXQoJ2dldENoaWxkJywgdGhpcy5pc1Nob3cpXHJcblx0XHRcdFx0Ly8gc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHQvLyBcdHZhciBxdWVyeSA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCk7XHJcblx0XHRcdFx0Ly8gXHRxdWVyeS5zZWxlY3QoJy5hcmVhci1saXN0JykuYm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblx0XHRcdFx0Ly8gXHRxdWVyeS5leGVjKGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdC8vIFx0XHRjb25zb2xlLmxvZyhyZXNbMF0uaGVpZ2h0LCBcIjU1NTU1NTU1XCIpXHJcblx0XHRcdFx0Ly8gXHRcdGxldCBoZWlnaHQgPSByZXNbMF0uaGVpZ2h0XHJcblx0XHRcdFx0Ly8gXHRcdHRoYXQuJGVtaXQoJ2dldENoaWxkJywgaGVpZ2h0KVxyXG5cdFx0XHRcdC8vIFx0XHQvLyB0aGlzLiRlbWl0KCdnZXRDaGlsZCcsIHRoaXMuaXNTaG93KVxyXG5cdFx0XHRcdC8vIFx0fSlcclxuXHRcdFx0XHQvLyB9LCA1MDApXHJcblxyXG5cdFx0XHRcdC8vIGxldCBoZWlnaHQgPSB1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLnNlbGVjdCgnYXJlYXItbGlzdCcpXHJcblx0XHRcdFx0Ly8gaGVpZ2h0LmZpZWxkcyh7XHJcblx0XHRcdFx0Ly8gXHRzaXplOiB0cnVlXHJcblx0XHRcdFx0Ly8gfSwgZGF0YSA9PiB7XHJcblx0XHRcdFx0Ly8gXHRjb25zb2xlLmxvZyhkYXRhLmhlaWdodCxcIjU1NTU1NTU1XCIpXHJcblx0XHRcdFx0Ly8gfSlcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhoZWlnaHQsIFwiemhlc2hpenVqaWFuZ2dhb2R1IFwiKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyBwb3A6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0Ly8gXHR0aGlzLmlzU2hvdyA9ICF0aGlzLmlzU2hvd1xyXG5cdFx0XHQvLyBcdHRoaXMuY3VyVmFsID0gZVxyXG5cdFx0XHQvLyBcdHRoaXMuY3VySWQgPSB0aGlzLmxpc3RbZV0uYXJlYUlEXHJcblx0XHRcdC8vIFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdjdXJWYWwnLCBlKVxyXG5cdFx0XHQvLyBcdHVuaS5zZXRTdG9yYWdlU3luYygnY3VySWQnLCB0aGlzLmxpc3RbZV0uYXJlYUlEKVxyXG5cdFx0XHQvLyBcdHRoaXMuJGVtaXQoJ2dldENoaWxkJyx0aGlzLmxpc3RbZV0pXHJcblx0XHRcdC8vIFx0Y29uc29sZS5sb2coZSwgXCLpqpHooYzljLpcIilcclxuXHRcdFx0Ly8gXHRjb25zb2xlLmxvZyh0aGlzLmN1clZhbCwgXCLov5nmmK/pqpHooYzljLppZlwiKVxyXG5cdFx0XHQvLyB9LFxyXG5cdFx0XHQvL+i/lOWbnuS4iuS4gOmhtVxyXG5cdFx0XHRiYWNrOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVCYWNrKHtcclxuXHRcdFx0XHRcdGRlbHRhOiAxXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdC5hbGxBcmVhIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zdGF0dXMtYmFyLWhlaWdodCk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjh1cHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDM1dXB4O1xyXG5cdFx0aGVpZ2h0OiA0NXVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG5cdFx0ei1pbmRleDogMTAwMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0fVxyXG5cdC5hbGxBcmVhIGltYWdle1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHVweDtcclxuXHRcdGhlaWdodDogNDB1cHg7XHJcblx0XHR3aWR0aDogNDB1cHg7XHJcblx0fVxyXG5cclxuXHQuaWNvbmZvbnQge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdHdpZHRoOiA1MHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDE0cnB4IDA7XHJcblxyXG5cdH1cclxuXHJcblx0LnN0YXR1c19iYXIge1xyXG5cdFx0aGVpZ2h0OiB2YXIoLS1zdGF0dXMtYmFyLWhlaWdodCk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5hcmVhMSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0LyogYmFja2dyb3VuZC1jb2xvcjogIzAwN0FGRjsgKi9cclxuXHR9XHJcblxyXG5cdC5pY29uZm9udCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0d2lkdGg6IDUwcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMTRycHggMDtcclxuXHJcblx0fVxyXG5cclxuXHQuYmFja0ljb24ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuXHR9XHJcblxyXG5cdC5iYWNrSWNvbiBpbWFnZSB7XHJcblx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcnB4O1xyXG5cdFx0aGVpZ2h0OiA0MHJweDtcclxuXHRcdHdpZHRoOiA1MHJweDtcclxuXHR9XHJcblxyXG5cdC5hcmVhMSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRmb250LXNpemU6IDMycnB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuYXJlYXItbGlzdCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAxMDAwO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHRvcDogMTMwcnB4O1xyXG5cdFx0d2lkdGg6IDkwJTtcclxuXHRcdC8qIGhlaWdodDogNjAwdXB4OyAqL1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdHBhZGRpbmc6IDAgMjBycHg7XHJcblx0fVxyXG5cclxuXHQuYXJlYXItY2hpbGQtbGlzdCB7XHJcblx0XHRwYWRkaW5nOiAyMHJweCAwO1xyXG5cdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdC8qIGhlaWdodDogMjAwdXB4OyAqL1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgMXJweCAjZTZlNmU2O1xyXG5cdH1cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///235\n");
  26713. /***/ }),
  26714. <<<<<<< HEAD
  26715. /* 236 */
  26716. /*!*********************************************************************!*\
  26717. !*** C:/Users/001/Desktop/运维端/pages/index/bikeTest.vue?mpType=page ***!
  26718. \*********************************************************************/
  26719. =======
  26720. /* 70 */
  26721. /*!**********************************************************************************!*\
  26722. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bikeTest.vue?mpType=page ***!
  26723. \**********************************************************************************/
  26724. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26725. /*! no static exports found */
  26726. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26727. "use strict";
  26728. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bikeTest.vue?vue&type=template&id=7189a939&mpType=page */ 237);\n/* harmony import */ var _bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bikeTest.vue?vue&type=script&lang=js&mpType=page */ 244);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/bikeTest.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjM2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9iaWtlVGVzdC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzE4OWE5MzkmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2Jpa2VUZXN0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9iaWtlVGVzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbmRleC9iaWtlVGVzdC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///236\n");
  26729. /***/ }),
  26730. <<<<<<< HEAD
  26731. /* 237 */
  26732. /*!***************************************************************************************************!*\
  26733. !*** C:/Users/001/Desktop/运维端/pages/index/bikeTest.vue?vue&type=template&id=7189a939&mpType=page ***!
  26734. \***************************************************************************************************/
  26735. =======
  26736. /* 71 */
  26737. /*!****************************************************************************************************************!*\
  26738. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bikeTest.vue?vue&type=template&id=7189a939&mpType=page ***!
  26739. \****************************************************************************************************************/
  26740. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26741. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  26742. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26743. "use strict";
  26744. __webpack_require__.r(__webpack_exports__);
  26745. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./bikeTest.vue?vue&type=template&id=7189a939&mpType=page */ 238);
  26746. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  26747. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  26748. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  26749. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_template_id_7189a939_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  26750. /***/ }),
  26751. <<<<<<< HEAD
  26752. /* 238 */
  26753. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26754. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/bikeTest.vue?vue&type=template&id=7189a939&mpType=page ***!
  26755. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26756. =======
  26757. /* 72 */
  26758. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  26759. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bikeTest.vue?vue&type=template&id=7189a939&mpType=page ***!
  26760. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  26761. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  26762. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  26763. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  26764. "use strict";
  26765. __webpack_require__.r(__webpack_exports__);
  26766. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  26767. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  26768. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  26769. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  26770. var components
  26771. var render = function() {
  26772. var _vm = this
  26773. var _h = _vm.$createElement
  26774. var _c = _vm._self._c || _h
  26775. return _c(
  26776. "view",
  26777. { staticClass: _vm._$s(0, "sc", "bikeTest"), attrs: { _i: 0 } },
  26778. [
  26779. _c(
  26780. "view",
  26781. { staticClass: _vm._$s(1, "sc", "testFind"), attrs: { _i: 1 } },
  26782. [
  26783. _c("input", {
  26784. directives: [
  26785. {
  26786. name: "model",
  26787. rawName: "v-model",
  26788. value: _vm.bike_no,
  26789. expression: "bike_no"
  26790. }
  26791. ],
  26792. attrs: { _i: 2 },
  26793. domProps: { value: _vm._$s(2, "v-model", _vm.bike_no) },
  26794. on: {
  26795. input: [
  26796. function($event) {
  26797. if ($event.target.composing) {
  26798. return
  26799. }
  26800. _vm.bike_no = $event.target.value
  26801. },
  26802. _vm.bindKeyInput
  26803. ],
  26804. blur: _vm.bindKeyInput
  26805. }
  26806. }),
  26807. _c("text", {
  26808. staticClass: _vm._$s(3, "sc", "saomiao"),
  26809. attrs: { _i: 3 },
  26810. on: { click: _vm.scanCode }
  26811. }),
  26812. _c("view", {
  26813. staticClass: _vm._$s(4, "sc", "find"),
  26814. attrs: { _i: 4 },
  26815. on: { click: _vm.getBike_info }
  26816. })
  26817. ]
  26818. ),
  26819. _vm._$s(5, "i", _vm.bikeBolear)
  26820. ? _c(
  26821. "view",
  26822. { staticClass: _vm._$s(5, "sc", "model"), attrs: { _i: 5 } },
  26823. [
  26824. _c("text"),
  26825. _vm._l(_vm._$s(7, "f", { forItems: _vm.bikesArr }), function(
  26826. item,
  26827. index,
  26828. $20,
  26829. $30
  26830. ) {
  26831. return _c(
  26832. "text",
  26833. {
  26834. key: _vm._$s(7, "f", { forIndex: $20, key: 7 + "-" + $30 }),
  26835. attrs: { _i: "7-" + $30 },
  26836. on: {
  26837. click: function($event) {
  26838. return _vm.getBike(item)
  26839. }
  26840. }
  26841. },
  26842. [_vm._v(_vm._$s("7-" + $30, "t0-0", _vm._s(item)))]
  26843. )
  26844. })
  26845. ],
  26846. 2
  26847. )
  26848. : _vm._e(),
  26849. _vm._$s(8, "i", _vm.bikeBolear)
  26850. ? _c("view", {
  26851. staticClass: _vm._$s(8, "sc", "beijing"),
  26852. attrs: { _i: 8 },
  26853. on: { click: _vm.bikesHidden }
  26854. })
  26855. : _vm._e(),
  26856. _c(
  26857. "view",
  26858. { staticClass: _vm._$s(9, "sc", "testMess"), attrs: { _i: 9 } },
  26859. [
  26860. _c(
  26861. "view",
  26862. { staticClass: _vm._$s(10, "sc", "messTitle"), attrs: { _i: 10 } },
  26863. [
  26864. _c("view"),
  26865. _c(
  26866. "view",
  26867. { staticClass: _vm._$s(12, "sc", "flexC"), attrs: { _i: 12 } },
  26868. [
  26869. _c("image", {
  26870. attrs: { _i: 13 },
  26871. on: { click: _vm.skipDetail }
  26872. })
  26873. ]
  26874. )
  26875. ]
  26876. ),
  26877. _c(
  26878. "view",
  26879. { staticClass: _vm._$s(14, "sc", "messList"), attrs: { _i: 14 } },
  26880. [
  26881. _c(
  26882. "view",
  26883. {
  26884. staticClass: _vm._$s(15, "sc", "listChid"),
  26885. attrs: { _i: 15 }
  26886. },
  26887. [_vm._v(_vm._$s(15, "t0-0", _vm._s(_vm.bikeDetail.bike_no)))]
  26888. ),
  26889. _c(
  26890. "view",
  26891. {
  26892. staticClass: _vm._$s(16, "sc", "listChid"),
  26893. attrs: { _i: 16 }
  26894. },
  26895. [
  26896. _vm._v(
  26897. _vm._$s(16, "t0-0", _vm._s(_vm.bikeDetail.battery_power))
  26898. )
  26899. ]
  26900. ),
  26901. _c(
  26902. "view",
  26903. {
  26904. staticClass: _vm._$s(17, "sc", "listChid"),
  26905. attrs: { _i: 17 }
  26906. },
  26907. [_vm._v(_vm._$s(17, "t0-0", _vm._s(_vm.bikeDetail.tab_name)))]
  26908. ),
  26909. _c(
  26910. "view",
  26911. {
  26912. staticClass: _vm._$s(18, "sc", "listChid"),
  26913. attrs: { _i: 18 }
  26914. },
  26915. [_vm._v(_vm._$s(18, "t0-0", _vm._s(_vm.bikeDetail.last_time)))]
  26916. )
  26917. ]
  26918. )
  26919. ]
  26920. ),
  26921. _c(
  26922. "view",
  26923. { staticClass: _vm._$s(19, "sc", "orderTest"), attrs: { _i: 19 } },
  26924. [
  26925. _c(
  26926. "view",
  26927. { staticClass: _vm._$s(20, "sc", "orderTop"), attrs: { _i: 20 } },
  26928. [
  26929. _c("view", {
  26930. staticClass: _vm._$s(21, "sc", "topLeft"),
  26931. attrs: { _i: 21 }
  26932. }),
  26933. _c(
  26934. "view",
  26935. {
  26936. staticClass: _vm._$s(22, "sc", "topRight"),
  26937. attrs: { _i: 22 }
  26938. },
  26939. [
  26940. _vm._$s(23, "i", _vm.checked == true)
  26941. ? _c("switch", {
  26942. attrs: { _i: 23 },
  26943. on: { change: _vm.switchChange }
  26944. })
  26945. : _vm._e(),
  26946. _vm._$s(24, "i", _vm.checked == false)
  26947. ? _c("switch", {
  26948. attrs: { _i: 24 },
  26949. on: { change: _vm.switchChange }
  26950. })
  26951. : _vm._e()
  26952. ]
  26953. )
  26954. ]
  26955. ),
  26956. _c(
  26957. "view",
  26958. {
  26959. staticClass: _vm._$s(25, "sc", "orderDetail"),
  26960. attrs: { _i: 25 }
  26961. },
  26962. [
  26963. _c(
  26964. "view",
  26965. {
  26966. staticClass: _vm._$s(26, "sc", "children"),
  26967. attrs: { _i: 26 },
  26968. on: { click: _vm.whistle }
  26969. },
  26970. [
  26971. _c("image", {
  26972. attrs: {
  26973. src: _vm._$s(
  26974. 27,
  26975. "a-src",
  26976. __webpack_require__(/*! ../../static/img/open-lock.png */ 239)
  26977. ),
  26978. _i: 27
  26979. }
  26980. }),
  26981. _c("view")
  26982. ]
  26983. ),
  26984. _c(
  26985. "view",
  26986. {
  26987. staticClass: _vm._$s(29, "sc", "children"),
  26988. attrs: { _i: 29 },
  26989. on: { click: _vm.unlock }
  26990. },
  26991. [
  26992. _c("image", {
  26993. attrs: {
  26994. src: _vm._$s(
  26995. 30,
  26996. "a-src",
  26997. __webpack_require__(/*! ../../static/img/open-lock.png */ 239)
  26998. ),
  26999. _i: 30
  27000. }
  27001. }),
  27002. _c("view")
  27003. ]
  27004. ),
  27005. _c(
  27006. "view",
  27007. {
  27008. staticClass: _vm._$s(32, "sc", "children"),
  27009. attrs: { _i: 32 },
  27010. on: { click: _vm.close_lock }
  27011. },
  27012. [
  27013. _c("image", {
  27014. attrs: {
  27015. src: _vm._$s(
  27016. 33,
  27017. "a-src",
  27018. __webpack_require__(/*! ../../static/img/close-lock.png */ 240)
  27019. ),
  27020. _i: 33
  27021. }
  27022. }),
  27023. _c("view")
  27024. ]
  27025. ),
  27026. _c(
  27027. "view",
  27028. {
  27029. staticClass: _vm._$s(35, "sc", "children"),
  27030. attrs: { _i: 35 },
  27031. on: { click: _vm.battery_load }
  27032. },
  27033. [
  27034. _c("image", {
  27035. attrs: {
  27036. src: _vm._$s(
  27037. 36,
  27038. "a-src",
  27039. __webpack_require__(/*! ../../static/img/battery-load.png */ 241)
  27040. ),
  27041. _i: 36
  27042. }
  27043. }),
  27044. _c("view")
  27045. ]
  27046. ),
  27047. _c(
  27048. "view",
  27049. {
  27050. staticClass: _vm._$s(38, "sc", "children"),
  27051. attrs: { _i: 38 },
  27052. on: { click: _vm.online }
  27053. },
  27054. [
  27055. _c("image", {
  27056. attrs: {
  27057. src: _vm._$s(
  27058. 39,
  27059. "a-src",
  27060. __webpack_require__(/*! ../../static/img/online.png */ 242)
  27061. ),
  27062. _i: 39
  27063. }
  27064. }),
  27065. _c("view")
  27066. ]
  27067. ),
  27068. _c(
  27069. "view",
  27070. {
  27071. staticClass: _vm._$s(41, "sc", "children"),
  27072. attrs: { _i: 41 },
  27073. on: { click: _vm.more }
  27074. },
  27075. [
  27076. _c("image", {
  27077. attrs: {
  27078. src: _vm._$s(
  27079. 42,
  27080. "a-src",
  27081. __webpack_require__(/*! ../../static/img/more.png */ 243)
  27082. ),
  27083. _i: 42
  27084. }
  27085. }),
  27086. _c("view")
  27087. ]
  27088. )
  27089. ]
  27090. ),
  27091. _vm._$s(44, "i", _vm.moreShow)
  27092. ? _c("view", {
  27093. staticClass: _vm._$s(44, "sc", "background"),
  27094. attrs: { _i: 44 },
  27095. on: {
  27096. click: function($event) {
  27097. return _vm.coverHidn(1)
  27098. }
  27099. }
  27100. })
  27101. : _vm._e(),
  27102. _vm._$s(45, "i", _vm.moreShow)
  27103. ? _c(
  27104. "view",
  27105. { staticClass: _vm._$s(45, "sc", "more"), attrs: { _i: 45 } },
  27106. [
  27107. _c(
  27108. "view",
  27109. { attrs: { _i: 46 }, on: { click: _vm.Offline } },
  27110. [_c("image", { attrs: { _i: 47 } }), _c("view")]
  27111. ),
  27112. _c(
  27113. "view",
  27114. { attrs: { _i: 49 }, on: { click: _vm.renewalPower } },
  27115. [_c("image", { attrs: { _i: 50 } }), _c("text")]
  27116. ),
  27117. _c(
  27118. "view",
  27119. { attrs: { _i: 52 }, on: { click: _vm.renewalLocation } },
  27120. [_c("image", { attrs: { _i: 53 } }), _c("text")]
  27121. ),
  27122. _c(
  27123. "view",
  27124. { attrs: { _i: 55 }, on: { click: _vm.renewal } },
  27125. [_c("image", { attrs: { _i: 56 } }), _c("text")]
  27126. ),
  27127. _c(
  27128. "view",
  27129. { attrs: { _i: 58 }, on: { click: _vm.recover } },
  27130. [_c("image", { attrs: { _i: 59 } }), _c("text")]
  27131. )
  27132. ]
  27133. )
  27134. : _vm._e()
  27135. ]
  27136. )
  27137. ]
  27138. )
  27139. }
  27140. var recyclableRender = false
  27141. var staticRenderFns = []
  27142. render._withStripped = true
  27143. /***/ }),
  27144. <<<<<<< HEAD
  27145. /* 239 */
  27146. /*!*********************************************************!*\
  27147. !*** C:/Users/001/Desktop/运维端/static/img/open-lock.png ***!
  27148. \*********************************************************/
  27149. =======
  27150. /* 73 */
  27151. /*!**********************************************************************!*\
  27152. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/open-lock.png ***!
  27153. \**********************************************************************/
  27154. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27155. /*! no static exports found */
  27156. /***/ (function(module, exports) {
  27157. eval("module.exports = \"/static/img/open-lock.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9vcGVuLWxvY2sucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///239\n");
  27158. /***/ }),
  27159. <<<<<<< HEAD
  27160. /* 240 */
  27161. /*!**********************************************************!*\
  27162. !*** C:/Users/001/Desktop/运维端/static/img/close-lock.png ***!
  27163. \**********************************************************/
  27164. =======
  27165. /* 74 */
  27166. /*!***********************************************************************!*\
  27167. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/close-lock.png ***!
  27168. \***********************************************************************/
  27169. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27170. /*! no static exports found */
  27171. /***/ (function(module, exports) {
  27172. eval("module.exports = \"/static/img/close-lock.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9jbG9zZS1sb2NrLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///240\n");
  27173. /***/ }),
  27174. <<<<<<< HEAD
  27175. /* 241 */
  27176. /*!************************************************************!*\
  27177. !*** C:/Users/001/Desktop/运维端/static/img/battery-load.png ***!
  27178. \************************************************************/
  27179. =======
  27180. /* 75 */
  27181. /*!*************************************************************************!*\
  27182. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/battery-load.png ***!
  27183. \*************************************************************************/
  27184. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27185. /*! no static exports found */
  27186. /***/ (function(module, exports) {
  27187. eval("module.exports = \"/static/img/battery-load.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI0MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9iYXR0ZXJ5LWxvYWQucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///241\n");
  27188. /***/ }),
  27189. <<<<<<< HEAD
  27190. /* 242 */
  27191. /*!******************************************************!*\
  27192. !*** C:/Users/001/Desktop/运维端/static/img/online.png ***!
  27193. \******************************************************/
  27194. =======
  27195. /* 76 */
  27196. /*!*******************************************************************!*\
  27197. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/online.png ***!
  27198. \*******************************************************************/
  27199. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27200. /*! no static exports found */
  27201. /***/ (function(module, exports) {
  27202. eval("module.exports = \"/static/img/online.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI0Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9vbmxpbmUucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///242\n");
  27203. /***/ }),
  27204. <<<<<<< HEAD
  27205. /* 243 */
  27206. /*!****************************************************!*\
  27207. !*** C:/Users/001/Desktop/运维端/static/img/more.png ***!
  27208. \****************************************************/
  27209. =======
  27210. /* 77 */
  27211. /*!*****************************************************************!*\
  27212. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/more.png ***!
  27213. \*****************************************************************/
  27214. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27215. /*! no static exports found */
  27216. /***/ (function(module, exports) {
  27217. eval("module.exports = \"/static/img/more.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI0My5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9tb3JlLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///243\n");
  27218. /***/ }),
  27219. <<<<<<< HEAD
  27220. /* 244 */
  27221. /*!*********************************************************************************************!*\
  27222. !*** C:/Users/001/Desktop/运维端/pages/index/bikeTest.vue?vue&type=script&lang=js&mpType=page ***!
  27223. \*********************************************************************************************/
  27224. =======
  27225. /* 78 */
  27226. /*!**********************************************************************************************************!*\
  27227. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bikeTest.vue?vue&type=script&lang=js&mpType=page ***!
  27228. \**********************************************************************************************************/
  27229. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27230. /*! no static exports found */
  27231. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27232. "use strict";
  27233. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./bikeTest.vue?vue&type=script&lang=js&mpType=page */ 245);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeTest_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIyNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9iaWtlVGVzdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYmlrZVRlc3QudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///244\n");
  27234. /***/ }),
  27235. <<<<<<< HEAD
  27236. /* 245 */
  27237. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27238. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/bikeTest.vue?vue&type=script&lang=js&mpType=page ***!
  27239. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27240. =======
  27241. /* 79 */
  27242. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27243. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bikeTest.vue?vue&type=script&lang=js&mpType=page ***!
  27244. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27245. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27246. /*! no static exports found */
  27247. /***/ (function(module, exports, __webpack_require__) {
  27248. "use strict";
  27249. <<<<<<< HEAD
  27250. eval("/* WEBPACK VAR INJECTION */(function(__f__, wx) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _bluWKM = __webpack_require__(/*! ../../static/js/bluWKM.js */ 44); //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var bluM = new _bluWKM.BluetoothManager();var _default = { data: function data() {return { bike_no: '', //车牌号\n box_no: '', //中控编号\n bikeDetail: [], bikeId: '', areaID: '', moreShow: false, checked: false, //是否只开启蓝牙操控\n bikeBolear: false, bikesArr: [] };}, methods: { switchChange: function switchChange(e) {__f__(\"log\", 'switch1 发生 change 事件,携带值为', e.target.value, \" at pages/index/bikeTest.vue:139\");this.checked = e.target.value;}, getBike: function getBike(e) {__f__(\"log\", e, \" at pages/index/bikeTest.vue:143\"); // this.bike_no = e;\n this.bike_info(e);this.bikeBolear = false;}, bikesHidden: function bikesHidden() {this.bikeBolear = false;}, coverHidn: function coverHidn(e) {this.moreShow = false;}, more: function more() {this.moreShow = true;}, skipDetail: function skipDetail() {if (!this.bike_no) {wx.showToast({ title: '请先输入车牌号', icon: 'none' });} else {uni.navigateTo({ url: '../manage/bikeDetail?bike_no=' + this.bike_no + '&id=' + this.bikeDetail.id });}}, scanCode: function scanCode() {var that = this;__f__(\"log\", 'scanCode', \" at pages/index/bikeTest.vue:171\");uni.scanCode({ success: function success(res) {var index = res.result.lastIndexOf(\"\\=\");var code = res.result.substring(index + 1, res.result.length);that.bikeId = code;that.bike_info(code);}, fail: function fail() {uni.showModal({ title: '提示', content: '手动输入车辆标号', success: function success(res) {if (res.confirm) {uni.navigateTo({ url: '/pages/manualInp/manualInp' });}} });} });}, bike_info: function bike_info() {var _this = this;var bikeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;uni.showLoading({ title: '加载中...' });if (typeof bikeId === 'object') {bikeId = this.bikeId;}__f__(\"log\", bikeId, 'bikeId', \" at pages/index/bikeTest.vue:201\");this.bike_no = bikeId;app.request('bike/getBikeInfo?bike_no=' + this.bike_no, '', 'GET').then(function (res) {uni.hideLoading();__f__(\"log\", res, '获取车辆信息', \" at pages/index/bikeTest.vue:205\");if (res.data.bike_info == '' || res.statusCode != 200) {uni.showToast({ title: '暂无该车辆信息~' });} else {__f__(\"log\", res.data, '车辆信息', \" at pages/index/bikeTest.vue:211\");_this.bikeDetail = res.data.bike_info;}if (res.data.bike_info.tab_name == '中控离线') {__f__(\"log\", 1111, \" at pages/index/bikeTest.vue:215\");uni.openBluetoothAdapter({ success: function success(res) {__f__(\"log\", res, \" at pages/index/bikeTest.vue:218\");that.checked = true;}, fail: function fail(err) {__f__(\"log\", err, \" at pages/index/bikeTest.vue:222\");uni.showModal({ title: '提示', content: '当前车辆请开启蓝牙进行操作', showCancel: false });that.checked = false;} });}});}, // 获取车辆信息\n getBike_info: function getBike_info() {var bikeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n if (typeof bikeId === 'object') {\n bikeId = this.bikeId;\n }\n __f__(\"log\", bikeId, 'bikeId', \" at pages/index/bikeTest.vue:243\");\n this.bike_no = bikeId;\n app.request('bike/searchBike?bike_no=' + this.bike_no, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/index/bikeTest.vue:246\");\n if (res.statusCode == 200) {\n uni.hideLoading();\n var bikes = Object.values(res.data.bikes);\n if (bikes.length > 1) {\n that.bikeBolear = true;\n that.bikesArr = bikes;\n } else if (bikes.length == 1) {\n that.bike_info(bikes[0]);\n } else {\n uni.showToast({\n title: '暂无该车辆信息~',\n icon: 'none' });\n\n }\n\n } else {\n uni.showToast({\n title: '暂无该车辆信息~',\n icon: 'none' });\n\n }\n });\n },\n //获取输入框的值\n bindKeyInput: function bindKeyInput(e) {\n // console.log(e.detail.value, 11111)\n this.bikeId = e.detail.value;\n },\n // 鸣笛\n whistle: function whistle() {\n var that = this;\n __f__(\"log\", that.bikeDetail, \" at pages/index/bikeTest.vue:278\");\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.bell);\n } else {\n uni.showLoading({\n title: '响铃中...' });\n\n app.request('bike/bikeBell?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '响铃成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //开锁\n unlock: function unlock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.unlock);\n } else {\n uni.showLoading({\n title: '开锁中...' });\n\n app.request('bike/openBikeLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //关锁\n close_lock: function close_lock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.lock);\n } else {\n uni.showLoading({\n title: '关锁中...' });\n\n app.request('bike/closeBikeLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '关锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //开电池锁\n battery_load: function battery_load() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.batteryUnlock);\n } else {\n uni.showLoading({\n title: '开电池锁中...' });\n\n app.request('bike/openBatteryLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开电池锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n renewalPower: function renewalPower() {\n //更新电量\n app.request('bike/newBikeBatteryMSG?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新电量成功',\n icon: 'none' });\n\n }\n });\n },\n renewalLocation: function renewalLocation() {\n //更新位置\n app.request('bike/newBikeLocation?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新位置成功',\n icon: 'none' });\n\n }\n });\n },\n renewal: function renewal() {\n //重启中控\n var that = this;\n app.request('bike/rebootBox?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '重启中控成功',\n icon: 'none' });\n\n }\n });\n },\n // 设为停车区\n recover: function recover() {\n app.request('bike/repairInParking?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '操作成功',\n icon: 'none' });\n\n } else {\n uni.showToast({\n title: '操作失败',\n icon: 'none' });\n\n }\n });\n },\n //上线\n online: function online() {\n app.request('bike/login?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n\n uni.showToast({\n title: '上线成功',\n icon: 'none' });\n\n }\n });\n },\n //下线\n Offline: function Offline() {\n app.request('bike/logout?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/index/bikeTest.vue:420\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '下线成功',\n icon: 'none' });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n // console.log(app.request())\n __f__(\"log\", uni.getStorageSync('allArea'), 'allArea', \" at pages/index/bikeTest.vue:432\");\n var that = this;\n var timer = setTimeout(function () {\n if (uni.getStorageSync('allArea')) {\n that.allArea = uni.getStorageSync('allArea');\n that.allStatus = uni.getStorageSync('allState');\n }\n __f__(\"log\", that.allArea, \" at pages/index/bikeTest.vue:439\");\n var curVal = uni.getStorageSync('curVal');\n __f__(\"log\", curVal, 'log_curVal', \" at pages/index/bikeTest.vue:441\");\n if (curVal) {\n that.area = curVal;\n }\n var areaID = uni.getStorageSync('curId');\n __f__(\"log\", areaID, 'log_areaID', \" at pages/index/bikeTest.vue:446\");\n if (areaID) {\n that.areaID = areaID;\n } else {\n var id = that.allArea[0].areaID;\n that.areaID = id;\n }\n }, 500);\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"], __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvYmlrZVRlc3QudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0hBLHVFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEQSxtQkFNQSwwQyxlQUNBLEVBQ0EsSUFEQSxrQkFDQSxDQUNBLFNBQ0EsV0FEQSxFQUNBO0FBQ0EsZ0JBRkEsRUFFQTtBQUNBLG9CQUhBLEVBSUEsVUFKQSxFQUtBLFVBTEEsRUFNQSxlQU5BLEVBT0EsY0FQQSxFQU9BO0FBQ0EsdUJBUkEsRUFTQSxZQVRBLEdBV0EsQ0FiQSxFQWNBLFdBQ0Esd0NBQ0EsOEZBQ0EsOEJBQ0EsQ0FKQSxFQUtBLDhCQUNBLG9EQURBLENBRUE7QUFDQSx3QkFDQSx3QkFDQSxDQVZBLEVBV0EscUNBQ0Esd0JBQ0EsQ0FiQSxFQWNBLGtDQUNBLHNCQUNBLENBaEJBLEVBaUJBLHVCQUNBLHFCQUNBLENBbkJBLEVBb0JBLG1DQUNBLG9CQUNBLGVBQ0EsZ0JBREEsRUFFQSxZQUZBLElBSUEsQ0FMQSxNQUtBLENBQ0EsaUJBQ0EsaUZBREEsSUFHQSxDQUNBLENBL0JBLEVBZ0NBLCtCQUNBLGdCQUNBLDZEQUNBLGVBQ0EsZ0NBQ0EseUNBQ0EsOERBQ0EsbUJBQ0EscUJBQ0EsQ0FOQSxFQU9BLHVCQUNBLGdCQUNBLFdBREEsRUFFQSxtQkFGQSxFQUdBLGdDQUNBLGtCQUNBLGlCQUNBLGlDQURBLElBR0EsQ0FDQSxDQVRBLElBV0EsQ0FuQkEsSUFxQkEsQ0F4REEsRUF5REEseUlBQ0Esa0JBQ0EsZUFE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b3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJiaWtlVGVzdFwiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ0ZXN0RmluZFwiPlxyXG5cdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXovabniYzlj7dcIiBwbGFjZWhvbGRlci1jbGFzcz1cInBsYWNlXCIgdHlwZT1cIm51bWJlclwiIHYtbW9kZWw9XCJiaWtlX25vXCIgQGlucHV0PVwiYmluZEtleUlucHV0XCIgQGJsdXI9XCJiaW5kS2V5SW5wdXRcIj48L2lucHV0PlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cInNhb21pYW9cIiBAY2xpY2s9XCJzY2FuQ29kZVwiPuaJq+aPjzwvdGV4dD5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmaW5kXCIgQGNsaWNrPVwiZ2V0QmlrZV9pbmZvXCI+5p+l5om+PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJtb2RlbFwiIHYtaWY9XCJiaWtlQm9sZWFyXCI+XHJcblx0XHRcdDx0ZXh0PuW9k+WJjei+k+WFpee8luWPt+i9pui+hjwvdGV4dD5cclxuXHRcdFx0PHRleHQgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gYmlrZXNBcnJcIiBAY2xpY2s9XCJnZXRCaWtlKGl0ZW0pXCI+XHJcblx0XHRcdFx0e3tpdGVtfX1cclxuXHRcdFx0PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJiZWlqaW5nXCIgdi1pZj1cImJpa2VCb2xlYXJcIiBAY2xpY2s9XCJiaWtlc0hpZGRlblwiIGNhdGNodG91Y2htb3ZlPVwicmV0dXJuXCI+PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ0ZXN0TWVzc1wiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1lc3NUaXRsZVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHTovabovobmo4DmtYvkv6Hmga9cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4Q1wiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS5iaWtlLmhhbnlpeXVuLmNvbS95dW53ZWkvYmlrZURlLnBuZ1wiIHN0eWxlPVwid2lkdGg6NDVycHg7aGVpZ2h0OjQ1cnB4O1wiIEBjbGljaz1cInNraXBEZXRhaWxcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1lc3NMaXN0XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0Q2hpZFwiPlxyXG5cdFx0XHRcdFx06L2m54mM5Y+377yae3tiaWtlRGV0YWlsLmJpa2Vfbm99fVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RDaGlkXCI+XHJcblx0XHRcdFx0XHTlvZPliY3nlLXph4/vvJp7e2Jpa2VEZXRhaWwuYmF0dGVyeV9wb3dlcn19JVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RDaGlkXCI+IFxyXG5cdFx0XHRcdFx06L2m6L6G54q25oCB77yae3tiaWtlRGV0YWlsLnRhYl9uYW1lfX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0Q2hpZFwiPlxyXG5cdFx0XHRcdFx05pyA5ZCO5a6a5L2N77yae3tiaWtlRGV0YWlsLmxhc3RfdGltZX19XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyVGVzdFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyVG9wXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0b3BMZWZ0XCI+XHJcblx0XHRcdFx0XHTovabovobmo4DmtYvmjIfku6RcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0b3BSaWdodFwiPlxyXG5cdFx0XHRcdFx05Y+q5byA5ZCv6JOd54mZ5pON5o6nXHJcblx0XHRcdFx0XHQ8c3dpdGNoIEBjaGFuZ2U9XCJzd2l0Y2hDaGFuZ2VcIiBzdHlsZT1cInRyYW5zZm9ybTpzY2FsZSgwLjcpXCIgdi1pZj1cImNoZWNrZWQ9PXRydWVcIiBjaGVja2VkPVwiY2hlY2tlZFwiIC8+XHJcblx0XHRcdFx0XHQ8c3dpdGNoIEBjaGFuZ2U9XCJzd2l0Y2hDaGFuZ2VcIiBzdHlsZT1cInRyYW5zZm9ybTpzY2FsZSgwLjcpXCIgdi1pZj1cImNoZWNrZWQ9PWZhbHNlXCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlckRldGFpbFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hpbGRyZW5cIiBAY2xpY2s9XCJ3aGlzdGxlXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9vcGVuLWxvY2sucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHTpuKPnrJtcclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjaGlsZHJlblwiIEBjbGljaz1cInVubG9ja1wiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvb3Blbi1sb2NrLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx05byA55S16L2m6ZSBXHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hpbGRyZW5cIiBAY2xpY2s9XCJjbG9zZV9sb2NrXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9jbG9zZS1sb2NrLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx05YWz55S16L2m6ZSBXHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hpbGRyZW5cIiBAY2xpY2s9XCJiYXR0ZXJ5X2xvYWRcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL2JhdHRlcnktbG9hZC5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHRcdOW8gOeUteaxoOmUgVxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNoaWxkcmVuXCIgQGNsaWNrPVwib25saW5lXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9vbmxpbmUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHTkuIrnur9cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjaGlsZHJlblwiIEBjbGljaz1cIm1vcmVcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL21vcmUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHTmm7TlpJpcclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJiYWNrZ3JvdW5kXCIgdi1pZj1cIm1vcmVTaG93XCIgQGNsaWNrPVwiY292ZXJIaWRuKDEpXCIgY2F0Y2h0b3VjaG1vdmU9XCJ0cnVlXCI+PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1vcmVcIiB2LWlmPVwibW9yZVNob3dcIj5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJPZmZsaW5lXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvb2ZmbGluZS5wbmdcIiBzdHlsZT1cIndpZHRoOjYydXB4O2hlaWdodDo2MHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXc+5LiL57q/PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJyZW5ld2FsUG93ZXJcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltZy9yZW5ld2FsUG93ZXIucG5nXCIgc3R5bGU9XCJ3aWR0aDo2MnVweDtoZWlnaHQ6NjB1cHg7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDx0ZXh0PuabtOaWsOeUtemHjzwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgQGNsaWNrPVwicmVuZXdhbExvY2F0aW9uXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvcmVuZXdhbExvY2F0aW9uLnBuZ1wiIHN0eWxlPVwid2lkdGg6NjJ1cHg7aGVpZ2h0OjYwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dGV4dD7mm7TmlrDkvY3nva48L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cInJlbmV3YWxcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltZy9yZW5ld2FsLnBuZ1wiIHN0eWxlPVwid2lkdGg6NjJ1cHg7aGVpZ2h0OjYwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dGV4dD7ph43lkK/kuK3mjqc8L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cInJlY292ZXJcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvcGFyay5wbmdcIiBzdHlsZT1cIndpZHRoOjUwdXB4O2hlaWdodDo1MHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHRleHQ+6K6+5Li65YGc6L2m5Yy6PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpO1xyXG5cdGltcG9ydCB7XHJcblx0XHRCbHVldG9vdGhNYW5hZ2VyLFxyXG5cdFx0QnRFcnJvckNvZGUsXHJcblx0XHRDTURcclxuXHR9IGZyb20gJy4uLy4uL3N0YXRpYy9qcy9ibHVXS00uanMnO1xyXG5cdGNvbnN0IGJsdU0gPSBuZXcgQmx1ZXRvb3RoTWFuYWdlcjtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGJpa2Vfbm86ICcnLCAvL+i9pueJjOWPt1xyXG5cdFx0XHRcdGJveF9ubzogJycsIC8v5Lit5o6n57yW5Y+3XHJcblx0XHRcdFx0YmlrZURldGFpbDogW10sXHJcblx0XHRcdFx0YmlrZUlkOiAnJyxcclxuXHRcdFx0XHRhcmVhSUQ6ICcnLFxyXG5cdFx0XHRcdG1vcmVTaG93OiBmYWxzZSxcclxuXHRcdFx0XHRjaGVja2VkOiBmYWxzZSwgLy/mmK/lkKblj6rlvIDlkK/ok53niZnmk43mjqdcclxuXHRcdFx0XHRiaWtlQm9sZWFyOmZhbHNlLFxyXG5cdFx0XHRcdGJpa2VzQXJyOltdXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdHN3aXRjaENoYW5nZTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdzd2l0Y2gxIOWPkeeUnyBjaGFuZ2Ug5LqL5Lu277yM5pC65bim5YC85Li6JywgZS50YXJnZXQudmFsdWUpXHJcblx0XHRcdFx0dGhpcy5jaGVja2VkID0gZS50YXJnZXQudmFsdWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldEJpa2U6ZnVuY3Rpb24oZSl7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHQvLyB0aGlzLmJpa2Vfbm8gPSBlO1xyXG5cdFx0XHRcdHRoaXMuYmlrZV9pbmZvKGUpXHJcblx0XHRcdFx0dGhpcy5iaWtlQm9sZWFyPWZhbHNlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRiaWtlc0hpZGRlbjpmdW5jdGlvbigpe1xyXG5cdFx0XHRcdHRoaXMuYmlrZUJvbGVhcj1mYWxzZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y292ZXJIaWRuOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dGhpcy5tb3JlU2hvdyA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdG1vcmU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMubW9yZVNob3cgPSB0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRza2lwRGV0YWlsOmZ1bmN0aW9uKCkge1xyXG5cdFx0XHQgICAgaWYgKCF0aGlzLmJpa2Vfbm8pIHtcclxuXHRcdFx0ICAgICAgd3guc2hvd1RvYXN0KHtcclxuXHRcdFx0ICAgICAgICB0aXRsZTogJ+ivt+WFiOi+k+WFpei9pueJjOWPtycsXHJcblx0XHRcdCAgICAgICAgaWNvbjogJ25vbmUnXHJcblx0XHRcdCAgICAgIH0pXHJcblx0XHRcdCAgICB9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHR1cmw6ICcuLi9tYW5hZ2UvYmlrZURldGFpbD9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8gKyAnJmlkPScgKyB0aGlzLmJpa2VEZXRhaWwuaWRcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdCAgICB9XHJcblx0XHRcdCAgfSxcclxuXHRcdFx0c2NhbkNvZGU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnc2NhbkNvZGUnKVxyXG5cdFx0XHRcdHVuaS5zY2FuQ29kZSh7XHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnJlc3VsdC5sYXN0SW5kZXhPZihcIlxcPVwiKTtcclxuXHRcdFx0XHRcdFx0dmFyIGNvZGUgPSByZXMucmVzdWx0LnN1YnN0cmluZyhpbmRleCArIDEsIHJlcy5yZXN1bHQubGVuZ3RoKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5iaWtlSWQgPSBjb2RlO1xyXG5cdFx0XHRcdFx0XHR0aGF0LmJpa2VfaW5mbyhjb2RlKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aPkOekuicsXHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJ+aJi+WKqOi+k+WFpei9pui+huagh+WPtycsXHJcblx0XHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9tYW51YWxJbnAvbWFudWFsSW5wJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0YmlrZV9pbmZvOmZ1bmN0aW9uKGJpa2VJZCA9IGZhbHNlKXtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0aWYgKHR5cGVvZiBiaWtlSWQgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0XHRiaWtlSWQgPSB0aGlzLmJpa2VJZFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhiaWtlSWQsICdiaWtlSWQnKVxyXG5cdFx0XHRcdHRoaXMuYmlrZV9ubyA9IGJpa2VJZDtcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9nZXRCaWtlSW5mbz9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8sICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICfojrflj5bovabovobkv6Hmga8nKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmJpa2VfaW5mbyA9PSAnJyB8fCByZXMuc3RhdHVzQ29kZSE9MjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg6K+l6L2m6L6G5L+h5oGvficsXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgJ+i9pui+huS/oeaBrycpXHJcblx0XHRcdFx0XHRcdHRoaXMuYmlrZURldGFpbCA9IHJlcy5kYXRhLmJpa2VfaW5mbztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChyZXMuZGF0YS5iaWtlX2luZm8udGFiX25hbWUgPT0gJ+S4reaOp+emu+e6vycpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coMTExMSlcclxuXHRcdFx0XHRcdFx0dW5pLm9wZW5CbHVldG9vdGhBZGFwdGVyKHtcclxuXHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5jaGVja2VkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdGZhaWwoZXJyKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpXHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAn5b2T5YmN6L2m6L6G6K+35byA5ZCv6JOd54mZ6L+b6KGM5pON5L2cJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c2hvd0NhbmNlbDogZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmNoZWNrZWQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6I635Y+W6L2m6L6G5L+h5oGvXHJcblx0XHRcdGdldEJpa2VfaW5mbzogZnVuY3Rpb24oYmlrZUlkID0gZmFsc2UpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0eXBlb2YgYmlrZUlkID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRcdFx0YmlrZUlkID0gdGhpcy5iaWtlSWRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc29sZS5sb2coYmlrZUlkLCAnYmlrZUlkJylcclxuXHRcdFx0XHR0aGlzLmJpa2Vfbm8gPSBiaWtlSWQ7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2Uvc2VhcmNoQmlrZT9iaWtlX25vPScrdGhpcy5iaWtlX25vLCcnLCdHRVQnKS50aGVuKHJlcz0+e1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0aWYocmVzLnN0YXR1c0NvZGU9PTIwMCl7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXHJcblx0XHRcdFx0XHRcdHZhciBiaWtlcyA9IE9iamVjdC52YWx1ZXMocmVzLmRhdGEuYmlrZXMpXHJcblx0XHRcdFx0XHRcdGlmKGJpa2VzLmxlbmd0aD4xKXtcclxuXHRcdFx0XHRcdFx0dGhhdC5iaWtlQm9sZWFyPXRydWU7XHJcblx0XHRcdFx0XHRcdHRoYXQuYmlrZXNBcnIgPSBiaWtlc1xyXG5cdFx0XHRcdFx0XHR9ZWxzZSBpZihiaWtlcy5sZW5ndGg9PTEpe1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuYmlrZV9pbmZvKGJpa2VzWzBdKVxyXG5cdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg6K+l6L2m6L6G5L+h5oGvficsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOidub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmmoLml6Dor6Xovabovobkv6Hmga9+JyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOidub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v6I635Y+W6L6T5YWl5qGG55qE5YC8XHJcblx0XHRcdGJpbmRLZXlJbnB1dDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUuZGV0YWlsLnZhbHVlLCAxMTExMSlcclxuXHRcdFx0XHR0aGlzLmJpa2VJZCA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpuKPnrJtcclxuXHRcdFx0d2hpc3RsZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYmlrZURldGFpbClcclxuXHRcdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XHJcblx0XHRcdFx0XHRibHVNLmNvbm5lY3REZWl2ZWNlKHRoYXQuYmlrZURldGFpbC5ib3hfbm8sIENNRC5iZWxsKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WTjemTg+S4rS4uLidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9iaWtlQmVsbD9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+WTjemTg+aIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lvIDplIFcclxuXHRcdFx0dW5sb2NrOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKHRoaXMuY2hlY2tlZCkge1xyXG5cdFx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYm94X25vLCBDTUQudW5sb2NrKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+W8gOmUgeS4rS4uLidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9vcGVuQmlrZUxvY2s/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICflvIDplIHmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5YWz6ZSBXHJcblx0XHRcdGNsb3NlX2xvY2s6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XHJcblx0XHRcdFx0XHRibHVNLmNvbm5lY3REZWl2ZWNlKHRoYXQuYmlrZURldGFpbC5ib3hfbm8sIENNRC5sb2NrKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WFs+mUgeS4rS4uLidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9jbG9zZUJpa2VMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5YWz6ZSB5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+W8gOeUteaxoOmUgVxyXG5cdFx0XHRiYXR0ZXJ5X2xvYWQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XHJcblx0XHRcdFx0XHRibHVNLmNvbm5lY3REZWl2ZWNlKHRoYXQuYmlrZURldGFpbC5ib3hfbm8sIENNRC5iYXR0ZXJ5VW5sb2NrKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+W8gOeUteaxoOmUgeS4rS4uLidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9vcGVuQmF0dGVyeUxvY2s/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICflvIDnlLXmsaDplIHmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHJlbmV3YWxQb3dlcjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly/mm7TmlrDnlLXph49cclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9uZXdCaWtlQmF0dGVyeU1TRz9iaWtlX2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+abtOaWsOeUtemHj+aIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVuZXdhbExvY2F0aW9uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHQvL+abtOaWsOS9jee9rlxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL25ld0Jpa2VMb2NhdGlvbj9iaWtlX2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+abtOaWsOS9jee9ruaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVuZXdhbDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly/ph43lkK/kuK3mjqdcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVib290Qm94P2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn6YeN5ZCv5Lit5o6n5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDorr7kuLrlgZzovabljLpcclxuXHRcdFx0cmVjb3ZlcjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVwYWlySW5QYXJraW5nP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+S4iue6v1xyXG5cdFx0XHRvbmxpbmU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2xvZ2luP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFxyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+S4iue6v+aIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/kuIvnur9cclxuXHRcdFx0T2ZmbGluZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbG9nb3V0P2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5LiL57q/5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKGFwcC5yZXF1ZXN0KCkpXHJcblx0XHRcdGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpLCAnYWxsQXJlYScpXHJcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0bGV0IHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRpZiAodW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJykpIHtcclxuXHRcdFx0XHRcdHRoYXQuYWxsQXJlYSA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xyXG5cdFx0XHRcdFx0dGhhdC5hbGxTdGF0dXMgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbFN0YXRlJyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYWxsQXJlYSlcclxuXHRcdFx0XHRsZXQgY3VyVmFsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGN1clZhbCwgJ2xvZ19jdXJWYWwnKVxyXG5cdFx0XHRcdGlmIChjdXJWYWwpIHtcclxuXHRcdFx0XHRcdHRoYXQuYXJlYSA9IGN1clZhbDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IGFyZWFJRCA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VySWQnKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGFyZWFJRCwgJ2xvZ19hcmVhSUQnKVxyXG5cdFx0XHRcdGlmIChhcmVhSUQpIHtcclxuXHRcdFx0XHRcdHRoYXQuYXJlYUlEID0gYXJlYUlEO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsZXQgaWQgPSB0aGF0LmFsbEFyZWFbMF0uYXJlYUlEXHJcblx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IGlkXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LCA1MDApXHJcblx0XHR9LFxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0Lm9yZGVyVGVzdCB7XHJcblx0XHQvKiBoZWlnaHQ6IDEwMCU7ICovXHJcblx0XHRtYXJnaW4tdG9wOiAzMHVweDtcclxuXHRcdHBhZGRpbmc6IDIwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTJ1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyVG9wIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmb250LXNpemU6IDMwdXB4O1xyXG5cdH1cclxuXHJcblx0LnRvcExlZnQge1xyXG5cdFx0ZmxleDogMTtcclxuXHJcblx0fVxyXG5cclxuXHQudG9wUmlnaHQge1xyXG5cdFx0ZmxleDogMTtcclxuXHJcblx0fVxyXG5cclxuXHQub3JkZXJEZXRhaWwge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ym9yZGVyLXRvcDogc29saWQgMXVweCAjZjJmMmYyO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblxyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0LmNoaWxkcmVuIHtcclxuXHRcdGZsZXg6IDAgMCAzMyU7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHVweDtcclxuXHR9XHJcblxyXG5cdC5jaGlsZHJlbiB2aWV3IHtcclxuXHRcdG1hcmdpbi10b3A6IDEwdXB4O1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHR9XHJcblxyXG5cdC5jaGlsZHJlbiBpbWFnZSB7XHJcblx0XHRoZWlnaHQ6IDU4dXB4O1xyXG5cdFx0d2lkdGg6IDU4dXB4O1xyXG5cdH1cclxuXHJcblx0LnRvcFJpZ2h0IHZpZXcge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHR9XHJcblxyXG5cdC50b3BSaWdodCBzd2l0Y2gge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHR9XHJcblxyXG5cdC50ZXN0TWVzcyB7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHVweDtcclxuXHRcdHBhZGRpbmc6IDIwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTJ1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0Lm1lc3NUaXRsZSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjB1cHg7XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cclxuXHQubWVzc1RpdGxlIHtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDF1cHggI2YyZjJmMjtcclxuXHR9XHJcblxyXG5cdC5saXN0Q2hpZCB7XHJcblx0XHRwYWRkaW5nOiAyMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMzB1cHg7XHJcblx0XHRjb2xvcjogI2E2YTZhNjtcclxuXHR9XHJcblxyXG5cdC5iaWtlVGVzdCB7XHJcblx0XHRwYWRkaW5nOiAzMHVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XHJcblx0fVxyXG5cclxuXHQudGVzdEZpbmQge1xyXG5cdFx0cGFkZGluZzogMzB1cHggNTB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTJ1cHg7XHJcblxyXG5cdH1cclxuXHJcblx0LnRlc3RGaW5kIGlucHV0IHtcclxuXHRcdHdpZHRoOiA3MCU7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0cGFkZGluZzogMCAwIDV1cHggNXVweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlci1ib3R0b206IDJ1cHggc29saWQgIzBiMGIwYjtcclxuXHR9XHJcblxyXG5cdC5zYW9taWFvIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxOEQzQjg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG5cdFx0cGFkZGluZzogNXVweCAzMHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDE1dXB4O1xyXG5cdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRtYXJnaW4tbGVmdDogNTB1cHg7XHJcblx0XHRmb250LXNpemU6IDMwdXB4O1xyXG5cclxuXHR9XHJcblxyXG5cdC5maW5kIHtcclxuXHRcdG1hcmdpbi10b3A6IDMwdXB4O1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogNzAlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDE1JTtcclxuXHRcdHBhZGRpbmc6IDEwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTV1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMThEM0I4O1xyXG5cdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuYmFja2dyb3VuZCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMjgyODI4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDB1cHg7XHJcblx0XHRsZWZ0OiAwdXB4O1xyXG5cdFx0ei1pbmRleDogODg4ODtcclxuXHRcdG9wYWNpdHk6IDAuNTtcclxuXHR9XHJcblxyXG5cdC5tb3JlIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDQxJTtcclxuXHRcdGxlZnQ6IDI4JTtcclxuXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cdFx0ei1pbmRleDogOTk5OTtcclxuXHRcdHdpZHRoOiAzOTJ1cHg7XHJcblx0XHRoZWlnaHQ6IDM5MnVweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjI5LCAyMjksIDIyOSwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHVweDtcclxuXHR9XHJcblxyXG5cdC5tb3JlIHZpZXcge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0LmZsZXhDIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XHJcbi5iZWlqaW5ne1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogODg4O1xyXG5cdGJhY2tncm91bmQ6ICMzMzMzMzM7XHJcblx0b3BhY2l0eTogLjU7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG59XHJcbi5tb2RlbHtcclxuXHR3aWR0aDogNDAwdXB4O1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRwYWRkaW5nOiAzMHVweCAwdXB4O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR6LWluZGV4OiA5OTk7XHJcblx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0dG9wOiA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcblx0bWF4LWhlaWdodDogNjAwdXB4O1xyXG5cdG92ZXJmbG93OnNjcm9sbCA7XHJcbn1cclxuLm1vZGVsIHRleHR7XHJcblx0cGFkZGluZzogMTV1cHggMHVweDtcclxuXHRmb250LXNpemU6IDMwdXB4O1xyXG59XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///245\n");
  27251. /***/ }),
  27252. /* 246 */
  27253. /*!**************************************************************************!*\
  27254. !*** C:/Users/001/Desktop/运维端/pages/manage/incomeDetail.vue?mpType=page ***!
  27255. \**************************************************************************/
  27256. =======
  27257. eval("/* WEBPACK VAR INJECTION */(function(__f__, wx) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _bluWKM = __webpack_require__(/*! ../../static/js/bluWKM.js */ 44); //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var bluM = new _bluWKM.BluetoothManager();var _default = { data: function data() {return { bike_no: '', //车牌号\n box_no: '', //中控编号\n bikeDetail: [], bikeId: '', areaID: '', moreShow: false, checked: false, //是否只开启蓝牙操控\n bikeBolear: false, bikesArr: [] };}, methods: { switchChange: function switchChange(e) {__f__(\"log\", 'switch1 发生 change 事件,携带值为', e.target.value, \" at pages/index/bikeTest.vue:139\");this.checked = e.target.value;}, getBike: function getBike(e) {__f__(\"log\", e, \" at pages/index/bikeTest.vue:143\"); // this.bike_no = e;\n this.bike_info(e);this.bikeBolear = false;}, bikesHidden: function bikesHidden() {this.bikeBolear = false;}, coverHidn: function coverHidn(e) {this.moreShow = false;}, more: function more() {this.moreShow = true;}, skipDetail: function skipDetail() {if (!this.bike_no) {wx.showToast({ title: '请先输入车牌号', icon: 'none' });} else {uni.navigateTo({ url: '../manage/bikeDetail?bike_no=' + this.bike_no + '&id=' + this.bikeDetail.id });}}, scanCode: function scanCode() {var that = this;__f__(\"log\", 'scanCode', \" at pages/index/bikeTest.vue:171\");uni.scanCode({ success: function success(res) {var index = res.result.lastIndexOf(\"\\=\");var code = res.result.substring(index + 1, res.result.length);that.bikeId = code;that.bike_info(code);}, fail: function fail() {uni.showModal({ title: '提示', content: '手动输入车辆标号', success: function success(res) {if (res.confirm) {uni.navigateTo({ url: '/pages/manualInp/manualInp' });}} });} });}, bike_info: function bike_info() {var _this = this;var bikeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;uni.showLoading({ title: '加载中...' });if (typeof bikeId === 'object') {bikeId = this.bikeId;}__f__(\"log\", bikeId, 'bikeId', \" at pages/index/bikeTest.vue:201\");this.bike_no = bikeId;app.request('bike/getBikeInfo?bike_no=' + this.bike_no, '', 'GET').then(function (res) {uni.hideLoading();__f__(\"log\", res, '获取车辆信息', \" at pages/index/bikeTest.vue:205\");if (res.data.bike_info == '' || res.statusCode != 200) {uni.showToast({ title: '暂无该车辆信息~' });} else {__f__(\"log\", res.data, '车辆信息', \" at pages/index/bikeTest.vue:211\");_this.bikeDetail = res.data.bike_info;}if (res.data.bike_info.tab_name == '中控离线') {__f__(\"log\", 1111, \" at pages/index/bikeTest.vue:215\");uni.openBluetoothAdapter({ success: function success(res) {__f__(\"log\", res, \" at pages/index/bikeTest.vue:218\");that.checked = true;}, fail: function fail(err) {__f__(\"log\", err, \" at pages/index/bikeTest.vue:222\");uni.showModal({ title: '提示', content: '当前车辆请开启蓝牙进行操作', showCancel: false });that.checked = false;} });}});}, // 获取车辆信息\n getBike_info: function getBike_info() {var bikeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n if (typeof bikeId === 'object') {\n bikeId = this.bikeId;\n }\n __f__(\"log\", bikeId, 'bikeId', \" at pages/index/bikeTest.vue:243\");\n this.bike_no = bikeId;\n app.request('bike/searchBike?bike_no=' + this.bike_no, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/index/bikeTest.vue:246\");\n if (res.statusCode == 200) {\n uni.hideLoading();\n var bikes = Object.values(res.data.bikes);\n if (bikes.length > 1) {\n that.bikeBolear = true;\n that.bikesArr = bikes;\n } else if (bikes.length == 1) {\n that.bike_info(bikes[0]);\n } else {\n uni.showToast({\n title: '暂无该车辆信息~',\n icon: 'none' });\n\n }\n\n } else {\n uni.showToast({\n title: '暂无该车辆信息~',\n icon: 'none' });\n\n }\n });\n },\n //获取输入框的值\n bindKeyInput: function bindKeyInput(e) {\n // console.log(e.detail.value, 11111)\n this.bikeId = e.detail.value;\n },\n // 鸣笛\n whistle: function whistle() {\n var that = this;\n __f__(\"log\", that.bikeDetail, \" at pages/index/bikeTest.vue:278\");\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.bell);\n } else {\n uni.showLoading({\n title: '响铃中...' });\n\n app.request('bike/bikeBell?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '响铃成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //开锁\n unlock: function unlock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.unlock);\n } else {\n uni.showLoading({\n title: '开锁中...' });\n\n app.request('bike/openBikeLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //关锁\n close_lock: function close_lock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.lock);\n } else {\n uni.showLoading({\n title: '关锁中...' });\n\n app.request('bike/closeBikeLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '关锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //开电池锁\n battery_load: function battery_load() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.box_no, _bluWKM.CMD.batteryUnlock);\n } else {\n uni.showLoading({\n title: '开电池锁中...' });\n\n app.request('bike/openBatteryLock?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开电池锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n renewalPower: function renewalPower() {\n //更新电量\n app.request('bike/newBikeBatteryMSG?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新电量成功',\n icon: 'none' });\n\n }\n });\n },\n renewalLocation: function renewalLocation() {\n //更新位置\n app.request('bike/newBikeLocation?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新位置成功',\n icon: 'none' });\n\n }\n });\n },\n renewal: function renewal() {\n //重启中控\n var that = this;\n app.request('bike/rebootBox?bike_id=' + that.bikeDetail.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '重启中控成功',\n icon: 'none' });\n\n }\n });\n },\n // 设为停车区\n recover: function recover() {\n app.request('bike/repairInParking?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '操作成功',\n icon: 'none' });\n\n } else {\n uni.showToast({\n title: '操作失败',\n icon: 'none' });\n\n }\n });\n },\n //上线\n online: function online() {\n app.request('bike/login?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n\n uni.showToast({\n title: '上线成功',\n icon: 'none' });\n\n }\n });\n },\n //下线\n Offline: function Offline() {\n app.request('bike/logout?bike_id=' + this.bikeDetail.id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/index/bikeTest.vue:420\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '下线成功',\n icon: 'none' });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n // console.log(app.request())\n __f__(\"log\", uni.getStorageSync('allArea'), 'allArea', \" at pages/index/bikeTest.vue:432\");\n var that = this;\n var timer = setTimeout(function () {\n if (uni.getStorageSync('allArea')) {\n that.allArea = uni.getStorageSync('allArea');\n that.allStatus = uni.getStorageSync('allState');\n }\n __f__(\"log\", that.allArea, \" at pages/index/bikeTest.vue:439\");\n var curVal = uni.getStorageSync('curVal');\n __f__(\"log\", curVal, 'log_curVal', \" at pages/index/bikeTest.vue:441\");\n if (curVal) {\n that.area = curVal;\n }\n var areaID = uni.getStorageSync('curId');\n __f__(\"log\", areaID, 'log_areaID', \" at pages/index/bikeTest.vue:446\");\n if (areaID) {\n that.areaID = areaID;\n } else {\n var id = that.allArea[0].areaID;\n that.areaID = id;\n }\n }, 500);\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"], __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvYmlrZVRlc3QudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImJsdU0iLCJCbHVldG9vdGhNYW5hZ2VyIiwiZGF0YSIsImJpa2Vfbm8iLCJib3hfbm8iLCJiaWtlRGV0YWlsIiwiYmlrZUlkIiwiYXJlYUlEIiwibW9yZVNob3ciLCJjaGVja2VkIiwiYmlrZUJvbGVhciIsImJpa2VzQXJyIiwibWV0aG9kcyIsInN3aXRjaENoYW5nZSIsImUiLCJ0YXJnZXQiLCJ2YWx1ZSIsImdldEJpa2UiLCJiaWtlX2luZm8iLCJiaWtlc0hpZGRlbiIsImNvdmVySGlkbiIsIm1vcmUiLCJza2lwRGV0YWlsIiwid3giLCJzaG93VG9hc3QiLCJ0aXRsZSIsImljb24iLCJ1bmkiLCJuYXZpZ2F0ZVRvIiwidXJsIiwiaWQiLCJzY2FuQ29kZSIsInRoYXQiLCJzdWNjZXNzIiwicmVzIiwiaW5kZXgiLCJyZXN1bHQiLCJsYXN0SW5kZXhPZiIsImNvZGUiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJmYWlsIiwic2hvd01vZGFsIiwiY29udGVudCIsImNvbmZpcm0iLCJzaG93TG9hZGluZyIsInJlcXVlc3QiLCJ0aGVuIiwiaGlkZUxvYWRpbmciLCJzdGF0dXNDb2RlIiwidGFiX25hbWUiLCJvcGVuQmx1ZXRvb3RoQWRhcHRlciIsImVyciIsInNob3dDYW5jZWwiLCJnZXRCaWtlX2luZm8iLCJiaWtlcyIsIk9iamVjdCIsInZhbHVlcyIsImJpbmRLZXlJbnB1dCIsImRldGFpbCIsIndoaXN0bGUiLCJjb25uZWN0RGVpdmVjZSIsIkNNRCIsImJlbGwiLCJ1bmxvY2siLCJjbG9zZV9sb2NrIiwibG9jayIsImJhdHRlcnlfbG9hZCIsImJhdHRlcnlVbmxvY2siLCJyZW5ld2FsUG93ZXIiLCJyZW5ld2FsTG9jYXRpb24iLCJyZW5ld2FsIiwicmVjb3ZlciIsIm9ubGluZSIsIk9mZmxpbmUiLCJvbkxvYWQiLCJvcHRpb25zIiwiZ2V0U3RvcmFnZVN5bmMiLCJ0aW1lciIsInNldFRpbWVvdXQiLCJhbGxBcmVhIiwiYWxsU3RhdHVzIiwiY3VyVmFsIiwiYXJlYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvSEEsdUUsQ0FwSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsSUFBSUEsR0FBRyxHQUFHQyxNQUFNLEVBQWhCLENBTUEsSUFBTUMsSUFBSSxHQUFHLElBQUlDLHdCQUFKLEVBQWIsQyxlQUNlLEVBQ2RDLElBRGMsa0JBQ1AsQ0FDTixPQUFPLEVBQ05DLE9BQU8sRUFBRSxFQURI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O0FBQ2pDLFVBQUlwRCxHQUFHLENBQUNrRCxjQUFKLENBQW1CLFNBQW5CLENBQUosRUFBbUM7QUFDbEM3QyxZQUFJLENBQUNnRCxPQUFMLEdBQWVyRCxHQUFHLENBQUNrRCxjQUFKLENBQW1CLFNBQW5CLENBQWY7QUFDQTdDLFlBQUksQ0FBQ2lELFNBQUwsR0FBaUJ0RCxHQUFHLENBQUNrRCxjQUFKLENBQW1CLFVBQW5CLENBQWpCO0FBQ0E7QUFDRCxtQkFBWTdDLElBQUksQ0FBQ2dELE9BQWpCO0FBQ0EsVUFBSUUsTUFBTSxHQUFHdkQsR0FBRyxDQUFDa0QsY0FBSixDQUFtQixRQUFuQixDQUFiO0FBQ0EsbUJBQVlLLE1BQVosRUFBb0IsWUFBcEI7QUFDQSxVQUFJQSxNQUFKLEVBQVk7QUFDWGxELFlBQUksQ0FBQ21ELElBQUwsR0FBWUQsTUFBWjtBQUNBO0FBQ0QsVUFBSTNFLE1BQU0sR0FBR29CLEdBQUcsQ0FBQ2tELGNBQUosQ0FBbUIsT0FBbkIsQ0FBYjtBQUNBLG1CQUFZdEUsTUFBWixFQUFvQixZQUFwQjtBQUNBLFVBQUlBLE1BQUosRUFBWTtBQUNYeUIsWUFBSSxDQUFDekIsTUFBTCxHQUFjQSxNQUFkO0FBQ0EsT0FGRCxNQUVPO0FBQ04sWUFBSXVCLEVBQUUsR0FBR0UsSUFBSSxDQUFDZ0QsT0FBTCxDQUFhLENBQWIsRUFBZ0J6RSxNQUF6QjtBQUNBeUIsWUFBSSxDQUFDekIsTUFBTCxHQUFjdUIsRUFBZDtBQUNBO0FBQ0QsS0FuQnFCLEVBbUJuQixHQW5CbUIsQ0FBdEI7QUFvQkEsR0EzVWEsRSIsImZpbGUiOiI3OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcCA9IGdldEFwcCgpO1xuaW1wb3J0IHtcblx0Qmx1ZXRvb3RoTWFuYWdlcixcblx0QnRFcnJvckNvZGUsXG5cdENNRFxufSBmcm9tICcuLi8uLi9zdGF0aWMvanMvYmx1V0tNLmpzJztcbmNvbnN0IGJsdU0gPSBuZXcgQmx1ZXRvb3RoTWFuYWdlcjtcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0YmlrZV9ubzogJycsIC8v6L2m54mM5Y+3XG5cdFx0XHRib3hfbm86ICcnLCAvL+S4reaOp+e8luWPt1xuXHRcdFx0YmlrZURldGFpbDogW10sXG5cdFx0XHRiaWtlSWQ6ICcnLFxuXHRcdFx0YXJlYUlEOiAnJyxcblx0XHRcdG1vcmVTaG93OiBmYWxzZSxcblx0XHRcdGNoZWNrZWQ6IGZhbHNlLCAvL+aYr+WQpuWPquW8gOWQr+iTneeJmeaTjeaOp1xuXHRcdFx0YmlrZUJvbGVhcjpmYWxzZSxcblx0XHRcdGJpa2VzQXJyOltdXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0c3dpdGNoQ2hhbmdlOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZygnc3dpdGNoMSDlj5HnlJ8gY2hhbmdlIOS6i+S7tu+8jOaQuuW4puWAvOS4uicsIGUudGFyZ2V0LnZhbHVlKVxuXHRcdFx0dGhpcy5jaGVja2VkID0gZS50YXJnZXQudmFsdWU7XG5cdFx0fSxcblx0XHRnZXRCaWtlOmZ1bmN0aW9uKGUpe1xuXHRcdFx0Y29uc29sZS5sb2coZSlcblx0XHRcdC8vIHRoaXMuYmlrZV9ubyA9IGU7XG5cdFx0XHR0aGlzLmJpa2VfaW5mbyhlKVxuXHRcdFx0dGhpcy5iaWtlQm9sZWFyPWZhbHNlO1xuXHRcdH0sXG5cdFx0YmlrZXNIaWRkZW46ZnVuY3Rpb24oKXtcblx0XHRcdHRoaXMuYmlrZUJvbGVhcj1mYWxzZTtcblx0XHR9LFxuXHRcdGNvdmVySGlkbjogZnVuY3Rpb24oZSkge1xuXHRcdFx0dGhpcy5tb3JlU2hvdyA9IGZhbHNlXG5cdFx0fSxcblx0XHRtb3JlOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMubW9yZVNob3cgPSB0cnVlO1xuXHRcdH0sXG5cdFx0c2tpcERldGFpbDpmdW5jdGlvbigpIHtcblx0XHQgICAgaWYgKCF0aGlzLmJpa2Vfbm8pIHtcblx0XHQgICAgICB3eC5zaG93VG9hc3Qoe1xuXHRcdCAgICAgICAgdGl0bGU6ICfor7flhYjovpPlhaXovabniYzlj7cnLFxuXHRcdCAgICAgICAgaWNvbjogJ25vbmUnXG5cdFx0ICAgICAgfSlcblx0XHQgICAgfSBlbHNlIHtcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdHVybDogJy4uL21hbmFnZS9iaWtlRGV0YWlsP2Jpa2Vfbm89JyArIHRoaXMuYmlrZV9ubyArICcmaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZFxuXHRcdFx0XHR9KVxuXHRcdCAgICB9XG5cdFx0ICB9LFxuXHRcdHNjYW5Db2RlOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGNvbnNvbGUubG9nKCdzY2FuQ29kZScpXG5cdFx0XHR1bmkuc2NhbkNvZGUoe1xuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRsZXQgaW5kZXggPSByZXMucmVzdWx0Lmxhc3RJbmRleE9mKFwiXFw9XCIpO1xuXHRcdFx0XHRcdHZhciBjb2RlID0gcmVzLnJlc3VsdC5zdWJzdHJpbmcoaW5kZXggKyAxLCByZXMucmVzdWx0Lmxlbmd0aCk7XG5cdFx0XHRcdFx0dGhhdC5iaWtlSWQgPSBjb2RlO1xuXHRcdFx0XHRcdHRoYXQuYmlrZV9pbmZvKGNvZGUpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxuXHRcdFx0XHRcdFx0Y29udGVudDogJ+aJi+WKqOi+k+WFpei9pui+huagh+WPtycsXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5jb25maXJtKSB7XG5cdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL21hbnVhbElucC9tYW51YWxJbnAnLFxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0YmlrZV9pbmZvOmZ1bmN0aW9uKGJpa2VJZCA9IGZhbHNlKXtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHRpZiAodHlwZW9mIGJpa2VJZCA9PT0gJ29iamVjdCcpIHtcblx0XHRcdFx0YmlrZUlkID0gdGhpcy5iaWtlSWRcblx0XHRcdH1cblx0XHRcdGNvbnNvbGUubG9nKGJpa2VJZCwgJ2Jpa2VJZCcpXG5cdFx0XHR0aGlzLmJpa2Vfbm8gPSBiaWtlSWQ7XG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9nZXRCaWtlSW5mbz9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8sICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6I635Y+W6L2m6L6G5L+h5oGvJylcblx0XHRcdFx0aWYgKHJlcy5kYXRhLmJpa2VfaW5mbyA9PSAnJyB8fCByZXMuc3RhdHVzQ29kZSE9MjAwKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOivpei9pui+huS/oeaBr34nLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEsICfovabovobkv6Hmga8nKVxuXHRcdFx0XHRcdHRoaXMuYmlrZURldGFpbCA9IHJlcy5kYXRhLmJpa2VfaW5mbztcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAocmVzLmRhdGEuYmlrZV9pbmZvLnRhYl9uYW1lID09ICfkuK3mjqfnprvnur8nKSB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coMTExMSlcblx0XHRcdFx0XHR1bmkub3BlbkJsdWV0b290aEFkYXB0ZXIoe1xuXHRcdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxuXHRcdFx0XHRcdFx0XHR0aGF0LmNoZWNrZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGZhaWwoZXJyKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICflvZPliY3ovabovobor7flvIDlkK/ok53niZnov5vooYzmk43kvZwnLFxuXHRcdFx0XHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdHRoYXQuY2hlY2tlZCA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvLyDojrflj5bovabovobkv6Hmga9cblx0XHRnZXRCaWtlX2luZm86IGZ1bmN0aW9uKGJpa2VJZCA9IGZhbHNlKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKHR5cGVvZiBiaWtlSWQgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRcdGJpa2VJZCA9IHRoaXMuYmlrZUlkXG5cdFx0XHR9XG5cdFx0XHRjb25zb2xlLmxvZyhiaWtlSWQsICdiaWtlSWQnKVxuXHRcdFx0dGhpcy5iaWtlX25vID0gYmlrZUlkO1xuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2Uvc2VhcmNoQmlrZT9iaWtlX25vPScrdGhpcy5iaWtlX25vLCcnLCdHRVQnKS50aGVuKHJlcz0+e1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdGlmKHJlcy5zdGF0dXNDb2RlPT0yMDApe1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdFx0dmFyIGJpa2VzID0gT2JqZWN0LnZhbHVlcyhyZXMuZGF0YS5iaWtlcylcblx0XHRcdFx0XHRpZihiaWtlcy5sZW5ndGg+MSl7XG5cdFx0XHRcdFx0dGhhdC5iaWtlQm9sZWFyPXRydWU7XG5cdFx0XHRcdFx0dGhhdC5iaWtlc0FyciA9IGJpa2VzXG5cdFx0XHRcdFx0fWVsc2UgaWYoYmlrZXMubGVuZ3RoPT0xKXtcblx0XHRcdFx0XHRcdHRoYXQuYmlrZV9pbmZvKGJpa2VzWzBdKVxuXHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg6K+l6L2m6L6G5L+h5oGvficsXG5cdFx0XHRcdFx0XHRcdGljb246J25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOivpei9pui+huS/oeaBr34nLFxuXHRcdFx0XHRcdFx0aWNvbjonbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/ojrflj5bovpPlhaXmoYbnmoTlgLxcblx0XHRiaW5kS2V5SW5wdXQ6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdC8vIGNvbnNvbGUubG9nKGUuZGV0YWlsLnZhbHVlLCAxMTExMSlcblx0XHRcdHRoaXMuYmlrZUlkID0gZS5kZXRhaWwudmFsdWU7XG5cdFx0fSxcblx0XHQvLyDpuKPnrJtcblx0XHR3aGlzdGxlOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYmlrZURldGFpbClcblx0XHRcdGlmICh0aGlzLmNoZWNrZWQpIHtcblx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYm94X25vLCBDTUQuYmVsbClcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdFx0dGl0bGU6ICflk43pk4PkuK0uLi4nXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2Jpa2VCZWxsP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5ZON6ZOD5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5byA6ZSBXG5cdFx0dW5sb2NrOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGlmICh0aGlzLmNoZWNrZWQpIHtcblx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYm94X25vLCBDTUQudW5sb2NrKVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0XHR0aXRsZTogJ+W8gOmUgeS4rS4uLidcblx0XHRcdFx0fSlcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2Uvb3BlbkJpa2VMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5byA6ZSB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5YWz6ZSBXG5cdFx0Y2xvc2VfbG9jazogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XG5cdFx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJveF9ubywgQ01ELmxvY2spXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5YWz6ZSB5LitLi4uJ1xuXHRcdFx0XHR9KVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9jbG9zZUJpa2VMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5YWz6ZSB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5byA55S15rGg6ZSBXG5cdFx0YmF0dGVyeV9sb2FkOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGlmICh0aGlzLmNoZWNrZWQpIHtcblx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYm94X25vLCBDTUQuYmF0dGVyeVVubG9jaylcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdFx0dGl0bGU6ICflvIDnlLXmsaDplIHkuK0uLi4nXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL29wZW5CYXR0ZXJ5TG9jaz9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+W8gOeUteaxoOmUgeaIkOWKnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRyZW5ld2FsUG93ZXI6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Ly/mm7TmlrDnlLXph49cblx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL25ld0Jpa2VCYXR0ZXJ5TVNHP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmm7TmlrDnlLXph4/miJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHJlbmV3YWxMb2NhdGlvbjogZnVuY3Rpb24oKSB7XG5cdFx0XHQvL+abtOaWsOS9jee9rlxuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbmV3QmlrZUxvY2F0aW9uP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5pu05paw5L2N572u5oiQ5YqfJyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRyZW5ld2FsOiBmdW5jdGlvbigpIHtcblx0XHRcdC8v6YeN5ZCv5Lit5o6nXG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9yZWJvb3RCb3g/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfph43lkK/kuK3mjqfmiJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8vIOiuvuS4uuWBnOi9puWMulxuXHRcdHJlY292ZXI6IGZ1bmN0aW9uKCkge1xuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVwYWlySW5QYXJraW5nP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmk43kvZzmiJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5aSx6LSlJyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+S4iue6v1xuXHRcdG9ubGluZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9sb2dpbj9iaWtlX2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5LiK57q/5oiQ5YqfJyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+S4i+e6v1xuXHRcdE9mZmxpbmU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbG9nb3V0P2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfkuIvnur/miJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdC8vIGNvbnNvbGUubG9nKGFwcC5yZXF1ZXN0KCkpXG5cdFx0Y29uc29sZS5sb2codW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyksICdhbGxBcmVhJylcblx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0bGV0IHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKSkge1xuXHRcdFx0XHR0aGF0LmFsbEFyZWEgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcblx0XHRcdFx0dGhhdC5hbGxTdGF0dXMgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbFN0YXRlJyk7XG5cdFx0XHR9XG5cdFx0XHRjb25zb2xlLmxvZyh0aGF0LmFsbEFyZWEpXG5cdFx0XHRsZXQgY3VyVmFsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKVxuXHRcdFx0Y29uc29sZS5sb2coY3VyVmFsLCAnbG9nX2N1clZhbCcpXG5cdFx0XHRpZiAoY3VyVmFsKSB7XG5cdFx0XHRcdHRoYXQuYXJlYSA9IGN1clZhbDtcblx0XHRcdH1cblx0XHRcdGxldCBhcmVhSUQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJylcblx0XHRcdGNvbnNvbGUubG9nKGFyZWFJRCwgJ2xvZ19hcmVhSUQnKVxuXHRcdFx0aWYgKGFyZWFJRCkge1xuXHRcdFx0XHR0aGF0LmFyZWFJRCA9IGFyZWFJRDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGxldCBpZCA9IHRoYXQuYWxsQXJlYVswXS5hcmVhSURcblx0XHRcdFx0dGhhdC5hcmVhSUQgPSBpZFxuXHRcdFx0fVxuXHRcdH0sIDUwMClcblx0fSxcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///79\n");
  27258. /***/ }),
  27259. /* 80 */
  27260. /*!***************************************************************************************!*\
  27261. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/incomeDetail.vue?mpType=page ***!
  27262. \***************************************************************************************/
  27263. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27264. /*! no static exports found */
  27265. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27266. "use strict";
  27267. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./incomeDetail.vue?vue&type=template&id=488bafab&mpType=page */ 247);\n/* harmony import */ var _incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./incomeDetail.vue?vue&type=script&lang=js&mpType=page */ 252);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/incomeDetail.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBb0k7QUFDcEk7QUFDMkU7QUFDTDs7O0FBR3RFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDZGQUFNO0FBQ1IsRUFBRSxrR0FBTTtBQUNSLEVBQUUsMkdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjQ2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9pbmNvbWVEZXRhaWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTQ4OGJhZmFiJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9pbmNvbWVEZXRhaWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2luY29tZURldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvaW5jb21lRGV0YWlsLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///246\n");
  27268. /***/ }),
  27269. <<<<<<< HEAD
  27270. /* 247 */
  27271. /*!********************************************************************************************************!*\
  27272. !*** C:/Users/001/Desktop/运维端/pages/manage/incomeDetail.vue?vue&type=template&id=488bafab&mpType=page ***!
  27273. \********************************************************************************************************/
  27274. =======
  27275. /* 81 */
  27276. /*!*********************************************************************************************************************!*\
  27277. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/incomeDetail.vue?vue&type=template&id=488bafab&mpType=page ***!
  27278. \*********************************************************************************************************************/
  27279. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27280. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  27281. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27282. "use strict";
  27283. __webpack_require__.r(__webpack_exports__);
  27284. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./incomeDetail.vue?vue&type=template&id=488bafab&mpType=page */ 248);
  27285. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  27286. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  27287. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  27288. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_template_id_488bafab_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  27289. /***/ }),
  27290. <<<<<<< HEAD
  27291. /* 248 */
  27292. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27293. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/incomeDetail.vue?vue&type=template&id=488bafab&mpType=page ***!
  27294. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27295. =======
  27296. /* 82 */
  27297. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27298. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/incomeDetail.vue?vue&type=template&id=488bafab&mpType=page ***!
  27299. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27300. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27301. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  27302. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27303. "use strict";
  27304. __webpack_require__.r(__webpack_exports__);
  27305. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  27306. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  27307. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  27308. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  27309. var components
  27310. var render = function() {
  27311. var _vm = this
  27312. var _h = _vm.$createElement
  27313. var _c = _vm._self._c || _h
  27314. return _c(
  27315. "view",
  27316. { staticClass: _vm._$s(0, "sc", "info"), attrs: { _i: 0 } },
  27317. [
  27318. _vm._$s(1, "i", _vm.role == "技术管理员")
  27319. ? _c(
  27320. "view",
  27321. { staticClass: _vm._$s(1, "sc", "selected"), attrs: { _i: 1 } },
  27322. [
  27323. _c(
  27324. "view",
  27325. { attrs: { _i: 2 }, on: { click: _vm.select_merchants } },
  27326. [
  27327. _c("text", [
  27328. _vm._v(
  27329. _vm._$s(
  27330. 3,
  27331. "t0-0",
  27332. _vm._s(_vm.merchantList[_vm.merchantIndex])
  27333. )
  27334. )
  27335. ]),
  27336. _c("image", {
  27337. attrs: {
  27338. src: _vm._$s(
  27339. 4,
  27340. "a-src",
  27341. __webpack_require__(/*! ../../static/img/right-arrow.png */ 249)
  27342. ),
  27343. _i: 4
  27344. }
  27345. })
  27346. ]
  27347. ),
  27348. _c("view", { attrs: { _i: 5 }, on: { click: _vm.select_area } }, [
  27349. _c("text", [
  27350. _vm._v(
  27351. _vm._$s(6, "t0-0", _vm._s(_vm.areaList[_vm.areaIndex]))
  27352. )
  27353. ]),
  27354. _c("image", {
  27355. attrs: {
  27356. src: _vm._$s(
  27357. 7,
  27358. "a-src",
  27359. __webpack_require__(/*! ../../static/img/right-arrow.png */ 249)
  27360. ),
  27361. _i: 7
  27362. }
  27363. })
  27364. ])
  27365. ]
  27366. )
  27367. : _vm._e(),
  27368. _c("view", { staticClass: _vm._$s(8, "sc", "date"), attrs: { _i: 8 } }, [
  27369. _c("view", [
  27370. _c(
  27371. "view",
  27372. {
  27373. staticClass: _vm._$s(10, "sc", "flexA"),
  27374. attrs: { _i: 10 },
  27375. on: { click: _vm.choice }
  27376. },
  27377. [_c("text", [_vm._v(_vm._$s(11, "t0-0", _vm._s(_vm.timeShowS)))])]
  27378. ),
  27379. _c(
  27380. "view",
  27381. { staticClass: _vm._$s(12, "sc", "flexA"), attrs: { _i: 12 } },
  27382. [_c("text", [_vm._v(_vm._$s(13, "t0-0", _vm._s(_vm.timeShowE)))])]
  27383. )
  27384. ]),
  27385. _c(
  27386. "view",
  27387. { staticClass: _vm._$s(14, "sc", "dates"), attrs: { _i: 14 } },
  27388. [_vm._v(_vm._$s(14, "t0-0", _vm._s(_vm.list.days)))]
  27389. )
  27390. ]),
  27391. _c(
  27392. "view",
  27393. { staticClass: _vm._$s(15, "sc", "list"), attrs: { _i: 15 } },
  27394. [
  27395. _c(
  27396. "view",
  27397. { staticClass: _vm._$s(16, "sc", "income"), attrs: { _i: 16 } },
  27398. [
  27399. _c(
  27400. "view",
  27401. {
  27402. staticClass: _vm._$s(17, "sc", "flexB title"),
  27403. attrs: { _i: 17 }
  27404. },
  27405. [
  27406. _c("text"),
  27407. _c(
  27408. "text",
  27409. {
  27410. staticClass: _vm._$s(19, "sc", "state"),
  27411. attrs: { _i: 19 }
  27412. },
  27413. [_vm._v(_vm._$s(19, "t0-0", _vm._s(_vm.list.totalProfit)))]
  27414. )
  27415. ]
  27416. ),
  27417. _c(
  27418. "view",
  27419. { staticClass: _vm._$s(20, "sc", "flex"), attrs: { _i: 20 } },
  27420. [
  27421. _c("text", [
  27422. _vm._v(
  27423. _vm._$s(21, "t0-0", _vm._s(_vm.list.orderTotalProfit))
  27424. )
  27425. ])
  27426. ]
  27427. ),
  27428. _c(
  27429. "view",
  27430. { staticClass: _vm._$s(22, "sc", "flex"), attrs: { _i: 22 } },
  27431. [
  27432. _c("text", [
  27433. _vm._v(
  27434. _vm._$s(23, "t0-0", _vm._s(_vm.list.orderRentTotalProfit))
  27435. )
  27436. ])
  27437. ]
  27438. ),
  27439. _c(
  27440. "view",
  27441. { staticClass: _vm._$s(24, "sc", "flex"), attrs: { _i: 24 } },
  27442. [
  27443. _c("text", [
  27444. _vm._v(
  27445. _vm._$s(
  27446. 25,
  27447. "t0-0",
  27448. _vm._s(_vm.list.orderDispatchTotalProfit)
  27449. )
  27450. )
  27451. ]),
  27452. _c("text", [
  27453. _vm._v(
  27454. _vm._$s(
  27455. 26,
  27456. "t0-0",
  27457. _vm._s(_vm.list.orderRentDispatchTotalProfit)
  27458. )
  27459. )
  27460. ])
  27461. ]
  27462. ),
  27463. _c(
  27464. "view",
  27465. { staticClass: _vm._$s(27, "sc", "flex"), attrs: { _i: 27 } },
  27466. [
  27467. _c("text", [
  27468. _vm._v(_vm._$s(28, "t0-0", _vm._s(_vm.list.wiatPayTotal)))
  27469. ])
  27470. ]
  27471. )
  27472. ]
  27473. ),
  27474. _c(
  27475. "view",
  27476. { staticClass: _vm._$s(29, "sc", "income"), attrs: { _i: 29 } },
  27477. [
  27478. _c(
  27479. "view",
  27480. {
  27481. staticClass: _vm._$s(30, "sc", "flexB title"),
  27482. attrs: { _i: 30 }
  27483. },
  27484. [
  27485. _c("text"),
  27486. _c(
  27487. "text",
  27488. {
  27489. staticClass: _vm._$s(32, "sc", "state"),
  27490. attrs: { _i: 32 }
  27491. },
  27492. [_vm._v(_vm._$s(32, "t0-0", _vm._s(_vm.list.userTotal)))]
  27493. )
  27494. ]
  27495. ),
  27496. _c(
  27497. "view",
  27498. {
  27499. staticClass: _vm._$s(33, "sc", "flexB small"),
  27500. attrs: { _i: 33 }
  27501. },
  27502. [
  27503. _c("text", [
  27504. _vm._v(
  27505. _vm._$s(34, "t0-0", _vm._s(_vm.list.userTotalCardOk))
  27506. )
  27507. ]),
  27508. _c("text", [
  27509. _vm._v(
  27510. _vm._$s(35, "t0-0", _vm._s(_vm.list.userDepositTotal))
  27511. )
  27512. ])
  27513. ]
  27514. )
  27515. ]
  27516. ),
  27517. _c(
  27518. "view",
  27519. { staticClass: _vm._$s(36, "sc", "income"), attrs: { _i: 36 } },
  27520. [
  27521. _c(
  27522. "view",
  27523. {
  27524. staticClass: _vm._$s(37, "sc", "flexB title"),
  27525. attrs: { _i: 37 }
  27526. },
  27527. [
  27528. _c("text"),
  27529. _c(
  27530. "text",
  27531. {
  27532. staticClass: _vm._$s(39, "sc", "state"),
  27533. attrs: { _i: 39 }
  27534. },
  27535. [
  27536. _vm._v(
  27537. _vm._$s(
  27538. 39,
  27539. "t0-0",
  27540. _vm._s(_vm.list.cumulativeDepositTotal)
  27541. )
  27542. )
  27543. ]
  27544. )
  27545. ]
  27546. ),
  27547. _c(
  27548. "view",
  27549. {
  27550. staticClass: _vm._$s(40, "sc", "flexB small"),
  27551. attrs: { _i: 40 }
  27552. },
  27553. [
  27554. _c("text", [
  27555. _vm._v(_vm._$s(41, "t0-0", _vm._s(_vm.list.depositTotal)))
  27556. ])
  27557. ]
  27558. )
  27559. ]
  27560. ),
  27561. _c(
  27562. "view",
  27563. { staticClass: _vm._$s(42, "sc", "income"), attrs: { _i: 42 } },
  27564. [
  27565. _c(
  27566. "view",
  27567. {
  27568. staticClass: _vm._$s(43, "sc", "flexB title"),
  27569. attrs: { _i: 43 }
  27570. },
  27571. [
  27572. _c("text"),
  27573. _c(
  27574. "text",
  27575. {
  27576. staticClass: _vm._$s(45, "sc", "state"),
  27577. attrs: { _i: 45 }
  27578. },
  27579. [
  27580. _vm._v(
  27581. _vm._$s(
  27582. 45,
  27583. "t0-0",
  27584. _vm._s(_vm.list.orderRentTotal + _vm.list.orderTotal)
  27585. )
  27586. )
  27587. ]
  27588. )
  27589. ]
  27590. ),
  27591. _c(
  27592. "view",
  27593. {
  27594. staticClass: _vm._$s(46, "sc", "flexB small"),
  27595. attrs: { _i: 46 }
  27596. },
  27597. [
  27598. _c("text", [
  27599. _vm._v(_vm._$s(47, "t0-0", _vm._s(_vm.list.orderTotal)))
  27600. ]),
  27601. _c("text", [
  27602. _vm._v(_vm._$s(48, "t0-0", _vm._s(_vm.list.wiatNum)))
  27603. ])
  27604. ]
  27605. ),
  27606. _c(
  27607. "view",
  27608. { staticClass: _vm._$s(49, "sc", "flex"), attrs: { _i: 49 } },
  27609. [
  27610. _c("text", [
  27611. _vm._v(_vm._$s(50, "t0-0", _vm._s(_vm.list.orderRentTotal)))
  27612. ])
  27613. ]
  27614. )
  27615. ]
  27616. ),
  27617. _c(
  27618. "view",
  27619. { staticClass: _vm._$s(51, "sc", "income"), attrs: { _i: 51 } },
  27620. [
  27621. _c(
  27622. "view",
  27623. {
  27624. staticClass: _vm._$s(52, "sc", "flexB title"),
  27625. attrs: { _i: 52 }
  27626. },
  27627. [
  27628. _c("text"),
  27629. _c(
  27630. "text",
  27631. {
  27632. staticClass: _vm._$s(54, "sc", "state"),
  27633. attrs: { _i: 54 }
  27634. },
  27635. [
  27636. _vm._v(
  27637. _vm._$s(
  27638. 54,
  27639. "t0-0",
  27640. _vm._s(_vm.list.activityTotalProfit)
  27641. )
  27642. )
  27643. ]
  27644. )
  27645. ]
  27646. ),
  27647. _c(
  27648. "view",
  27649. {
  27650. staticClass: _vm._$s(55, "sc", "flexB small"),
  27651. attrs: { _i: 55 }
  27652. },
  27653. [
  27654. _c("text", [
  27655. _vm._v(
  27656. _vm._$s(
  27657. 56,
  27658. "t0-0",
  27659. _vm._s(_vm.list.rechargeOrderTotalProfit)
  27660. )
  27661. )
  27662. ]),
  27663. _c("text", [
  27664. _vm._v(
  27665. _vm._$s(
  27666. 57,
  27667. "t0-0",
  27668. _vm._s(_vm.list.depositCardTotalProfit)
  27669. )
  27670. )
  27671. ])
  27672. ]
  27673. ),
  27674. _c(
  27675. "view",
  27676. { staticClass: _vm._$s(58, "sc", "flex"), attrs: { _i: 58 } },
  27677. [
  27678. _c("text", [
  27679. _vm._v(
  27680. _vm._$s(
  27681. 59,
  27682. "t0-0",
  27683. _vm._s(_vm.list.riddingCardOrderTotalProfit)
  27684. )
  27685. )
  27686. ])
  27687. ]
  27688. )
  27689. ]
  27690. ),
  27691. _c(
  27692. "view",
  27693. { staticClass: _vm._$s(60, "sc", "bike"), attrs: { _i: 60 } },
  27694. [
  27695. _c("view", [
  27696. _c("text"),
  27697. _c("text", [
  27698. _vm._v(_vm._$s(63, "t0-0", _vm._s(_vm.list.bikeTotal)))
  27699. ])
  27700. ])
  27701. ]
  27702. )
  27703. ]
  27704. ),
  27705. _vm._$s(64, "i", _vm.showCal)
  27706. ? _c("view", {
  27707. staticClass: _vm._$s(64, "sc", "cover"),
  27708. attrs: { _i: 64 },
  27709. on: { click: _vm.closeCal }
  27710. })
  27711. : _vm._e(),
  27712. _vm._$s(65, "i", _vm.showCal)
  27713. ? _c(
  27714. "view",
  27715. { staticClass: _vm._$s(65, "sc", "calendar"), attrs: { _i: 65 } },
  27716. [
  27717. _c(
  27718. "view",
  27719. {
  27720. staticClass: _vm._$s(66, "sc", "section"),
  27721. attrs: { _i: 66 }
  27722. },
  27723. [
  27724. _c(
  27725. "view",
  27726. {
  27727. staticClass: _vm._$s(67, "sc", "title flex-box"),
  27728. attrs: { _i: 67 }
  27729. },
  27730. [
  27731. _c(
  27732. "view",
  27733. { attrs: { _i: 68 }, on: { click: _vm.past } },
  27734. [
  27735. _c("image", {
  27736. attrs: {
  27737. src: _vm._$s(
  27738. 69,
  27739. "a-src",
  27740. __webpack_require__(/*! ../../static/img/zuo.png */ 250)
  27741. ),
  27742. _i: 69
  27743. }
  27744. })
  27745. ]
  27746. ),
  27747. _c(
  27748. "view",
  27749. {
  27750. staticClass: _vm._$s(70, "sc", "title"),
  27751. attrs: { _i: 70 }
  27752. },
  27753. [_vm._v(_vm._$s(70, "t0-0", _vm._s(_vm.currentShow)))]
  27754. ),
  27755. _c(
  27756. "view",
  27757. { attrs: { _i: 71 }, on: { click: _vm.future } },
  27758. [
  27759. _c("image", {
  27760. attrs: {
  27761. src: _vm._$s(
  27762. 72,
  27763. "a-src",
  27764. __webpack_require__(/*! ../../static/img/you.png */ 251)
  27765. ),
  27766. _i: 72
  27767. }
  27768. })
  27769. ]
  27770. )
  27771. ]
  27772. ),
  27773. _c(
  27774. "view",
  27775. {
  27776. staticClass: _vm._$s(73, "sc", "week flex-box"),
  27777. attrs: { _i: 73 }
  27778. },
  27779. _vm._l(_vm._$s(74, "f", { forItems: _vm.week }), function(
  27780. item,
  27781. index,
  27782. $20,
  27783. $30
  27784. ) {
  27785. return _c(
  27786. "view",
  27787. {
  27788. key: _vm._$s(74, "f", { forIndex: $20, key: index }),
  27789. staticClass: _vm._$s("74-" + $30, "sc", "weekday"),
  27790. attrs: { _i: "74-" + $30 }
  27791. },
  27792. [_vm._v(_vm._$s("74-" + $30, "t0-0", _vm._s(item)))]
  27793. )
  27794. }),
  27795. 0
  27796. ),
  27797. _c(
  27798. "view",
  27799. {
  27800. staticClass: _vm._$s(75, "sc", "days flex-box"),
  27801. attrs: { _i: 75 }
  27802. },
  27803. _vm._l(_vm._$s(76, "f", { forItems: _vm.days }), function(
  27804. item,
  27805. index1,
  27806. $21,
  27807. $31
  27808. ) {
  27809. return _c(
  27810. "view",
  27811. {
  27812. key: _vm._$s(76, "f", { forIndex: $21, key: index1 }),
  27813. staticClass: _vm._$s("76-" + $31, "sc", "day"),
  27814. attrs: { _i: "76-" + $31 },
  27815. on: {
  27816. click: function($event) {
  27817. return _vm.select(item.today)
  27818. }
  27819. }
  27820. },
  27821. [
  27822. _c(
  27823. "view",
  27824. {
  27825. staticClass: _vm._$s("77-" + $31, "sc", "circle"),
  27826. class: _vm._$s(
  27827. "77-" + $31,
  27828. "c",
  27829. item.today == _vm.today
  27830. ? "now"
  27831. : item.sign
  27832. ? "sign"
  27833. : ""
  27834. ),
  27835. attrs: { _i: "77-" + $31 }
  27836. },
  27837. [
  27838. _c("view", [
  27839. _vm._v(
  27840. _vm._$s("78-" + $31, "t0-0", _vm._s(item.day))
  27841. )
  27842. ])
  27843. ]
  27844. )
  27845. ]
  27846. )
  27847. }),
  27848. 0
  27849. )
  27850. ]
  27851. )
  27852. ]
  27853. )
  27854. : _vm._e()
  27855. ]
  27856. )
  27857. }
  27858. var recyclableRender = false
  27859. var staticRenderFns = []
  27860. render._withStripped = true
  27861. /***/ }),
  27862. <<<<<<< HEAD
  27863. /* 249 */
  27864. /*!***********************************************************!*\
  27865. !*** C:/Users/001/Desktop/运维端/static/img/right-arrow.png ***!
  27866. \***********************************************************/
  27867. =======
  27868. /* 83 */
  27869. /*!************************************************************************!*\
  27870. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/right-arrow.png ***!
  27871. \************************************************************************/
  27872. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27873. /*! no static exports found */
  27874. /***/ (function(module, exports) {
  27875. eval("module.exports = \"/static/img/right-arrow.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI0OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9yaWdodC1hcnJvdy5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///249\n");
  27876. /***/ }),
  27877. <<<<<<< HEAD
  27878. /* 250 */
  27879. /*!***************************************************!*\
  27880. !*** C:/Users/001/Desktop/运维端/static/img/zuo.png ***!
  27881. \***************************************************/
  27882. =======
  27883. /* 84 */
  27884. /*!****************************************************************!*\
  27885. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/zuo.png ***!
  27886. \****************************************************************/
  27887. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27888. /*! no static exports found */
  27889. /***/ (function(module, exports) {
  27890. eval("module.exports = \"/static/img/zuo.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy96dW8ucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///250\n");
  27891. /***/ }),
  27892. <<<<<<< HEAD
  27893. /* 251 */
  27894. /*!***************************************************!*\
  27895. !*** C:/Users/001/Desktop/运维端/static/img/you.png ***!
  27896. \***************************************************/
  27897. =======
  27898. /* 85 */
  27899. /*!****************************************************************!*\
  27900. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/you.png ***!
  27901. \****************************************************************/
  27902. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27903. /*! no static exports found */
  27904. /***/ (function(module, exports) {
  27905. eval("module.exports = \"/static/img/you.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjI1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy95b3UucG5nXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///251\n");
  27906. /***/ }),
  27907. <<<<<<< HEAD
  27908. /* 252 */
  27909. /*!**************************************************************************************************!*\
  27910. !*** C:/Users/001/Desktop/运维端/pages/manage/incomeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  27911. \**************************************************************************************************/
  27912. =======
  27913. /* 86 */
  27914. /*!***************************************************************************************************************!*\
  27915. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/incomeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  27916. \***************************************************************************************************************/
  27917. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27918. /*! no static exports found */
  27919. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27920. "use strict";
  27921. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./incomeDetail.vue?vue&type=script&lang=js&mpType=page */ 253);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_incomeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtqQixDQUFnQixxbEJBQUcsRUFBQyIsImZpbGUiOiIyNTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9pbmNvbWVEZXRhaWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2luY29tZURldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///252\n");
  27922. /***/ }),
  27923. <<<<<<< HEAD
  27924. /* 253 */
  27925. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27926. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/incomeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  27927. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27928. =======
  27929. /* 87 */
  27930. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27931. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/incomeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  27932. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27933. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27934. /*! no static exports found */
  27935. /***/ (function(module, exports, __webpack_require__) {
  27936. "use strict";
  27937. <<<<<<< HEAD
  27938. eval("/* WEBPACK VAR INJECTION */(function(__f__, wx) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n showCal: false,\n list: {},\n week: ['日', '一', '二', '三', '四', '五', '六'],\n days: [],\n today: '', //当天,展示星星标记\n currentShow: '', //展示日期\n currentDate: '', //点击选中日期\n changeTap: false,\n startRange: '',\n timeRange: [],\n timeStart: '',\n timeEnd: '',\n role: uni.getStorageSync('token').role, //是否是技术管理员\n merchantIndex: 0, //选择的商户下标\n merchant: [], //商户列表 数组对象\n merchantList: [], //商户列表只有name供选择,\n merchantId: '',\n areaIndex: 0, //选择的商户下标\n area: [], //商户列表 数组对象\n areaList: [], //商户列表只有name供选择,\n areaId: '',\n areaID: '' //页面传参过来的区域ID\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n this.areaID = options.areaId;\n this.getState();\n var day = this.getDay();\n this.today = day,\n this.currentDate = day;\n this.calendar(day);\n __f__(\"log\", this.role, \" at pages/manage/incomeDetail.vue:162\");\n if (this.role == '技术管理员') {\n app.request('order/merchantList', '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:166\");\n if (res.statusCode == 200) {\n if (res.data.length > 1) {\n var obj = [{\n \"id\": '',\n \"username\": '',\n \"name\": \"全部商户\" }];\n\n var data = res.data;\n obj = obj.concat(data);\n _this.merchant = obj;\n var merchantArr = [];\n for (var i = 0; i < _this.merchant.length; i++) {\n __f__(\"log\", _this.merchant[i].name, \" at pages/manage/incomeDetail.vue:179\");\n merchantArr = merchantArr.concat(_this.merchant[i].name);\n }\n __f__(\"log\", merchantArr, \" at pages/manage/incomeDetail.vue:182\");\n _this.merchantList = merchantArr;\n _this.getArea();\n } else {\n _this.merchant = res.data;\n var merchantArr = [];\n merchantArr.push(_this.merchant[0].name);\n _this.merchantList = merchantArr;\n _this.merchantId = _this.merchant[0].id;\n _this.getArea();\n }\n }\n });\n\n }\n },\n methods: {\n getArea: function getArea() {var _this2 = this;\n __f__(\"log\", this.merchantId, \" at pages/manage/incomeDetail.vue:200\");\n app.request('order/areaList?merchant_id=' + this.merchantId, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:202\");\n if (res.statusCode == 200) {\n if (res.data.length > 1) {\n var obj = [{\n \"id\": '',\n \"username\": '',\n \"name\": \"全部区域\" }];\n\n var data = res.data;\n obj = obj.concat(data);\n _this2.area = obj;\n var areaArr = [];\n for (var i = 0; i < _this2.area.length; i++) {\n __f__(\"log\", _this2.area[i].name, \" at pages/manage/incomeDetail.vue:215\");\n areaArr = areaArr.concat(_this2.area[i].name);\n }\n __f__(\"log\", areaArr, \" at pages/manage/incomeDetail.vue:218\");\n _this2.areaList = areaArr;\n _this2.areaId = '';\n } else {\n _this2.area = res.data;\n var areaArr = [];\n areaArr.push(_this2.area[0].name);\n _this2.areaId = _this2.area[0].id;\n _this2.areaList = areaArr;\n __f__(\"log\", _this2.area[0].name, \" at pages/manage/incomeDetail.vue:227\");\n __f__(\"log\", _this2.areaList, \" at pages/manage/incomeDetail.vue:228\");\n }\n }\n });\n },\n select_merchants: function select_merchants() {\n var that = this;\n uni.showActionSheet({\n itemList: that.merchantList,\n success: function success(res) {\n that.merchantId = that.merchant[res.tapIndex].id;\n that.getArea();\n that.merchantIndex = res.tapIndex;\n that.areaIndex = 0;\n setTimeout(function () {\n that.getState();\n }, 500);\n } });\n\n },\n select_area: function select_area() {\n var that = this;\n uni.showActionSheet({\n itemList: that.areaList,\n success: function success(res) {\n that.areaIndex = res.tapIndex;\n that.areaId = that.area[res.tapIndex].id;\n that.getState();\n } });\n\n },\n //获取今天\n getDay: function getDay() {\n var today = new Date();\n var y = today.getFullYear();\n var m = today.getMonth();\n var d = today.getDate();\n //当月月份\n var todayMonth = today.getMonth() + 1;\n if (todayMonth < 10) {\n todayMonth = \"0\" + todayMonth;\n }\n var sendDay = y + \"-\" + todayMonth + '-' + d;\n return sendDay;\n },\n calendar: function calendar(e) {\n __f__(\"log\", e, \" at pages/manage/incomeDetail.vue:274\");\n var now = e.toString();\n now = now.split('-');\n __f__(\"log\", now, \" at pages/manage/incomeDetail.vue:277\");\n var today = new Date(now[0], now[1] - 1, now[2]);\n // console.log(today, 'today')\n var y = today.getFullYear();\n var m = today.getMonth();\n var d = today.getDate();\n __f__(\"log\", y, m, d, 'ymd', \" at pages/manage/incomeDetail.vue:283\");\n //当月月份\n var todayMonth = today.getMonth() + 1;\n var day = d;\n __f__(\"log\", d, \" at pages/manage/incomeDetail.vue:287\");\n if (todayMonth < 10) {\n todayMonth = \"0\" + todayMonth;\n }\n if (day < 10) {\n d = \"0\" + day;\n }\n //当月第一天是星期几\n var week = new Date(y, m, 1).getDay();\n __f__(\"log\", week, \" at pages/manage/incomeDetail.vue:296\");\n //当月最后一天\n var lastDay = new Date(y, m + 1, 0).getDate();\n __f__(\"log\", lastDay, \" at pages/manage/incomeDetail.vue:299\");\n //渲染日历\n var days = [];\n for (var i = 0; i < week; i++) {\n var obj = {\n id: i,\n day: '',\n today: '',\n sign: false };\n\n days.push(obj);\n }\n var timeRange = this.timeRange;\n var timeLen = timeRange.length;\n for (var j = 0; j < lastDay; j++) {\n var k = j + 1;\n if (k < 10) {\n k = '0' + k;\n }\n var idx = j + week;\n //渲染每天日期状态\n var theDay = y + \"-\" + todayMonth + '-' + k;\n var show = false;\n var starts = false;\n var ends = false;\n for (var _m = 0; _m < timeLen; _m++) {\n if (timeRange[_m] == theDay) {\n show = true;\n //渲染 起 和 止 标记\n if (_m == 0) {\n starts = true;\n }\n if (_m == timeLen - 1) {\n ends = true;\n }\n }\n }\n //渲染每天日期\n var cell = {\n id: idx,\n day: k,\n today: theDay,\n sign: show,\n start: starts,\n end: ends };\n\n days.push(cell);\n }\n var currentShow = y + \"年\" + todayMonth + \"月\";\n\n this.days = days,\n this.currentDate = e,\n this.currentShow = currentShow;\n\n },\n //调出日历\n choice: function choice() {\n\n this.showCal = true;\n\n },\n //关闭日历\n closeCal: function closeCal() {\n this.showCal = false;\n },\n //上个月\n past: function past() {\n var last = this.currentDate;\n last = last.split('-');\n var today = new Date(last[0], last[1] - 1, last[2]);\n var y = today.getFullYear();\n //取出月份不加 1 ,就等于上个月实际月份\n var m = today.getMonth();\n var d = 1;\n //如果当前 m 等于 0 当月为一月份,变成上一年的12月\n if (m < 1) {\n y = y - 1;\n m = 12;\n }\n if (m < 10) {\n m = '0' + m;\n }\n var day = y + '-' + m + '-' + d;\n __f__(\"log\", day, 'day', \" at pages/manage/incomeDetail.vue:382\");\n this.calendar(day);\n },\n //下个月\n future: function future() {\n var next = this.currentDate;\n next = next.split('-');\n // let today = new Date(this.data.currentDate);\n var today = new Date(next[0], next[1] - 1, next[2]);\n var y = today.getFullYear();\n //取出当前月\n var m = today.getMonth();\n var d = 1;\n //十二月份变成下一年的 1 月\n if (m > 10) {\n y = y + 1;\n m = 1;\n } else {\n m = m + 2;\n }\n if (m < 10) {\n m = '0' + m;\n }\n var day = y + '-' + m + '-' + d;\n this.calendar(day);\n },\n //选择日期范围\n select: function select(e) {\n __f__(\"log\", e, \" at pages/manage/incomeDetail.vue:410\");\n var that = this;\n var day = e;\n var taps = this.changeTap;\n var startRange = this.startRange;\n //初始化 startRange,进入页面第一次点击触发\n if (startRange == '') {\n startRange = day;\n }\n __f__(\"log\", startRange, \" at pages/manage/incomeDetail.vue:419\");\n var list = [];\n var paramR = day;\n var paramS = day;\n var paramE = day;\n var timeShowS = '';\n var timeShowE = '';\n if (taps && day) {\n //截止时间动作,先比较两个时间\n var dateS = new Date(startRange);\n var dateE = new Date(day);\n __f__(\"log\", dateS.getTime(), \" at pages/manage/incomeDetail.vue:430\");\n __f__(\"log\", dateE.getTime(), \" at pages/manage/incomeDetail.vue:431\");\n if (dateS.getTime() == dateE.getTime()) {\n list = [day];\n } else if (dateS.getTime() > dateE.getTime()) {\n list = that.datesList(day, startRange);\n paramE = startRange;\n } else if (dateS.getTime() < dateE.getTime()) {\n list = that.datesList(startRange, day);\n paramS = startRange;\n }\n __f__(\"log\", list, \" at pages/manage/incomeDetail.vue:441\");\n that.showCal = false;\n timeShowS = paramS;\n timeShowE = paramE;\n var data = {\n \" pay_time_between[0]\": timeShowS,\n \" pay_time_between[1]\": timeShowE };\n\n wx.showLoading({\n title: '加载中...' });\n\n var url = '';\n if (that.role == '技术管理员') {\n url = \"order/profitDetail?area_id=\" + that.areaId + '&merchant_id=' + that.merchantId;\n } else {\n url = \"order/profitDetail?area_id=\" + that.areaID;\n }\n app.request(url, data, 'GET').then(function (res) {\n wx.hideLoading();\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:460\");\n if (res.statusCode == 200) {\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:462\");\n that.list = res.data;\n }\n });\n } else if (!taps && day) {\n //开始时间动作\n list = [day];\n }\n __f__(\"log\", list, \" at pages/manage/incomeDetail.vue:470\");\n that.changeTap = !taps;\n that.startRange = paramR;\n that.timeRange = list;\n that.timeStart = paramS;\n that.timeEnd = paramE;\n that.timeShowS = timeShowS;\n that.timeShowE = timeShowE;\n that.calendar(day);\n //console.log(list)\n },\n //选择日期范围,1选择日期\n getDates: function getDates(datestr) {\n var temp = datestr.split(\"-\");\n var m = parseInt(temp[1]) - 1;\n var date = new Date(temp[0], m, temp[2]);\n return date;\n },\n //选择日期范围,2生成日期范围内所有的日期列表\n datesList: function datesList(s, e) {\n // let that = this;\n var arys = [];\n var start = s;\n var end = e;\n var startTime = this.getDates(start);\n var endTime = this.getDates(end);\n while (endTime.getTime() - startTime.getTime() >= 0) {\n __f__(\"log\", startTime.getDate() < 10, \" at pages/manage/incomeDetail.vue:497\");\n var year = startTime.getFullYear();\n var monthA = startTime.getMonth() + 1;\n var month = monthA.toString() < 10 ? '0' + monthA.toString() : monthA.toString();\n var d = startTime.getDate() < 10 ? '0' + startTime.getDate() : startTime.getDate();\n var ds = year + \"-\" + month + \"-\" + d;\n arys.push(ds);\n startTime.setDate(startTime.getDate() + 1);\n }\n __f__(\"log\", arys, \" at pages/manage/incomeDetail.vue:506\");\n return arys;\n },\n getState: function getState() {var _this3 = this;\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n var day = new Date();\n day.setTime(day.getTime());\n var today = day.getFullYear() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getDate();\n var day1 = new Date();\n day1.setTime(day1.getTime() + 24 * 60 * 60 * 1000);\n var tommorw = day1.getFullYear() + \"-\" + (day1.getMonth() + 1) + \"-\" + day1.getDate();\n\n this.timeShowS = today,\n this.timeShowE = tommorw;\n __f__(\"log\", this.timeShowS, \" at pages/manage/incomeDetail.vue:523\");\n __f__(\"log\", this.timeShowE, \" at pages/manage/incomeDetail.vue:524\");\n var data = {\n \" pay_time_between[0]\": this.timeShowS,\n \" pay_time_between[1]\": this.timeShowE };\n\n __f__(\"log\", this.areaId, \" at pages/manage/incomeDetail.vue:529\");\n __f__(\"log\", this.merchantId, \" at pages/manage/incomeDetail.vue:530\");\n var url = '';\n if (that.role == '技术管理员') {\n url = \"order/profitDetail?area_id=\" + that.areaId + '&merchant_id=' + that.merchantId;\n } else {\n url = \"order/profitDetail?area_id=\" + that.areaID;\n }\n app.request(url, data, 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:538\");\n uni.hideLoading();\n if (res.statusCode == 200) {\n _this3.list = res.data;\n }\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"], __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2luY29tZURldGFpbC52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBOEhBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxvQkFEQTtBQUVBLGNBRkE7QUFHQSwrQ0FIQTtBQUlBLGNBSkE7QUFLQSxlQUxBLEVBS0E7QUFDQSxxQkFOQSxFQU1BO0FBQ0EscUJBUEEsRUFPQTtBQUNBLHNCQVJBO0FBU0Esb0JBVEE7QUFVQSxtQkFWQTtBQVdBLG1CQVhBO0FBWUEsaUJBWkE7QUFhQSw0Q0FiQSxFQWFBO0FBQ0Esc0JBZEEsRUFjQTtBQUNBLGtCQWZBLEVBZUE7QUFDQSxzQkFoQkEsRUFnQkE7QUFDQSxvQkFqQkE7QUFrQkEsa0JBbEJBLEVBa0JBO0FBQ0EsY0FuQkEsRUFtQkE7QUFDQSxrQkFwQkEsRUFvQkE7QUFDQSxnQkFyQkE7QUFzQkEsZ0JBdEJBLENBc0JBO0FBdEJBO0FBd0JBLEdBMUJBO0FBMkJBLFFBM0JBLGtCQTJCQSxPQTNCQSxFQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFEQTtBQUVBLDRCQUZBO0FBR0EsNEJBSEE7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBakJBLE1BaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BOUJBOztBQWdDQTtBQUNBLEdBckVBO0FBc0VBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFEQTtBQUVBLDRCQUZBO0FBR0EsNEJBSEE7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBakJBLE1BaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0E5QkE7QUErQkEsS0FsQ0E7QUFtQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBRkEsRUFFQSxHQUZBO0FBR0EsU0FWQTs7QUFZQSxLQWpEQTtBQWtEQTtBQUNBO0FBQ0E7QUFDQSwrQkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTs7QUFRQSxLQTVEQTtBQTZEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBMUVBO0FBMkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFEQTtBQUVBLGlCQUZBO0FBR0EsbUJBSEE7QUFJQSxxQkFKQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBREE7QUFFQSxnQkFGQTtBQUdBLHVCQUhBO0FBSUEsb0JBSkE7QUFLQSx1QkFMQTtBQU1BLG1CQU5BOztBQVFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBCQURBO0FBRUEsb0NBRkE7O0FBSUEsS0EzSkE7QUE0SkE7QUFDQTs7QUFFQTs7QUFFQSxLQWpLQTtBQWtLQTtBQUNBO0FBQ0E7QUFDQSxLQXJLQTtBQXNLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0ExTEE7QUEyTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BSEEsTUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FqTkE7QUFrTkE7QUFDQSxVQW5OQSxrQkFtTkEsQ0FuTkEsRUFtTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0EsU0FIQSxNQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQURBO0FBRUEsMkNBRkE7O0FBSUE7QUFDQSx5QkFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxTQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQVBBO0FBUUEsT0F4Q0EsTUF3Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBMVJBO0FBMlJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBalNBO0FBa1NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXRUQTtBQXVUQTtBQUNBO0FBQ0EsdUJBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw4QkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBLDhDQURBO0FBRUEsOENBRkE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQU5BO0FBT0EsS0ExVkEsRUF0RUEsRSIsImZpbGUiOiIyNTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PCEtLSDov5nmmK/mlLbnm4ror6bmg4XnlYzpnaIgLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJpbmZvXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cInNlbGVjdGVkXCIgdi1pZj1cInJvbGU9PSfmioDmnK/nrqHnkIblkZgnXCI+XHJcblx0XHRcdDx2aWV3IEBjbGljaz1cInNlbGVjdF9tZXJjaGFudHNcIj5cclxuXHRcdFx0XHQ8dGV4dD57e21lcmNoYW50TGlzdFttZXJjaGFudEluZGV4XX19PC90ZXh0PlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3JpZ2h0LWFycm93LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IEBjbGljaz1cInNlbGVjdF9hcmVhXCI+XHJcblx0XHRcdFx0PHRleHQ+e3thcmVhTGlzdFthcmVhSW5kZXhdfX08L3RleHQ+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvcmlnaHQtYXJyb3cucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZGF0ZVwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOjcwJTtcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhBXCIgQGNsaWNrPVwiY2hvaWNlXCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7lvIDlp4vml7bpl7TvvJp7e3RpbWVTaG93U319PC90ZXh0PlxyXG5cdFx0XHRcdFx0PCEtLSA8dmFuLWljb24gbmFtZT1cInVuZGVyd2F5LW9cIiAvPiAtLT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4QVwiIHN0eWxlPVwibWFyZ2luLXRvcDoyMHJweDtcIj5cclxuXHRcdFx0XHRcdDx0ZXh0Pue7k+adn+aXtumXtO+8mnt7dGltZVNob3dFfX08L3RleHQ+XHJcblx0XHRcdFx0XHQ8IS0tIDx2YW4taWNvbiBuYW1lPVwidW5kZXJ3YXktb1wiIC8+IC0tPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImRhdGVzXCI+5bey5p+l6K+ie3tsaXN0LmRheXN9feWkqTwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwibGlzdFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImluY29tZVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleEIgdGl0bGVcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PuaUtuWFpeaYjue7hjwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwic3RhdGVcIj7mgLvmlLblhaXvvJp7e2xpc3QudG90YWxQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7mma7pgJrorqLljZXmlLblhaXvvIjlkKvosIPluqbotLnvvInvvJp7e2xpc3Qub3JkZXJUb3RhbFByb2ZpdH19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PuaXpeenn+iuouWNleaUtuWFpe+8iOWQq+iwg+W6pui0ue+8ie+8mnt7bGlzdC5vcmRlclJlbnRUb3RhbFByb2ZpdH19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwid2lkdGg6NTAlO1wiPuiuouWNleiwg+W6pui0ue+8mnt7bGlzdC5vcmRlckRpc3BhdGNoVG90YWxQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwid2lkdGg6NTAlO1wiPuaXpeenn+iuouWNleiwg+W6pui0ue+8mnt7bGlzdC5vcmRlclJlbnREaXNwYXRjaFRvdGFsUHJvZml0fX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleFwiPlxyXG5cdFx0XHRcdFx0PHRleHQ+5b6F5pSv5LuY6K6i5Y2V77yae3tsaXN0LndpYXRQYXlUb3RhbH19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImluY29tZVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleEIgdGl0bGVcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PueUqOaIt+aYjue7hjwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwic3RhdGVcIj7mgLvnlKjmiLfvvJp7e2xpc3QudXNlclRvdGFsfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleEIgc21hbGxcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PuaWsOWinuiupOivgeeUqOaIt++8mnt7bGlzdC51c2VyVG90YWxDYXJkT2t9fTwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0PuaAu+e8tOe6s+aKvOmHkeeUqOaIt++8mnt7bGlzdC51c2VyRGVwb3NpdFRvdGFsfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiaW5jb21lXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4QiB0aXRsZVwiPlxyXG5cdFx0XHRcdFx0PHRleHQ+5oq86YeR5piO57uGPC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJzdGF0ZVwiPue0r+iuoeWHgOaKvOmHke+8mnt7bGlzdC5jdW11bGF0aXZlRGVwb3NpdFRvdGFsfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleEIgc21hbGxcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PuaWsOWinuaKvOmHke+8mnt7bGlzdC5kZXBvc2l0VG90YWx9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpbmNvbWVcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhCIHRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7orqLljZXmmI7nu4Y8L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInN0YXRlXCI+5oC76K6i5Y2V5pWw77yae3tsaXN0Lm9yZGVyUmVudFRvdGFsK2xpc3Qub3JkZXJUb3RhbH19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhCIHNtYWxsXCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7mma7pgJrorqLljZXvvJp7e2xpc3Qub3JkZXJUb3RhbH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQ+5b6F5pSv5LuY6K6i5Y2V77yae3tsaXN0LndpYXROdW19fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7ml6Xnp5/orqLljZXvvJp7e2xpc3Qub3JkZXJSZW50VG90YWx9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpbmNvbWVcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhCIHRpdGxlXCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7mtLvliqjmmI7nu4Y8L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInN0YXRlXCI+5rS75Yqo5pS255uK77yae3tsaXN0LmFjdGl2aXR5VG90YWxQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4QiBzbWFsbFwiPlxyXG5cdFx0XHRcdFx0PHRleHQ+5YWF5YC86K6i5Y2V5pS255uK77yae3tsaXN0LnJlY2hhcmdlT3JkZXJUb3RhbFByb2ZpdH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQ+5YWN5oq86YeR5Y2h5pS255uK77yae3tsaXN0LmRlcG9zaXRDYXJkVG90YWxQcm9maXR9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7pqpHooYzljaHmlLbnm4rvvJp7e2xpc3QucmlkZGluZ0NhcmRPcmRlclRvdGFsUHJvZml0fX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYmlrZVwiPlxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHRleHQ+5oqV5pS+6L2m6L6GPC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQ+e3tsaXN0LmJpa2VUb3RhbH19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJjb3ZlclwiIHYtaWY9XCJzaG93Q2FsXCIgQGNsaWNrPVwiY2xvc2VDYWxcIiBjYXRjaHRvdWNobW92ZT1cInRydWVcIj48L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNhbGVuZGFyXCIgdi1pZj1cInNob3dDYWxcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWN0aW9uXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZSBmbGV4LWJveFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgQGNsaWNrPVwicGFzdFwiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy96dW8ucG5nXCIgbW9kZT1cIlwiIHN0eWxlPVwid2lkdGg6IDYwdXB4O2hlaWdodDogNjB1cHg7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGVcIj57e2N1cnJlbnRTaG93fX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJmdXR1cmVcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcveW91LnBuZ1wiIG1vZGU9XCJcIiBzdHlsZT1cIndpZHRoOiA2MHVweDtoZWlnaHQ6IDYwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwid2VlayBmbGV4LWJveFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ3ZWVrZGF5XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gd2Vla1wiIDprZXk9J2luZGV4Jz57e2l0ZW19fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkYXlzIGZsZXgtYm94XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRheVwiIEBjbGljaz1cInNlbGVjdChpdGVtLnRvZGF5KVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgxKSBpbiBkYXlzXCIgOmtleT1cImluZGV4MVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyA6Y2xhc3M9XCJpdGVtLnRvZGF5ID09IHRvZGF5ID8gJ25vdycgOiAoaXRlbS5zaWduID8gJ3NpZ24nIDogJycpXCIgY2xhc3M9XCJjaXJjbGVcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldz4ge3tpdGVtLmRheX19IDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzaG93Q2FsOiBmYWxzZSxcclxuXHRcdFx0XHRsaXN0OiB7fSxcclxuXHRcdFx0XHR3ZWVrOiBbJ+aXpScsICfkuIAnLCAn5LqMJywgJ+S4iScsICflm5snLCAn5LqUJywgJ+WFrSddLFxyXG5cdFx0XHRcdGRheXM6IFtdLFxyXG5cdFx0XHRcdHRvZGF5OiAnJywgLy/lvZPlpKnvvIzlsZXnpLrmmJ/mmJ/moIforrBcclxuXHRcdFx0XHRjdXJyZW50U2hvdzogJycsIC8v5bGV56S65pel5pyfXHJcblx0XHRcdFx0Y3VycmVudERhdGU6ICcnLCAvL+eCueWHu+mAieS4reaXpeacn1xyXG5cdFx0XHRcdGNoYW5nZVRhcDogZmFsc2UsXHJcblx0XHRcdFx0c3RhcnRSYW5nZTogJycsXHJcblx0XHRcdFx0dGltZVJhbmdlOiBbXSxcclxuXHRcdFx0XHR0aW1lU3RhcnQ6ICcnLFxyXG5cdFx0XHRcdHRpbWVFbmQ6ICcnLFxyXG5cdFx0XHRcdHJvbGU6IHVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKS5yb2xlLCAvL+aYr+WQpuaYr+aKgOacr+euoeeQhuWRmFxyXG5cdFx0XHRcdG1lcmNoYW50SW5kZXg6IDAsIC8v6YCJ5oup55qE5ZWG5oi35LiL5qCHXHJcblx0XHRcdFx0bWVyY2hhbnQ6IFtdLCAvL+WVhuaIt+WIl+ihqCDmlbDnu4Tlr7nosaFcclxuXHRcdFx0XHRtZXJjaGFudExpc3Q6IFtdLCAvL+WVhuaIt+WIl+ihqOWPquaciW5hbWXkvpvpgInmi6ksXHJcblx0XHRcdFx0bWVyY2hhbnRJZDogJycsXHJcblx0XHRcdFx0YXJlYUluZGV4OiAwLCAvL+mAieaLqeeahOWVhuaIt+S4i+agh1xyXG5cdFx0XHRcdGFyZWE6IFtdLCAvL+WVhuaIt+WIl+ihqCDmlbDnu4Tlr7nosaFcclxuXHRcdFx0XHRhcmVhTGlzdDogW10sIC8v5ZWG5oi35YiX6KGo5Y+q5pyJbmFtZeS+m+mAieaLqSxcclxuXHRcdFx0XHRhcmVhSWQ6ICcnLFxyXG5cdFx0XHRcdGFyZWFJRDogJycgLy/pobXpnaLkvKDlj4Lov4fmnaXnmoTljLrln59JRFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5hcmVhSUQgPSBvcHRpb25zLmFyZWFJZFxyXG5cdFx0XHR0aGlzLmdldFN0YXRlKCk7XHJcblx0XHRcdGxldCBkYXkgPSB0aGlzLmdldERheSgpO1xyXG5cdFx0XHR0aGlzLnRvZGF5ID0gZGF5LFxyXG5cdFx0XHRcdHRoaXMuY3VycmVudERhdGUgPSBkYXlcclxuXHRcdFx0dGhpcy5jYWxlbmRhcihkYXkpO1xyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLnJvbGUpXHJcblx0XHRcdGlmICh0aGlzLnJvbGUgPT0gJ+aKgOacr+euoeeQhuWRmCcpIHtcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnb3JkZXIvbWVyY2hhbnRMaXN0JywgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIG9iaiA9IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcImlkXCI6ICcnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJ1c2VybmFtZVwiOiAnJyxcclxuXHRcdFx0XHRcdFx0XHRcdFwibmFtZVwiOiBcIuWFqOmDqOWVhuaIt1wiXHJcblx0XHRcdFx0XHRcdFx0fV1cclxuXHRcdFx0XHRcdFx0XHR2YXIgZGF0YSA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdFx0b2JqID0gb2JqLmNvbmNhdChkYXRhKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMubWVyY2hhbnQgPSBvYmo7XHJcblx0XHRcdFx0XHRcdFx0dmFyIG1lcmNoYW50QXJyID0gW11cclxuXHRcdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubWVyY2hhbnQubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMubWVyY2hhbnRbaV0ubmFtZSlcclxuXHRcdFx0XHRcdFx0XHRcdG1lcmNoYW50QXJyID0gbWVyY2hhbnRBcnIuY29uY2F0KHRoaXMubWVyY2hhbnRbaV0ubmFtZSlcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cobWVyY2hhbnRBcnIpXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5tZXJjaGFudExpc3QgPSBtZXJjaGFudEFycjtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldEFyZWEoKVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubWVyY2hhbnQgPSByZXMuZGF0YTtcclxuXHRcdFx0XHRcdFx0XHR2YXIgbWVyY2hhbnRBcnIgPSBbXVxyXG5cdFx0XHRcdFx0XHRcdG1lcmNoYW50QXJyLnB1c2godGhpcy5tZXJjaGFudFswXS5uYW1lKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMubWVyY2hhbnRMaXN0ID0gbWVyY2hhbnRBcnI7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5tZXJjaGFudElkID0gdGhpcy5tZXJjaGFudFswXS5pZFxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZ2V0QXJlYSgpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Z2V0QXJlYTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5tZXJjaGFudElkKVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9hcmVhTGlzdD9tZXJjaGFudF9pZD0nICsgdGhpcy5tZXJjaGFudElkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIG9iaiA9IFt7XHJcblx0XHRcdFx0XHRcdFx0XHRcImlkXCI6ICcnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJ1c2VybmFtZVwiOiAnJyxcclxuXHRcdFx0XHRcdFx0XHRcdFwibmFtZVwiOiBcIuWFqOmDqOWMuuWfn1wiXHJcblx0XHRcdFx0XHRcdFx0fV1cclxuXHRcdFx0XHRcdFx0XHR2YXIgZGF0YSA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdFx0b2JqID0gb2JqLmNvbmNhdChkYXRhKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYXJlYSA9IG9iajtcclxuXHRcdFx0XHRcdFx0XHR2YXIgYXJlYUFyciA9IFtdXHJcblx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmFyZWEubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYVtpXS5uYW1lKVxyXG5cdFx0XHRcdFx0XHRcdFx0YXJlYUFyciA9IGFyZWFBcnIuY29uY2F0KHRoaXMuYXJlYVtpXS5uYW1lKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcmVhQXJyKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYXJlYUxpc3QgPSBhcmVhQXJyO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYXJlYUlkID0gJyc7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5hcmVhID0gcmVzLmRhdGE7XHJcblx0XHRcdFx0XHRcdFx0dmFyIGFyZWFBcnIgPSBbXVxyXG5cdFx0XHRcdFx0XHRcdGFyZWFBcnIucHVzaCh0aGlzLmFyZWFbMF0ubmFtZSlcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmFyZWFJZCA9IHRoaXMuYXJlYVswXS5pZDtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmFyZWFMaXN0ID0gYXJlYUFycjtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFbMF0ubmFtZSlcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFMaXN0KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0c2VsZWN0X21lcmNoYW50czogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xyXG5cdFx0XHRcdFx0aXRlbUxpc3Q6IHRoYXQubWVyY2hhbnRMaXN0LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdHRoYXQubWVyY2hhbnRJZCA9IHRoYXQubWVyY2hhbnRbcmVzLnRhcEluZGV4XS5pZFxyXG5cdFx0XHRcdFx0XHR0aGF0LmdldEFyZWEoKVxyXG5cdFx0XHRcdFx0XHR0aGF0Lm1lcmNoYW50SW5kZXggPSByZXMudGFwSW5kZXhcclxuXHRcdFx0XHRcdFx0dGhhdC5hcmVhSW5kZXggPSAwXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5nZXRTdGF0ZSgpXHJcblx0XHRcdFx0XHRcdH0sIDUwMClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzZWxlY3RfYXJlYTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xyXG5cdFx0XHRcdFx0aXRlbUxpc3Q6IHRoYXQuYXJlYUxpc3QsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0dGhhdC5hcmVhSW5kZXggPSByZXMudGFwSW5kZXhcclxuXHRcdFx0XHRcdFx0dGhhdC5hcmVhSWQgPSB0aGF0LmFyZWFbcmVzLnRhcEluZGV4XS5pZFxyXG5cdFx0XHRcdFx0XHR0aGF0LmdldFN0YXRlKClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluS7iuWkqVxyXG5cdFx0XHRnZXREYXk6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0b2RheSA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdFx0dmFyIHkgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG5cdFx0XHRcdHZhciBtID0gdG9kYXkuZ2V0TW9udGgoKTtcclxuXHRcdFx0XHR2YXIgZCA9IHRvZGF5LmdldERhdGUoKTtcclxuXHRcdFx0XHQvL+W9k+aciOaciOS7vVxyXG5cdFx0XHRcdHZhciB0b2RheU1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKSArIDE7XHJcblx0XHRcdFx0aWYgKHRvZGF5TW9udGggPCAxMCkge1xyXG5cdFx0XHRcdFx0dG9kYXlNb250aCA9IFwiMFwiICsgdG9kYXlNb250aDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIHNlbmREYXkgPSB5ICsgXCItXCIgKyB0b2RheU1vbnRoICsgJy0nICsgZDtcclxuXHRcdFx0XHRyZXR1cm4gc2VuZERheTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FsZW5kYXI6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlKVxyXG5cdFx0XHRcdHZhciBub3cgPSBlLnRvU3RyaW5nKCk7XHJcblx0XHRcdFx0bm93ID0gbm93LnNwbGl0KCctJyk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cobm93KTtcclxuXHRcdFx0XHRsZXQgdG9kYXkgPSBuZXcgRGF0ZShub3dbMF0sIChub3dbMV0gLSAxKSwgbm93WzJdKTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0b2RheSwgJ3RvZGF5JylcclxuXHRcdFx0XHRsZXQgeSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7XHJcblx0XHRcdFx0bGV0IG0gPSB0b2RheS5nZXRNb250aCgpO1xyXG5cdFx0XHRcdGxldCBkID0gdG9kYXkuZ2V0RGF0ZSgpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHksIG0sIGQsICd5bWQnKVxyXG5cdFx0XHRcdC8v5b2T5pyI5pyI5Lu9XHJcblx0XHRcdFx0bGV0IHRvZGF5TW9udGggPSB0b2RheS5nZXRNb250aCgpICsgMTtcclxuXHRcdFx0XHRsZXQgZGF5ID0gZDtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhkKVxyXG5cdFx0XHRcdGlmICh0b2RheU1vbnRoIDwgMTApIHtcclxuXHRcdFx0XHRcdHRvZGF5TW9udGggPSBcIjBcIiArIHRvZGF5TW9udGg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmIChkYXkgPCAxMCkge1xyXG5cdFx0XHRcdFx0ZCA9IFwiMFwiICsgZGF5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQvL+W9k+aciOesrOS4gOWkqeaYr+aYn+acn+WHoFxyXG5cdFx0XHRcdGxldCB3ZWVrID0gbmV3IERhdGUoeSwgbSwgMSkuZ2V0RGF5KCk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cod2VlaylcclxuXHRcdFx0XHQvL+W9k+aciOacgOWQjuS4gOWkqVxyXG5cdFx0XHRcdGxldCBsYXN0RGF5ID0gbmV3IERhdGUoeSwgbSArIDEsIDApLmdldERhdGUoKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhsYXN0RGF5KVxyXG5cdFx0XHRcdC8v5riy5p+T5pel5Y6GXHJcblx0XHRcdFx0bGV0IGRheXMgPSBbXTtcclxuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHdlZWs7IGkrKykge1xyXG5cdFx0XHRcdFx0bGV0IG9iaiA9IHtcclxuXHRcdFx0XHRcdFx0aWQ6IGksXHJcblx0XHRcdFx0XHRcdGRheTogJycsXHJcblx0XHRcdFx0XHRcdHRvZGF5OiAnJyxcclxuXHRcdFx0XHRcdFx0c2lnbjogZmFsc2VcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRkYXlzLnB1c2gob2JqKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IHRpbWVSYW5nZSA9IHRoaXMudGltZVJhbmdlO1xyXG5cdFx0XHRcdGxldCB0aW1lTGVuID0gdGltZVJhbmdlLmxlbmd0aDtcclxuXHRcdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IGxhc3REYXk7IGorKykge1xyXG5cdFx0XHRcdFx0bGV0IGsgPSBqICsgMTtcclxuXHRcdFx0XHRcdGlmIChrIDwgMTApIHtcclxuXHRcdFx0XHRcdFx0ayA9ICcwJyArIGtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGxldCBpZHggPSBqICsgd2VlaztcclxuXHRcdFx0XHRcdC8v5riy5p+T5q+P5aSp5pel5pyf54q25oCBXHJcblx0XHRcdFx0XHRsZXQgdGhlRGF5ID0geSArIFwiLVwiICsgdG9kYXlNb250aCArICctJyArIGs7XHJcblx0XHRcdFx0XHRsZXQgc2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0bGV0IHN0YXJ0cyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0bGV0IGVuZHMgPSBmYWxzZTtcclxuXHRcdFx0XHRcdGZvciAobGV0IG0gPSAwOyBtIDwgdGltZUxlbjsgbSsrKSB7XHJcblx0XHRcdFx0XHRcdGlmICh0aW1lUmFuZ2VbbV0gPT0gdGhlRGF5KSB7XHJcblx0XHRcdFx0XHRcdFx0c2hvdyA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0Ly/muLLmn5Mg6LW3IOWSjCDmraIg5qCH6K6wXHJcblx0XHRcdFx0XHRcdFx0aWYgKG0gPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0c3RhcnRzID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYgKG0gPT0gKHRpbWVMZW4gLSAxKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZW5kcyA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvL+a4suafk+avj+WkqeaXpeacn1xyXG5cdFx0XHRcdFx0bGV0IGNlbGwgPSB7XHJcblx0XHRcdFx0XHRcdGlkOiBpZHgsXHJcblx0XHRcdFx0XHRcdGRheTogayxcclxuXHRcdFx0XHRcdFx0dG9kYXk6IHRoZURheSxcclxuXHRcdFx0XHRcdFx0c2lnbjogc2hvdyxcclxuXHRcdFx0XHRcdFx0c3RhcnQ6IHN0YXJ0cyxcclxuXHRcdFx0XHRcdFx0ZW5kOiBlbmRzXHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0ZGF5cy5wdXNoKGNlbGwpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQgY3VycmVudFNob3cgPSB5ICsgXCLlubRcIiArIHRvZGF5TW9udGggKyBcIuaciFwiO1xyXG5cclxuXHRcdFx0XHR0aGlzLmRheXMgPSBkYXlzLFxyXG5cdFx0XHRcdFx0dGhpcy5jdXJyZW50RGF0ZSA9IGUsXHJcblx0XHRcdFx0XHR0aGlzLmN1cnJlbnRTaG93ID0gY3VycmVudFNob3dcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v6LCD5Ye65pel5Y6GXHJcblx0XHRcdGNob2ljZTogZnVuY3Rpb24oKSB7XHJcblxyXG5cdFx0XHRcdHRoaXMuc2hvd0NhbCA9IHRydWVcclxuXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5YWz6Zet5pel5Y6GXHJcblx0XHRcdGNsb3NlQ2FsOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dDYWwgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+S4iuS4quaciFxyXG5cdFx0XHRwYXN0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRsZXQgbGFzdCA9IHRoaXMuY3VycmVudERhdGU7XHJcblx0XHRcdFx0bGFzdCA9IGxhc3Quc3BsaXQoJy0nKTtcclxuXHRcdFx0XHRsZXQgdG9kYXkgPSBuZXcgRGF0ZShsYXN0WzBdLCAobGFzdFsxXSAtIDEpLCBsYXN0WzJdKTtcclxuXHRcdFx0XHRsZXQgeSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7XHJcblx0XHRcdFx0Ly/lj5blh7rmnIjku73kuI3liqAgMSDvvIzlsLHnrYnkuo7kuIrkuKrmnIjlrp7pmYXmnIjku71cclxuXHRcdFx0XHRsZXQgbSA9IHRvZGF5LmdldE1vbnRoKCk7XHJcblx0XHRcdFx0bGV0IGQgPSAxO1xyXG5cdFx0XHRcdC8v5aaC5p6c5b2T5YmNIG0g562J5LqOIDAg5b2T5pyI5Li65LiA5pyI5Lu977yM5Y+Y5oiQ5LiK5LiA5bm055qEMTLmnIhcclxuXHRcdFx0XHRpZiAobSA8IDEpIHtcclxuXHRcdFx0XHRcdHkgPSB5IC0gMTtcclxuXHRcdFx0XHRcdG0gPSAxMjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKG0gPCAxMCkge1xyXG5cdFx0XHRcdFx0bSA9ICcwJyArIG07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBkYXkgPSB5ICsgJy0nICsgbSArICctJyArIGQ7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZGF5LCAnZGF5JylcclxuXHRcdFx0XHR0aGlzLmNhbGVuZGFyKGRheSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5LiL5Liq5pyIXHJcblx0XHRcdGZ1dHVyZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0bGV0IG5leHQgPSB0aGlzLmN1cnJlbnREYXRlO1xyXG5cdFx0XHRcdG5leHQgPSBuZXh0LnNwbGl0KCctJyk7XHJcblx0XHRcdFx0Ly8gbGV0IHRvZGF5ID0gbmV3IERhdGUodGhpcy5kYXRhLmN1cnJlbnREYXRlKTtcclxuXHRcdFx0XHRsZXQgdG9kYXkgPSBuZXcgRGF0ZShuZXh0WzBdLCAobmV4dFsxXSAtIDEpLCBuZXh0WzJdKTtcclxuXHRcdFx0XHRsZXQgeSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7XHJcblx0XHRcdFx0Ly/lj5blh7rlvZPliY3mnIhcclxuXHRcdFx0XHRsZXQgbSA9IHRvZGF5LmdldE1vbnRoKCk7XHJcblx0XHRcdFx0bGV0IGQgPSAxO1xyXG5cdFx0XHRcdC8v5Y2B5LqM5pyI5Lu95Y+Y5oiQ5LiL5LiA5bm055qEIDEg5pyIXHJcblx0XHRcdFx0aWYgKG0gPiAxMCkge1xyXG5cdFx0XHRcdFx0eSA9IHkgKyAxO1xyXG5cdFx0XHRcdFx0bSA9IDE7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdG0gPSBtICsgMjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKG0gPCAxMCkge1xyXG5cdFx0XHRcdFx0bSA9ICcwJyArIG07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBkYXkgPSB5ICsgJy0nICsgbSArICctJyArIGQ7XHJcblx0XHRcdFx0dGhpcy5jYWxlbmRhcihkYXkpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+mAieaLqeaXpeacn+iMg+WbtFxyXG5cdFx0XHRzZWxlY3QoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGxldCBkYXkgPSBlO1xyXG5cdFx0XHRcdGxldCB0YXBzID0gdGhpcy5jaGFuZ2VUYXA7XHJcblx0XHRcdFx0bGV0IHN0YXJ0UmFuZ2UgPSB0aGlzLnN0YXJ0UmFuZ2U7XHJcblx0XHRcdFx0Ly/liJ3lp4vljJYgc3RhcnRSYW5nZe+8jOi/m+WFpemhtemdouesrOS4gOasoeeCueWHu+inpuWPkVxyXG5cdFx0XHRcdGlmIChzdGFydFJhbmdlID09ICcnKSB7XHJcblx0XHRcdFx0XHRzdGFydFJhbmdlID0gZGF5O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhzdGFydFJhbmdlKVxyXG5cdFx0XHRcdGxldCBsaXN0ID0gW107XHJcblx0XHRcdFx0bGV0IHBhcmFtUiA9IGRheTtcclxuXHRcdFx0XHRsZXQgcGFyYW1TID0gZGF5O1xyXG5cdFx0XHRcdGxldCBwYXJhbUUgPSBkYXk7XHJcblx0XHRcdFx0bGV0IHRpbWVTaG93UyA9ICcnO1xyXG5cdFx0XHRcdGxldCB0aW1lU2hvd0UgPSAnJztcclxuXHRcdFx0XHRpZiAodGFwcyAmJiBkYXkpIHtcclxuXHRcdFx0XHRcdC8v5oiq5q2i5pe26Ze05Yqo5L2cLOWFiOavlOi+g+S4pOS4quaXtumXtFxyXG5cdFx0XHRcdFx0bGV0IGRhdGVTID0gbmV3IERhdGUoc3RhcnRSYW5nZSk7XHJcblx0XHRcdFx0XHRsZXQgZGF0ZUUgPSBuZXcgRGF0ZShkYXkpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZGF0ZVMuZ2V0VGltZSgpKVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZGF0ZUUuZ2V0VGltZSgpKVxyXG5cdFx0XHRcdFx0aWYgKGRhdGVTLmdldFRpbWUoKSA9PSBkYXRlRS5nZXRUaW1lKCkpIHtcclxuXHRcdFx0XHRcdFx0bGlzdCA9IFtkYXldO1xyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChkYXRlUy5nZXRUaW1lKCkgPiBkYXRlRS5nZXRUaW1lKCkpIHtcclxuXHRcdFx0XHRcdFx0bGlzdCA9IHRoYXQuZGF0ZXNMaXN0KGRheSwgc3RhcnRSYW5nZSk7XHJcblx0XHRcdFx0XHRcdHBhcmFtRSA9IHN0YXJ0UmFuZ2U7XHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGRhdGVTLmdldFRpbWUoKSA8IGRhdGVFLmdldFRpbWUoKSkge1xyXG5cdFx0XHRcdFx0XHRsaXN0ID0gdGhhdC5kYXRlc0xpc3Qoc3RhcnRSYW5nZSwgZGF5KTtcclxuXHRcdFx0XHRcdFx0cGFyYW1TID0gc3RhcnRSYW5nZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGxpc3QpXHJcblx0XHRcdFx0XHR0aGF0LnNob3dDYWwgPSBmYWxzZVxyXG5cdFx0XHRcdFx0dGltZVNob3dTID0gcGFyYW1TO1xyXG5cdFx0XHRcdFx0dGltZVNob3dFID0gcGFyYW1FO1xyXG5cdFx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRcdFwiIHBheV90aW1lX2JldHdlZW5bMF1cIjogdGltZVNob3dTLFxyXG5cdFx0XHRcdFx0XHRcIiBwYXlfdGltZV9iZXR3ZWVuWzFdXCI6IHRpbWVTaG93RSxcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHd4LnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHZhciB1cmwgPSAnJ1xyXG5cdFx0XHRcdFx0aWYgKHRoYXQucm9sZSA9PSAn5oqA5pyv566h55CG5ZGYJykge1xyXG5cdFx0XHRcdFx0XHR1cmwgPSBcIm9yZGVyL3Byb2ZpdERldGFpbD9hcmVhX2lkPVwiICsgdGhhdC5hcmVhSWQgKyAnJm1lcmNoYW50X2lkPScgKyB0aGF0Lm1lcmNoYW50SWRcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHVybCA9IFwib3JkZXIvcHJvZml0RGV0YWlsP2FyZWFfaWQ9XCIgKyB0aGF0LmFyZWFJRFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCBkYXRhLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR3eC5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0XHRcdHRoYXQubGlzdCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIGlmICghdGFwcyAmJiBkYXkpIHtcclxuXHRcdFx0XHRcdC8v5byA5aeL5pe26Ze05Yqo5L2cXHJcblx0XHRcdFx0XHRsaXN0ID0gW2RheV07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGxpc3QpXHJcblx0XHRcdFx0dGhhdC5jaGFuZ2VUYXAgPSAhdGFwcztcclxuXHRcdFx0XHR0aGF0LnN0YXJ0UmFuZ2UgPSBwYXJhbVI7XHJcblx0XHRcdFx0dGhhdC50aW1lUmFuZ2UgPSBsaXN0O1xyXG5cdFx0XHRcdHRoYXQudGltZVN0YXJ0ID0gcGFyYW1TO1xyXG5cdFx0XHRcdHRoYXQudGltZUVuZCA9IHBhcmFtRTtcclxuXHRcdFx0XHR0aGF0LnRpbWVTaG93UyA9IHRpbWVTaG93UztcclxuXHRcdFx0XHR0aGF0LnRpbWVTaG93RSA9IHRpbWVTaG93RTtcclxuXHRcdFx0XHR0aGF0LmNhbGVuZGFyKGRheSk7XHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhsaXN0KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+mAieaLqeaXpeacn+iMg+WbtO+8jDHpgInmi6nml6XmnJ9cclxuXHRcdFx0Z2V0RGF0ZXM6IGZ1bmN0aW9uKGRhdGVzdHIpIHtcclxuXHRcdFx0XHR2YXIgdGVtcCA9IGRhdGVzdHIuc3BsaXQoXCItXCIpO1xyXG5cdFx0XHRcdHZhciBtID0gcGFyc2VJbnQodGVtcFsxXSkgLSAxO1xyXG5cdFx0XHRcdHZhciBkYXRlID0gbmV3IERhdGUodGVtcFswXSwgbSwgdGVtcFsyXSk7XHJcblx0XHRcdFx0cmV0dXJuIGRhdGU7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v6YCJ5oup5pel5pyf6IyD5Zu077yMMueUn+aIkOaXpeacn+iMg+WbtOWGheaJgOacieeahOaXpeacn+WIl+ihqFxyXG5cdFx0XHRkYXRlc0xpc3Q6IGZ1bmN0aW9uKHMsIGUpIHtcclxuXHRcdFx0XHQvLyBsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0bGV0IGFyeXMgPSBbXTtcclxuXHRcdFx0XHRsZXQgc3RhcnQgPSBzO1xyXG5cdFx0XHRcdGxldCBlbmQgPSBlO1xyXG5cdFx0XHRcdGxldCBzdGFydFRpbWUgPSB0aGlzLmdldERhdGVzKHN0YXJ0KTtcclxuXHRcdFx0XHRsZXQgZW5kVGltZSA9IHRoaXMuZ2V0RGF0ZXMoZW5kKTtcclxuXHRcdFx0XHR3aGlsZSAoKGVuZFRpbWUuZ2V0VGltZSgpIC0gc3RhcnRUaW1lLmdldFRpbWUoKSkgPj0gMCkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coc3RhcnRUaW1lLmdldERhdGUoKSA8IDEwKVxyXG5cdFx0XHRcdFx0bGV0IHllYXIgPSBzdGFydFRpbWUuZ2V0RnVsbFllYXIoKTtcclxuXHRcdFx0XHRcdGxldCBtb250aEEgPSBzdGFydFRpbWUuZ2V0TW9udGgoKSArIDE7XHJcblx0XHRcdFx0XHRsZXQgbW9udGggPSBtb250aEEudG9TdHJpbmcoKSA8IDEwID8gJzAnICsgbW9udGhBLnRvU3RyaW5nKCkgOiBtb250aEEudG9TdHJpbmcoKTtcclxuXHRcdFx0XHRcdGxldCBkID0gc3RhcnRUaW1lLmdldERhdGUoKSA8IDEwID8gJzAnICsgc3RhcnRUaW1lLmdldERhdGUoKSA6IHN0YXJ0VGltZS5nZXREYXRlKCk7XHJcblx0XHRcdFx0XHRsZXQgZHMgPSB5ZWFyICsgXCItXCIgKyBtb250aCArIFwiLVwiICsgZDtcclxuXHRcdFx0XHRcdGFyeXMucHVzaChkcylcclxuXHRcdFx0XHRcdHN0YXJ0VGltZS5zZXREYXRlKHN0YXJ0VGltZS5nZXREYXRlKCkgKyAxKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc29sZS5sb2coYXJ5cylcclxuXHRcdFx0XHRyZXR1cm4gYXJ5cztcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0U3RhdGU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0bGV0IGRheSA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdFx0ZGF5LnNldFRpbWUoZGF5LmdldFRpbWUoKSk7XHJcblx0XHRcdFx0bGV0IHRvZGF5ID0gZGF5LmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIChkYXkuZ2V0TW9udGgoKSArIDEpICsgXCItXCIgKyBkYXkuZ2V0RGF0ZSgpO1xyXG5cdFx0XHRcdHZhciBkYXkxID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHRkYXkxLnNldFRpbWUoZGF5MS5nZXRUaW1lKCkgKyAyNCAqIDYwICogNjAgKiAxMDAwKTtcclxuXHRcdFx0XHR2YXIgdG9tbW9ydyA9IGRheTEuZ2V0RnVsbFllYXIoKSArIFwiLVwiICsgKGRheTEuZ2V0TW9udGgoKSArIDEpICsgXCItXCIgKyBkYXkxLmdldERhdGUoKTtcclxuXHJcblx0XHRcdFx0dGhpcy50aW1lU2hvd1MgPSB0b2RheSxcclxuXHRcdFx0XHRcdHRoaXMudGltZVNob3dFID0gdG9tbW9yd1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMudGltZVNob3dTKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMudGltZVNob3dFKVxyXG5cdFx0XHRcdGxldCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XCIgcGF5X3RpbWVfYmV0d2VlblswXVwiOiB0aGlzLnRpbWVTaG93UyxcclxuXHRcdFx0XHRcdFwiIHBheV90aW1lX2JldHdlZW5bMV1cIjogdGhpcy50aW1lU2hvd0UsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYUlkKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMubWVyY2hhbnRJZClcclxuXHRcdFx0XHR2YXIgdXJsID0gJydcclxuXHRcdFx0XHRpZiAodGhhdC5yb2xlID09ICfmioDmnK/nrqHnkIblkZgnKSB7XHJcblx0XHRcdFx0XHR1cmwgPSBcIm9yZGVyL3Byb2ZpdERldGFpbD9hcmVhX2lkPVwiICsgdGhhdC5hcmVhSWQgKyAnJm1lcmNoYW50X2lkPScgKyB0aGF0Lm1lcmNoYW50SWRcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dXJsID0gXCJvcmRlci9wcm9maXREZXRhaWw/YXJlYV9pZD1cIiArIHRoYXQuYXJlYUlEXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KHVybCwgZGF0YSwgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQvKiBwYWdlcy9zdGF0aXN0aWNzL3N0YXRpc3RpY3Mud3hzcyAqL1xyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblxyXG5cdHBhZ2Uge1xyXG5cdFx0YmFja2dyb3VuZDogI2Y0ZjRmNDtcclxuXHR9XHJcblxyXG5cdC5kYXRlIHtcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0XHRtYXJnaW46IDIwcnB4IGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMjBycHggMTBycHg7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cclxuXHQuZGF0ZSB0ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0fVxyXG5cclxuXHQuZGF0ZXMge1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC04NmRlZywgcmdiYSgyNCwgMjEzLCAxODUsIDEpIDAlLCByZ2JhKDg5LCAyNDAsIDIwMiwgMSkgMTAwJSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyNnJweCAwcHggMHB4IDI2cnB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwcnB4O1xyXG5cdFx0cmlnaHQ6IDBycHg7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRwYWRkaW5nOiA3cnB4IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LnNlYXJjaCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuc2VhcmNoIHRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0YmFja2dyb3VuZDogIzE4ZDViOTtcclxuXHRcdHBhZGRpbmc6IDhycHggMjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHR9XHJcblxyXG5cdC5saXN0IHtcclxuXHRcdG1hcmdpbjogMjBycHggYXV0bztcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0fVxyXG5cclxuXHQuaW5jb21lLFxyXG5cdC5iaWtlIHtcclxuXHRcdGJvcmRlcjogMXJweCBzb2xpZCAjZWZlZmVmO1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAxNXJweDtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cclxuXHQuYmlrZSB2aWV3IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmluY29tZSAudGl0bGUgdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblx0fVxyXG5cclxuXHJcblx0LmZsZXgge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblxyXG5cdC5mbGV4IHRleHQsXHJcblx0LnNtYWxsIHRleHQge1xyXG5cdFx0Lyogd2lkdGg6IDUwJTsgKi9cclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdGNvbG9yOiAjODA4MDgwO1xyXG5cdH1cclxuXHJcblx0Lyog5pel5Y6GICovXHJcblxyXG5cdC5jYWxlbmRhciB7XHJcblx0XHRjb2xvcjogIzY2NjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR6LWluZGV4OiA5OTk5O1xyXG5cdFx0Ym9yZGVyOiAycnB4IHNvbGlkICMzOGFjZmY7XHJcblx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAxMHJweCAjMzhhY2ZmO1xyXG5cdFx0LW1vei1ib3gtc2hhZG93OiAwIDAgMTBycHggIzM4YWNmZjtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAxMHJweCAjMzhhY2ZmO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTVycHg7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0cGFkZGluZzogMjBycHggMzBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdH1cclxuXHJcblx0LnRpdGxlIHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDA7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHJcblx0LndlZWsge1xyXG5cdFx0cGFkZGluZzogMjBycHggMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4IDIwcnB4IDAgMDtcclxuXHR9XHJcblxyXG5cdC53ZWVrZGF5IHtcclxuXHRcdG1hcmdpbi1yaWdodDogMSU7XHJcblx0XHR3aWR0aDogMTMuMjglO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmRheXMge1xyXG5cdFx0cGFkZGluZzogMTBycHggMDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblxyXG5cdC5kYXkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGhlaWdodDogOTBycHg7XHJcblx0XHR3aWR0aDogMTQuMjglO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5jaXJjbGUge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogOTBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogOTBycHg7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdH1cclxuXHJcblx0LnNpZ24ge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMThkNWI5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdH1cclxuXHJcblx0Lm5vdyB7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGJhY2tncm91bmQ6ICM3MDhlZmY7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0fVxyXG5cclxuXHQuZmxleC1ib3gge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblxyXG5cdC5zdGF0ZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDBycHg7XHJcblx0XHRyaWdodDogMHJweDtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsIHJnYmEoMjQsIDIxMywgMTg1LCAxKSAwJSwgcmdiYSg4OSwgMjQwLCAyMDIsIDEpIDEwMCUpO1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCA2cnB4IDBweCByZ2JhKDI0LCAyMTMsIDE4NSwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwcHggMnJweCAwcHggMjBycHg7XHJcblx0XHRwYWRkaW5nOiA1cnB4IDMwcnB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cclxuXHQuc2VsZWN0ZWQge1xyXG5cdFx0d2lkdGg6IDkwJTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRtYXJnaW4tdG9wOiAyMHVweCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LnNlbGVjdGVkIHZpZXcge1xyXG5cdFx0d2lkdGg6IDQ1JTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblx0XHRoZWlnaHQ6IDgwdXB4O1xyXG5cdFx0Ym9yZGVyOiAydXB4IHNvbGlkICNDQ0NDQ0M7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cdC5zZWxlY3RlZCB2aWV3IGltYWdlIHtcclxuXHRcdHdpZHRoOiAzMHVweDtcclxuXHRcdGhlaWdodDogMzB1cHg7XHJcblx0fVxyXG5cclxuXHQuY292ZXIge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuY2lyY2xlIHtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDkwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDkwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHR9XHJcblxyXG5cdC5zaWduIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0YmFja2dyb3VuZDogIzE4ZDViOTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5ub3cge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kOiAjNzA4ZWZmO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///253\n");
  27939. /***/ }),
  27940. /* 254 */
  27941. /*!*************************************************************************!*\
  27942. !*** C:/Users/001/Desktop/运维端/pages/manage/orderDetail.vue?mpType=page ***!
  27943. \*************************************************************************/
  27944. =======
  27945. eval("/* WEBPACK VAR INJECTION */(function(__f__, wx) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n showCal: false,\n list: {},\n week: ['日', '一', '二', '三', '四', '五', '六'],\n days: [],\n today: '', //当天,展示星星标记\n currentShow: '', //展示日期\n currentDate: '', //点击选中日期\n changeTap: false,\n startRange: '',\n timeRange: [],\n timeStart: '',\n timeEnd: '',\n role: uni.getStorageSync('token').role, //是否是技术管理员\n merchantIndex: 0, //选择的商户下标\n merchant: [], //商户列表 数组对象\n merchantList: [], //商户列表只有name供选择,\n merchantId: '',\n areaIndex: 0, //选择的商户下标\n area: [], //商户列表 数组对象\n areaList: [], //商户列表只有name供选择,\n areaId: '',\n areaID: '' //页面传参过来的区域ID\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n this.areaID = options.areaId;\n this.getState();\n var day = this.getDay();\n this.today = day,\n this.currentDate = day;\n this.calendar(day);\n __f__(\"log\", this.role, \" at pages/manage/incomeDetail.vue:162\");\n if (this.role == '技术管理员') {\n app.request('order/merchantList', '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:166\");\n if (res.statusCode == 200) {\n if (res.data.length > 1) {\n var obj = [{\n \"id\": '',\n \"username\": '',\n \"name\": \"全部商户\" }];\n\n var data = res.data;\n obj = obj.concat(data);\n _this.merchant = obj;\n var merchantArr = [];\n for (var i = 0; i < _this.merchant.length; i++) {\n __f__(\"log\", _this.merchant[i].name, \" at pages/manage/incomeDetail.vue:179\");\n merchantArr = merchantArr.concat(_this.merchant[i].name);\n }\n __f__(\"log\", merchantArr, \" at pages/manage/incomeDetail.vue:182\");\n _this.merchantList = merchantArr;\n _this.getArea();\n } else {\n _this.merchant = res.data;\n var merchantArr = [];\n merchantArr.push(_this.merchant[0].name);\n _this.merchantList = merchantArr;\n _this.merchantId = _this.merchant[0].id;\n _this.getArea();\n }\n }\n });\n\n }\n },\n methods: {\n getArea: function getArea() {var _this2 = this;\n __f__(\"log\", this.merchantId, \" at pages/manage/incomeDetail.vue:200\");\n app.request('order/areaList?merchant_id=' + this.merchantId, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:202\");\n if (res.statusCode == 200) {\n if (res.data.length > 1) {\n var obj = [{\n \"id\": '',\n \"username\": '',\n \"name\": \"全部区域\" }];\n\n var data = res.data;\n obj = obj.concat(data);\n _this2.area = obj;\n var areaArr = [];\n for (var i = 0; i < _this2.area.length; i++) {\n __f__(\"log\", _this2.area[i].name, \" at pages/manage/incomeDetail.vue:215\");\n areaArr = areaArr.concat(_this2.area[i].name);\n }\n __f__(\"log\", areaArr, \" at pages/manage/incomeDetail.vue:218\");\n _this2.areaList = areaArr;\n _this2.areaId = '';\n } else {\n _this2.area = res.data;\n var areaArr = [];\n areaArr.push(_this2.area[0].name);\n _this2.areaId = _this2.area[0].id;\n _this2.areaList = areaArr;\n __f__(\"log\", _this2.area[0].name, \" at pages/manage/incomeDetail.vue:227\");\n __f__(\"log\", _this2.areaList, \" at pages/manage/incomeDetail.vue:228\");\n }\n }\n });\n },\n select_merchants: function select_merchants() {\n var that = this;\n uni.showActionSheet({\n itemList: that.merchantList,\n success: function success(res) {\n that.merchantId = that.merchant[res.tapIndex].id;\n that.getArea();\n that.merchantIndex = res.tapIndex;\n that.areaIndex = 0;\n setTimeout(function () {\n that.getState();\n }, 500);\n } });\n\n },\n select_area: function select_area() {\n var that = this;\n uni.showActionSheet({\n itemList: that.areaList,\n success: function success(res) {\n that.areaIndex = res.tapIndex;\n that.areaId = that.area[res.tapIndex].id;\n that.getState();\n } });\n\n },\n //获取今天\n getDay: function getDay() {\n var today = new Date();\n var y = today.getFullYear();\n var m = today.getMonth();\n var d = today.getDate();\n //当月月份\n var todayMonth = today.getMonth() + 1;\n if (todayMonth < 10) {\n todayMonth = \"0\" + todayMonth;\n }\n var sendDay = y + \"-\" + todayMonth + '-' + d;\n return sendDay;\n },\n calendar: function calendar(e) {\n __f__(\"log\", e, \" at pages/manage/incomeDetail.vue:274\");\n var now = e.toString();\n now = now.split('-');\n __f__(\"log\", now, \" at pages/manage/incomeDetail.vue:277\");\n var today = new Date(now[0], now[1] - 1, now[2]);\n // console.log(today, 'today')\n var y = today.getFullYear();\n var m = today.getMonth();\n var d = today.getDate();\n __f__(\"log\", y, m, d, 'ymd', \" at pages/manage/incomeDetail.vue:283\");\n //当月月份\n var todayMonth = today.getMonth() + 1;\n var day = d;\n __f__(\"log\", d, \" at pages/manage/incomeDetail.vue:287\");\n if (todayMonth < 10) {\n todayMonth = \"0\" + todayMonth;\n }\n if (day < 10) {\n d = \"0\" + day;\n }\n //当月第一天是星期几\n var week = new Date(y, m, 1).getDay();\n __f__(\"log\", week, \" at pages/manage/incomeDetail.vue:296\");\n //当月最后一天\n var lastDay = new Date(y, m + 1, 0).getDate();\n __f__(\"log\", lastDay, \" at pages/manage/incomeDetail.vue:299\");\n //渲染日历\n var days = [];\n for (var i = 0; i < week; i++) {\n var obj = {\n id: i,\n day: '',\n today: '',\n sign: false };\n\n days.push(obj);\n }\n var timeRange = this.timeRange;\n var timeLen = timeRange.length;\n for (var j = 0; j < lastDay; j++) {\n var k = j + 1;\n if (k < 10) {\n k = '0' + k;\n }\n var idx = j + week;\n //渲染每天日期状态\n var theDay = y + \"-\" + todayMonth + '-' + k;\n var show = false;\n var starts = false;\n var ends = false;\n for (var _m = 0; _m < timeLen; _m++) {\n if (timeRange[_m] == theDay) {\n show = true;\n //渲染 起 和 止 标记\n if (_m == 0) {\n starts = true;\n }\n if (_m == timeLen - 1) {\n ends = true;\n }\n }\n }\n //渲染每天日期\n var cell = {\n id: idx,\n day: k,\n today: theDay,\n sign: show,\n start: starts,\n end: ends };\n\n days.push(cell);\n }\n var currentShow = y + \"年\" + todayMonth + \"月\";\n\n this.days = days,\n this.currentDate = e,\n this.currentShow = currentShow;\n\n },\n //调出日历\n choice: function choice() {\n\n this.showCal = true;\n\n },\n //关闭日历\n closeCal: function closeCal() {\n this.showCal = false;\n },\n //上个月\n past: function past() {\n var last = this.currentDate;\n last = last.split('-');\n var today = new Date(last[0], last[1] - 1, last[2]);\n var y = today.getFullYear();\n //取出月份不加 1 ,就等于上个月实际月份\n var m = today.getMonth();\n var d = 1;\n //如果当前 m 等于 0 当月为一月份,变成上一年的12月\n if (m < 1) {\n y = y - 1;\n m = 12;\n }\n if (m < 10) {\n m = '0' + m;\n }\n var day = y + '-' + m + '-' + d;\n __f__(\"log\", day, 'day', \" at pages/manage/incomeDetail.vue:382\");\n this.calendar(day);\n },\n //下个月\n future: function future() {\n var next = this.currentDate;\n next = next.split('-');\n // let today = new Date(this.data.currentDate);\n var today = new Date(next[0], next[1] - 1, next[2]);\n var y = today.getFullYear();\n //取出当前月\n var m = today.getMonth();\n var d = 1;\n //十二月份变成下一年的 1 月\n if (m > 10) {\n y = y + 1;\n m = 1;\n } else {\n m = m + 2;\n }\n if (m < 10) {\n m = '0' + m;\n }\n var day = y + '-' + m + '-' + d;\n this.calendar(day);\n },\n //选择日期范围\n select: function select(e) {\n __f__(\"log\", e, \" at pages/manage/incomeDetail.vue:410\");\n var that = this;\n var day = e;\n var taps = this.changeTap;\n var startRange = this.startRange;\n //初始化 startRange,进入页面第一次点击触发\n if (startRange == '') {\n startRange = day;\n }\n __f__(\"log\", startRange, \" at pages/manage/incomeDetail.vue:419\");\n var list = [];\n var paramR = day;\n var paramS = day;\n var paramE = day;\n var timeShowS = '';\n var timeShowE = '';\n if (taps && day) {\n //截止时间动作,先比较两个时间\n var dateS = new Date(startRange);\n var dateE = new Date(day);\n __f__(\"log\", dateS.getTime(), \" at pages/manage/incomeDetail.vue:430\");\n __f__(\"log\", dateE.getTime(), \" at pages/manage/incomeDetail.vue:431\");\n if (dateS.getTime() == dateE.getTime()) {\n list = [day];\n } else if (dateS.getTime() > dateE.getTime()) {\n list = that.datesList(day, startRange);\n paramE = startRange;\n } else if (dateS.getTime() < dateE.getTime()) {\n list = that.datesList(startRange, day);\n paramS = startRange;\n }\n __f__(\"log\", list, \" at pages/manage/incomeDetail.vue:441\");\n that.showCal = false;\n timeShowS = paramS;\n timeShowE = paramE;\n var data = {\n \" pay_time_between[0]\": timeShowS,\n \" pay_time_between[1]\": timeShowE };\n\n wx.showLoading({\n title: '加载中...' });\n\n var url = '';\n if (that.role == '技术管理员') {\n url = \"order/profitDetail?area_id=\" + that.areaId + '&merchant_id=' + that.merchantId;\n } else {\n url = \"order/profitDetail?area_id=\" + that.areaID;\n }\n app.request(url, data, 'GET').then(function (res) {\n wx.hideLoading();\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:460\");\n if (res.statusCode == 200) {\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:462\");\n that.list = res.data;\n }\n });\n } else if (!taps && day) {\n //开始时间动作\n list = [day];\n }\n __f__(\"log\", list, \" at pages/manage/incomeDetail.vue:470\");\n that.changeTap = !taps;\n that.startRange = paramR;\n that.timeRange = list;\n that.timeStart = paramS;\n that.timeEnd = paramE;\n that.timeShowS = timeShowS;\n that.timeShowE = timeShowE;\n that.calendar(day);\n //console.log(list)\n },\n //选择日期范围,1选择日期\n getDates: function getDates(datestr) {\n var temp = datestr.split(\"-\");\n var m = parseInt(temp[1]) - 1;\n var date = new Date(temp[0], m, temp[2]);\n return date;\n },\n //选择日期范围,2生成日期范围内所有的日期列表\n datesList: function datesList(s, e) {\n // let that = this;\n var arys = [];\n var start = s;\n var end = e;\n var startTime = this.getDates(start);\n var endTime = this.getDates(end);\n while (endTime.getTime() - startTime.getTime() >= 0) {\n __f__(\"log\", startTime.getDate() < 10, \" at pages/manage/incomeDetail.vue:497\");\n var year = startTime.getFullYear();\n var monthA = startTime.getMonth() + 1;\n var month = monthA.toString() < 10 ? '0' + monthA.toString() : monthA.toString();\n var d = startTime.getDate() < 10 ? '0' + startTime.getDate() : startTime.getDate();\n var ds = year + \"-\" + month + \"-\" + d;\n arys.push(ds);\n startTime.setDate(startTime.getDate() + 1);\n }\n __f__(\"log\", arys, \" at pages/manage/incomeDetail.vue:506\");\n return arys;\n },\n getState: function getState() {var _this3 = this;\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n var day = new Date();\n day.setTime(day.getTime());\n var today = day.getFullYear() + \"-\" + (day.getMonth() + 1) + \"-\" + day.getDate();\n var day1 = new Date();\n day1.setTime(day1.getTime() + 24 * 60 * 60 * 1000);\n var tommorw = day1.getFullYear() + \"-\" + (day1.getMonth() + 1) + \"-\" + day1.getDate();\n\n this.timeShowS = today,\n this.timeShowE = tommorw;\n __f__(\"log\", this.timeShowS, \" at pages/manage/incomeDetail.vue:523\");\n __f__(\"log\", this.timeShowE, \" at pages/manage/incomeDetail.vue:524\");\n var data = {\n \" pay_time_between[0]\": this.timeShowS,\n \" pay_time_between[1]\": this.timeShowE };\n\n __f__(\"log\", this.areaId, \" at pages/manage/incomeDetail.vue:529\");\n __f__(\"log\", this.merchantId, \" at pages/manage/incomeDetail.vue:530\");\n var url = '';\n if (that.role == '技术管理员') {\n url = \"order/profitDetail?area_id=\" + that.areaId + '&merchant_id=' + that.merchantId;\n } else {\n url = \"order/profitDetail?area_id=\" + that.areaID;\n }\n app.request(url, data, 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/manage/incomeDetail.vue:538\");\n uni.hideLoading();\n if (res.statusCode == 200) {\n _this3.list = res.data;\n }\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"], __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2luY29tZURldGFpbC52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsInNob3dDYWwiLCJsaXN0Iiwid2VlayIsImRheXMiLCJ0b2RheSIsImN1cnJlbnRTaG93IiwiY3VycmVudERhdGUiLCJjaGFuZ2VUYXAiLCJzdGFydFJhbmdlIiwidGltZVJhbmdlIiwidGltZVN0YXJ0IiwidGltZUVuZCIsInJvbGUiLCJ1bmkiLCJnZXRTdG9yYWdlU3luYyIsIm1lcmNoYW50SW5kZXgiLCJtZXJjaGFudCIsIm1lcmNoYW50TGlzdCIsIm1lcmNoYW50SWQiLCJhcmVhSW5kZXgiLCJhcmVhIiwiYXJlYUxpc3QiLCJhcmVhSWQiLCJhcmVhSUQiLCJvbkxvYWQiLCJvcHRpb25zIiwiZ2V0U3RhdGUiLCJkYXkiLCJnZXREYXkiLCJjYWxlbmRhciIsInJlcXVlc3QiLCJ0aGVuIiwicmVzIiwiaGlkZUxvYWRpbmciLCJzdGF0dXNDb2RlIiwibGVuZ3RoIiwib2JqIiwiY29uY2F0IiwibWVyY2hhbnRBcnIiLCJpIiwibmFtZSIsImdldEFyZWEiLCJwdXNoIiwiaWQiLCJtZXRob2RzIiwiYXJlYUFyciIsInNlbGVjdF9tZXJjaGFudHMiLCJ0aGF0Iiwic2hvd0FjdGlvblNoZWV0IiwiaXRlbUxpc3QiLCJzdWNjZXNzIiwidGFwSW5kZXgiLCJzZXRUaW1lb3V0Iiwic2VsZWN0X2FyZWEiLCJEYXRlIiwieSIsImdldEZ1bGxZZWFyIiwibSIsImdldE1vbnRoIiwiZCIsImdldERhdGUiLCJ0b2RheU1vbnRoIiwic2VuZERheSIsImUiLCJub3ciLCJ0b1N0cmluZyIsInNwbGl0IiwibGFzdERheSIsInNpZ24iLCJ0aW1lTGVuIiwiaiIsImsiLCJpZHgiLCJ0aGVEYXkiLCJzaG93Iiwic3RhcnRzIiwiZW5kcyIsImNlbGwiLCJzdGFydCIsImVuZCIsImNob2ljZSIsImNsb3NlQ2FsIiwicGFzdCIsImxhc3QiLCJmdXR1cmUiLCJuZXh0Iiwic2VsZWN0IiwidGFwcyIsInBhcmFtUiIsInBhcmFtUyIsInBhcmFtRSIsInRpbWVTaG93UyIsInRpbWVTaG93RSIsImRhdGVTIiwiZGF0ZUUiLCJnZXRUaW1lIiwiZGF0ZXNMaXN0Iiwid3giLCJzaG93TG9hZGluZyIsInRpdGxlIiwidXJsIiwiZ2V0RGF0ZXMiLCJkYXRlc3RyIiwidGVtcCIsInBhcnNlSW50IiwiZGF0ZSIsInMiLCJhcnlzIiwic3RhcnRUaW1lIiwiZW5kVGltZSIsInllYXIiLCJtb250aEEiLCJtb250aCIsImRzIiwic2V0RGF0ZSIsInNldFRpbWUiLCJkYXkxIiwidG9tbW9ydyJdLCJtYXBwaW5ncyI6InlJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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QWpCO0FBQ0EsbUJBQVksS0FBS0MsU0FBakI7QUFDQSxVQUFJN0YsSUFBSSxHQUFHO0FBQ1YsZ0NBQXdCLEtBQUs0RixTQURuQjtBQUVWLGdDQUF3QixLQUFLQyxTQUZuQixFQUFYOztBQUlBLG1CQUFZLEtBQUt0RSxNQUFqQjtBQUNBLG1CQUFZLEtBQUtKLFVBQWpCO0FBQ0EsVUFBSWtGLEdBQUcsR0FBRyxFQUFWO0FBQ0EsVUFBSXJELElBQUksQ0FBQ25DLElBQUwsSUFBYSxPQUFqQixFQUEwQjtBQUN6QndGLFdBQUcsR0FBRyxnQ0FBZ0NyRCxJQUFJLENBQUN6QixNQUFyQyxHQUE4QyxlQUE5QyxHQUFnRXlCLElBQUksQ0FBQzdCLFVBQTNFO0FBQ0EsT0FGRCxNQUVPO0FBQ05rRixXQUFHLEdBQUcsZ0NBQWdDckQsSUFBSSxDQUFDeEIsTUFBM0M7QUFDQTtBQUNEMUIsU0FBRyxDQUFDaUMsT0FBSixDQUFZc0UsR0FBWixFQUFpQnJHLElBQWpCLEVBQXVCLEtBQXZCLEVBQThCZ0MsSUFBOUIsQ0FBbUMsVUFBQUMsR0FBRyxFQUFJO0FBQ3pDLHFCQUFZQSxHQUFaO0FBQ0FuQixXQUFHLENBQUNvQixXQUFKO0FBQ0EsWUFBSUQsR0FBRyxDQUFDRSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQzFCLGdCQUFJLENBQUNqQyxJQUFMLEdBQVkrQixHQUFHLENBQUNqQyxJQUFoQjtBQUNBO0FBQ0QsT0FORDtBQU9BLEtBMVZPLEVBdEVLLEUiLCJmaWxlIjoiODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcCA9IGdldEFwcCgpXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHNob3dDYWw6IGZhbHNlLFxuXHRcdFx0bGlzdDoge30sXG5cdFx0XHR3ZWVrOiBbJ+aXpScsICfkuIAnLCAn5LqMJywgJ+S4iScsICflm5snLCAn5LqUJywgJ+WFrSddLFxuXHRcdFx0ZGF5czogW10sXG5cdFx0XHR0b2RheTogJycsIC8v5b2T5aSp77yM5bGV56S65pif5pif5qCH6K6wXG5cdFx0XHRjdXJyZW50U2hvdzogJycsIC8v5bGV56S65pel5pyfXG5cdFx0XHRjdXJyZW50RGF0ZTogJycsIC8v54K55Ye76YCJ5Lit5pel5pyfXG5cdFx0XHRjaGFuZ2VUYXA6IGZhbHNlLFxuXHRcdFx0c3RhcnRSYW5nZTogJycsXG5cdFx0XHR0aW1lUmFuZ2U6IFtdLFxuXHRcdFx0dGltZVN0YXJ0OiAnJyxcblx0XHRcdHRpbWVFbmQ6ICcnLFxuXHRcdFx0cm9sZTogdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLnJvbGUsIC8v5piv5ZCm5piv5oqA5pyv566h55CG5ZGYXG5cdFx0XHRtZXJjaGFudEluZGV4OiAwLCAvL+mAieaLqeeahOWVhuaIt+S4i+agh1xuXHRcdFx0bWVyY2hhbnQ6IFtdLCAvL+WVhuaIt+WIl+ihqCDmlbDnu4Tlr7nosaFcblx0XHRcdG1lcmNoYW50TGlzdDogW10sIC8v5ZWG5oi35YiX6KGo5Y+q5pyJbmFtZeS+m+mAieaLqSxcblx0XHRcdG1lcmNoYW50SWQ6ICcnLFxuXHRcdFx0YXJlYUluZGV4OiAwLCAvL+mAieaLqeeahOWVhuaIt+S4i+agh1xuXHRcdFx0YXJlYTogW10sIC8v5ZWG5oi35YiX6KGoIOaVsOe7hOWvueixoVxuXHRcdFx0YXJlYUxpc3Q6IFtdLCAvL+WVhuaIt+WIl+ihqOWPquaciW5hbWXkvpvpgInmi6ksXG5cdFx0XHRhcmVhSWQ6ICcnLFxuXHRcdFx0YXJlYUlEOiAnJyAvL+mhtemdouS8oOWPgui/h+adpeeahOWMuuWfn0lEXG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdHRoaXMuYXJlYUlEID0gb3B0aW9ucy5hcmVhSWRcblx0XHR0aGlzLmdldFN0YXRlKCk7XG5cdFx0bGV0IGRheSA9IHRoaXMuZ2V0RGF5KCk7XG5cdFx0dGhpcy50b2RheSA9IGRheSxcblx0XHRcdHRoaXMuY3VycmVudERhdGUgPSBkYXlcblx0XHR0aGlzLmNhbGVuZGFyKGRheSk7XG5cdFx0Y29uc29sZS5sb2codGhpcy5yb2xlKVxuXHRcdGlmICh0aGlzLnJvbGUgPT0gJ+aKgOacr+euoeeQhuWRmCcpIHtcblx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9tZXJjaGFudExpc3QnLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRpZiAocmVzLmRhdGEubGVuZ3RoID4gMSkge1xuXHRcdFx0XHRcdFx0dmFyIG9iaiA9IFt7XG5cdFx0XHRcdFx0XHRcdFwiaWRcIjogJycsXG5cdFx0XHRcdFx0XHRcdFwidXNlcm5hbWVcIjogJycsXG5cdFx0XHRcdFx0XHRcdFwibmFtZVwiOiBcIuWFqOmDqOWVhuaIt1wiXG5cdFx0XHRcdFx0XHR9XVxuXHRcdFx0XHRcdFx0dmFyIGRhdGEgPSByZXMuZGF0YVxuXHRcdFx0XHRcdFx0b2JqID0gb2JqLmNvbmNhdChkYXRhKVxuXHRcdFx0XHRcdFx0dGhpcy5tZXJjaGFudCA9IG9iajtcblx0XHRcdFx0XHRcdHZhciBtZXJjaGFudEFyciA9IFtdXG5cdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubWVyY2hhbnQubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5tZXJjaGFudFtpXS5uYW1lKVxuXHRcdFx0XHRcdFx0XHRtZXJjaGFudEFyciA9IG1lcmNoYW50QXJyLmNvbmNhdCh0aGlzLm1lcmNoYW50W2ldLm5hbWUpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhtZXJjaGFudEFycilcblx0XHRcdFx0XHRcdHRoaXMubWVyY2hhbnRMaXN0ID0gbWVyY2hhbnRBcnI7XG5cdFx0XHRcdFx0XHR0aGlzLmdldEFyZWEoKVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR0aGlzLm1lcmNoYW50ID0gcmVzLmRhdGE7XG5cdFx0XHRcdFx0XHR2YXIgbWVyY2hhbnRBcnIgPSBbXVxuXHRcdFx0XHRcdFx0bWVyY2hhbnRBcnIucHVzaCh0aGlzLm1lcmNoYW50WzBdLm5hbWUpXG5cdFx0XHRcdFx0XHR0aGlzLm1lcmNoYW50TGlzdCA9IG1lcmNoYW50QXJyO1xuXHRcdFx0XHRcdFx0dGhpcy5tZXJjaGFudElkID0gdGhpcy5tZXJjaGFudFswXS5pZFxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBcmVhKClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRnZXRBcmVhOiBmdW5jdGlvbigpIHtcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMubWVyY2hhbnRJZClcblx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9hcmVhTGlzdD9tZXJjaGFudF9pZD0nICsgdGhpcy5tZXJjaGFudElkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdGlmIChyZXMuZGF0YS5sZW5ndGggPiAxKSB7XG5cdFx0XHRcdFx0XHR2YXIgb2JqID0gW3tcblx0XHRcdFx0XHRcdFx0XCJpZFwiOiAnJyxcblx0XHRcdFx0XHRcdFx0XCJ1c2VybmFtZVwiOiAnJyxcblx0XHRcdFx0XHRcdFx0XCJuYW1lXCI6IFwi5YWo6YOo5Yy65Z+fXCJcblx0XHRcdFx0XHRcdH1dXG5cdFx0XHRcdFx0XHR2YXIgZGF0YSA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0XHRvYmogPSBvYmouY29uY2F0KGRhdGEpXG5cdFx0XHRcdFx0XHR0aGlzLmFyZWEgPSBvYmo7XG5cdFx0XHRcdFx0XHR2YXIgYXJlYUFyciA9IFtdXG5cdFx0XHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYXJlYS5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFbaV0ubmFtZSlcblx0XHRcdFx0XHRcdFx0YXJlYUFyciA9IGFyZWFBcnIuY29uY2F0KHRoaXMuYXJlYVtpXS5uYW1lKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYXJlYUFycilcblx0XHRcdFx0XHRcdHRoaXMuYXJlYUxpc3QgPSBhcmVhQXJyO1xuXHRcdFx0XHRcdFx0dGhpcy5hcmVhSWQgPSAnJztcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5hcmVhID0gcmVzLmRhdGE7XG5cdFx0XHRcdFx0XHR2YXIgYXJlYUFyciA9IFtdXG5cdFx0XHRcdFx0XHRhcmVhQXJyLnB1c2godGhpcy5hcmVhWzBdLm5hbWUpXG5cdFx0XHRcdFx0XHR0aGlzLmFyZWFJZCA9IHRoaXMuYXJlYVswXS5pZDtcblx0XHRcdFx0XHRcdHRoaXMuYXJlYUxpc3QgPSBhcmVhQXJyO1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5hcmVhWzBdLm5hbWUpXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFMaXN0KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHNlbGVjdF9tZXJjaGFudHM6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XG5cdFx0XHRcdGl0ZW1MaXN0OiB0aGF0Lm1lcmNoYW50TGlzdCxcblx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRcdFx0dGhhdC5tZXJjaGFudElkID0gdGhhdC5tZXJjaGFudFtyZXMudGFwSW5kZXhdLmlkXG5cdFx0XHRcdFx0dGhhdC5nZXRBcmVhKClcblx0XHRcdFx0XHR0aGF0Lm1lcmNoYW50SW5kZXggPSByZXMudGFwSW5kZXhcblx0XHRcdFx0XHR0aGF0LmFyZWFJbmRleCA9IDBcblx0XHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0dGhhdC5nZXRTdGF0ZSgpXG5cdFx0XHRcdFx0fSwgNTAwKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0c2VsZWN0X2FyZWE6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XG5cdFx0XHRcdGl0ZW1MaXN0OiB0aGF0LmFyZWFMaXN0LFxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHR0aGF0LmFyZWFJbmRleCA9IHJlcy50YXBJbmRleFxuXHRcdFx0XHRcdHRoYXQuYXJlYUlkID0gdGhhdC5hcmVhW3Jlcy50YXBJbmRleF0uaWRcblx0XHRcdFx0XHR0aGF0LmdldFN0YXRlKClcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v6I635Y+W5LuK5aSpXG5cdFx0Z2V0RGF5OiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0b2RheSA9IG5ldyBEYXRlKCk7XG5cdFx0XHR2YXIgeSA9IHRvZGF5LmdldEZ1bGxZZWFyKCk7XG5cdFx0XHR2YXIgbSA9IHRvZGF5LmdldE1vbnRoKCk7XG5cdFx0XHR2YXIgZCA9IHRvZGF5LmdldERhdGUoKTtcblx0XHRcdC8v5b2T5pyI5pyI5Lu9XG5cdFx0XHR2YXIgdG9kYXlNb250aCA9IHRvZGF5LmdldE1vbnRoKCkgKyAxO1xuXHRcdFx0aWYgKHRvZGF5TW9udGggPCAxMCkge1xuXHRcdFx0XHR0b2RheU1vbnRoID0gXCIwXCIgKyB0b2RheU1vbnRoO1xuXHRcdFx0fVxuXHRcdFx0dmFyIHNlbmREYXkgPSB5ICsgXCItXCIgKyB0b2RheU1vbnRoICsgJy0nICsgZDtcblx0XHRcdHJldHVybiBzZW5kRGF5O1xuXHRcdH0sXG5cdFx0Y2FsZW5kYXI6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUpXG5cdFx0XHR2YXIgbm93ID0gZS50b1N0cmluZygpO1xuXHRcdFx0bm93ID0gbm93LnNwbGl0KCctJyk7XG5cdFx0XHRjb25zb2xlLmxvZyhub3cpO1xuXHRcdFx0bGV0IHRvZGF5ID0gbmV3IERhdGUobm93WzBdLCAobm93WzFdIC0gMSksIG5vd1syXSk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyh0b2RheSwgJ3RvZGF5Jylcblx0XHRcdGxldCB5ID0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcblx0XHRcdGxldCBtID0gdG9kYXkuZ2V0TW9udGgoKTtcblx0XHRcdGxldCBkID0gdG9kYXkuZ2V0RGF0ZSgpO1xuXHRcdFx0Y29uc29sZS5sb2coeSwgbSwgZCwgJ3ltZCcpXG5cdFx0XHQvL+W9k+aciOaciOS7vVxuXHRcdFx0bGV0IHRvZGF5TW9udGggPSB0b2RheS5nZXRNb250aCgpICsgMTtcblx0XHRcdGxldCBkYXkgPSBkO1xuXHRcdFx0Y29uc29sZS5sb2coZClcblx0XHRcdGlmICh0b2RheU1vbnRoIDwgMTApIHtcblx0XHRcdFx0dG9kYXlNb250aCA9IFwiMFwiICsgdG9kYXlNb250aDtcblx0XHRcdH1cblx0XHRcdGlmIChkYXkgPCAxMCkge1xuXHRcdFx0XHRkID0gXCIwXCIgKyBkYXk7XG5cdFx0XHR9XG5cdFx0XHQvL+W9k+aciOesrOS4gOWkqeaYr+aYn+acn+WHoFxuXHRcdFx0bGV0IHdlZWsgPSBuZXcgRGF0ZSh5LCBtLCAxKS5nZXREYXkoKTtcblx0XHRcdGNvbnNvbGUubG9nKHdlZWspXG5cdFx0XHQvL+W9k+aciOacgOWQjuS4gOWkqVxuXHRcdFx0bGV0IGxhc3REYXkgPSBuZXcgRGF0ZSh5LCBtICsgMSwgMCkuZ2V0RGF0ZSgpO1xuXHRcdFx0Y29uc29sZS5sb2cobGFzdERheSlcblx0XHRcdC8v5riy5p+T5pel5Y6GXG5cdFx0XHRsZXQgZGF5cyA9IFtdO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB3ZWVrOyBpKyspIHtcblx0XHRcdFx0bGV0IG9iaiA9IHtcblx0XHRcdFx0XHRpZDogaSxcblx0XHRcdFx0XHRkYXk6ICcnLFxuXHRcdFx0XHRcdHRvZGF5OiAnJyxcblx0XHRcdFx0XHRzaWduOiBmYWxzZVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRkYXlzLnB1c2gob2JqKTtcblx0XHRcdH1cblx0XHRcdGxldCB0aW1lUmFuZ2UgPSB0aGlzLnRpbWVSYW5nZTtcblx0XHRcdGxldCB0aW1lTGVuID0gdGltZVJhbmdlLmxlbmd0aDtcblx0XHRcdGZvciAobGV0IGogPSAwOyBqIDwgbGFzdERheTsgaisrKSB7XG5cdFx0XHRcdGxldCBrID0gaiArIDE7XG5cdFx0XHRcdGlmIChrIDwgMTApIHtcblx0XHRcdFx0XHRrID0gJzAnICsga1xuXHRcdFx0XHR9XG5cdFx0XHRcdGxldCBpZHggPSBqICsgd2Vlaztcblx0XHRcdFx0Ly/muLLmn5Pmr4/lpKnml6XmnJ/nirbmgIFcblx0XHRcdFx0bGV0IHRoZURheSA9IHkgKyBcIi1cIiArIHRvZGF5TW9udGggKyAnLScgKyBrO1xuXHRcdFx0XHRsZXQgc2hvdyA9IGZhbHNlO1xuXHRcdFx0XHRsZXQgc3RhcnRzID0gZmFsc2U7XG5cdFx0XHRcdGxldCBlbmRzID0gZmFsc2U7XG5cdFx0XHRcdGZvciAobGV0IG0gPSAwOyBtIDwgdGltZUxlbjsgbSsrKSB7XG5cdFx0XHRcdFx0aWYgKHRpbWVSYW5nZVttXSA9PSB0aGVEYXkpIHtcblx0XHRcdFx0XHRcdHNob3cgPSB0cnVlO1xuXHRcdFx0XHRcdFx0Ly/muLLmn5Mg6LW3IOWSjCDmraIg5qCH6K6wXG5cdFx0XHRcdFx0XHRpZiAobSA9PSAwKSB7XG5cdFx0XHRcdFx0XHRcdHN0YXJ0cyA9IHRydWU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZiAobSA9PSAodGltZUxlbiAtIDEpKSB7XG5cdFx0XHRcdFx0XHRcdGVuZHMgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQvL+a4suafk+avj+WkqeaXpeacn1xuXHRcdFx0XHRsZXQgY2VsbCA9IHtcblx0XHRcdFx0XHRpZDogaWR4LFxuXHRcdFx0XHRcdGRheTogayxcblx0XHRcdFx0XHR0b2RheTogdGhlRGF5LFxuXHRcdFx0XHRcdHNpZ246IHNob3csXG5cdFx0XHRcdFx0c3RhcnQ6IHN0YXJ0cyxcblx0XHRcdFx0XHRlbmQ6IGVuZHNcblx0XHRcdFx0fTtcblx0XHRcdFx0ZGF5cy5wdXNoKGNlbGwpO1xuXHRcdFx0fVxuXHRcdFx0bGV0IGN1cnJlbnRTaG93ID0geSArIFwi5bm0XCIgKyB0b2RheU1vbnRoICsgXCLmnIhcIjtcblxuXHRcdFx0dGhpcy5kYXlzID0gZGF5cyxcblx0XHRcdFx0dGhpcy5jdXJyZW50RGF0ZSA9IGUsXG5cdFx0XHRcdHRoaXMuY3VycmVudFNob3cgPSBjdXJyZW50U2hvd1xuXG5cdFx0fSxcblx0XHQvL+iwg+WHuuaXpeWOhlxuXHRcdGNob2ljZTogZnVuY3Rpb24oKSB7XG5cblx0XHRcdHRoaXMuc2hvd0NhbCA9IHRydWVcblxuXHRcdH0sXG5cdFx0Ly/lhbPpl63ml6XljoZcblx0XHRjbG9zZUNhbDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLnNob3dDYWwgPSBmYWxzZVxuXHRcdH0sXG5cdFx0Ly/kuIrkuKrmnIhcblx0XHRwYXN0OiBmdW5jdGlvbigpIHtcblx0XHRcdGxldCBsYXN0ID0gdGhpcy5jdXJyZW50RGF0ZTtcblx0XHRcdGxhc3QgPSBsYXN0LnNwbGl0KCctJyk7XG5cdFx0XHRsZXQgdG9kYXkgPSBuZXcgRGF0ZShsYXN0WzBdLCAobGFzdFsxXSAtIDEpLCBsYXN0WzJdKTtcblx0XHRcdGxldCB5ID0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcblx0XHRcdC8v5Y+W5Ye65pyI5Lu95LiN5YqgIDEg77yM5bCx562J5LqO5LiK5Liq5pyI5a6e6ZmF5pyI5Lu9XG5cdFx0XHRsZXQgbSA9IHRvZGF5LmdldE1vbnRoKCk7XG5cdFx0XHRsZXQgZCA9IDE7XG5cdFx0XHQvL+WmguaenOW9k+WJjSBtIOetieS6jiAwIOW9k+aciOS4uuS4gOaciOS7ve+8jOWPmOaIkOS4iuS4gOW5tOeahDEy5pyIXG5cdFx0XHRpZiAobSA8IDEpIHtcblx0XHRcdFx0eSA9IHkgLSAxO1xuXHRcdFx0XHRtID0gMTI7XG5cdFx0XHR9XG5cdFx0XHRpZiAobSA8IDEwKSB7XG5cdFx0XHRcdG0gPSAnMCcgKyBtO1xuXHRcdFx0fVxuXHRcdFx0bGV0IGRheSA9IHkgKyAnLScgKyBtICsgJy0nICsgZDtcblx0XHRcdGNvbnNvbGUubG9nKGRheSwgJ2RheScpXG5cdFx0XHR0aGlzLmNhbGVuZGFyKGRheSk7XG5cdFx0fSxcblx0XHQvL+S4i+S4quaciFxuXHRcdGZ1dHVyZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRsZXQgbmV4dCA9IHRoaXMuY3VycmVudERhdGU7XG5cdFx0XHRuZXh0ID0gbmV4dC5zcGxpdCgnLScpO1xuXHRcdFx0Ly8gbGV0IHRvZGF5ID0gbmV3IERhdGUodGhpcy5kYXRhLmN1cnJlbnREYXRlKTtcblx0XHRcdGxldCB0b2RheSA9IG5ldyBEYXRlKG5leHRbMF0sIChuZXh0WzFdIC0gMSksIG5leHRbMl0pO1xuXHRcdFx0bGV0IHkgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xuXHRcdFx0Ly/lj5blh7rlvZPliY3mnIhcblx0XHRcdGxldCBtID0gdG9kYXkuZ2V0TW9udGgoKTtcblx0XHRcdGxldCBkID0gMTtcblx0XHRcdC8v5Y2B5LqM5pyI5Lu95Y+Y5oiQ5LiL5LiA5bm055qEIDEg5pyIXG5cdFx0XHRpZiAobSA+IDEwKSB7XG5cdFx0XHRcdHkgPSB5ICsgMTtcblx0XHRcdFx0bSA9IDE7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRtID0gbSArIDI7XG5cdFx0XHR9XG5cdFx0XHRpZiAobSA8IDEwKSB7XG5cdFx0XHRcdG0gPSAnMCcgKyBtO1xuXHRcdFx0fVxuXHRcdFx0bGV0IGRheSA9IHkgKyAnLScgKyBtICsgJy0nICsgZDtcblx0XHRcdHRoaXMuY2FsZW5kYXIoZGF5KTtcblx0XHR9LFxuXHRcdC8v6YCJ5oup5pel5pyf6IyD5Zu0XG5cdFx0c2VsZWN0KGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUpXG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0XHRsZXQgZGF5ID0gZTtcblx0XHRcdGxldCB0YXBzID0gdGhpcy5jaGFuZ2VUYXA7XG5cdFx0XHRsZXQgc3RhcnRSYW5nZSA9IHRoaXMuc3RhcnRSYW5nZTtcblx0XHRcdC8v5Yid5aeL5YyWIHN0YXJ0UmFuZ2XvvIzov5vlhaXpobXpnaLnrKzkuIDmrKHngrnlh7vop6blj5Fcblx0XHRcdGlmIChzdGFydFJhbmdlID09ICcnKSB7XG5cdFx0XHRcdHN0YXJ0UmFuZ2UgPSBkYXk7XG5cdFx0XHR9XG5cdFx0XHRjb25zb2xlLmxvZyhzdGFydFJhbmdlKVxuXHRcdFx0bGV0IGxpc3QgPSBbXTtcblx0XHRcdGxldCBwYXJhbVIgPSBkYXk7XG5cdFx0XHRsZXQgcGFyYW1TID0gZGF5O1xuXHRcdFx0bGV0IHBhcmFtRSA9IGRheTtcblx0XHRcdGxldCB0aW1lU2hvd1MgPSAnJztcblx0XHRcdGxldCB0aW1lU2hvd0UgPSAnJztcblx0XHRcdGlmICh0YXBzICYmIGRheSkge1xuXHRcdFx0XHQvL+aIquatouaXtumXtOWKqOS9nCzlhYjmr5TovoPkuKTkuKrml7bpl7Rcblx0XHRcdFx0bGV0IGRhdGVTID0gbmV3IERhdGUoc3RhcnRSYW5nZSk7XG5cdFx0XHRcdGxldCBkYXRlRSA9IG5ldyBEYXRlKGRheSk7XG5cdFx0XHRcdGNvbnNvbGUubG9nKGRhdGVTLmdldFRpbWUoKSlcblx0XHRcdFx0Y29uc29sZS5sb2coZGF0ZUUuZ2V0VGltZSgpKVxuXHRcdFx0XHRpZiAoZGF0ZVMuZ2V0VGltZSgpID09IGRhdGVFLmdldFRpbWUoKSkge1xuXHRcdFx0XHRcdGxpc3QgPSBbZGF5XTtcblx0XHRcdFx0fSBlbHNlIGlmIChkYXRlUy5nZXRUaW1lKCkgPiBkYXRlRS5nZXRUaW1lKCkpIHtcblx0XHRcdFx0XHRsaXN0ID0gdGhhdC5kYXRlc0xpc3QoZGF5LCBzdGFydFJhbmdlKTtcblx0XHRcdFx0XHRwYXJhbUUgPSBzdGFydFJhbmdlO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGRhdGVTLmdldFRpbWUoKSA8IGRhdGVFLmdldFRpbWUoKSkge1xuXHRcdFx0XHRcdGxpc3QgPSB0aGF0LmRhdGVzTGlzdChzdGFydFJhbmdlLCBkYXkpO1xuXHRcdFx0XHRcdHBhcmFtUyA9IHN0YXJ0UmFuZ2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc29sZS5sb2cobGlzdClcblx0XHRcdFx0dGhhdC5zaG93Q2FsID0gZmFsc2Vcblx0XHRcdFx0dGltZVNob3dTID0gcGFyYW1TO1xuXHRcdFx0XHR0aW1lU2hvd0UgPSBwYXJhbUU7XG5cdFx0XHRcdGxldCBkYXRhID0ge1xuXHRcdFx0XHRcdFwiIHBheV90aW1lX2JldHdlZW5bMF1cIjogdGltZVNob3dTLFxuXHRcdFx0XHRcdFwiIHBheV90aW1lX2JldHdlZW5bMV1cIjogdGltZVNob3dFLFxuXHRcdFx0XHR9XG5cdFx0XHRcdHd4LnNob3dMb2FkaW5nKHtcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHRcdH0pXG5cdFx0XHRcdHZhciB1cmwgPSAnJ1xuXHRcdFx0XHRpZiAodGhhdC5yb2xlID09ICfmioDmnK/nrqHnkIblkZgnKSB7XG5cdFx0XHRcdFx0dXJsID0gXCJvcmRlci9wcm9maXREZXRhaWw/YXJlYV9pZD1cIiArIHRoYXQuYXJlYUlkICsgJyZtZXJjaGFudF9pZD0nICsgdGhhdC5tZXJjaGFudElkXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dXJsID0gXCJvcmRlci9wcm9maXREZXRhaWw/YXJlYV9pZD1cIiArIHRoYXQuYXJlYUlEXG5cdFx0XHRcdH1cblx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCBkYXRhLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdHd4LmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0XHR0aGF0Lmxpc3QgPSByZXMuZGF0YVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSBpZiAoIXRhcHMgJiYgZGF5KSB7XG5cdFx0XHRcdC8v5byA5aeL5pe26Ze05Yqo5L2cXG5cdFx0XHRcdGxpc3QgPSBbZGF5XTtcblx0XHRcdH1cblx0XHRcdGNvbnNvbGUubG9nKGxpc3QpXG5cdFx0XHR0aGF0LmNoYW5nZVRhcCA9ICF0YXBzO1xuXHRcdFx0dGhhdC5zdGFydFJhbmdlID0gcGFyYW1SO1xuXHRcdFx0dGhhdC50aW1lUmFuZ2UgPSBsaXN0O1xuXHRcdFx0dGhhdC50aW1lU3RhcnQgPSBwYXJhbVM7XG5cdFx0XHR0aGF0LnRpbWVFbmQgPSBwYXJhbUU7XG5cdFx0XHR0aGF0LnRpbWVTaG93UyA9IHRpbWVTaG93Uztcblx0XHRcdHRoYXQudGltZVNob3dFID0gdGltZVNob3dFO1xuXHRcdFx0dGhhdC5jYWxlbmRhcihkYXkpO1xuXHRcdFx0Ly9jb25zb2xlLmxvZyhsaXN0KVxuXHRcdH0sXG5cdFx0Ly/pgInmi6nml6XmnJ/ojIPlm7TvvIwx6YCJ5oup5pel5pyfXG5cdFx0Z2V0RGF0ZXM6IGZ1bmN0aW9uKGRhdGVzdHIpIHtcblx0XHRcdHZhciB0ZW1wID0gZGF0ZXN0ci5zcGxpdChcIi1cIik7XG5cdFx0XHR2YXIgbSA9IHBhcnNlSW50KHRlbXBbMV0pIC0gMTtcblx0XHRcdHZhciBkYXRlID0gbmV3IERhdGUodGVtcFswXSwgbSwgdGVtcFsyXSk7XG5cdFx0XHRyZXR1cm4gZGF0ZTtcblx0XHR9LFxuXHRcdC8v6YCJ5oup5pel5pyf6IyD5Zu077yMMueUn+aIkOaXpeacn+iMg+WbtOWGheaJgOacieeahOaXpeacn+WIl+ihqFxuXHRcdGRhdGVzTGlzdDogZnVuY3Rpb24ocywgZSkge1xuXHRcdFx0Ly8gbGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0bGV0IGFyeXMgPSBbXTtcblx0XHRcdGxldCBzdGFydCA9IHM7XG5cdFx0XHRsZXQgZW5kID0gZTtcblx0XHRcdGxldCBzdGFydFRpbWUgPSB0aGlzLmdldERhdGVzKHN0YXJ0KTtcblx0XHRcdGxldCBlbmRUaW1lID0gdGhpcy5nZXREYXRlcyhlbmQpO1xuXHRcdFx0d2hpbGUgKChlbmRUaW1lLmdldFRpbWUoKSAtIHN0YXJ0VGltZS5nZXRUaW1lKCkpID49IDApIHtcblx0XHRcdFx0Y29uc29sZS5sb2coc3RhcnRUaW1lLmdldERhdGUoKSA8IDEwKVxuXHRcdFx0XHRsZXQgeWVhciA9IHN0YXJ0VGltZS5nZXRGdWxsWWVhcigpO1xuXHRcdFx0XHRsZXQgbW9udGhBID0gc3RhcnRUaW1lLmdldE1vbnRoKCkgKyAxO1xuXHRcdFx0XHRsZXQgbW9udGggPSBtb250aEEudG9TdHJpbmcoKSA8IDEwID8gJzAnICsgbW9udGhBLnRvU3RyaW5nKCkgOiBtb250aEEudG9TdHJpbmcoKTtcblx0XHRcdFx0bGV0IGQgPSBzdGFydFRpbWUuZ2V0RGF0ZSgpIDwgMTAgPyAnMCcgKyBzdGFydFRpbWUuZ2V0RGF0ZSgpIDogc3RhcnRUaW1lLmdldERhdGUoKTtcblx0XHRcdFx0bGV0IGRzID0geWVhciArIFwiLVwiICsgbW9udGggKyBcIi1cIiArIGQ7XG5cdFx0XHRcdGFyeXMucHVzaChkcylcblx0XHRcdFx0c3RhcnRUaW1lLnNldERhdGUoc3RhcnRUaW1lLmdldERhdGUoKSArIDEpO1xuXHRcdFx0fVxuXHRcdFx0Y29uc29sZS5sb2coYXJ5cylcblx0XHRcdHJldHVybiBhcnlzO1xuXHRcdH0sXG5cdFx0Z2V0U3RhdGU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcblx0XHRcdGxldCBkYXkgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0ZGF5LnNldFRpbWUoZGF5LmdldFRpbWUoKSk7XG5cdFx0XHRsZXQgdG9kYXkgPSBkYXkuZ2V0RnVsbFllYXIoKSArIFwiLVwiICsgKGRheS5nZXRNb250aCgpICsgMSkgKyBcIi1cIiArIGRheS5nZXREYXRlKCk7XG5cdFx0XHR2YXIgZGF5MSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRkYXkxLnNldFRpbWUoZGF5MS5nZXRUaW1lKCkgKyAyNCAqIDYwICogNjAgKiAxMDAwKTtcblx0XHRcdHZhciB0b21tb3J3ID0gZGF5MS5nZXRGdWxsWWVhcigpICsgXCItXCIgKyAoZGF5MS5nZXRNb250aCgpICsgMSkgKyBcIi1cIiArIGRheTEuZ2V0RGF0ZSgpO1xuXG5cdFx0XHR0aGlzLnRpbWVTaG93UyA9IHRvZGF5LFxuXHRcdFx0XHR0aGlzLnRpbWVTaG93RSA9IHRvbW1vcndcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMudGltZVNob3dTKVxuXHRcdFx0Y29uc29sZS5sb2codGhpcy50aW1lU2hvd0UpXG5cdFx0XHRsZXQgZGF0YSA9IHtcblx0XHRcdFx0XCIgcGF5X3RpbWVfYmV0d2VlblswXVwiOiB0aGlzLnRpbWVTaG93Uyxcblx0XHRcdFx0XCIgcGF5X3RpbWVfYmV0d2VlblsxXVwiOiB0aGlzLnRpbWVTaG93RSxcblx0XHRcdH1cblx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYUlkKVxuXHRcdFx0Y29uc29sZS5sb2codGhpcy5tZXJjaGFudElkKVxuXHRcdFx0dmFyIHVybCA9ICcnXG5cdFx0XHRpZiAodGhhdC5yb2xlID09ICfmioDmnK/nrqHnkIblkZgnKSB7XG5cdFx0XHRcdHVybCA9IFwib3JkZXIvcHJvZml0RGV0YWlsP2FyZWFfaWQ9XCIgKyB0aGF0LmFyZWFJZCArICcmbWVyY2hhbnRfaWQ9JyArIHRoYXQubWVyY2hhbnRJZFxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dXJsID0gXCJvcmRlci9wcm9maXREZXRhaWw/YXJlYV9pZD1cIiArIHRoYXQuYXJlYUlEXG5cdFx0XHR9XG5cdFx0XHRhcHAucmVxdWVzdCh1cmwsIGRhdGEsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSByZXMuZGF0YVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///87\n");
  27946. /***/ }),
  27947. /* 88 */
  27948. /*!**************************************************************************************!*\
  27949. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/orderDetail.vue?mpType=page ***!
  27950. \**************************************************************************************/
  27951. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27952. /*! no static exports found */
  27953. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27954. "use strict";
  27955. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./orderDetail.vue?vue&type=template&id=0b013cc4&mpType=page */ 255);\n/* harmony import */ var _orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./orderDetail.vue?vue&type=script&lang=js&mpType=page */ 257);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/orderDetail.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbUk7QUFDbkk7QUFDMEU7QUFDTDs7O0FBR3JFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDRGQUFNO0FBQ1IsRUFBRSxpR0FBTTtBQUNSLEVBQUUsMEdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUscUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9vcmRlckRldGFpbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGIwMTNjYzQmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL29yZGVyRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9vcmRlckRldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2Uvb3JkZXJEZXRhaWwudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///254\n");
  27956. /***/ }),
  27957. <<<<<<< HEAD
  27958. /* 255 */
  27959. /*!*******************************************************************************************************!*\
  27960. !*** C:/Users/001/Desktop/运维端/pages/manage/orderDetail.vue?vue&type=template&id=0b013cc4&mpType=page ***!
  27961. \*******************************************************************************************************/
  27962. =======
  27963. /* 89 */
  27964. /*!********************************************************************************************************************!*\
  27965. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/orderDetail.vue?vue&type=template&id=0b013cc4&mpType=page ***!
  27966. \********************************************************************************************************************/
  27967. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27968. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  27969. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27970. "use strict";
  27971. __webpack_require__.r(__webpack_exports__);
  27972. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./orderDetail.vue?vue&type=template&id=0b013cc4&mpType=page */ 256);
  27973. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  27974. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  27975. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  27976. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_template_id_0b013cc4_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  27977. /***/ }),
  27978. <<<<<<< HEAD
  27979. /* 256 */
  27980. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27981. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/orderDetail.vue?vue&type=template&id=0b013cc4&mpType=page ***!
  27982. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27983. =======
  27984. /* 90 */
  27985. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  27986. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/orderDetail.vue?vue&type=template&id=0b013cc4&mpType=page ***!
  27987. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  27988. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  27989. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  27990. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  27991. "use strict";
  27992. __webpack_require__.r(__webpack_exports__);
  27993. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  27994. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  27995. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  27996. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  27997. var components
  27998. var render = function() {
  27999. var _vm = this
  28000. var _h = _vm.$createElement
  28001. var _c = _vm._self._c || _h
  28002. return _c(
  28003. "view",
  28004. { staticClass: _vm._$s(0, "sc", "box"), attrs: { _i: 0 } },
  28005. [
  28006. _c("map", {
  28007. attrs: {
  28008. id: "map",
  28009. longitude: _vm._$s(1, "a-longitude", _vm.longitude),
  28010. latitude: _vm._$s(1, "a-latitude", _vm.latitude),
  28011. markers: _vm._$s(1, "a-markers", _vm.markers),
  28012. polyline: _vm._$s(1, "a-polyline", _vm.polyline),
  28013. _i: 1
  28014. }
  28015. }),
  28016. _c("view", { staticClass: _vm._$s(2, "sc", "list1"), attrs: { _i: 2 } }, [
  28017. _c("view", [
  28018. _c(
  28019. "view",
  28020. { staticClass: _vm._$s(4, "sc", "order"), attrs: { _i: 4 } },
  28021. [
  28022. _c("text", [
  28023. _vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.detail.pay_money)))
  28024. ]),
  28025. _c("text", [
  28026. _vm._v(_vm._$s(6, "t0-0", _vm._s(_vm.detail.dispatch_money)))
  28027. ])
  28028. ]
  28029. ),
  28030. _c(
  28031. "view",
  28032. { staticClass: _vm._$s(7, "sc", "order"), attrs: { _i: 7 } },
  28033. [
  28034. _c("text", [
  28035. _vm._v(_vm._$s(8, "t0-0", _vm._s(_vm.detail.order_status)))
  28036. ]),
  28037. _c("text", [
  28038. _vm._v(_vm._$s(9, "t0-0", _vm._s(_vm.detail.time_money)))
  28039. ])
  28040. ]
  28041. )
  28042. ]),
  28043. _c(
  28044. "view",
  28045. {
  28046. staticClass: _vm._$s(10, "sc", "user"),
  28047. attrs: { _i: 10 },
  28048. on: { click: function($event) {} }
  28049. },
  28050. [
  28051. _c("text", [
  28052. _vm._v(_vm._$s(11, "t0-0", _vm._s(_vm.detail.nickname)))
  28053. ]),
  28054. _c(
  28055. "text",
  28056. {
  28057. attrs: { _i: 12 },
  28058. on: {
  28059. click: function($event) {
  28060. return _vm.phoneCall(_vm.detail.mobile)
  28061. }
  28062. }
  28063. },
  28064. [_vm._v(_vm._$s(12, "t0-0", _vm._s(_vm.detail.mobile)))]
  28065. )
  28066. ]
  28067. )
  28068. ]),
  28069. _c(
  28070. "view",
  28071. { staticClass: _vm._$s(13, "sc", "discounts"), attrs: { _i: 13 } },
  28072. [
  28073. _c("view", [
  28074. _vm._v(_vm._$s(14, "t0-0", _vm._s(_vm.detail.preferential_money)))
  28075. ]),
  28076. _c("view", [
  28077. _vm._v(
  28078. _vm._$s(15, "t0-0", _vm._s(_vm.detail.preferential_type_name))
  28079. )
  28080. ])
  28081. ]
  28082. ),
  28083. _c(
  28084. "view",
  28085. { staticClass: _vm._$s(16, "sc", "list2"), attrs: { _i: 16 } },
  28086. [_c("view", [_vm._v(_vm._$s(17, "t0-0", _vm._s(_vm.detail.bike_no)))])]
  28087. ),
  28088. _c(
  28089. "view",
  28090. { staticClass: _vm._$s(18, "sc", "list2"), attrs: { _i: 18 } },
  28091. [
  28092. _c("view", [
  28093. _vm._v(_vm._$s(19, "t0-0", _vm._s(_vm.detail.start_use_bike_time)))
  28094. ])
  28095. ]
  28096. ),
  28097. _c(
  28098. "view",
  28099. { staticClass: _vm._$s(20, "sc", "list2"), attrs: { _i: 20 } },
  28100. [
  28101. _c("view", [
  28102. _vm._v(_vm._$s(21, "t0-0", _vm._s(_vm.detail.end_use_bike_time)))
  28103. ])
  28104. ]
  28105. ),
  28106. _c(
  28107. "view",
  28108. { staticClass: _vm._$s(22, "sc", "list2"), attrs: { _i: 22 } },
  28109. [
  28110. _c("view", [
  28111. _vm._v(
  28112. _vm._$s(
  28113. 23,
  28114. "t0-0",
  28115. _vm._s(_vm.detail.remark ? _vm.detail.remark : "无")
  28116. )
  28117. )
  28118. ])
  28119. ]
  28120. ),
  28121. _c(
  28122. "view",
  28123. { staticClass: _vm._$s(24, "sc", "table"), attrs: { _i: 24 } },
  28124. [
  28125. _c(
  28126. "view",
  28127. { staticClass: _vm._$s(25, "sc", "tr"), attrs: { _i: 25 } },
  28128. [
  28129. _c("view", {
  28130. staticClass: _vm._$s(26, "sc", "time"),
  28131. attrs: { _i: 26 }
  28132. }),
  28133. _c("view", {
  28134. staticClass: _vm._$s(27, "sc", "operate"),
  28135. attrs: { _i: 27 }
  28136. })
  28137. ]
  28138. ),
  28139. _vm._l(
  28140. _vm._$s(28, "f", { forItems: _vm.detail.walletLogs }),
  28141. function(item, index, $20, $30) {
  28142. return [
  28143. _c(
  28144. "view",
  28145. {
  28146. key: _vm._$s(28, "f", {
  28147. forIndex: $20,
  28148. keyIndex: 0,
  28149. key: index + "_0"
  28150. }),
  28151. staticClass: _vm._$s("29-" + $30, "sc", "tr"),
  28152. attrs: { _i: "29-" + $30 }
  28153. },
  28154. [
  28155. _c(
  28156. "view",
  28157. {
  28158. staticClass: _vm._$s("30-" + $30, "sc", "time"),
  28159. attrs: { _i: "30-" + $30 }
  28160. },
  28161. [
  28162. _vm._v(
  28163. _vm._$s("30-" + $30, "t0-0", _vm._s(item.created_at))
  28164. )
  28165. ]
  28166. ),
  28167. _c(
  28168. "view",
  28169. {
  28170. staticClass: _vm._$s("31-" + $30, "sc", "operate"),
  28171. attrs: { _i: "31-" + $30 }
  28172. },
  28173. [_vm._v(_vm._$s("31-" + $30, "t0-0", _vm._s(item.name)))]
  28174. )
  28175. ]
  28176. )
  28177. ]
  28178. }
  28179. ),
  28180. _vm._$s(32, "i", _vm.detail.walletLogs == 0)
  28181. ? _c("view", {
  28182. staticClass: _vm._$s(32, "sc", "noOperate flexC"),
  28183. attrs: { _i: 32 }
  28184. })
  28185. : _vm._e()
  28186. ],
  28187. 2
  28188. ),
  28189. _c(
  28190. "view",
  28191. { staticClass: _vm._$s(33, "sc", "table"), attrs: { _i: 33 } },
  28192. [
  28193. _c(
  28194. "view",
  28195. { staticClass: _vm._$s(34, "sc", "tr"), attrs: { _i: 34 } },
  28196. [
  28197. _c("view", {
  28198. staticClass: _vm._$s(35, "sc", "time"),
  28199. attrs: { _i: 35 }
  28200. }),
  28201. _c("view", {
  28202. staticClass: _vm._$s(36, "sc", "operate"),
  28203. attrs: { _i: 36 }
  28204. })
  28205. ]
  28206. ),
  28207. _vm._l(
  28208. _vm._$s(37, "f", { forItems: _vm.detail.order_bike_operates }),
  28209. function(item, index1, $21, $31) {
  28210. return [
  28211. _c(
  28212. "view",
  28213. {
  28214. key: _vm._$s(37, "f", {
  28215. forIndex: $21,
  28216. keyIndex: 0,
  28217. key: index1 + "_0"
  28218. }),
  28219. staticClass: _vm._$s("38-" + $31, "sc", "tr"),
  28220. attrs: { _i: "38-" + $31 }
  28221. },
  28222. [
  28223. _c(
  28224. "view",
  28225. {
  28226. staticClass: _vm._$s("39-" + $31, "sc", "time"),
  28227. attrs: { _i: "39-" + $31 }
  28228. },
  28229. [
  28230. _vm._v(
  28231. _vm._$s("39-" + $31, "t0-0", _vm._s(item.created_at))
  28232. )
  28233. ]
  28234. ),
  28235. _c(
  28236. "view",
  28237. {
  28238. staticClass: _vm._$s("40-" + $31, "sc", "operate"),
  28239. attrs: { _i: "40-" + $31 }
  28240. },
  28241. [_vm._v(_vm._$s("40-" + $31, "t0-0", _vm._s(item.name)))]
  28242. )
  28243. ]
  28244. )
  28245. ]
  28246. }
  28247. ),
  28248. _vm._$s(41, "i", _vm.detail.order_bike_operates == 0)
  28249. ? _c("view", {
  28250. staticClass: _vm._$s(41, "sc", "noOperate flexC"),
  28251. attrs: { _i: 41 }
  28252. })
  28253. : _vm._e()
  28254. ],
  28255. 2
  28256. )
  28257. ]
  28258. )
  28259. }
  28260. var recyclableRender = false
  28261. var staticRenderFns = []
  28262. render._withStripped = true
  28263. /***/ }),
  28264. <<<<<<< HEAD
  28265. /* 257 */
  28266. /*!*************************************************************************************************!*\
  28267. !*** C:/Users/001/Desktop/运维端/pages/manage/orderDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28268. \*************************************************************************************************/
  28269. =======
  28270. /* 91 */
  28271. /*!**************************************************************************************************************!*\
  28272. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/orderDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28273. \**************************************************************************************************************/
  28274. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28275. /*! no static exports found */
  28276. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28277. "use strict";
  28278. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./orderDetail.vue?vue&type=script&lang=js&mpType=page */ 258);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_orderDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlqQixDQUFnQixvbEJBQUcsRUFBQyIsImZpbGUiOiIyNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9vcmRlckRldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vb3JkZXJEZXRhaWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///257\n");
  28279. /***/ }),
  28280. <<<<<<< HEAD
  28281. /* 258 */
  28282. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28283. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/orderDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28284. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28285. =======
  28286. /* 92 */
  28287. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28288. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/orderDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28289. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28290. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28291. /*! no static exports found */
  28292. /***/ (function(module, exports, __webpack_require__) {
  28293. "use strict";
  28294. <<<<<<< HEAD
  28295. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n detail: [], //订单详情\n polyline: [], //折线\n longitude: 113.3245211,\n latitude: 23.10229,\n markers: [] //标记点\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n var url = '';\n if (options.index == 1) {\n url = 'order/detail';\n }\n if (options.index == 2) {\n url = 'orderRent/detail';\n }\n app.request(url + '?order_id=' + options.id, '', 'GET').then(function (res) {//普通订单和日租订单\n uni.hideLoading();\n __f__(\"log\", res, '订单详情', \" at pages/manage/orderDetail.vue:97\");\n\n _this.detail = res.data;\n\n if (\n res.data.orderLocations.length == 0 &&\n res.data.start_location.length == 0 &&\n res.data.end_location.length == 0)\n {\n uni.showToast({\n title: '暂无骑行轨迹~',\n icon: 'none' });\n\n } else {\n var points = res.data.wx_orderLocations;\n var center = parseInt(points.length / 2);\n var obj = {};\n obj.points = points;\n obj.width = 4;\n obj.color = '#d56a23';\n obj.borderWidth = 3;\n obj.borderColor = '#d56a23';\n _this.polyline = _this.polyline.concat(obj);\n\n // console.log(self.data.polyline, '折线')\n //添加开始结束点\n if (points.length > 0) {\n var maker = [];\n maker = maker.concat(points[0]);\n maker = maker.concat(points[points.length - 1]);\n for (var i = 0; i < maker.length; i++) {\n maker[i].width = 32;\n maker[i].height = 32;\n maker[i].zIndex = 1111;\n }\n //在地图上显示两个坐标\n // maker[0].iconPath = 'http://resource.bike.hanyiyun.com/weapp/start1.png'\n // maker[1].iconPath = 'http://resource.bike.hanyiyun.com/weapp/end1.png'\n maker[0].iconPath = '../../static/img/start1.png';\n maker[1].iconPath = '../../static/img/end1.png';\n\n _this.markers = maker,\n _this.longitude = points[center].longitude,\n _this.latitude = points[center].latitude;\n\n }\n }\n });\n },\n methods: {\n phoneCall: function phoneCall(e) {\n __f__(\"log\", e, \"这是电话号码\", \" at pages/manage/orderDetail.vue:148\");\n uni.makePhoneCall({\n phoneNumber: e });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL29yZGVyRGV0YWlsLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVFQSxtQjtBQUNBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0EsZ0JBREEsRUFDQTtBQUNBLGtCQUZBLEVBRUE7QUFDQSw0QkFIQTtBQUlBLHdCQUpBO0FBS0EsaUJBTEEsQ0FLQTtBQUxBO0FBT0EsR0FUQTtBQVVBLFFBVkEsa0JBVUEsT0FWQSxFQVVBO0FBQ0E7QUFDQSxxQkFEQTs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHlDQURBO0FBRUEsdUNBSEE7QUFJQTtBQUNBO0FBQ0EsMEJBREE7QUFFQSxzQkFGQTs7QUFJQSxPQVRBLE1BU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvREFEQTtBQUVBLGtEQUZBOztBQUlBO0FBQ0E7QUFDQSxLQWpEQTtBQWtEQSxHQXhFQTtBQXlFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQURBOztBQUdBLEtBTkEsRUF6RUEsRSIsImZpbGUiOiIyNTguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdFx0PG1hcCBpZD1cIm1hcFwiIDpsb25naXR1ZGU9XCJsb25naXR1ZGVcIiA6bGF0aXR1ZGU9XCJsYXRpdHVkZVwiIHNjYWxlPVwiMTRcIiA6bWFya2Vycz1cIm1hcmtlcnNcIiA6cG9seWxpbmU9XCJwb2x5bGluZVwiPjwvbWFwPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJsaXN0MVwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlclwiPlxyXG5cdFx0XHRcdFx0PHRleHQ+6K6i5Y2V5oC76K6h77yae3tkZXRhaWwucGF5X21vbmV5fX08L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dD7osIPluqbotLnnlKjvvJp7e2RldGFpbC5kaXNwYXRjaF9tb25leX19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyXCI+XHJcblx0XHRcdFx0XHQ8dGV4dD7orqLljZXnirbmgIHvvJp7e2RldGFpbC5vcmRlcl9zdGF0dXN9fTwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0PumqkeihjOi0ueeUqO+8mnt7ZGV0YWlsLnRpbWVfbW9uZXl9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgQGNsaWNrPVwiXCIgIGhvdmVyLXN0b3AtcHJvcGFnYXRpb24gY2xhc3M9XCJ1c2VyXCI+XHJcblx0XHRcdFx0PHRleHQgc3R5bGU9XCJ3aWR0aDoyNzBycHg7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6aW5saW5lLWJsb2NrO1wiPueUqOaIt++8mnt7ZGV0YWlsLm5pY2tuYW1lfX08L3RleHQ+XHJcblx0XHRcdFx0PHRleHQgQGNsaWNrPVwicGhvbmVDYWxsKGRldGFpbC5tb2JpbGUpXCI+e3tkZXRhaWwubW9iaWxlfX3vvIjngrnlh7vlj6/mi6jmiZPvvIk8L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZGlzY291bnRzXCI+XHJcblx0XHRcdDx2aWV3PuaAu+S8mOaDoOmHkemine+8mnt7ZGV0YWlsLnByZWZlcmVudGlhbF9tb25leX19PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6MTBycHg7XCI+5LyY5oOg5pa55byP77yae3tkZXRhaWwucHJlZmVyZW50aWFsX3R5cGVfbmFtZX19PC92aWV3PlxyXG5cdFx0XHQ8IS0tIDx2aWV3PlxyXG5cdFx0XHRcdDx2aWV3PumqkeihjOWNoeS8mOaDoO+8mnt7ZGV0YWlsLmNhcmRfcHJlZmVyZW50aWFsX21vbmV5IT1cIjAuMDBcIj9kZXRhaWwuY2FyZF9wcmVmZXJlbnRpYWxfbW9uZXk6J+aXoOS8mOaDoCd9fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6MTBycHg7XCI+5LyY5oOg5Yi45LyY5oOg77yae3tkZXRhaWwuY291cG9uX3ByZWZlcmVudGlhbF9tb25leSE9XCIwLjAwXCI/ZGV0YWlsLmNvdXBvbl9wcmVmZXJlbnRpYWxfbW9uZXk6J+aXoOS8mOaDoCd9fTwvdmlldz5cclxuXHRcdFx0PC92aWV3PiAtLT5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwibGlzdDJcIj5cclxuXHRcdFx0PHZpZXc+6L2m6L6G57yW56CB77yae3tkZXRhaWwuYmlrZV9ub319PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJsaXN0MlwiPlxyXG5cdFx0XHQ8dmlldz7lvIDlp4vml7bpl7TvvJp7e2RldGFpbC5zdGFydF91c2VfYmlrZV90aW1lfX08L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImxpc3QyXCI+XHJcblx0XHRcdDx2aWV3Pue7k+adn+aXtumXtO+8mnt7ZGV0YWlsLmVuZF91c2VfYmlrZV90aW1lfX08L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImxpc3QyXCI+XHJcblx0XHRcdDx2aWV3PuWkh+azqO+8mnt7ZGV0YWlsLnJlbWFyaz9kZXRhaWwucmVtYXJrOifml6AnfX08L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cInRhYmxlXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidHJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpbWVcIj7ml7bpl7Q8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcGVyYXRlXCI+5pON5L2cPC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDxibG9jayAgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZGV0YWlsLndhbGxldExvZ3NcIiA6a2V5PSdpbmRleCc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0clwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aW1lXCI+e3tpdGVtLmNyZWF0ZWRfYXR9fTwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3BlcmF0ZVwiPnt7aXRlbS5uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFxyXG5cdFx0XHQ8L2Jsb2NrPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm5vT3BlcmF0ZSBmbGV4Q1wiIHYtaWY9J2RldGFpbC53YWxsZXRMb2dzPT0wJz7mmoLml6DmlbDmja48L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cInRhYmxlXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidHJcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpbWVcIj7ml7bpl7Q8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcGVyYXRlXCI+5pON5L2cPC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDxibG9jayAgdi1mb3I9XCIoaXRlbSxpbmRleDEpIGluIGRldGFpbC5vcmRlcl9iaWtlX29wZXJhdGVzXCIgOmtleT0naW5kZXgxJz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRyXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpbWVcIj57e2l0ZW0uY3JlYXRlZF9hdH19PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcGVyYXRlXCI+e3tpdGVtLm5hbWV9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFxyXG5cdFx0XHQ8L2Jsb2NrPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm5vT3BlcmF0ZSBmbGV4Q1wiIHYtaWY9J2RldGFpbC5vcmRlcl9iaWtlX29wZXJhdGVzPT0wJz7mmoLml6DmlbDmja48L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwPWdldEFwcCgpXHJcblx0ZXhwb3J0IGRlZmF1bHR7XHJcblx0XHRkYXRhKCl7XHJcblx0XHRcdHJldHVybntcclxuXHRcdFx0XHQgICAgZGV0YWlsOiBbXSwgLy/orqLljZXor6bmg4VcclxuXHRcdFx0XHQgICAgcG9seWxpbmU6IFtdLCAvL+aKmOe6v1xyXG5cdFx0XHRcdCAgICBsb25naXR1ZGU6IDExMy4zMjQ1MjExLFxyXG5cdFx0XHRcdCAgICBsYXRpdHVkZTogMjMuMTAyMjksXHJcblx0XHRcdFx0ICAgIG1hcmtlcnM6IFtdIC8v5qCH6K6w54K5XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQob3B0aW9ucykge1xyXG5cdFx0XHQgdW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0ICAgICAgdGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHQgICAgfSlcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQgICAgdmFyIHVybCA9ICcnO1xyXG5cdFx0XHRcdCAgICBpZihvcHRpb25zLmluZGV4PT0xKXtcclxuXHRcdFx0XHQgICAgICB1cmwgPSAnb3JkZXIvZGV0YWlsJ1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0ICAgIGlmKG9wdGlvbnMuaW5kZXg9PTIpe1xyXG5cdFx0XHRcdCAgICAgIHVybCA9ICdvcmRlclJlbnQvZGV0YWlsJ1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0ICAgIGFwcC5yZXF1ZXN0KHVybCsnP29yZGVyX2lkPScgKyBvcHRpb25zLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHsgIC8v5pmu6YCa6K6i5Y2V5ZKM5pel56ef6K6i5Y2VXHJcblx0XHRcdFx0ICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0ICAgICAgY29uc29sZS5sb2cocmVzLCAn6K6i5Y2V6K+m5oOFJyk7XHJcblx0XHRcdFx0ICAgXHJcblx0XHRcdFx0ICAgICAgICB0aGlzLmRldGFpbD1yZXMuZGF0YVxyXG5cdFx0XHRcdCAgICAgXHJcblx0XHRcdFx0ICAgICAgaWYgKFxyXG5cdFx0XHRcdCAgICAgICAgcmVzLmRhdGEub3JkZXJMb2NhdGlvbnMubGVuZ3RoID09IDAgJiZcclxuXHRcdFx0XHQgICAgICAgIHJlcy5kYXRhLnN0YXJ0X2xvY2F0aW9uLmxlbmd0aCA9PSAwICYmXHJcblx0XHRcdFx0ICAgICAgICByZXMuZGF0YS5lbmRfbG9jYXRpb24ubGVuZ3RoID09IDBcclxuXHRcdFx0XHQgICAgICApIHtcclxuXHRcdFx0XHQgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdCAgICAgICAgICB0aXRsZTogJ+aaguaXoOmqkeihjOi9qOi/uX4nLFxyXG5cdFx0XHRcdCAgICAgICAgICBpY29uOiAnbm9uZSdcclxuXHRcdFx0XHQgICAgICAgIH0pXHJcblx0XHRcdFx0ICAgICAgfSBlbHNlIHtcclxuXHRcdFx0XHQgICAgICAgIGxldCBwb2ludHMgPSByZXMuZGF0YS53eF9vcmRlckxvY2F0aW9ucztcclxuXHRcdFx0XHQgICAgICAgIGxldCBjZW50ZXIgPSBwYXJzZUludChwb2ludHMubGVuZ3RoIC8gMik7XHJcblx0XHRcdFx0ICAgICAgICBsZXQgb2JqID0ge307XHJcblx0XHRcdFx0ICAgICAgICBvYmoucG9pbnRzID0gcG9pbnRzO1xyXG5cdFx0XHRcdCAgICAgICAgb2JqLndpZHRoID0gNDtcclxuXHRcdFx0XHQgICAgICAgIG9iai5jb2xvciA9ICcjZDU2YTIzJztcclxuXHRcdFx0XHQgICAgICAgIG9iai5ib3JkZXJXaWR0aCA9IDM7XHJcblx0XHRcdFx0ICAgICAgICBvYmouYm9yZGVyQ29sb3IgPSAnI2Q1NmEyMyc7XHJcblx0XHRcdFx0ICAgICAgICAgIHRoaXMucG9seWxpbmU9dGhpcy5wb2x5bGluZS5jb25jYXQob2JqKVxyXG5cdFx0XHRcdCAgICAgICBcclxuXHRcdFx0XHQgICAgICAgIC8vIGNvbnNvbGUubG9nKHNlbGYuZGF0YS5wb2x5bGluZSwgJ+aKmOe6vycpXHJcblx0XHRcdFx0ICAgICAgICAvL+a3u+WKoOW8gOWni+e7k+adn+eCuVxyXG5cdFx0XHRcdCAgICAgICAgaWYgKHBvaW50cy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0ICAgICAgICAgIHZhciBtYWtlciA9IFtdO1xyXG5cdFx0XHRcdCAgICAgICAgICBtYWtlciA9IG1ha2VyLmNvbmNhdChwb2ludHNbMF0pO1xyXG5cdFx0XHRcdCAgICAgICAgICBtYWtlciA9IG1ha2VyLmNvbmNhdChwb2ludHNbcG9pbnRzLmxlbmd0aCAtIDFdKVxyXG5cdFx0XHRcdCAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1ha2VyLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0ICAgICAgICAgICAgbWFrZXJbaV0ud2lkdGggPSAzMjtcclxuXHRcdFx0XHQgICAgICAgICAgICBtYWtlcltpXS5oZWlnaHQgPSAzMjtcclxuXHRcdFx0XHQgICAgICAgICAgICBtYWtlcltpXS56SW5kZXggPSAxMTExO1xyXG5cdFx0XHRcdCAgICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICAgIC8v5Zyo5Zyw5Zu+5LiK5pi+56S65Lik5Liq5Z2Q5qCHXHJcblx0XHRcdFx0ICAgICAgICAgIC8vIG1ha2VyWzBdLmljb25QYXRoID0gJ2h0dHA6Ly9yZXNvdXJjZS5iaWtlLmhhbnlpeXVuLmNvbS93ZWFwcC9zdGFydDEucG5nJ1xyXG5cdFx0XHRcdCAgICAgICAgICAvLyBtYWtlclsxXS5pY29uUGF0aCA9ICdodHRwOi8vcmVzb3VyY2UuYmlrZS5oYW55aXl1bi5jb20vd2VhcHAvZW5kMS5wbmcnXHJcblx0XHRcdFx0XHRcdCAgbWFrZXJbMF0uaWNvblBhdGggPSAnLi4vLi4vc3RhdGljL2ltZy9zdGFydDEucG5nJ1xyXG5cdFx0XHRcdFx0XHQgIG1ha2VyWzFdLmljb25QYXRoID0gJy4uLy4uL3N0YXRpYy9pbWcvZW5kMS5wbmcnXHJcblx0XHRcdFx0ICAgICAgICAgICAgIFxyXG5cdFx0XHRcdCAgICAgICAgICAgdGhpcy5tYXJrZXJzPW1ha2VyLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIHRoaXMubG9uZ2l0dWRlPXBvaW50c1tjZW50ZXJdLmxvbmdpdHVkZSxcclxuXHRcdFx0XHQgICAgICAgICAgICB0aGlzLmxhdGl0dWRlPXBvaW50c1tjZW50ZXJdLmxhdGl0dWRlXHJcblx0XHRcdFx0ICAgICAgICAgXHJcblx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgfVxyXG5cdFx0XHRcdCAgICB9KVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6e1xyXG5cdFx0XHRwaG9uZUNhbGw6ZnVuY3Rpb24oZSl7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSxcIui/meaYr+eUteivneWPt+eggVwiKVxyXG5cdFx0XHRcdFx0XHQgICB1bmkubWFrZVBob25lQ2FsbCh7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgcGhvbmVOdW1iZXI6IGVcclxuXHRcdFx0XHRcdFx0ICAgICAgfSlcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblx0Lm1hcHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA0OTBycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyNHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwRUU3RkU7XHJcblxyXG5cdH1cclxuXHRwYWdlIHtcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdCAgYmFja2dyb3VuZDogI2VlZTtcclxuXHR9XHJcblx0XHJcblx0LmJveCB7XHJcblx0ICB3aWR0aDogMTAwJTtcclxuXHQgIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHQgIHBhZGRpbmctYm90dG9tOiAzMHJweDtcclxuXHR9XHJcblx0XHJcblx0LmJveCBtYXAge1xyXG5cdCAgd2lkdGg6IDEwMCU7XHJcblx0ICBoZWlnaHQ6IDQ5MHJweDtcclxuXHQgIG1hcmdpbi1ib3R0b206IDI0cnB4O1xyXG5cdH1cclxuXHRcclxuXHQuYm94IC5saXN0MSB7XHJcblx0ICBoZWlnaHQ6IDE1OXJweDtcclxuXHQgIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdCAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cdFxyXG5cdC5kaXNjb3VudHMge1xyXG5cdCAgLyogaGVpZ2h0OiAxMDRycHg7ICovXHJcblx0ICBtYXJnaW4tdG9wOiAxMHJweDtcclxuXHQgIHBhZGRpbmc6IDE1cnB4IDAgMTVycHggMzBycHg7XHJcblx0ICAvKiBkaXNwbGF5OiBmbGV4O1xyXG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjsgKi9cclxuXHR9XHJcblx0XHJcblx0LyogLmRpc2NvdW50cz52aWV3IHtcclxuXHQgIG1hcmdpbi10b3A6IDEwcnB4O1xyXG5cdCAgd2lkdGg6IDUwJTtcclxuXHR9ICovXHJcblx0XHJcblx0LnVzZXIge1xyXG5cdCAgZGlzcGxheTogZmxleDtcclxuXHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ICBtYXJnaW4tdG9wOiAxMHJweDtcclxuXHR9XHJcblx0XHJcblx0Lmxpc3QxIHtcclxuXHQgIHBhZGRpbmc6IDAgMCAxNXJweCAzMHJweDtcclxuXHR9XHJcblx0XHJcblx0LmRpc2NvdW50cyxcclxuXHQubGlzdDEge1xyXG5cdCAgd2lkdGg6IDY5MHJweDtcclxuXHQgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0ICBib3gtc2hhZG93OiAwcHggMHB4IDEzcnB4IDBweCByZ2JhKDIxNiwgMjE2LCAyMTYsIDEpO1xyXG5cdCAgYm9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0ICBmb250LXNpemU6IDI2cnB4O1xyXG5cdCAgY29sb3I6IHJnYmEoNzcsIDc3LCA3NywgMSk7XHJcblx0ICBvcGFjaXR5OiAwLjg7XHJcblx0XHJcblx0ICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdH1cclxuXHRcclxuXHQuYm94IC5saXN0MiB7XHJcblx0ICB3aWR0aDogNjkwcnB4O1xyXG5cdCAgaGVpZ2h0OiA4OHJweDtcclxuXHQgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0ICBib3gtc2hhZG93OiAwcHggMHB4IDEzcnB4IDBweCByZ2JhKDIxNiwgMjE2LCAyMTYsIDEpO1xyXG5cdCAgYm9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0ICBtYXJnaW4tdG9wOiAxMHJweDtcclxuXHQgIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdCAgZm9udC1zaXplOiAyNnJweDtcclxuXHQgIGNvbG9yOiByZ2JhKDc3LCA3NywgNzcsIDEpO1xyXG5cdH1cclxuXHRcclxuXHQuYm94IC5saXN0MiB2aWV3IHtcclxuXHQgIHBhZGRpbmctbGVmdDogMzBycHg7XHJcblx0fVxyXG5cdFxyXG5cdC5vcmRlciB7XHJcblx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdCAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHQgIHdpZHRoOiA1MCU7XHJcblx0fVxyXG5cdFxyXG5cdC5vcmRlciB0ZXh0IHtcclxuXHQgIG1hcmdpbi10b3A6IDEwcnB4O1xyXG5cdH1cclxuXHRcclxuXHRcclxuXHRcclxuXHRcclxuXHQudGFibGUge1xyXG5cdCAgbWFyZ2luLXRvcDogMTBycHg7XHJcblx0fVxyXG5cdFxyXG5cdC50ciB7XHJcblx0ICBwYWRkaW5nOiA1cnB4IDA7XHJcblx0fVxyXG5cdFxyXG5cdC50cixcclxuXHQubm9PcGVyYXRlIHtcclxuXHQgIGJhY2tncm91bmQ6ICNmZmY7XHJcblx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdCAgd2lkdGg6IDY5MHJweDtcclxuXHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0ICBib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNFQkVFRjU7XHJcblx0fVxyXG5cdFxyXG5cdC50cjpmaXJzdC1jaGlsZCB7XHJcblx0ICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHJweDtcclxuXHQgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHJweDtcclxuXHR9XHJcblx0XHJcblx0LnRyOmxhc3QtY2hpbGQge1xyXG5cdCAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBycHg7XHJcblx0ICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBycHg7XHJcblx0fVxyXG5cdFxyXG5cdC50aW1lIHtcclxuXHQgIHdpZHRoOiA0MiU7XHJcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ICBib3JkZXItcmlnaHQ6IDFycHggc29saWQgI0VCRUVGNTtcclxuXHQgIGhlaWdodDogMTAwJTtcclxuXHR9XHJcblx0XHJcblx0Lm9wZXJhdGUge1xyXG5cdCAgd2lkdGg6IDU4JTtcclxuXHQgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0fVxyXG5cdFxyXG5cdC50aW1lLFxyXG5cdC5vcGVyYXRlIHtcclxuXHQgIGZvbnQtc2l6ZTogMjRycHg7XHJcblx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdCAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0ICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdCAgZmxleC13cmFwOiB3cmFwO1xyXG5cdCAgcGFkZGluZzogMTNycHggMDtcclxuXHR9XHJcblx0XHJcblx0LnRoIHtcclxuXHQgIHdpZHRoOiA1MCU7XHJcblx0ICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ICBmb250LXNpemU6IDI4cnB4O1xyXG5cdH1cclxuXHRcclxuXHQubm9PcGVyYXRlIHtcclxuXHQgIGZvbnQtc2l6ZTogMjZycHg7XHJcblx0ICBoZWlnaHQ6IDY2cnB4O1xyXG5cdH1cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///258\n");
  28296. /***/ }),
  28297. /* 259 */
  28298. /*!************************************************************************!*\
  28299. !*** C:/Users/001/Desktop/运维端/pages/manage/bikeDetail.vue?mpType=page ***!
  28300. \************************************************************************/
  28301. =======
  28302. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n detail: [], //订单详情\n polyline: [], //折线\n longitude: 113.3245211,\n latitude: 23.10229,\n markers: [] //标记点\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n var url = '';\n if (options.index == 1) {\n url = 'order/detail';\n }\n if (options.index == 2) {\n url = 'orderRent/detail';\n }\n app.request(url + '?order_id=' + options.id, '', 'GET').then(function (res) {//普通订单和日租订单\n uni.hideLoading();\n __f__(\"log\", res, '订单详情', \" at pages/manage/orderDetail.vue:97\");\n\n _this.detail = res.data;\n\n if (\n res.data.orderLocations.length == 0 &&\n res.data.start_location.length == 0 &&\n res.data.end_location.length == 0)\n {\n uni.showToast({\n title: '暂无骑行轨迹~',\n icon: 'none' });\n\n } else {\n var points = res.data.wx_orderLocations;\n var center = parseInt(points.length / 2);\n var obj = {};\n obj.points = points;\n obj.width = 4;\n obj.color = '#d56a23';\n obj.borderWidth = 3;\n obj.borderColor = '#d56a23';\n _this.polyline = _this.polyline.concat(obj);\n\n // console.log(self.data.polyline, '折线')\n //添加开始结束点\n if (points.length > 0) {\n var maker = [];\n maker = maker.concat(points[0]);\n maker = maker.concat(points[points.length - 1]);\n for (var i = 0; i < maker.length; i++) {\n maker[i].width = 32;\n maker[i].height = 32;\n maker[i].zIndex = 1111;\n }\n //在地图上显示两个坐标\n // maker[0].iconPath = 'http://resource.bike.hanyiyun.com/weapp/start1.png'\n // maker[1].iconPath = 'http://resource.bike.hanyiyun.com/weapp/end1.png'\n maker[0].iconPath = '../../static/img/start1.png';\n maker[1].iconPath = '../../static/img/end1.png';\n\n _this.markers = maker,\n _this.longitude = points[center].longitude,\n _this.latitude = points[center].latitude;\n\n }\n }\n });\n },\n methods: {\n phoneCall: function phoneCall(e) {\n __f__(\"log\", e, \"这是电话号码\", \" at pages/manage/orderDetail.vue:148\");\n uni.makePhoneCall({\n phoneNumber: e });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL29yZGVyRGV0YWlsLnZ1ZSJdLCJuYW1lcyI6WyJhcHAiLCJnZXRBcHAiLCJkYXRhIiwiZGV0YWlsIiwicG9seWxpbmUiLCJsb25naXR1ZGUiLCJsYXRpdHVkZSIsIm1hcmtlcnMiLCJvbkxvYWQiLCJvcHRpb25zIiwidW5pIiwic2hvd0xvYWRpbmciLCJ0aXRsZSIsInVybCIsImluZGV4IiwicmVxdWVzdCIsImlkIiwidGhlbiIsInJlcyIsImhpZGVMb2FkaW5nIiwib3JkZXJMb2NhdGlvbnMiLCJsZW5ndGgiLCJzdGFydF9sb2NhdGlvbiIsImVuZF9sb2NhdGlvbiIsInNob3dUb2FzdCIsImljb24iLCJwb2ludHMiLCJ3eF9vcmRlckxvY2F0aW9ucyIsImNlbnRlciIsInBhcnNlSW50Iiwib2JqIiwid2lkdGgiLCJjb2xvciIsImJvcmRlcldpZHRoIiwiYm9yZGVyQ29sb3IiLCJjb25jYXQiLCJtYWtlciIsImkiLCJoZWlnaHQiLCJ6SW5kZXgiLCJpY29uUGF0aCIsIm1ldGhvZHMiLCJwaG9uZUNhbGwiLCJlIiwibWFrZVBob25lQ2FsbCIsInBob25lTnVtYmVyIl0sIm1hcHBpbmdzIjoicUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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Q0FBQ0MsQ0FBRCxDQUFMLENBQVNFLE1BQVQsR0FBa0IsSUFBbEI7QUFDRDtBQUNEO0FBQ0E7QUFDQTtBQUNOSCxlQUFLLENBQUMsQ0FBRCxDQUFMLENBQVNJLFFBQVQsR0FBb0IsNkJBQXBCO0FBQ0FKLGVBQUssQ0FBQyxDQUFELENBQUwsQ0FBU0ksUUFBVCxHQUFvQiwyQkFBcEI7O0FBRU8sZUFBSSxDQUFDakMsT0FBTCxHQUFhNkIsS0FBYjtBQUNDLGVBQUksQ0FBQy9CLFNBQUwsR0FBZXFCLE1BQU0sQ0FBQ0UsTUFBRCxDQUFOLENBQWV2QixTQUQvQjtBQUVDLGVBQUksQ0FBQ0MsUUFBTCxHQUFjb0IsTUFBTSxDQUFDRSxNQUFELENBQU4sQ0FBZXRCLFFBRjlCOztBQUlGO0FBQ0Y7QUFDRixLQWpERDtBQWtETCxHQXhFWTtBQXlFYm1DLFNBQU8sRUFBQztBQUNQQyxhQUFTLEVBQUMsbUJBQVNDLENBQVQsRUFBVztBQUNwQixtQkFBWUEsQ0FBWixFQUFjLFFBQWQ7QUFDS2pDLFNBQUcsQ0FBQ2tDLGFBQUosQ0FBa0I7QUFDYkMsbUJBQVcsRUFBRUYsQ0FEQSxFQUFsQjs7QUFHTCxLQU5NLEVBekVLLEUiLCJmaWxlIjoiOTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwPWdldEFwcCgpXG5leHBvcnQgZGVmYXVsdHtcblx0ZGF0YSgpe1xuXHRcdHJldHVybntcblx0XHRcdCAgICBkZXRhaWw6IFtdLCAvL+iuouWNleivpuaDhVxuXHRcdFx0ICAgIHBvbHlsaW5lOiBbXSwgLy/mipjnur9cblx0XHRcdCAgICBsb25naXR1ZGU6IDExMy4zMjQ1MjExLFxuXHRcdFx0ICAgIGxhdGl0dWRlOiAyMy4xMDIyOSxcblx0XHRcdCAgICBtYXJrZXJzOiBbXSAvL+agh+iusOeCuVxuXHRcdH1cblx0fSxcblx0b25Mb2FkKG9wdGlvbnMpIHtcblx0XHQgdW5pLnNob3dMb2FkaW5nKHtcblx0XHQgICAgICB0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0ICAgIH0pXG5cdFx0XHRcblx0XHRcdCAgICB2YXIgdXJsID0gJyc7XG5cdFx0XHQgICAgaWYob3B0aW9ucy5pbmRleD09MSl7XG5cdFx0XHQgICAgICB1cmwgPSAnb3JkZXIvZGV0YWlsJ1xuXHRcdFx0ICAgIH1cblx0XHRcdCAgICBpZihvcHRpb25zLmluZGV4PT0yKXtcblx0XHRcdCAgICAgIHVybCA9ICdvcmRlclJlbnQvZGV0YWlsJ1xuXHRcdFx0ICAgIH1cblx0XHRcdCAgICBhcHAucmVxdWVzdCh1cmwrJz9vcmRlcl9pZD0nICsgb3B0aW9ucy5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7ICAvL+aZrumAmuiuouWNleWSjOaXpeenn+iuouWNlVxuXHRcdFx0ICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHQgICAgICBjb25zb2xlLmxvZyhyZXMsICforqLljZXor6bmg4UnKTtcblx0XHRcdCAgIFxuXHRcdFx0ICAgICAgICB0aGlzLmRldGFpbD1yZXMuZGF0YVxuXHRcdFx0ICAgICBcblx0XHRcdCAgICAgIGlmIChcblx0XHRcdCAgICAgICAgcmVzLmRhdGEub3JkZXJMb2NhdGlvbnMubGVuZ3RoID09IDAgJiZcblx0XHRcdCAgICAgICAgcmVzLmRhdGEuc3RhcnRfbG9jYXRpb24ubGVuZ3RoID09IDAgJiZcblx0XHRcdCAgICAgICAgcmVzLmRhdGEuZW5kX2xvY2F0aW9uLmxlbmd0aCA9PSAwXG5cdFx0XHQgICAgICApIHtcblx0XHRcdCAgICAgICAgdW5pLnNob3dUb2FzdCh7XG5cdFx0XHQgICAgICAgICAgdGl0bGU6ICfmmoLml6DpqpHooYzovajov7l+Jyxcblx0XHRcdCAgICAgICAgICBpY29uOiAnbm9uZSdcblx0XHRcdCAgICAgICAgfSlcblx0XHRcdCAgICAgIH0gZWxzZSB7XG5cdFx0XHQgICAgICAgIGxldCBwb2ludHMgPSByZXMuZGF0YS53eF9vcmRlckxvY2F0aW9ucztcblx0XHRcdCAgICAgICAgbGV0IGNlbnRlciA9IHBhcnNlSW50KHBvaW50cy5sZW5ndGggLyAyKTtcblx0XHRcdCAgICAgICAgbGV0IG9iaiA9IHt9O1xuXHRcdFx0ICAgICAgICBvYmoucG9pbnRzID0gcG9pbnRzO1xuXHRcdFx0ICAgICAgICBvYmoud2lkdGggPSA0O1xuXHRcdFx0ICAgICAgICBvYmouY29sb3IgPSAnI2Q1NmEyMyc7XG5cdFx0XHQgICAgICAgIG9iai5ib3JkZXJXaWR0aCA9IDM7XG5cdFx0XHQgICAgICAgIG9iai5ib3JkZXJDb2xvciA9ICcjZDU2YTIzJztcblx0XHRcdCAgICAgICAgICB0aGlzLnBvbHlsaW5lPXRoaXMucG9seWxpbmUuY29uY2F0KG9iailcblx0XHRcdCAgICAgICBcblx0XHRcdCAgICAgICAgLy8gY29uc29sZS5sb2coc2VsZi5kYXRhLnBvbHlsaW5lLCAn5oqY57q/Jylcblx0XHRcdCAgICAgICAgLy/mt7vliqDlvIDlp4vnu5PmnZ/ngrlcblx0XHRcdCAgICAgICAgaWYgKHBvaW50cy5sZW5ndGggPiAwKSB7XG5cdFx0XHQgICAgICAgICAgdmFyIG1ha2VyID0gW107XG5cdFx0XHQgICAgICAgICAgbWFrZXIgPSBtYWtlci5jb25jYXQocG9pbnRzWzBdKTtcblx0XHRcdCAgICAgICAgICBtYWtlciA9IG1ha2VyLmNvbmNhdChwb2ludHNbcG9pbnRzLmxlbmd0aCAtIDFdKVxuXHRcdFx0ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFrZXIubGVuZ3RoOyBpKyspIHtcblx0XHRcdCAgICAgICAgICAgIG1ha2VyW2ldLndpZHRoID0gMzI7XG5cdFx0XHQgICAgICAgICAgICBtYWtlcltpXS5oZWlnaHQgPSAzMjtcblx0XHRcdCAgICAgICAgICAgIG1ha2VyW2ldLnpJbmRleCA9IDExMTE7XG5cdFx0XHQgICAgICAgICAgfVxuXHRcdFx0ICAgICAgICAgIC8v5Zyo5Zyw5Zu+5LiK5pi+56S65Lik5Liq5Z2Q5qCHXG5cdFx0XHQgICAgICAgICAgLy8gbWFrZXJbMF0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLmJpa2UuaGFueWl5dW4uY29tL3dlYXBwL3N0YXJ0MS5wbmcnXG5cdFx0XHQgICAgICAgICAgLy8gbWFrZXJbMV0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLmJpa2UuaGFueWl5dW4uY29tL3dlYXBwL2VuZDEucG5nJ1xuXHRcdFx0XHRcdCAgbWFrZXJbMF0uaWNvblBhdGggPSAnLi4vLi4vc3RhdGljL2ltZy9zdGFydDEucG5nJ1xuXHRcdFx0XHRcdCAgbWFrZXJbMV0uaWNvblBhdGggPSAnLi4vLi4vc3RhdGljL2ltZy9lbmQxLnBuZydcblx0XHRcdCAgICAgICAgICAgICBcblx0XHRcdCAgICAgICAgICAgdGhpcy5tYXJrZXJzPW1ha2VyLFxuXHRcdFx0ICAgICAgICAgICAgdGhpcy5sb25naXR1ZGU9cG9pbnRzW2NlbnRlcl0ubG9uZ2l0dWRlLFxuXHRcdFx0ICAgICAgICAgICAgdGhpcy5sYXRpdHVkZT1wb2ludHNbY2VudGVyXS5sYXRpdHVkZVxuXHRcdFx0ICAgICAgICAgXG5cdFx0XHQgICAgICAgIH1cblx0XHRcdCAgICAgIH1cblx0XHRcdCAgICB9KVxuXHR9LFxuXHRtZXRob2RzOntcblx0XHRwaG9uZUNhbGw6ZnVuY3Rpb24oZSl7XG5cdFx0XHRjb25zb2xlLmxvZyhlLFwi6L+Z5piv55S16K+d5Y+356CBXCIpXG5cdFx0XHRcdFx0ICAgdW5pLm1ha2VQaG9uZUNhbGwoe1xuXHRcdFx0XHRcdCAgICAgICAgcGhvbmVOdW1iZXI6IGVcblx0XHRcdFx0XHQgICAgICB9KVxuXHRcdH0sXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///92\n");
  28303. /***/ }),
  28304. /* 93 */
  28305. /*!*************************************************************************************!*\
  28306. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/bikeDetail.vue?mpType=page ***!
  28307. \*************************************************************************************/
  28308. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28309. /*! no static exports found */
  28310. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28311. "use strict";
  28312. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bikeDetail.vue?vue&type=template&id=70443e23&mpType=page */ 260);\n/* harmony import */ var _bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bikeDetail.vue?vue&type=script&lang=js&mpType=page */ 262);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/bikeDetail.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDs7O0FBR3BFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjU5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9iaWtlRGV0YWlsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03MDQ0M2UyMyZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vYmlrZURldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vYmlrZURldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvYmlrZURldGFpbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///259\n");
  28313. /***/ }),
  28314. <<<<<<< HEAD
  28315. /* 260 */
  28316. /*!******************************************************************************************************!*\
  28317. !*** C:/Users/001/Desktop/运维端/pages/manage/bikeDetail.vue?vue&type=template&id=70443e23&mpType=page ***!
  28318. \******************************************************************************************************/
  28319. =======
  28320. /* 94 */
  28321. /*!*******************************************************************************************************************!*\
  28322. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/bikeDetail.vue?vue&type=template&id=70443e23&mpType=page ***!
  28323. \*******************************************************************************************************************/
  28324. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28325. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  28326. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28327. "use strict";
  28328. __webpack_require__.r(__webpack_exports__);
  28329. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./bikeDetail.vue?vue&type=template&id=70443e23&mpType=page */ 261);
  28330. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  28331. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  28332. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  28333. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_template_id_70443e23_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  28334. /***/ }),
  28335. <<<<<<< HEAD
  28336. /* 261 */
  28337. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28338. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/bikeDetail.vue?vue&type=template&id=70443e23&mpType=page ***!
  28339. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28340. =======
  28341. /* 95 */
  28342. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28343. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/bikeDetail.vue?vue&type=template&id=70443e23&mpType=page ***!
  28344. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28345. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28346. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  28347. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28348. "use strict";
  28349. __webpack_require__.r(__webpack_exports__);
  28350. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  28351. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  28352. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  28353. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  28354. var components
  28355. var render = function() {
  28356. var _vm = this
  28357. var _h = _vm.$createElement
  28358. var _c = _vm._self._c || _h
  28359. return _c(
  28360. "view",
  28361. { staticClass: _vm._$s(0, "sc", "user-detail"), attrs: { _i: 0 } },
  28362. [
  28363. _c(
  28364. "view",
  28365. {
  28366. staticClass: _vm._$s(1, "sc", "user-detail-message"),
  28367. attrs: { _i: 1 }
  28368. },
  28369. [
  28370. _c("view", [
  28371. _c("text", [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.detail.bike_no)))])
  28372. ]),
  28373. _c("view", [
  28374. _c("text", [
  28375. _vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.detail.area_name)))
  28376. ])
  28377. ]),
  28378. _c("view", [
  28379. _c("text", [
  28380. _vm._v(_vm._$s(7, "t0-0", _vm._s(_vm.detail.battery_power)))
  28381. ])
  28382. ]),
  28383. _c("view", [
  28384. _c("text"),
  28385. _c(
  28386. "text",
  28387. { staticClass: _vm._$s(10, "sc", "bike-zk"), attrs: { _i: 10 } },
  28388. [_vm._v(_vm._$s(10, "t0-0", _vm._s(_vm.detail.tab_name)))]
  28389. )
  28390. ])
  28391. ]
  28392. ),
  28393. _vm._l(_vm._$s(11, "f", { forItems: _vm.carList }), function(
  28394. item,
  28395. index,
  28396. $20,
  28397. $30
  28398. ) {
  28399. return _c(
  28400. "view",
  28401. {
  28402. key: _vm._$s(11, "f", { forIndex: $20, key: index }),
  28403. staticClass: _vm._$s("11-" + $30, "sc", "user-account"),
  28404. attrs: { _i: "11-" + $30 },
  28405. on: {
  28406. click: function($event) {
  28407. return _vm.skip(index)
  28408. }
  28409. }
  28410. },
  28411. [
  28412. _c("image", {
  28413. staticClass: _vm._$s("12-" + $30, "sc", "icon"),
  28414. attrs: {
  28415. src: _vm._$s("12-" + $30, "a-src", item.img_url),
  28416. _i: "12-" + $30
  28417. }
  28418. }),
  28419. _c(
  28420. "text",
  28421. {
  28422. staticClass: _vm._$s("13-" + $30, "sc", "account-left"),
  28423. attrs: { _i: "13-" + $30 }
  28424. },
  28425. [_vm._v(_vm._$s("13-" + $30, "t0-0", _vm._s(item.text)))]
  28426. ),
  28427. _c(
  28428. "view",
  28429. {
  28430. staticClass: _vm._$s("14-" + $30, "sc", "account-right"),
  28431. attrs: { _i: "14-" + $30 }
  28432. },
  28433. [
  28434. _c("image", {
  28435. attrs: {
  28436. src: _vm._$s(
  28437. "15-" + $30,
  28438. "a-src",
  28439. __webpack_require__(/*! ../../static/img/right-arrow.png */ 249)
  28440. ),
  28441. _i: "15-" + $30
  28442. }
  28443. })
  28444. ]
  28445. )
  28446. ]
  28447. )
  28448. }),
  28449. _c(
  28450. "view",
  28451. { staticClass: _vm._$s(16, "sc", "user-account"), attrs: { _i: 16 } },
  28452. [
  28453. _c("text", {
  28454. staticClass: _vm._$s(17, "sc", "account-left"),
  28455. attrs: { _i: 17 }
  28456. }),
  28457. _c("input", {
  28458. staticClass: _vm._$s(18, "sc", "user-detai-beizhu"),
  28459. attrs: { value: _vm._$s(18, "a-value", _vm.detail.remark), _i: 18 },
  28460. on: { input: _vm.getText }
  28461. }),
  28462. _c("view", {
  28463. staticClass: _vm._$s(19, "sc", "user-detail-bt"),
  28464. attrs: { _i: 19 },
  28465. on: { click: _vm.operate }
  28466. })
  28467. ]
  28468. )
  28469. ],
  28470. 2
  28471. )
  28472. }
  28473. var recyclableRender = false
  28474. var staticRenderFns = []
  28475. render._withStripped = true
  28476. /***/ }),
  28477. <<<<<<< HEAD
  28478. /* 262 */
  28479. /*!************************************************************************************************!*\
  28480. !*** C:/Users/001/Desktop/运维端/pages/manage/bikeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28481. \************************************************************************************************/
  28482. =======
  28483. /* 96 */
  28484. /*!*************************************************************************************************************!*\
  28485. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/bikeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28486. \*************************************************************************************************************/
  28487. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28488. /*! no static exports found */
  28489. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28490. "use strict";
  28491. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./bikeDetail.vue?vue&type=script&lang=js&mpType=page */ 263);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bikeDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdqQixDQUFnQixtbEJBQUcsRUFBQyIsImZpbGUiOiIyNjIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9iaWtlRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9iaWtlRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///262\n");
  28492. /***/ }),
  28493. <<<<<<< HEAD
  28494. /* 263 */
  28495. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28496. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/bikeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28497. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28498. =======
  28499. /* 97 */
  28500. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28501. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/bikeDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28502. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28503. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28504. /*! no static exports found */
  28505. /***/ (function(module, exports, __webpack_require__) {
  28506. "use strict";
  28507. <<<<<<< HEAD
  28508. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n carList: [\n //详情列表\n {\n id: 1,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/position.png\",\n text: \"车辆位置\" },\n\n {\n id: 2,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/scan.png\",\n text: \"扫码位置\" },\n\n {\n id: 3,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/order.png\",\n text: \"最近订单\" },\n\n {\n id: 4,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/lock.png\",\n text: \"开关锁记录\" },\n\n {\n id: 4,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/line.png\",\n text: \"上下线记录\" }],\n\n\n id: '',\n bike_no: '',\n detail: [],\n isDisabled: false, //备注是否修改\n textVal: '' //输入框内容\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n this.bike_no = options.bike_no,\n this.id = options.id;\n app.request('bike/getBikeInfo?bike_no=' + options.bike_no, '', 'GET').then(function (res) {\n uni.hideLoading();\n _this.detail = res.data.bike_info;\n });\n },\n methods: {\n //页面跳转\n skip: function skip(e) {\n __f__(\"log\", e, '这是页面跳转', \" at pages/manage/bikeDetail.vue:85\");\n var idx = parseInt(e);\n var url = '';\n switch (idx) {\n case 0:\n url = '/pages/index/car_position';\n break;\n case 1:\n url = '/pages/manage/scanRecord';\n break;\n case 2:\n url = '/pages/manage/recentOrder';\n break;\n case 3:\n url = '/pages/manage/lockRecord';\n break;\n case 4:\n url = '/pages/manage/lineRecord';\n break;\n default:\n ;}\n\n uni.navigateTo({\n url: url + '?bike_no=' + this.bike_no + '&&id=' + this.id });\n\n },\n getText: function getText(e) {\n this.textVal = e.detail.value;\n },\n operate: function operate() {\n\n var data = {\n remark: this.textVal };\n\n if (this.textVal == '') {\n uni.showToast({\n title: '请填写备注~',\n icon: 'none' });\n\n } else {\n uni.showLoading({\n title: '加载中...' });\n\n app.request('bike/updateRemark/' + this.id, data, 'PUT').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/bikeDetail.vue:130\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '提交成功~',\n icon: 'none' });\n\n }\n });\n }\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2Jpa2VEZXRhaWwudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQkEsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBREE7QUFFQSwwRUFGQTtBQUdBLG9CQUhBLEVBRkE7O0FBT0E7QUFDQSxhQURBO0FBRUEsc0VBRkE7QUFHQSxvQkFIQSxFQVBBOztBQVlBO0FBQ0EsYUFEQTtBQUVBLHVFQUZBO0FBR0Esb0JBSEEsRUFaQTs7QUFpQkE7QUFDQSxhQURBO0FBRUEsc0VBRkE7QUFHQSxxQkFIQSxFQWpCQTs7QUFzQkE7QUFDQSxhQURBO0FBRUEsc0VBRkE7QUFHQSxxQkFIQSxFQXRCQSxDQURBOzs7QUE2QkEsWUE3QkE7QUE4QkEsaUJBOUJBO0FBK0JBLGdCQS9CQTtBQWdDQSx1QkFoQ0EsRUFnQ0E7QUFDQSxpQkFqQ0EsQ0FpQ0E7QUFqQ0E7QUFtQ0EsR0FyQ0E7QUFzQ0EsUUF0Q0Esa0JBc0NBLE9BdENBLEVBc0NBO0FBQ0E7QUFDQSxxQkFEQTs7QUFHQTtBQUNBLHdCQURBO0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FIQTtBQUlBLEdBaERBO0FBaURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQWpCQTs7QUFtQkE7QUFDQSxpRUFEQTs7QUFHQSxLQTVCQTtBQTZCQTtBQUNBO0FBQ0EsS0EvQkE7QUFnQ0E7O0FBRUE7QUFDQSw0QkFEQTs7QUFHQTtBQUNBO0FBQ0EseUJBREE7QUFFQSxzQkFGQTs7QUFJQSxPQUxBLE1BS0E7QUFDQTtBQUNBLHlCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBLDBCQUZBOztBQUlBO0FBQ0EsU0FUQTtBQVVBO0FBQ0EsS0F6REEsRUFqREEsRSIsImZpbGUiOiIyNjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PCEtLSA8dGV4dD7ovabovobor6bmg4U8L3RleHQ+IC0tPlxyXG5cdDx2aWV3IGNsYXNzPVwidXNlci1kZXRhaWxcIj5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cInVzZXItZGV0YWlsLW1lc3NhZ2VcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj48dGV4dD7ovabovobnvJblj7fvvJp7e2RldGFpbC5iaWtlX25vfX08L3RleHQ+PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIlwiPjx0ZXh0PuWcsOWdgO+8mnt7ZGV0YWlsLmFyZWFfbmFtZX19PC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj48dGV4dD7nlLXph4/vvJp7e2RldGFpbC5iYXR0ZXJ5X3Bvd2VyfX0lPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj48dGV4dD7nirbmgIHvvJo8L3RleHQ+PHRleHQgY2xhc3M9XCJiaWtlLXprXCI+e3tkZXRhaWwudGFiX25hbWV9fTwvdGV4dD48L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwidXNlci1hY2NvdW50XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gY2FyTGlzdFwiIDprZXk9J2luZGV4JyBAY2xpY2s9XCJza2lwKGluZGV4KVwiPlxyXG5cdFx0XHQ8aW1hZ2UgY2xhc3M9XCJpY29uXCIgOnNyYz1cIml0ZW0uaW1nX3VybFwiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJhY2NvdW50LWxlZnRcIj57e2l0ZW0udGV4dH19PC90ZXh0PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImFjY291bnQtcmlnaHRcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yaWdodC1hcnJvdy5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLWFjY291bnRcIj5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJhY2NvdW50LWxlZnRcIj7lpIfms6jvvJo8L3RleHQ+XHJcblx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIHZhbHVlPVwiXCIgY2xhc3M9XCJ1c2VyLWRldGFpLWJlaXpodVwiIDp2YWx1ZT1cImRldGFpbC5yZW1hcmtcIiBAaW5wdXQ9XCJnZXRUZXh0XCIgLz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLWRldGFpbC1idFwiIEBjbGljaz1cIm9wZXJhdGVcIj5cclxuXHRcdFx0XHTlrozmiJBcclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRjYXJMaXN0OiBbXHJcblx0XHRcdFx0XHQvL+ivpuaDheWIl+ihqFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRpZDogMSxcclxuXHRcdFx0XHRcdFx0aW1nX3VybDogXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvcG9zaXRpb24ucG5nXCIsXHJcblx0XHRcdFx0XHRcdHRleHQ6IFwi6L2m6L6G5L2N572uXCJcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGlkOiAyLFxyXG5cdFx0XHRcdFx0XHRpbWdfdXJsOiBcImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9zY2FuLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHR0ZXh0OiBcIuaJq+eggeS9jee9rlwiXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRpZDogMyxcclxuXHRcdFx0XHRcdFx0aW1nX3VybDogXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvb3JkZXIucG5nXCIsXHJcblx0XHRcdFx0XHRcdHRleHQ6IFwi5pyA6L+R6K6i5Y2VXCJcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGlkOiA0LFxyXG5cdFx0XHRcdFx0XHRpbWdfdXJsOiBcImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9sb2NrLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHR0ZXh0OiBcIuW8gOWFs+mUgeiusOW9lVwiXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRpZDogNCxcclxuXHRcdFx0XHRcdFx0aW1nX3VybDogXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvbGluZS5wbmdcIixcclxuXHRcdFx0XHRcdFx0dGV4dDogXCLkuIrkuIvnur/orrDlvZVcIlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0aWQ6ICcnLFxyXG5cdFx0XHRcdGJpa2Vfbm86ICcnLFxyXG5cdFx0XHRcdGRldGFpbDogW10sXHJcblx0XHRcdFx0aXNEaXNhYmxlZDogZmFsc2UsIC8v5aSH5rOo5piv5ZCm5L+u5pS5XHJcblx0XHRcdFx0dGV4dFZhbDogJycsIC8v6L6T5YWl5qGG5YaF5a65XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQob3B0aW9ucykge1xyXG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0fSlcclxuXHRcdFx0dGhpcy5iaWtlX25vID0gb3B0aW9ucy5iaWtlX25vLFxyXG5cdFx0XHRcdHRoaXMuaWQgPSBvcHRpb25zLmlkXHJcblx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2dldEJpa2VJbmZvP2Jpa2Vfbm89JyArIG9wdGlvbnMuYmlrZV9ubywgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0dGhpcy5kZXRhaWwgPSByZXMuZGF0YS5iaWtlX2luZm9cclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8v6aG16Z2i6Lez6L2sXHJcblx0XHRcdHNraXA6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCAn6L+Z5piv6aG16Z2i6Lez6L2sJylcclxuXHRcdFx0XHRsZXQgaWR4ID0gcGFyc2VJbnQoZSk7XHJcblx0XHRcdFx0bGV0IHVybCA9ICcnXHJcblx0XHRcdFx0c3dpdGNoIChpZHgpIHtcclxuXHRcdFx0XHRcdGNhc2UgMDpcclxuXHRcdFx0XHRcdFx0dXJsID0gJy9wYWdlcy9pbmRleC9jYXJfcG9zaXRpb24nO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgMTpcclxuXHRcdFx0XHRcdFx0dXJsID0gJy9wYWdlcy9tYW5hZ2Uvc2NhblJlY29yZCc7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSAyOlxyXG5cdFx0XHRcdFx0XHR1cmwgPSAnL3BhZ2VzL21hbmFnZS9yZWNlbnRPcmRlcic7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSAzOlxyXG5cdFx0XHRcdFx0XHR1cmwgPSAnL3BhZ2VzL21hbmFnZS9sb2NrUmVjb3JkJztcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIDQ6XHJcblx0XHRcdFx0XHRcdHVybCA9ICcvcGFnZXMvbWFuYWdlL2xpbmVSZWNvcmQnO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGRlZmF1bHQ6XHJcblx0XHRcdFx0XHRcdDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiB1cmwgKyAnP2Jpa2Vfbm89JyArIHRoaXMuYmlrZV9ubyArICcmJmlkPScgKyB0aGlzLmlkLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGdldFRleHQ6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR0aGlzLnRleHRWYWwgPSBlLmRldGFpbC52YWx1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRvcGVyYXRlOiBmdW5jdGlvbigpIHtcclxuXHJcblx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRyZW1hcms6IHRoaXMudGV4dFZhbFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy50ZXh0VmFsID09ICcnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7floavlhpnlpIfms6h+JyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvdXBkYXRlUmVtYXJrLycgKyB0aGlzLmlkLCBkYXRhLCAnUFVUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DkuqTmiJDlip9+JyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0cGFnZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG5cdH1cclxuXHJcblx0LnVzZXItZGV0YWlsIHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDMwcnB4O1xyXG5cdH1cclxuXHJcblx0LnVzZXItZGV0YWlsLW1lc3NhZ2Uge1xyXG5cdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxNXJweDtcclxuXHRcdHBhZGRpbmc6IDIwcnB4O1xyXG5cdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9kZXRhaWxCZy5wbmcnKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHR9XHJcblxyXG5cdC51c2VyLWFjY291bnQge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0XHRwYWRkaW5nOiAwIDIwcnB4O1xyXG5cdFx0aGVpZ2h0OiA4OHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRsaW5lLWhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTVycHg7XHJcblx0fVxyXG5cclxuXHQuYWNjb3VudC1yaWdodCB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQudXNlci1kZXRhaS1iZWl6aHUge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0Lyogd2lkdGg6IDEwMCU7ICovXHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzBycHg7XHJcblx0XHRib3JkZXI6IHNvbGlkIDFweCAjZDFkMWQxO1xyXG5cdH1cclxuXHJcblx0LnVzZXItZGV0YWlsLWJ0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi10b3A6IDMwcnB4O1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0aGVpZ2h0OiAzOHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzOHJweDtcclxuXHRcdHdpZHRoOiA4MHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxOEQ1Qjk7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cdC5hY2NvdW50LXJpZ2h0IGltYWdlIHtcclxuXHRcdG1hcmdpbi10b3A6IDMwcnB4O1xyXG5cdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdHdpZHRoOiA0MHJweDtcclxuXHR9XHJcblxyXG5cdC5iaWtlLXprIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRoZWlnaHQ6IDI2cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI2cnB4O1xyXG5cdFx0cGFkZGluZzogNXJweCAzMHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIxcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsIHJnYmEoMjU1LCAxMzksIDEwMiwgMSkgMCUsIHJnYmEoMjU0LCA4NywgMzQsIDEpIDEwMCUpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDZycHggMCByZ2JhKDI1NCwgOTQsIDQ0LCAxKTtcclxuXHJcblxyXG5cdH1cclxuXHJcblx0Lmljb24ge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdGhlaWdodDogNDBycHg7XHJcblx0XHR3aWR0aDogNDBycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIycnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMThENUI5O1xyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///263\n");
  28509. /***/ }),
  28510. /* 264 */
  28511. /*!************************************************************************!*\
  28512. !*** C:/Users/001/Desktop/运维端/pages/manage/userDetail.vue?mpType=page ***!
  28513. \************************************************************************/
  28514. =======
  28515. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n carList: [\n //详情列表\n {\n id: 1,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/position.png\",\n text: \"车辆位置\" },\n\n {\n id: 2,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/scan.png\",\n text: \"扫码位置\" },\n\n {\n id: 3,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/order.png\",\n text: \"最近订单\" },\n\n {\n id: 4,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/lock.png\",\n text: \"开关锁记录\" },\n\n {\n id: 4,\n img_url: \"http://resource.weilaibike.com/bike_yunwei/line.png\",\n text: \"上下线记录\" }],\n\n\n id: '',\n bike_no: '',\n detail: [],\n isDisabled: false, //备注是否修改\n textVal: '' //输入框内容\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n this.bike_no = options.bike_no,\n this.id = options.id;\n app.request('bike/getBikeInfo?bike_no=' + options.bike_no, '', 'GET').then(function (res) {\n uni.hideLoading();\n _this.detail = res.data.bike_info;\n });\n },\n methods: {\n //页面跳转\n skip: function skip(e) {\n __f__(\"log\", e, '这是页面跳转', \" at pages/manage/bikeDetail.vue:85\");\n var idx = parseInt(e);\n var url = '';\n switch (idx) {\n case 0:\n url = '/pages/index/car_position';\n break;\n case 1:\n url = '/pages/manage/scanRecord';\n break;\n case 2:\n url = '/pages/manage/recentOrder';\n break;\n case 3:\n url = '/pages/manage/lockRecord';\n break;\n case 4:\n url = '/pages/manage/lineRecord';\n break;\n default:\n ;}\n\n uni.navigateTo({\n url: url + '?bike_no=' + this.bike_no + '&&id=' + this.id });\n\n },\n getText: function getText(e) {\n this.textVal = e.detail.value;\n },\n operate: function operate() {\n\n var data = {\n remark: this.textVal };\n\n if (this.textVal == '') {\n uni.showToast({\n title: '请填写备注~',\n icon: 'none' });\n\n } else {\n uni.showLoading({\n title: '加载中...' });\n\n app.request('bike/updateRemark/' + this.id, data, 'PUT').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/bikeDetail.vue:130\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '提交成功~',\n icon: 'none' });\n\n }\n });\n }\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2Jpa2VEZXRhaWwudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJjYXJMaXN0IiwiaWQiLCJpbWdfdXJsIiwidGV4dCIsImJpa2Vfbm8iLCJkZXRhaWwiLCJpc0Rpc2FibGVkIiwidGV4dFZhbCIsIm9uTG9hZCIsIm9wdGlvbnMiLCJ1bmkiLCJzaG93TG9hZGluZyIsInRpdGxlIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJoaWRlTG9hZGluZyIsImJpa2VfaW5mbyIsIm1ldGhvZHMiLCJza2lwIiwiZSIsImlkeCIsInBhcnNlSW50IiwidXJsIiwibmF2aWdhdGVUbyIsImdldFRleHQiLCJ2YWx1ZSIsIm9wZXJhdGUiLCJyZW1hcmsiLCJzaG93VG9hc3QiLCJpY29uIiwic3RhdHVzQ29kZSJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxHQUFHLEdBQUdDLE1BQU0sRUFBaEIsQztBQUNlO0FBQ2RDLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ05DLGFBQU8sRUFBRTtBQUNSO0FBQ0E7QUFDQ0MsVUFBRSxFQUFFLENBREw7QUFFQ0MsZUFBTyxFQUFFLHlEQUZWO0FBR0NDLFlBQUksRUFBRSxNQUhQLEVBRlE7O0FBT1I7QUFDQ0YsVUFBRSxFQUFFLENBREw7QUFFQ0MsZUFBTyxFQUFFLHFEQUZWO0FBR0NDLFlBQUksRUFBRSxNQUhQLEVBUFE7O0FBWVI7QUFDQ0YsVUFBRSxFQUFFLENBREw7QUFFQ0MsZUFBTyxFQUFFLHNEQUZWO0FBR0NDLFlBQUksRUFBRSxNQUhQLEVBWlE7O0FBaUJSO0FBQ0NGLFVBQUUsRUFBRSxDQURMO0FB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QUVia0Isa0JBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUE7QUFDRCxTQVREO0FBVUE7QUFDRCxLQXpETyxFQWpESyxFIiwiZmlsZSI6Ijk3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKClcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y2FyTGlzdDogW1xuXHRcdFx0XHQvL+ivpuaDheWIl+ihqFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWQ6IDEsXG5cdFx0XHRcdFx0aW1nX3VybDogXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvcG9zaXRpb24ucG5nXCIsXG5cdFx0XHRcdFx0dGV4dDogXCLovabovobkvY3nva5cIlxuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWQ6IDIsXG5cdFx0XHRcdFx0aW1nX3VybDogXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvc2Nhbi5wbmdcIixcblx0XHRcdFx0XHR0ZXh0OiBcIuaJq+eggeS9jee9rlwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpZDogMyxcblx0XHRcdFx0XHRpbWdfdXJsOiBcImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9vcmRlci5wbmdcIixcblx0XHRcdFx0XHR0ZXh0OiBcIuacgOi/keiuouWNlVwiXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpZDogNCxcblx0XHRcdFx0XHRpbWdfdXJsOiBcImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9sb2NrLnBuZ1wiLFxuXHRcdFx0XHRcdHRleHQ6IFwi5byA5YWz6ZSB6K6w5b2VXCJcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkOiA0LFxuXHRcdFx0XHRcdGltZ191cmw6IFwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL2xpbmUucG5nXCIsXG5cdFx0XHRcdFx0dGV4dDogXCLkuIrkuIvnur/orrDlvZVcIlxuXHRcdFx0XHR9XG5cdFx0XHRdLFxuXHRcdFx0aWQ6ICcnLFxuXHRcdFx0YmlrZV9ubzogJycsXG5cdFx0XHRkZXRhaWw6IFtdLFxuXHRcdFx0aXNEaXNhYmxlZDogZmFsc2UsIC8v5aSH5rOo5piv5ZCm5L+u5pS5XG5cdFx0XHR0ZXh0VmFsOiAnJywgLy/ovpPlhaXmoYblhoXlrrlcblx0XHR9XG5cdH0sXG5cdG9uTG9hZChvcHRpb25zKSB7XG5cdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHR9KVxuXHRcdHRoaXMuYmlrZV9ubyA9IG9wdGlvbnMuYmlrZV9ubyxcblx0XHRcdHRoaXMuaWQgPSBvcHRpb25zLmlkXG5cdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvZ2V0QmlrZUluZm8/YmlrZV9ubz0nICsgb3B0aW9ucy5iaWtlX25vLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0dGhpcy5kZXRhaWwgPSByZXMuZGF0YS5iaWtlX2luZm9cblx0XHR9KVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Ly/pobXpnaLot7Povaxcblx0XHRza2lwOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlLCAn6L+Z5piv6aG16Z2i6Lez6L2sJylcblx0XHRcdGxldCBpZHggPSBwYXJzZUludChlKTtcblx0XHRcdGxldCB1cmwgPSAnJ1xuXHRcdFx0c3dpdGNoIChpZHgpIHtcblx0XHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRcdHVybCA9ICcvcGFnZXMvaW5kZXgvY2FyX3Bvc2l0aW9uJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRcdHVybCA9ICcvcGFnZXMvbWFuYWdlL3NjYW5SZWNvcmQnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIDI6XG5cdFx0XHRcdFx0dXJsID0gJy9wYWdlcy9tYW5hZ2UvcmVjZW50T3JkZXInO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIDM6XG5cdFx0XHRcdFx0dXJsID0gJy9wYWdlcy9tYW5hZ2UvbG9ja1JlY29yZCc7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgNDpcblx0XHRcdFx0XHR1cmwgPSAnL3BhZ2VzL21hbmFnZS9saW5lUmVjb3JkJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHQ7XG5cdFx0XHR9XG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdHVybDogdXJsICsgJz9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8gKyAnJiZpZD0nICsgdGhpcy5pZCxcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRnZXRUZXh0OiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLnRleHRWYWwgPSBlLmRldGFpbC52YWx1ZVxuXHRcdH0sXG5cdFx0b3BlcmF0ZTogZnVuY3Rpb24oKSB7XG5cblx0XHRcdGxldCBkYXRhID0ge1xuXHRcdFx0XHRyZW1hcms6IHRoaXMudGV4dFZhbFxuXHRcdFx0fVxuXHRcdFx0aWYgKHRoaXMudGV4dFZhbCA9PSAnJykge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+ivt+Whq+WGmeWkh+azqH4nLFxuXHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL3VwZGF0ZVJlbWFyay8nICsgdGhpcy5pZCwgZGF0YSwgJ1BVVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aPkOS6pOaIkOWKn34nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0sXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///97\n");
  28516. /***/ }),
  28517. /* 98 */
  28518. /*!*************************************************************************************!*\
  28519. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/userDetail.vue?mpType=page ***!
  28520. \*************************************************************************************/
  28521. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28522. /*! no static exports found */
  28523. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28524. "use strict";
  28525. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./userDetail.vue?vue&type=template&id=cc784ae6&mpType=page */ 265);\n/* harmony import */ var _userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./userDetail.vue?vue&type=script&lang=js&mpType=page */ 267);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/userDetail.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDs7O0FBR3BFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjY0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi91c2VyRGV0YWlsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1jYzc4NGFlNiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vdXNlckRldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vdXNlckRldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvdXNlckRldGFpbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///264\n");
  28526. /***/ }),
  28527. <<<<<<< HEAD
  28528. /* 265 */
  28529. /*!******************************************************************************************************!*\
  28530. !*** C:/Users/001/Desktop/运维端/pages/manage/userDetail.vue?vue&type=template&id=cc784ae6&mpType=page ***!
  28531. \******************************************************************************************************/
  28532. =======
  28533. /* 99 */
  28534. /*!*******************************************************************************************************************!*\
  28535. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/userDetail.vue?vue&type=template&id=cc784ae6&mpType=page ***!
  28536. \*******************************************************************************************************************/
  28537. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28538. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  28539. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28540. "use strict";
  28541. __webpack_require__.r(__webpack_exports__);
  28542. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./userDetail.vue?vue&type=template&id=cc784ae6&mpType=page */ 266);
  28543. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  28544. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  28545. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  28546. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_template_id_cc784ae6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  28547. /***/ }),
  28548. <<<<<<< HEAD
  28549. /* 266 */
  28550. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28551. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/userDetail.vue?vue&type=template&id=cc784ae6&mpType=page ***!
  28552. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28553. =======
  28554. /* 100 */
  28555. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28556. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/userDetail.vue?vue&type=template&id=cc784ae6&mpType=page ***!
  28557. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28558. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28559. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  28560. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28561. "use strict";
  28562. __webpack_require__.r(__webpack_exports__);
  28563. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  28564. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  28565. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  28566. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  28567. var components
  28568. var render = function() {
  28569. var _vm = this
  28570. var _h = _vm.$createElement
  28571. var _c = _vm._self._c || _h
  28572. return _c(
  28573. "view",
  28574. { staticClass: _vm._$s(0, "sc", "user-detail"), attrs: { _i: 0 } },
  28575. [
  28576. _c(
  28577. "view",
  28578. {
  28579. staticClass: _vm._$s(1, "sc", "user-detail-message"),
  28580. attrs: { _i: 1 }
  28581. },
  28582. [
  28583. _c("view", [
  28584. _c("text", [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.user.username)))])
  28585. ]),
  28586. _c("view", [
  28587. _c("text", [_vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.user.mobile)))])
  28588. ]),
  28589. _c("view", [
  28590. _c("text", [_vm._v(_vm._$s(7, "t0-0", _vm._s(_vm.user.area)))])
  28591. ])
  28592. ]
  28593. ),
  28594. _c(
  28595. "view",
  28596. { staticClass: _vm._$s(8, "sc", "user-account"), attrs: { _i: 8 } },
  28597. [
  28598. _c("view", {
  28599. staticClass: _vm._$s(9, "sc", "account-left"),
  28600. attrs: { _i: 9 }
  28601. }),
  28602. _c(
  28603. "view",
  28604. {
  28605. staticClass: _vm._$s(10, "sc", "account-right"),
  28606. attrs: { _i: 10 }
  28607. },
  28608. [_vm._v(_vm._$s(10, "t0-0", _vm._s(_vm.user.wallet_money)))]
  28609. )
  28610. ]
  28611. ),
  28612. _c(
  28613. "view",
  28614. { staticClass: _vm._$s(11, "sc", "user-account"), attrs: { _i: 11 } },
  28615. [
  28616. _c("view", {
  28617. staticClass: _vm._$s(12, "sc", "account-left"),
  28618. attrs: { _i: 12 }
  28619. }),
  28620. _c(
  28621. "view",
  28622. {
  28623. staticClass: _vm._$s(13, "sc", "account-right"),
  28624. attrs: { _i: 13 }
  28625. },
  28626. [_vm._v(_vm._$s(13, "t0-0", _vm._s(_vm.user.deposit)))]
  28627. )
  28628. ]
  28629. ),
  28630. _c(
  28631. "view",
  28632. {
  28633. staticClass: _vm._$s(14, "sc", "user-account"),
  28634. attrs: { _i: 14 },
  28635. on: { click: _vm.tap }
  28636. },
  28637. [
  28638. _c("view", {
  28639. staticClass: _vm._$s(15, "sc", "account-left"),
  28640. attrs: { _i: 15 }
  28641. }),
  28642. _c(
  28643. "view",
  28644. {
  28645. staticClass: _vm._$s(16, "sc", "account-right"),
  28646. attrs: { _i: 16 }
  28647. },
  28648. [
  28649. _c("image", {
  28650. attrs: {
  28651. src: _vm._$s(
  28652. 17,
  28653. "a-src",
  28654. __webpack_require__(/*! ../../static/img/right-arrow.png */ 249)
  28655. ),
  28656. _i: 17
  28657. }
  28658. })
  28659. ]
  28660. )
  28661. ]
  28662. ),
  28663. _c(
  28664. "view",
  28665. { staticClass: _vm._$s(18, "sc", "user-account"), attrs: { _i: 18 } },
  28666. [
  28667. _c("view", {
  28668. staticClass: _vm._$s(19, "sc", "account-left"),
  28669. attrs: { _i: 19 }
  28670. }),
  28671. _c("input", {
  28672. staticClass: _vm._$s(20, "sc", "user-detai-beizhu"),
  28673. attrs: { value: _vm._$s(20, "a-value", _vm.user.remark), _i: 20 },
  28674. on: { input: _vm.getText }
  28675. }),
  28676. _c("view", {
  28677. staticClass: _vm._$s(21, "sc", "user-detail-bt"),
  28678. attrs: { _i: 21 },
  28679. on: { click: _vm.operate }
  28680. })
  28681. ]
  28682. )
  28683. ]
  28684. )
  28685. }
  28686. var recyclableRender = false
  28687. var staticRenderFns = []
  28688. render._withStripped = true
  28689. /***/ }),
  28690. <<<<<<< HEAD
  28691. /* 267 */
  28692. /*!************************************************************************************************!*\
  28693. !*** C:/Users/001/Desktop/运维端/pages/manage/userDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28694. \************************************************************************************************/
  28695. =======
  28696. /* 101 */
  28697. /*!*************************************************************************************************************!*\
  28698. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/userDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28699. \*************************************************************************************************************/
  28700. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28701. /*! no static exports found */
  28702. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28703. "use strict";
  28704. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./userDetail.vue?vue&type=script&lang=js&mpType=page */ 268);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_userDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdqQixDQUFnQixtbEJBQUcsRUFBQyIsImZpbGUiOiIyNjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91c2VyRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91c2VyRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///267\n");
  28705. /***/ }),
  28706. <<<<<<< HEAD
  28707. /* 268 */
  28708. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28709. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/userDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28710. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28711. =======
  28712. /* 102 */
  28713. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28714. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/userDetail.vue?vue&type=script&lang=js&mpType=page ***!
  28715. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28716. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28717. /*! no static exports found */
  28718. /***/ (function(module, exports, __webpack_require__) {
  28719. "use strict";
  28720. <<<<<<< HEAD
  28721. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n userId: '', //用户id\n user: [],\n isDisabled: false, //备注是否修改\n textVal: '' //输入框内容\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n this.userId = options.id;\n app.request('user/detail?user_id=' + options.id, '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res.data, \" at pages/manage/userDetail.vue:53\");\n\n _this.user = res.data;\n\n if (res.data.remark) {\n\n _this.isDisabled = true;\n\n }\n });\n __f__(\"log\", options, '这是上个页面传过来的数据', \" at pages/manage/userDetail.vue:63\");\n },\n methods: {\n //跳转订单历史页面\n tap: function tap() {\n uni.navigateTo({\n url: '/pages/manage/historyOrder?id=' + this.userId });\n\n },\n operate: function operate() {var _this2 = this;\n // let that = this;\n if (this.textVal == '') {\n uni.showToast({\n title: '请填写备注~',\n icon: 'none' });\n\n return;\n } else {\n uni.showLoading({\n title: '加载中...' });\n\n var data = {\n remark: this.textVal };\n\n __f__(\"log\", 123445, \" at pages/manage/userDetail.vue:87\");\n app.request('user/updateRemark/' + this.userId, data, 'PUT').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '提交成功~',\n icon: 'none' });\n\n _this2.isDisabled = true;\n }\n });\n }\n },\n getText: function getText(e) {\n this.textVal = e.detail.value;\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3VzZXJEZXRhaWwudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ0EsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGdCQURBLEVBQ0E7QUFDQSxjQUZBO0FBR0EsdUJBSEEsRUFHQTtBQUNBLGlCQUpBLENBSUE7QUFKQTtBQU1BLEdBUkE7QUFTQSxRQVRBLGtCQVNBLE9BVEEsRUFTQTtBQUNBO0FBQ0EscUJBREE7OztBQUlBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0EsS0FYQTtBQVlBO0FBQ0EsR0E1QkE7QUE2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFEQTs7QUFHQSxLQU5BO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0EsT0FOQSxNQU1BO0FBQ0E7QUFDQSx5QkFEQTs7QUFHQTtBQUNBLDhCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBLDBCQUZBOztBQUlBO0FBQ0E7QUFDQSxTQVRBO0FBVUE7QUFDQSxLQWxDQTtBQW1DQSxXQW5DQSxtQkFtQ0EsQ0FuQ0EsRUFtQ0E7QUFDQTtBQUNBLEtBckNBLEVBN0JBLEUiLCJmaWxlIjoiMjY4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwidXNlci1kZXRhaWxcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwidXNlci1kZXRhaWwtbWVzc2FnZVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIlwiPjx0ZXh0PuWnk+WQje+8mnt7dXNlci51c2VybmFtZX19PC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJcIj48dGV4dD7miYvmnLrlj7fvvJp7e3VzZXIubW9iaWxlfX08L3RleHQ+PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIlwiPjx0ZXh0PuagoeWMuu+8mnt7dXNlci5hcmVhfX08L3RleHQ+PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLWFjY291bnRcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJhY2NvdW50LWxlZnRcIj7kvZnpop3vvJo8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYWNjb3VudC1yaWdodFwiPnt7dXNlci53YWxsZXRfbW9uZXl9fTwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwidXNlci1hY2NvdW50XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYWNjb3VudC1sZWZ0XCI+5oq86YeR6YeR6aKd77yaPC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImFjY291bnQtcmlnaHRcIj57e3VzZXIuZGVwb3NpdH19PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLWFjY291bnRcIiBAY2xpY2s9XCJ0YXBcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJhY2NvdW50LWxlZnRcIj7ljoblj7LorqLljZXvvJo8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYWNjb3VudC1yaWdodFwiPlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3JpZ2h0LWFycm93LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPjwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwidXNlci1hY2NvdW50XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYWNjb3VudC1sZWZ0XCI+5aSH5rOo77yaPC92aWV3PlxyXG5cdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiB2YWx1ZT1cIlwiIGNsYXNzPVwidXNlci1kZXRhaS1iZWl6aHVcIiA6dmFsdWU9XCJ1c2VyLnJlbWFya1wiIEBpbnB1dD1cImdldFRleHRcIiAvPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItZGV0YWlsLWJ0XCIgQGNsaWNrPVwib3BlcmF0ZVwiPlxyXG5cdFx0XHRcdOWujOaIkFxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHAgPSBnZXRBcHAoKVxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dXNlcklkOiAnJywgLy/nlKjmiLdpZFxyXG5cdFx0XHRcdHVzZXI6IFtdLFxyXG5cdFx0XHRcdGlzRGlzYWJsZWQ6IGZhbHNlLCAvL+Wkh+azqOaYr+WQpuS/ruaUuVxyXG5cdFx0XHRcdHRleHRWYWw6ICcnLCAvL+i+k+WFpeahhuWGheWuuVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblxyXG5cdFx0XHR9KVxyXG5cdFx0XHR0aGlzLnVzZXJJZCA9IG9wdGlvbnMuaWRcclxuXHRcdFx0YXBwLnJlcXVlc3QoJ3VzZXIvZGV0YWlsP3VzZXJfaWQ9JyArIG9wdGlvbnMuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxyXG5cclxuXHRcdFx0XHR0aGlzLnVzZXIgPSByZXMuZGF0YVxyXG5cclxuXHRcdFx0XHRpZiAocmVzLmRhdGEucmVtYXJrKSB7XHJcblxyXG5cdFx0XHRcdFx0dGhpcy5pc0Rpc2FibGVkID0gdHJ1ZVxyXG5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHRcdGNvbnNvbGUubG9nKG9wdGlvbnMsICfov5nmmK/kuIrkuKrpobXpnaLkvKDov4fmnaXnmoTmlbDmja4nKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Ly/ot7PovazorqLljZXljoblj7LpobXpnaJcclxuXHRcdFx0dGFwOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFuYWdlL2hpc3RvcnlPcmRlcj9pZD0nICsgdGhpcy51c2VySWQsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0b3BlcmF0ZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly8gbGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGlzLnRleHRWYWw9PScnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7floavlhpnlpIfms6h+JyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRcdHJlbWFyazogdGhpcy50ZXh0VmFsXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygxMjM0NDUpXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgndXNlci91cGRhdGVSZW1hcmsvJyArIHRoaXMudXNlcklkLCBkYXRhLCAnUFVUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DkuqTmiJDlip9+JyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pc0Rpc2FibGVkID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0VGV4dChlKSB7XHJcblx0XHRcdFx0dGhpcy50ZXh0VmFsID0gZS5kZXRhaWwudmFsdWVcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdHBhZ2Uge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxuXHR9XHJcblxyXG5cdC51c2VyLWRldGFpbCB7XHJcblx0XHRwYWRkaW5nOiAyMHJweCAzMHJweDtcclxuXHR9XHJcblxyXG5cdC51c2VyLWRldGFpbC1tZXNzYWdlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTVycHg7XHJcblx0XHRwYWRkaW5nOiAyMHJweDtcclxuXHR9XHJcblxyXG5cdC51c2VyLWFjY291bnQge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0XHRwYWRkaW5nOiAwIDIwcnB4O1xyXG5cdFx0aGVpZ2h0OiA4OHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRsaW5lLWhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTVycHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHJcblx0LmFjY291bnQtbGVmdCB7XHJcblx0XHRmbGV4OiAxO1xyXG5cclxuXHR9XHJcblxyXG5cdC5hY2NvdW50LXJpZ2h0IHtcclxuXHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdGZsZXg6IDE7XHJcblx0fVxyXG5cclxuXHQuYWNjb3VudC1yaWdodCBpbWFnZSB7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHRcdGhlaWdodDogMzBycHg7XHJcblx0XHR3aWR0aDogNDBycHg7XHJcblx0fVxyXG5cclxuXHQudXNlci1kZXRhaS1iZWl6aHUge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0ZmxleDogMCAwIDUwJTtcclxuXHRcdG1hcmdpbi1yaWdodDo2MHVweDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweDtcclxuXHRcdG1hcmdpbi10b3A6IDIwdXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHVweDtcclxuXHRcdGJvcmRlcjogc29saWQgMXB4ICNkMWQxZDE7XHJcblx0fVxyXG5cclxuXHQudXNlci1kZXRhaWwtYnQge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0bWFyZ2luLXRvcDogMzBycHg7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0LyogXHRmbGV4OiAxOyAqL1xyXG5cdFx0aGVpZ2h0OiAzOHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzOHJweDtcclxuXHRcdHdpZHRoOiA4MHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMxOEQ1Qjk7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///268\n");
  28722. /***/ }),
  28723. /* 269 */
  28724. /*!**************************************************************************!*\
  28725. !*** C:/Users/001/Desktop/运维端/pages/manage/historyOrder.vue?mpType=page ***!
  28726. \**************************************************************************/
  28727. =======
  28728. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n userId: '', //用户id\n user: [],\n isDisabled: false, //备注是否修改\n textVal: '' //输入框内容\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n this.userId = options.id;\n app.request('user/detail?user_id=' + options.id, '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res.data, \" at pages/manage/userDetail.vue:53\");\n\n _this.user = res.data;\n\n if (res.data.remark) {\n\n _this.isDisabled = true;\n\n }\n });\n __f__(\"log\", options, '这是上个页面传过来的数据', \" at pages/manage/userDetail.vue:63\");\n },\n methods: {\n //跳转订单历史页面\n tap: function tap() {\n uni.navigateTo({\n url: '/pages/manage/historyOrder?id=' + this.userId });\n\n },\n operate: function operate() {var _this2 = this;\n // let that = this;\n if (this.textVal == '') {\n uni.showToast({\n title: '请填写备注~',\n icon: 'none' });\n\n return;\n } else {\n uni.showLoading({\n title: '加载中...' });\n\n var data = {\n remark: this.textVal };\n\n __f__(\"log\", 123445, \" at pages/manage/userDetail.vue:87\");\n app.request('user/updateRemark/' + this.userId, data, 'PUT').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '提交成功~',\n icon: 'none' });\n\n _this2.isDisabled = true;\n }\n });\n }\n },\n getText: function getText(e) {\n this.textVal = e.detail.value;\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3VzZXJEZXRhaWwudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJ1c2VySWQiLCJ1c2VyIiwiaXNEaXNhYmxlZCIsInRleHRWYWwiLCJvbkxvYWQiLCJvcHRpb25zIiwidW5pIiwic2hvd0xvYWRpbmciLCJ0aXRsZSIsImlkIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJoaWRlTG9hZGluZyIsInJlbWFyayIsIm1ldGhvZHMiLCJ0YXAiLCJuYXZpZ2F0ZVRvIiwidXJsIiwib3BlcmF0ZSIsInNob3dUb2FzdCIsImljb24iLCJzdGF0dXNDb2RlIiwiZ2V0VGV4dCIsImUiLCJkZXRhaWwiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxHQUFHLEdBQUdDLE1BQU0sRUFBaEIsQztBQUNlO0FBQ2RDLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ05DLFlBQU0sRUFBRSxFQURGLEVBQ007QUFDWkMsVUFBSSxFQUFFLEVBRkE7QUFHTkMsZ0JBQVUsRUFBRSxLQUhOLEVBR2E7QUFDbkJDLGFBQU8sRUFBRSxFQUpILENBSU87QUFKUCxLQUFQO0FBTUEsR0FSYTtBQVNkQyxRQVRjLGtCQVNQQyxPQVRPLEVBU0U7QUFDZkMsT0FBRyxDQUFDQyxXQUFKLENBQWdCO0FBQ2ZDLFdBQUssRUFBRSxRQURRLEVBQWhCOzs7QUFJQSxTQUFLUixNQUFMLEdBQWNLLE9BQU8sQ0FBQ0ksRUFBdEI7QUFDQVosT0FBRyxDQUFDYSxPQUFKLENBQVkseUJBQXlCTCxPQUFPLENBQUNJLEVBQTdDLEVBQWlELEVBQWpELEVBQXFELEtBQXJELEVBQTRERSxJQUE1RCxDQUFpRSxVQUFBQyxHQUFHLEVBQUk7QUFDdkVOLFNBQUcsQ0FBQ08sV0FBSjtBQUNBLG1CQUFZRCxHQUFHLENBQUNiLElBQWhCOztBQUVBLFdBQUksQ0FBQ0UsSUFBTCxHQUFZVyxHQUFHLENBQUNiLElBQWhCOztBQUVBLFVBQUlhLEdBQUcsQ0FBQ2IsSUFBSixDQUFTZSxNQUFiLEVBQXFCOztBQUVwQixhQUFJLENBQUNaLFVBQUwsR0FBa0IsSUFBbEI7O0FBRUE7QUFDRCxLQVhEO0FBWUEsaUJBQVlHLE9BQVosRUFBcUIsY0FBckI7QUFDQSxHQTVCYTtBQTZCZFUsU0FBTyxFQUFFO0FBQ1I7QUFDQUMsT0FBRyxFQUFFLGVBQVc7QUFDZlYsU0FBRyxDQUFDVyxVQUFKLENBQWU7QUFDZEMsV0FBRyxFQUFFLG1DQUFtQyxLQUFLbEIsTUFEL0IsRUFBZjs7QUFHQSxLQU5PO0FBT1JtQixXQUFPLEVBQUUsbUJBQVc7QUFDbkI7QUFDQSxVQUFJLEtBQUtoQixPQUFMLElBQWMsRUFBbEIsRUFBc0I7QUFDckJHLFdBQUcsQ0FBQ2MsU0FBSixDQUFjO0FBQ2JaLGVBQUssRUFBRSxRQURNO0FBRWJhLGNBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUE7QUFDQSxPQU5ELE1BTU87QUFDTmYsV0FBRyxDQUFDQyxXQUFKLENBQWdCO0FBQ2ZDLGVBQUssRUFBRSxRQURRLEVBQWhCOztBQUdBLFlBQUlULElBQUksR0FBRztBQUNWZSxnQkFBTSxFQUFFLEtBQUtYLE9BREgsRUFBWDs7QUFHQSxxQkFBWSxNQUFaO0FBQ0FOLFdBQUcsQ0FBQ2EsT0FBSixDQUFZLHVCQUF1QixLQUFLVixNQUF4QyxFQUFnREQsSUFBaEQsRUFBc0QsS0FBdEQsRUFBNkRZLElBQTdELENBQWtFLFVBQUFDLEdBQUcsRUFBSTtBQUN4RU4sYUFBRyxDQUFDTyxXQUFKO0FBQ0EsY0FBSUQsR0FBRyxDQUFDVSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQzFCaEIsZUFBRyxDQUFDYyxTQUFKLENBQWM7QUFDYlosbUJBQUssRUFBRSxPQURNO0FBRWJhLGtCQUFJLEVBQUUsTUFGTyxFQUFkOztBQUlBLGtCQUFJLENBQUNuQixVQUFMLEdBQWtCLElBQWxCO0FBQ0E7QUFDRCxTQVREO0FBVUE7QUFDRCxLQWxDTztBQW1DUnFCLFdBbkNRLG1CQW1DQUMsQ0FuQ0EsRUFtQ0c7QUFDVixXQUFLckIsT0FBTCxHQUFlcUIsQ0FBQyxDQUFDQyxNQUFGLENBQVNDLEtBQXhCO0FBQ0EsS0FyQ08sRUE3QkssRSIsImZpbGUiOiIxMDIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBhcHAgPSBnZXRBcHAoKVxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR1c2VySWQ6ICcnLCAvL+eUqOaIt2lkXG5cdFx0XHR1c2VyOiBbXSxcblx0XHRcdGlzRGlzYWJsZWQ6IGZhbHNlLCAvL+Wkh+azqOaYr+WQpuS/ruaUuVxuXHRcdFx0dGV4dFZhbDogJycsIC8v6L6T5YWl5qGG5YaF5a65XG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cblx0XHR9KVxuXHRcdHRoaXMudXNlcklkID0gb3B0aW9ucy5pZFxuXHRcdGFwcC5yZXF1ZXN0KCd1c2VyL2RldGFpbD91c2VyX2lkPScgKyBvcHRpb25zLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEpXG5cblx0XHRcdHRoaXMudXNlciA9IHJlcy5kYXRhXG5cblx0XHRcdGlmIChyZXMuZGF0YS5yZW1hcmspIHtcblxuXHRcdFx0XHR0aGlzLmlzRGlzYWJsZWQgPSB0cnVlXG5cblx0XHRcdH1cblx0XHR9KVxuXHRcdGNvbnNvbGUubG9nKG9wdGlvbnMsICfov5nmmK/kuIrkuKrpobXpnaLkvKDov4fmnaXnmoTmlbDmja4nKVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Ly/ot7PovazorqLljZXljoblj7LpobXpnaJcblx0XHR0YXA6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFuYWdlL2hpc3RvcnlPcmRlcj9pZD0nICsgdGhpcy51c2VySWQsXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0b3BlcmF0ZTogZnVuY3Rpb24oKSB7XG5cdFx0XHQvLyBsZXQgdGhhdCA9IHRoaXM7XG5cdFx0XHRpZiAodGhpcy50ZXh0VmFsPT0nJykge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+ivt+Whq+WGmeWkh+azqH4nLFxuXHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdFx0fSlcblx0XHRcdFx0bGV0IGRhdGEgPSB7XG5cdFx0XHRcdFx0cmVtYXJrOiB0aGlzLnRleHRWYWxcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zb2xlLmxvZygxMjM0NDUpXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL3VwZGF0ZVJlbWFyay8nICsgdGhpcy51c2VySWQsIGRhdGEsICdQVVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5o+Q5Lqk5oiQ5YqfficsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdHRoaXMuaXNEaXNhYmxlZCA9IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRnZXRUZXh0KGUpIHtcblx0XHRcdHRoaXMudGV4dFZhbCA9IGUuZGV0YWlsLnZhbHVlXG5cdFx0fSxcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///102\n");
  28729. /***/ }),
  28730. /* 103 */
  28731. /*!***************************************************************************************!*\
  28732. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/historyOrder.vue?mpType=page ***!
  28733. \***************************************************************************************/
  28734. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28735. /*! no static exports found */
  28736. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28737. "use strict";
  28738. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./historyOrder.vue?vue&type=template&id=4fa4c92a&mpType=page */ 270);\n/* harmony import */ var _historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./historyOrder.vue?vue&type=script&lang=js&mpType=page */ 272);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/historyOrder.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBb0k7QUFDcEk7QUFDMkU7QUFDTDs7O0FBR3RFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDZGQUFNO0FBQ1IsRUFBRSxrR0FBTTtBQUNSLEVBQUUsMkdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsc0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjY5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9oaXN0b3J5T3JkZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRmYTRjOTJhJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9oaXN0b3J5T3JkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2hpc3RvcnlPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvaGlzdG9yeU9yZGVyLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///269\n");
  28739. /***/ }),
  28740. <<<<<<< HEAD
  28741. /* 270 */
  28742. /*!********************************************************************************************************!*\
  28743. !*** C:/Users/001/Desktop/运维端/pages/manage/historyOrder.vue?vue&type=template&id=4fa4c92a&mpType=page ***!
  28744. \********************************************************************************************************/
  28745. =======
  28746. /* 104 */
  28747. /*!*********************************************************************************************************************!*\
  28748. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/historyOrder.vue?vue&type=template&id=4fa4c92a&mpType=page ***!
  28749. \*********************************************************************************************************************/
  28750. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28751. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  28752. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28753. "use strict";
  28754. __webpack_require__.r(__webpack_exports__);
  28755. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./historyOrder.vue?vue&type=template&id=4fa4c92a&mpType=page */ 271);
  28756. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  28757. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  28758. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  28759. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_template_id_4fa4c92a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  28760. /***/ }),
  28761. <<<<<<< HEAD
  28762. /* 271 */
  28763. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28764. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/historyOrder.vue?vue&type=template&id=4fa4c92a&mpType=page ***!
  28765. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28766. =======
  28767. /* 105 */
  28768. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  28769. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/historyOrder.vue?vue&type=template&id=4fa4c92a&mpType=page ***!
  28770. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  28771. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  28772. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  28773. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  28774. "use strict";
  28775. __webpack_require__.r(__webpack_exports__);
  28776. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  28777. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  28778. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  28779. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  28780. var components
  28781. var render = function() {
  28782. var _vm = this
  28783. var _h = _vm.$createElement
  28784. var _c = _vm._self._c || _h
  28785. return _c(
  28786. "view",
  28787. { staticClass: _vm._$s(0, "sc", "out"), attrs: { _i: 0 } },
  28788. [
  28789. _c(
  28790. "view",
  28791. { staticClass: _vm._$s(1, "sc", "order-bottom"), attrs: { _i: 1 } },
  28792. [
  28793. _c("view", {
  28794. staticClass: _vm._$s(2, "sc", "order-bottom-left"),
  28795. class: _vm._$s(2, "c", _vm.curPage == 1 ? "active" : ""),
  28796. attrs: { _i: 2 },
  28797. on: {
  28798. click: function($event) {
  28799. return _vm.choose((_vm.curPage = 1))
  28800. }
  28801. }
  28802. }),
  28803. _c("view", {
  28804. staticClass: _vm._$s(3, "sc", "order-bottom-right"),
  28805. class: _vm._$s(3, "c", _vm.curPage == 2 ? "active" : ""),
  28806. attrs: { _i: 3 },
  28807. on: {
  28808. click: function($event) {
  28809. return _vm.choose((_vm.curPage = 2))
  28810. }
  28811. }
  28812. })
  28813. ]
  28814. ),
  28815. _vm._l(_vm._$s(4, "f", { forItems: _vm.order }), function(
  28816. item,
  28817. index,
  28818. $20,
  28819. $30
  28820. ) {
  28821. return _c(
  28822. "view",
  28823. {
  28824. key: _vm._$s(4, "f", { forIndex: $20, key: 4 + "-" + $30 }),
  28825. staticClass: _vm._$s("4-" + $30, "sc", "order-list"),
  28826. attrs: {
  28827. "data-id": _vm._$s("4-" + $30, "a-data-id", item.id),
  28828. _i: "4-" + $30
  28829. },
  28830. on: { click: _vm.detail }
  28831. },
  28832. [
  28833. _c(
  28834. "text",
  28835. {
  28836. staticClass: _vm._$s("5-" + $30, "sc", "order-bike-num"),
  28837. attrs: { _i: "5-" + $30 }
  28838. },
  28839. [_vm._v(_vm._$s("5-" + $30, "t0-0", _vm._s(item.bike_no)))]
  28840. ),
  28841. _c(
  28842. "view",
  28843. {
  28844. staticClass: _vm._$s("6-" + $30, "sc", "order-user"),
  28845. attrs: { _i: "6-" + $30 }
  28846. },
  28847. [
  28848. _c(
  28849. "text",
  28850. {
  28851. staticClass: _vm._$s("7-" + $30, "sc", "order-user-name"),
  28852. attrs: { _i: "7-" + $30 }
  28853. },
  28854. [_vm._v(_vm._$s("7-" + $30, "t0-0", _vm._s(item.nickname)))]
  28855. ),
  28856. _c(
  28857. "text",
  28858. {
  28859. staticClass: _vm._$s("8-" + $30, "sc", "order-user-phone"),
  28860. attrs: { _i: "8-" + $30 }
  28861. },
  28862. [_vm._v(_vm._$s("8-" + $30, "t0-0", _vm._s(item.mobile)))]
  28863. )
  28864. ]
  28865. ),
  28866. _c(
  28867. "text",
  28868. {
  28869. staticClass: _vm._$s("9-" + $30, "sc", "order-time"),
  28870. attrs: { _i: "9-" + $30 }
  28871. },
  28872. [
  28873. _vm._v(
  28874. _vm._$s("9-" + $30, "t0-0", _vm._s(item.start_use_bike_time))
  28875. )
  28876. ]
  28877. ),
  28878. _vm._$s("10-" + $30, "i", item.orders_status == "骑行中")
  28879. ? _c(
  28880. "view",
  28881. {
  28882. staticClass: _vm._$s("10-" + $30, "sc", "user-tag1"),
  28883. attrs: { _i: "10-" + $30 }
  28884. },
  28885. [
  28886. _vm._v(
  28887. _vm._$s("10-" + $30, "t0-0", _vm._s(item.orders_status))
  28888. )
  28889. ]
  28890. )
  28891. : _vm._e(),
  28892. _vm._$s("11-" + $30, "i", item.orders_status == "订单关闭")
  28893. ? _c(
  28894. "view",
  28895. {
  28896. staticClass: _vm._$s("11-" + $30, "sc", "user-tag1"),
  28897. attrs: { _i: "11-" + $30 }
  28898. },
  28899. [
  28900. _vm._v(
  28901. _vm._$s("11-" + $30, "t0-0", _vm._s(item.orders_status))
  28902. )
  28903. ]
  28904. )
  28905. : _vm._e(),
  28906. _vm._$s("12-" + $30, "i", item.orders_status == "已完成")
  28907. ? _c(
  28908. "view",
  28909. {
  28910. staticClass: _vm._$s("12-" + $30, "sc", "user-tag1"),
  28911. attrs: { _i: "12-" + $30 }
  28912. },
  28913. [
  28914. _vm._v(
  28915. _vm._$s("12-" + $30, "t0-0", _vm._s(item.orders_status))
  28916. )
  28917. ]
  28918. )
  28919. : _vm._e(),
  28920. _vm._$s("13-" + $30, "i", item.orders_status == "待支付")
  28921. ? _c(
  28922. "view",
  28923. {
  28924. staticClass: _vm._$s("13-" + $30, "sc", "user-tag1"),
  28925. attrs: { _i: "13-" + $30 }
  28926. },
  28927. [
  28928. _vm._v(
  28929. _vm._$s("13-" + $30, "t0-0", _vm._s(item.orders_status))
  28930. )
  28931. ]
  28932. )
  28933. : _vm._e(),
  28934. _vm._$s("14-" + $30, "i", item.orders_status == "临时停车")
  28935. ? _c(
  28936. "view",
  28937. {
  28938. staticClass: _vm._$s("14-" + $30, "sc", "user-tag1"),
  28939. attrs: { _i: "14-" + $30 }
  28940. },
  28941. [
  28942. _vm._v(
  28943. _vm._$s("14-" + $30, "t0-0", _vm._s(item.orders_status))
  28944. )
  28945. ]
  28946. )
  28947. : _vm._e(),
  28948. _vm._$s("15-" + $30, "i", item.orders_status == "租车中")
  28949. ? _c(
  28950. "view",
  28951. {
  28952. staticClass: _vm._$s("15-" + $30, "sc", "user-tag1"),
  28953. attrs: { _i: "15-" + $30 }
  28954. },
  28955. [
  28956. _vm._v(
  28957. _vm._$s("15-" + $30, "t0-0", _vm._s(item.orders_status))
  28958. )
  28959. ]
  28960. )
  28961. : _vm._e(),
  28962. _vm._$s("16-" + $30, "i", item.orders_status == "租车结束,待支付")
  28963. ? _c(
  28964. "view",
  28965. {
  28966. staticClass: _vm._$s("16-" + $30, "sc", "user-tag1"),
  28967. attrs: { _i: "16-" + $30 }
  28968. },
  28969. [
  28970. _vm._v(
  28971. _vm._$s("16-" + $30, "t0-0", _vm._s(item.orders_status))
  28972. )
  28973. ]
  28974. )
  28975. : _vm._e()
  28976. ]
  28977. )
  28978. }),
  28979. _vm._$s(17, "i", _vm.order.length == 0)
  28980. ? _c(
  28981. "view",
  28982. {
  28983. staticClass: _vm._$s(17, "sc", "noData noOrder"),
  28984. attrs: { _i: 17 }
  28985. },
  28986. [_c("image", { attrs: { _i: 18 } }), _c("view")]
  28987. )
  28988. : _vm._e()
  28989. ],
  28990. 2
  28991. )
  28992. }
  28993. var recyclableRender = false
  28994. var staticRenderFns = []
  28995. render._withStripped = true
  28996. /***/ }),
  28997. <<<<<<< HEAD
  28998. /* 272 */
  28999. /*!**************************************************************************************************!*\
  29000. !*** C:/Users/001/Desktop/运维端/pages/manage/historyOrder.vue?vue&type=script&lang=js&mpType=page ***!
  29001. \**************************************************************************************************/
  29002. =======
  29003. /* 106 */
  29004. /*!***************************************************************************************************************!*\
  29005. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/historyOrder.vue?vue&type=script&lang=js&mpType=page ***!
  29006. \***************************************************************************************************************/
  29007. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29008. /*! no static exports found */
  29009. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29010. "use strict";
  29011. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./historyOrder.vue?vue&type=script&lang=js&mpType=page */ 273);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_historyOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtqQixDQUFnQixxbEJBQUcsRUFBQyIsImZpbGUiOiIyNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9oaXN0b3J5T3JkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2hpc3RvcnlPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///272\n");
  29012. /***/ }),
  29013. <<<<<<< HEAD
  29014. /* 273 */
  29015. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29016. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/historyOrder.vue?vue&type=script&lang=js&mpType=page ***!
  29017. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29018. =======
  29019. /* 107 */
  29020. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29021. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/historyOrder.vue?vue&type=script&lang=js&mpType=page ***!
  29022. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29023. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29024. /*! no static exports found */
  29025. /***/ (function(module, exports, __webpack_require__) {
  29026. "use strict";
  29027. <<<<<<< HEAD
  29028. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n order: [],\n links: '',\n user_id: '',\n curPage: 1 };\n\n },\n onLoad: function onLoad(options) {\n this.user_id = options.id;\n this.getList();\n },\n methods: {\n //获取列表\n getList: function getList() {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n var url = \"\";\n if (this.curPage == 1) {\n url = 'user/order?page = 1';\n } else {\n url = 'user/orderRent?page = 1';\n }\n var data = {\n user_id: this.user_id };\n\n app.request(url, data, 'GET').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n\n _this.order = res.data.data,\n _this.links = res.data.links.next;\n\n }\n });\n },\n //切换日租月租订单\n choose: function choose(e) {\n this.curPage = e;\n this.getList();\n __f__(\"log\", e, \"这是点击日租之后\", \" at pages/manage/historyOrder.vue:91\");\n },\n detail: function detail(e) {\n __f__(\"log\", e.currentTarget.dataset.id, '跳转用骑行轨迹', \" at pages/manage/historyOrder.vue:94\");\n uni.navigateTo({\n url: '/pages/manage/orderDetail?id=' + e.currentTarget.dataset.id + \"&index=\" + this.curPage });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2hpc3RvcnlPcmRlci52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQ0EsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGVBREE7QUFFQSxlQUZBO0FBR0EsaUJBSEE7QUFJQSxnQkFKQTs7QUFNQSxHQVJBO0FBU0EsUUFUQSxrQkFTQSxPQVRBLEVBU0E7QUFDQTtBQUNBO0FBQ0EsR0FaQTtBQWFBO0FBQ0E7QUFDQSxXQUZBLHFCQUVBO0FBQ0E7QUFDQSx1QkFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxPQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2QkFEQTs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQ0FEQTs7QUFHQTtBQUNBLE9BUkE7QUFTQSxLQXhCQTtBQXlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0E5QkE7QUErQkE7QUFDQTtBQUNBO0FBQ0Esb0dBREE7O0FBR0EsS0FwQ0EsRUFiQSxFIiwiZmlsZSI6IjI3My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cIm91dFwiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1ib3R0b21cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1ib3R0b20tbGVmdFwiIEBjbGljaz1cImNob29zZShjdXJQYWdlPTEpXCIgOmNsYXNzPVwiY3VyUGFnZT09MT8nYWN0aXZlJzonJ1wiPlxyXG5cdFx0XHRcdOaZrumAmuiuouWNlVxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItYm90dG9tLXJpZ2h0XCIgQGNsaWNrPVwiY2hvb3NlKGN1clBhZ2U9MilcIiA6Y2xhc3M9XCJjdXJQYWdlPT0yPydhY3RpdmUnOicnXCI+XHJcblx0XHRcdFx05pel56ef6K6i5Y2VXHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwib3JkZXItbGlzdFwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIG9yZGVyXCIgQGNsaWNrPVwiZGV0YWlsXCIgdi1iaW5kOmRhdGEtaWQ9XCJpdGVtLmlkXCI+XHJcblx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItYmlrZS1udW1cIj7ovabovobnvJblj7fvvJp7e2l0ZW0uYmlrZV9ub319PC90ZXh0PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXVzZXJcIj5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLXVzZXItbmFtZVwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjtcIj7nlKjmiLfvvJp7e2l0ZW0ubmlja25hbWV9fTwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLXVzZXItcGhvbmVcIj57e2l0ZW0ubW9iaWxlfX08L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci10aW1lXCI+5pe26Ze077yae3tpdGVtLnN0YXJ0X3VzZV9iaWtlX3RpbWV9fTwvdGV4dD5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n6aqR6KGM5LitJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzY4ZTljZSAwJSwgIzE4ZDViOSAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n6K6i5Y2V5YWz6ZetJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgI2MwYzBjMCAwJSwgIzgwODA4MCAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n5bey5a6M5oiQJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzQxYjhmZCAwJSwgIzBlZTdmZSAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319ICAgXHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n5b6F5pSv5LuYJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZyxyZ2JhKDI1NSwgMTM5LCAxMDIsIDEpIDAlLHJnYmEoMjU0LCA4NywgMzQsIDEpIDEwMCUpO1wiPlxyXG5cdFx0XHRcdHt7aXRlbS5vcmRlcnNfc3RhdHVzfX1cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSfkuLTml7blgZzovaYnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjOTM4MmY0IDAlLCAjYTI5N2ZiIDEwMCUpO1wiPlxyXG5cdFx0XHRcdHt7aXRlbS5vcmRlcnNfc3RhdHVzfX1cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSfnp5/ovabkuK0nXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjMzY0OGY1IDAlLCAjYTI5N2ZiIDEwMCUpO1wiPlxyXG5cdFx0XHRcdHt7aXRlbS5vcmRlcnNfc3RhdHVzfX1cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInVzZXItdGFnMVwiIHYtaWY9XCJpdGVtLm9yZGVyc19zdGF0dXM9PSfnp5/ovabnu5PmnZ8s5b6F5pSv5LuYJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzMyZjk1NSAwJSwgI2EyOTdmYiAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwibm9EYXRhIG5vT3JkZXJcIiB2LWlmPVwib3JkZXIubGVuZ3RoID09IDBcIiA+XHJcblx0XHRcdDxpbWFnZSAgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL25vbmUucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJjb2xvcjogYmxhY2s7XCI+5pqC5peg55u45YWz5pWw5o2ufjwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHAgPSBnZXRBcHAoKVxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdG9yZGVyOiBbXSxcclxuXHRcdFx0ICAgIGxpbmtzOiAnJyxcclxuXHRcdFx0ICAgIHVzZXJfaWQ6ICcnLFxyXG5cdFx0XHQgICAgY3VyUGFnZTogMSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdHRoaXMudXNlcl9pZD0gb3B0aW9ucy5pZFxyXG5cdFx0XHQgdGhpcy5nZXRMaXN0KCk7XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczp7XHJcblx0XHRcdC8v6I635Y+W5YiX6KGoXHJcblx0XHRcdCAgZ2V0TGlzdCgpIHtcclxuXHRcdFx0ICAgIHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdCAgICAgIHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0ICAgIH0pXHJcblx0XHRcdCAgICBsZXQgdXJsID0gXCJcIjtcclxuXHRcdFx0ICAgIGlmICh0aGlzLmN1clBhZ2UgPT0gMSkge1xyXG5cdFx0XHQgICAgICB1cmwgPSAndXNlci9vcmRlcj9wYWdlID0gMSc7XHJcblx0XHRcdCAgICB9IGVsc2Uge1xyXG5cdFx0XHQgICAgICB1cmwgPSAndXNlci9vcmRlclJlbnQ/cGFnZSA9IDEnXHJcblx0XHRcdCAgICB9XHJcblx0XHRcdCAgICBsZXQgZGF0YSA9IHtcclxuXHRcdFx0ICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkXHJcblx0XHRcdCAgICB9XHJcblx0XHRcdCAgICBhcHAucmVxdWVzdCh1cmwsIGRhdGEsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdCAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHQgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdCAgICAgICBcclxuXHRcdFx0ICAgICAgICAgIHRoaXMub3JkZXI9IHJlcy5kYXRhLmRhdGEsXHJcblx0XHRcdCAgICAgICAgICB0aGlzLmxpbmtzPSByZXMuZGF0YS5saW5rcy5uZXh0XHJcblx0XHRcdCAgICAgICAgXHJcblx0XHRcdCAgICAgIH1cclxuXHRcdFx0ICAgIH0pXHJcblx0XHRcdCAgfSxcclxuXHRcdFx0ICAvL+WIh+aNouaXpeenn+aciOenn+iuouWNlVxyXG5cdFx0XHQgIGNob29zZTpmdW5jdGlvbihlKXtcclxuXHRcdFx0XHQgIHRoaXMuY3VyUGFnZT1lXHJcblx0XHRcdFx0ICB0aGlzLmdldExpc3QoKVxyXG5cdFx0XHRcdCAgY29uc29sZS5sb2coZSxcIui/meaYr+eCueWHu+aXpeenn+S5i+WQjlwiKVxyXG5cdFx0XHQgIH0sXHJcblx0XHRcdCAgZGV0YWlsOmZ1bmN0aW9uKGUpe1xyXG5cdFx0XHRcdCAgY29uc29sZS5sb2coZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWQsJ+i3s+i9rOeUqOmqkeihjOi9qOi/uScpXHJcblx0XHRcdFx0ICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdCAgICAgICAgdXJsOiAnL3BhZ2VzL21hbmFnZS9vcmRlckRldGFpbD9pZD0nICsgZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWQgK1wiJmluZGV4PVwiICsgdGhpcy5jdXJQYWdlLFxyXG5cdFx0XHRcdCAgICAgIH0pIFxyXG5cdFx0XHQgIH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblx0Lm9yZGVyLWJvdHRvbSB7XHJcblx0XHR3aWR0aDogODAlO1xyXG5cdFx0aGVpZ2h0OiA1NXJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1NXJweDtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCAxcHggIzY0ZWZkYTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxNXJweDtcclxuXHRcdG1hcmdpbi10b3A6IDMwcnB4O1xyXG5cclxuXHJcblx0fVxyXG4ub3JkZXItdXNlciB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuLm91dHtcclxuXHRwYWRkaW5nOiAzMHJweCAzMHJweDtcclxufVxyXG5cdC5vcmRlci11c2VyLW5hbWUsXHJcblx0Lm9yZGVyLXVzZXItcGhvbmUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmbGV4OiAxO1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA2MHJweDtcclxuXHR9XHJcblx0Lm9yZGVyLWJvdHRvbS1sZWZ0LFxyXG5cdC5vcmRlci1ib3R0b20tcmlnaHQge1xyXG5cdFx0ZmxleDogMTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdGhlaWdodDogNTVycHg7XHJcblx0XHR3aWR0aDogMjI4cnB4O1xyXG5cdFx0Y29sb3I6ICM2NGVmZGE7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLWJvdHRvbS1sZWZ0IHtcclxuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEzcnB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTNycHg7XHJcblx0XHRib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjNjRlZmRhO1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyLWJvdHRvbS1yaWdodCB7XHJcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTNycHg7XHJcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTNycHg7XHJcblx0fVxyXG5cdC5vcmRlci1saXN0IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGNsZWFyOiBub25lO1xyXG5cdFx0cGFkZGluZzogMTlycHggNDBycHg7XHJcblx0XHRoZWlnaHQ6IDE1OXJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHJweDtcclxuXHRcdGNvbG9yOiByZ2JhKDc3LCA3NywgNzcsIDEpO1xyXG5cdFx0bWFyZ2luLXRvcDogMjdycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggNTBweCAwcHggcmdiYSgyMTYsIDIxNiwgMjE2LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0fVxyXG5cdFxyXG5cdC51c2VyLWJhbGFuY2Uge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMzVycHg7XHJcblx0fVxyXG5cdFxyXG5cdC51c2VyLXRhZyxcclxuXHRcclxuXHRcclxuXHQudXNlci10YWcxLFxyXG5cdC51c2VyLXRhZzIsXHJcblx0LnVzZXItdGFnMyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHdpZHRoOiAxNThycHg7XHJcblx0XHRoZWlnaHQ6IDQycnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQycnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMHB4IDEwcHggMHB4IDIwcHg7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFBpbmdGYW5nIFNDO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cdH1cclxuXHQuYWN0aXZlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM2NGVmZGE7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcblx0LnVzZXItdGFnMSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgODcsIDM0LCAxKTtcclxuXHRcdC8qIGJveC1zaGFkb3c6IDBweCAwcHggNnB4IDBweCByZ2JhKDI1NCwgOTQsIDQ0LCAxKTsgKi9cclxuXHR9XHJcblx0XHJcblx0LnVzZXItdGFnMiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzNywgNDAsIDI0NywgMSk7XHJcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDZweCAwcHggcmdiYSgxMzcsIDQwLCAyNDcsIDEpO1xyXG5cdH1cclxuXHRcclxuXHQudXNlci10YWczIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAyMzQsIDIyNCwgMSk7XHJcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDZweCAwcHggcmdiYSgxMDAsIDIzNCwgMjI0LCAxKTtcclxuXHR9XHJcblx0XHJcblxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///273\n");
  29029. /***/ }),
  29030. /* 274 */
  29031. /*!************************************************************************!*\
  29032. !*** C:/Users/001/Desktop/运维端/pages/manage/workDetail.vue?mpType=page ***!
  29033. \************************************************************************/
  29034. =======
  29035. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n order: [],\n links: '',\n user_id: '',\n curPage: 1 };\n\n },\n onLoad: function onLoad(options) {\n this.user_id = options.id;\n this.getList();\n },\n methods: {\n //获取列表\n getList: function getList() {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n var url = \"\";\n if (this.curPage == 1) {\n url = 'user/order?page = 1';\n } else {\n url = 'user/orderRent?page = 1';\n }\n var data = {\n user_id: this.user_id };\n\n app.request(url, data, 'GET').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n\n _this.order = res.data.data,\n _this.links = res.data.links.next;\n\n }\n });\n },\n //切换日租月租订单\n choose: function choose(e) {\n this.curPage = e;\n this.getList();\n __f__(\"log\", e, \"这是点击日租之后\", \" at pages/manage/historyOrder.vue:91\");\n },\n detail: function detail(e) {\n __f__(\"log\", e.currentTarget.dataset.id, '跳转用骑行轨迹', \" at pages/manage/historyOrder.vue:94\");\n uni.navigateTo({\n url: '/pages/manage/orderDetail?id=' + e.currentTarget.dataset.id + \"&index=\" + this.curPage });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2hpc3RvcnlPcmRlci52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsIm9yZGVyIiwibGlua3MiLCJ1c2VyX2lkIiwiY3VyUGFnZSIsIm9uTG9hZCIsIm9wdGlvbnMiLCJpZCIsImdldExpc3QiLCJtZXRob2RzIiwidW5pIiwic2hvd0xvYWRpbmciLCJ0aXRsZSIsInVybCIsInJlcXVlc3QiLCJ0aGVuIiwicmVzIiwiaGlkZUxvYWRpbmciLCJzdGF0dXNDb2RlIiwibmV4dCIsImNob29zZSIsImUiLCJkZXRhaWwiLCJjdXJyZW50VGFyZ2V0IiwiZGF0YXNldCIsIm5hdmlnYXRlVG8iXSwibWFwcGluZ3MiOiJxSUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxHQUFHLEdBQUdDLE1BQU0sRUFBaEIsQztBQUNlO0FBQ2RDLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ1BDLFdBQUssRUFBRSxFQURBO0FBRUhDLFdBQUssRUFBRSxFQUZKO0FBR0hDLGFBQU8sRUFBRSxFQUhOO0FBSUhDLGFBQU8sRUFBRSxDQUpOLEVBQVA7O0FBTUEsR0FSYTtBQVNkQyxRQVRjLGtCQVNQQyxPQVRPLEVBU0U7QUFDZixTQUFLSCxPQUFMLEdBQWNHLE9BQU8sQ0FBQ0MsRUFBdEI7QUFDQyxTQUFLQyxPQUFMO0FBQ0QsR0FaYTtBQWFkQyxTQUFPLEVBQUM7QUFDUDtBQUNFRCxXQUZLLHFCQUVLO0FBQ1JFLFNBQUcsQ0FBQ0MsV0FBSixDQUFnQjtBQUNkQyxhQUFLLEVBQUUsUUFETyxFQUFoQjs7QUFHQSxVQUFJQyxHQUFHLEdBQUcsRUFBVjtBQUNBLFVBQUksS0FBS1QsT0FBTCxJQUFnQixDQUFwQixFQUF1QjtBQUNyQlMsV0FBRyxHQUFHLHFCQUFOO0FBQ0QsT0FGRCxNQUVPO0FBQ0xBLFdBQUcsR0FBRyx5QkFBTjtBQUNEO0FBQ0QsVUFBSWIsSUFBSSxHQUFHO0FBQ1RHLGVBQU8sRUFBRSxLQUFLQSxPQURMLEVBQVg7O0FBR0FMLFNBQUcsQ0FBQ2dCLE9BQUosQ0FBWUQsR0FBWixFQUFpQmIsSUFBakIsRUFBdUIsS0FBdkIsRUFBOEJlLElBQTlCLENBQW1DLFVBQUFDLEdBQUcsRUFBSTtBQUN4Q04sV0FBRyxDQUFDTyxXQUFKO0FBQ0EsWUFBSUQsR0FBRyxDQUFDRSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCOztBQUV2QixlQUFJLENBQUNqQixLQUFMLEdBQVllLEdBQUcsQ0FBQ2hCLElBQUosQ0FBU0EsSUFBckI7QUFDQSxlQUFJLENBQUNFLEtBQUwsR0FBWWMsR0FBRyxDQUFDaEIsSUFBSixDQUFTRSxLQUFULENBQWVpQixJQUQzQjs7QUFHSDtBQUNGLE9BUkQ7QUFTRCxLQXhCSTtBQXlCTDtBQUNBQyxVQUFNLEVBQUMsZ0JBQVNDLENBQVQsRUFBVztBQUNqQixXQUFLakIsT0FBTCxHQUFhaUIsQ0FBYjtBQUNBLFdBQUtiLE9BQUw7QUFDQSxtQkFBWWEsQ0FBWixFQUFjLFVBQWQ7QUFDQSxLQTlCSTtBQStCTEMsVUFBTSxFQUFDLGdCQUFTRCxDQUFULEVBQVc7QUFDakIsbUJBQVlBLENBQUMsQ0FBQ0UsYUFBRixDQUFnQkMsT0FBaEIsQ0FBd0JqQixFQUFwQyxFQUF1QyxTQUF2QztBQUNJRyxTQUFHLENBQUNlLFVBQUosQ0FBZTtBQUNiWixXQUFHLEVBQUUsa0NBQWtDUSxDQUFDLENBQUNFLGFBQUYsQ0FBZ0JDLE9BQWhCLENBQXdCakIsRUFBMUQsR0FBOEQsU0FBOUQsR0FBMEUsS0FBS0gsT0FEdkUsRUFBZjs7QUFHSixLQXBDSSxFQWJNLEUiLCJmaWxlIjoiMTA3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcCA9IGdldEFwcCgpXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRvcmRlcjogW10sXG5cdFx0ICAgIGxpbmtzOiAnJyxcblx0XHQgICAgdXNlcl9pZDogJycsXG5cdFx0ICAgIGN1clBhZ2U6IDEsXG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdHRoaXMudXNlcl9pZD0gb3B0aW9ucy5pZFxuXHRcdCB0aGlzLmdldExpc3QoKTtcblx0fSxcblx0bWV0aG9kczp7XG5cdFx0Ly/ojrflj5bliJfooahcblx0XHQgIGdldExpc3QoKSB7XG5cdFx0ICAgIHVuaS5zaG93TG9hZGluZyh7XG5cdFx0ICAgICAgdGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdCAgICB9KVxuXHRcdCAgICBsZXQgdXJsID0gXCJcIjtcblx0XHQgICAgaWYgKHRoaXMuY3VyUGFnZSA9PSAxKSB7XG5cdFx0ICAgICAgdXJsID0gJ3VzZXIvb3JkZXI/cGFnZSA9IDEnO1xuXHRcdCAgICB9IGVsc2Uge1xuXHRcdCAgICAgIHVybCA9ICd1c2VyL29yZGVyUmVudD9wYWdlID0gMSdcblx0XHQgICAgfVxuXHRcdCAgICBsZXQgZGF0YSA9IHtcblx0XHQgICAgICB1c2VyX2lkOiB0aGlzLnVzZXJfaWRcblx0XHQgICAgfVxuXHRcdCAgICBhcHAucmVxdWVzdCh1cmwsIGRhdGEsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0ICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0ICAgICAgaWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdCAgICAgICBcblx0XHQgICAgICAgICAgdGhpcy5vcmRlcj0gcmVzLmRhdGEuZGF0YSxcblx0XHQgICAgICAgICAgdGhpcy5saW5rcz0gcmVzLmRhdGEubGlua3MubmV4dFxuXHRcdCAgICAgICAgXG5cdFx0ICAgICAgfVxuXHRcdCAgICB9KVxuXHRcdCAgfSxcblx0XHQgIC8v5YiH5o2i5pel56ef5pyI56ef6K6i5Y2VXG5cdFx0ICBjaG9vc2U6ZnVuY3Rpb24oZSl7XG5cdFx0XHQgIHRoaXMuY3VyUGFnZT1lXG5cdFx0XHQgIHRoaXMuZ2V0TGlzdCgpXG5cdFx0XHQgIGNvbnNvbGUubG9nKGUsXCLov5nmmK/ngrnlh7vml6Xnp5/kuYvlkI5cIilcblx0XHQgIH0sXG5cdFx0ICBkZXRhaWw6ZnVuY3Rpb24oZSl7XG5cdFx0XHQgIGNvbnNvbGUubG9nKGUuY3VycmVudFRhcmdldC5kYXRhc2V0LmlkLCfot7PovaznlKjpqpHooYzovajov7knKVxuXHRcdFx0ICAgICAgdW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0ICAgICAgICB1cmw6ICcvcGFnZXMvbWFuYWdlL29yZGVyRGV0YWlsP2lkPScgKyBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pZCArXCImaW5kZXg9XCIgKyB0aGlzLmN1clBhZ2UsXG5cdFx0XHQgICAgICB9KSBcblx0XHQgIH1cblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///107\n");
  29036. /***/ }),
  29037. /* 108 */
  29038. /*!*************************************************************************************!*\
  29039. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/workDetail.vue?mpType=page ***!
  29040. \*************************************************************************************/
  29041. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29042. /*! no static exports found */
  29043. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29044. "use strict";
  29045. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./workDetail.vue?vue&type=template&id=516e5d53&mpType=page */ 275);\n/* harmony import */ var _workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./workDetail.vue?vue&type=script&lang=js&mpType=page */ 277);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/workDetail.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDs7O0FBR3BFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjc0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi93b3JrRGV0YWlsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01MTZlNWQ1MyZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vd29ya0RldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vd29ya0RldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2Uvd29ya0RldGFpbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///274\n");
  29046. /***/ }),
  29047. <<<<<<< HEAD
  29048. /* 275 */
  29049. /*!******************************************************************************************************!*\
  29050. !*** C:/Users/001/Desktop/运维端/pages/manage/workDetail.vue?vue&type=template&id=516e5d53&mpType=page ***!
  29051. \******************************************************************************************************/
  29052. =======
  29053. /* 109 */
  29054. /*!*******************************************************************************************************************!*\
  29055. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/workDetail.vue?vue&type=template&id=516e5d53&mpType=page ***!
  29056. \*******************************************************************************************************************/
  29057. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29058. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  29059. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29060. "use strict";
  29061. __webpack_require__.r(__webpack_exports__);
  29062. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./workDetail.vue?vue&type=template&id=516e5d53&mpType=page */ 276);
  29063. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  29064. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  29065. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  29066. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_template_id_516e5d53_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  29067. /***/ }),
  29068. <<<<<<< HEAD
  29069. /* 276 */
  29070. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29071. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/workDetail.vue?vue&type=template&id=516e5d53&mpType=page ***!
  29072. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29073. =======
  29074. /* 110 */
  29075. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29076. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/workDetail.vue?vue&type=template&id=516e5d53&mpType=page ***!
  29077. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29078. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29079. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  29080. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29081. "use strict";
  29082. __webpack_require__.r(__webpack_exports__);
  29083. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  29084. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  29085. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  29086. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  29087. var components
  29088. var render = function() {
  29089. var _vm = this
  29090. var _h = _vm.$createElement
  29091. var _c = _vm._self._c || _h
  29092. return _c(
  29093. "view",
  29094. { staticClass: _vm._$s(0, "sc", "workDetail"), attrs: { _i: 0 } },
  29095. [
  29096. _c("view", { staticClass: _vm._$s(1, "sc", "con"), attrs: { _i: 1 } }, [
  29097. _c("image", {
  29098. staticClass: _vm._$s(2, "sc", "bike"),
  29099. attrs: { _i: 2 },
  29100. on: { click: _vm.goHome }
  29101. }),
  29102. _c(
  29103. "view",
  29104. { staticClass: _vm._$s(3, "sc", "work"), attrs: { _i: 3 } },
  29105. [
  29106. _c("view", [_vm._v(_vm._$s(4, "t0-0", _vm._s(_vm.detail.reason)))]),
  29107. _c("view", [
  29108. _c("text", [
  29109. _vm._v(_vm._$s(6, "t0-0", _vm._s(_vm.detail.bike_no)))
  29110. ]),
  29111. _c("text", [_vm._v(_vm._$s(7, "t0-0", _vm._s(_vm.detail.times)))])
  29112. ])
  29113. ]
  29114. ),
  29115. _c(
  29116. "view",
  29117. { staticClass: _vm._$s(8, "sc", "info flex"), attrs: { _i: 8 } },
  29118. [
  29119. _c("view", [
  29120. _c("view"),
  29121. _c(
  29122. "view",
  29123. { staticClass: _vm._$s(11, "sc", "msg"), attrs: { _i: 11 } },
  29124. [_vm._v(_vm._$s(11, "t0-0", _vm._s(_vm.detail.created_man)))]
  29125. )
  29126. ]),
  29127. _c("view", [
  29128. _c("view"),
  29129. _c(
  29130. "view",
  29131. { staticClass: _vm._$s(14, "sc", "msg"), attrs: { _i: 14 } },
  29132. [
  29133. _vm._v(
  29134. _vm._$s(
  29135. 14,
  29136. "t0-0",
  29137. _vm._s(
  29138. _vm.detail.received_name
  29139. ? _vm.detail.received_name
  29140. : "暂无"
  29141. )
  29142. )
  29143. )
  29144. ]
  29145. )
  29146. ]),
  29147. _c("view", [
  29148. _c("view"),
  29149. _c(
  29150. "view",
  29151. { staticClass: _vm._$s(17, "sc", "msg"), attrs: { _i: 17 } },
  29152. [
  29153. _vm._v(
  29154. _vm._$s(
  29155. 17,
  29156. "t0-0",
  29157. _vm._s(
  29158. _vm.detail.work_over_name
  29159. ? _vm.detail.work_over_name
  29160. : "暂无"
  29161. )
  29162. )
  29163. )
  29164. ]
  29165. )
  29166. ])
  29167. ]
  29168. ),
  29169. _c(
  29170. "view",
  29171. {
  29172. staticClass: _vm._$s(18, "sc", "position flex"),
  29173. attrs: { _i: 18 }
  29174. },
  29175. [
  29176. _c("image", { attrs: { _i: 19 } }),
  29177. _c("view", [
  29178. _vm._v(_vm._$s(20, "t0-0", _vm._s(_vm.detail.location)))
  29179. ])
  29180. ]
  29181. )
  29182. ]),
  29183. _c("view", {
  29184. staticClass: _vm._$s(21, "sc", "loading"),
  29185. attrs: { _i: 21 }
  29186. }),
  29187. _c(
  29188. "view",
  29189. { staticClass: _vm._$s(22, "sc", "step"), attrs: { _i: 22 } },
  29190. [
  29191. _c(
  29192. "view",
  29193. { staticClass: _vm._$s(23, "sc", "flexCC"), attrs: { _i: 23 } },
  29194. [
  29195. _c("image", {
  29196. staticClass: _vm._$s(24, "sc", "circle"),
  29197. attrs: { _i: 24 }
  29198. }),
  29199. _c("image", {
  29200. staticClass: _vm._$s(25, "sc", "line"),
  29201. attrs: { _i: 25 }
  29202. }),
  29203. _c("image", {
  29204. staticClass: _vm._$s(26, "sc", "circle"),
  29205. attrs: { _i: 26 }
  29206. }),
  29207. _c("image", {
  29208. staticClass: _vm._$s(27, "sc", "line"),
  29209. attrs: { _i: 27 }
  29210. }),
  29211. _c("image", {
  29212. staticClass: _vm._$s(28, "sc", "circle"),
  29213. attrs: { _i: 28 }
  29214. }),
  29215. _c("image", {
  29216. staticClass: _vm._$s(29, "sc", "line"),
  29217. attrs: { _i: 29 }
  29218. }),
  29219. _c("image", {
  29220. staticClass: _vm._$s(30, "sc", "circle"),
  29221. attrs: { _i: 30 }
  29222. })
  29223. ]
  29224. ),
  29225. _c(
  29226. "view",
  29227. { staticClass: _vm._$s(31, "sc", "list"), attrs: { _i: 31 } },
  29228. [
  29229. _vm._$s(32, "i", _vm.four)
  29230. ? _c(
  29231. "view",
  29232. {
  29233. staticClass: _vm._$s(32, "sc", "stepCon flexB"),
  29234. attrs: { _i: 32 }
  29235. },
  29236. [
  29237. _c("view", [
  29238. _c("view"),
  29239. _c("view", [
  29240. _vm._v(
  29241. _vm._$s(
  29242. 35,
  29243. "t0-0",
  29244. _vm._s(_vm.detail.work_over_name)
  29245. )
  29246. )
  29247. ])
  29248. ]),
  29249. _c("view", [
  29250. _vm._v(
  29251. _vm._$s(36, "t0-0", _vm._s(_vm.detail.work_over_time))
  29252. )
  29253. ])
  29254. ]
  29255. )
  29256. : _vm._e(),
  29257. _vm._$s(37, "i", _vm.three)
  29258. ? _c(
  29259. "view",
  29260. {
  29261. staticClass: _vm._$s(37, "sc", "stepCon flexB"),
  29262. attrs: { _i: 37 }
  29263. },
  29264. [
  29265. _c("view", [
  29266. _c("view"),
  29267. _c("view", [
  29268. _vm._v(
  29269. _vm._$s(
  29270. 40,
  29271. "t0-0",
  29272. _vm._s(_vm.detail.work_over_name)
  29273. )
  29274. )
  29275. ])
  29276. ]),
  29277. _c("view", [
  29278. _vm._v(
  29279. _vm._$s(41, "t0-0", _vm._s(_vm.detail.work_over_time))
  29280. )
  29281. ])
  29282. ]
  29283. )
  29284. : _vm._e(),
  29285. _vm._$s(42, "i", _vm.two)
  29286. ? _c(
  29287. "view",
  29288. {
  29289. staticClass: _vm._$s(42, "sc", "stepCon flexB"),
  29290. attrs: { _i: 42 }
  29291. },
  29292. [
  29293. _c("view", [
  29294. _c("view"),
  29295. _c("view", [
  29296. _vm._v(
  29297. _vm._$s(
  29298. 45,
  29299. "t0-0",
  29300. _vm._s(_vm.detail.received_name)
  29301. )
  29302. )
  29303. ])
  29304. ]),
  29305. _c("view", [
  29306. _vm._v(
  29307. _vm._$s(46, "t0-0", _vm._s(_vm.detail.received_at))
  29308. )
  29309. ])
  29310. ]
  29311. )
  29312. : _vm._e(),
  29313. _vm._$s(47, "i", _vm.one)
  29314. ? _c(
  29315. "view",
  29316. {
  29317. staticClass: _vm._$s(47, "sc", "stepCon flexB"),
  29318. attrs: { _i: 47 }
  29319. },
  29320. [
  29321. _c("view", [
  29322. _c("view"),
  29323. _c("view", [
  29324. _vm._v(
  29325. _vm._$s(50, "t0-0", _vm._s(_vm.detail.created_man))
  29326. )
  29327. ])
  29328. ]),
  29329. _c("view", [
  29330. _vm._v(
  29331. _vm._$s(51, "t0-0", _vm._s(_vm.detail.created_at))
  29332. )
  29333. ])
  29334. ]
  29335. )
  29336. : _vm._e()
  29337. ]
  29338. )
  29339. ]
  29340. ),
  29341. _c(
  29342. "view",
  29343. { staticClass: _vm._$s(52, "sc", "operate"), attrs: { _i: 52 } },
  29344. [
  29345. _c("view", {
  29346. staticClass: _vm._$s(53, "sc", "flexC"),
  29347. attrs: { _i: 53 },
  29348. on: { click: _vm.alarm }
  29349. }),
  29350. _c("image", { attrs: { _i: 54 }, on: { click: _vm.openICon } })
  29351. ]
  29352. ),
  29353. _vm._$s(55, "i", _vm.alarmShow)
  29354. ? _c("view", {
  29355. staticClass: _vm._$s(55, "sc", "cover"),
  29356. attrs: { _i: 55 },
  29357. on: { click: _vm.closeAlarm }
  29358. })
  29359. : _vm._e(),
  29360. _vm._$s(56, "i", _vm.alarmShow)
  29361. ? _c(
  29362. "view",
  29363. { staticClass: _vm._$s(56, "sc", "alarmCon "), attrs: { _i: 56 } },
  29364. [
  29365. _c(
  29366. "view",
  29367. {
  29368. staticClass: _vm._$s(57, "sc", "alarmTitle flexC"),
  29369. attrs: { _i: 57 }
  29370. },
  29371. [
  29372. _c("text", [
  29373. _vm._v(_vm._$s(58, "t0-0", _vm._s(_vm.detail.bike_no)))
  29374. ])
  29375. ]
  29376. ),
  29377. _c(
  29378. "view",
  29379. {
  29380. staticClass: _vm._$s(59, "sc", "alarmTab flexC"),
  29381. attrs: { _i: 59 }
  29382. },
  29383. [
  29384. _c("view", {
  29385. attrs: { _i: 60 },
  29386. on: { click: _vm.alarmChoose }
  29387. }),
  29388. _c("view", {
  29389. attrs: { _i: 61 },
  29390. on: { click: _vm.alarmChoose }
  29391. })
  29392. ]
  29393. ),
  29394. _c(
  29395. "scroll-view",
  29396. { staticClass: _vm._$s(62, "sc", "scroll"), attrs: { _i: 62 } },
  29397. [
  29398. _c(
  29399. "view",
  29400. {
  29401. staticClass: _vm._$s(63, "sc", "scrollCon"),
  29402. attrs: { _i: 63 }
  29403. },
  29404. [
  29405. _vm._l(
  29406. _vm._$s(64, "f", { forItems: _vm.alarmList }),
  29407. function(item, index2, $20, $30) {
  29408. return _c(
  29409. "view",
  29410. {
  29411. key: _vm._$s(64, "f", {
  29412. forIndex: $20,
  29413. key: index2
  29414. }),
  29415. staticClass: _vm._$s("64-" + $30, "sc", "alList"),
  29416. attrs: { _i: "64-" + $30 }
  29417. },
  29418. [
  29419. _c("view", [
  29420. _vm._v(
  29421. _vm._$s(
  29422. "65-" + $30,
  29423. "t0-0",
  29424. _vm._s(item.type_name)
  29425. )
  29426. )
  29427. ]),
  29428. _c(
  29429. "view",
  29430. {
  29431. staticClass: _vm._$s(
  29432. "66-" + $30,
  29433. "sc",
  29434. "source flexB"
  29435. ),
  29436. attrs: { _i: "66-" + $30 }
  29437. },
  29438. [
  29439. _c("text", [
  29440. _vm._v(
  29441. _vm._$s(
  29442. "67-" + $30,
  29443. "t0-0",
  29444. _vm._s(item.source)
  29445. )
  29446. )
  29447. ]),
  29448. _c("text", [
  29449. _vm._v(
  29450. _vm._$s(
  29451. "68-" + $30,
  29452. "t0-0",
  29453. _vm._s(item.created_at)
  29454. )
  29455. )
  29456. ])
  29457. ]
  29458. )
  29459. ]
  29460. )
  29461. }
  29462. ),
  29463. _vm._$s(69, "i", _vm.alarmList.length == 0)
  29464. ? _c(
  29465. "view",
  29466. {
  29467. staticClass: _vm._$s(69, "sc", "no"),
  29468. attrs: { _i: 69 }
  29469. },
  29470. [_c("image", { attrs: { _i: 70 } }), _c("view")]
  29471. )
  29472. : _vm._e()
  29473. ],
  29474. 2
  29475. )
  29476. ]
  29477. ),
  29478. _c("view")
  29479. ]
  29480. )
  29481. : _vm._e(),
  29482. _vm._$s(73, "i", _vm.iconShow)
  29483. ? _c("view", {
  29484. staticClass: _vm._$s(73, "sc", "cover"),
  29485. attrs: { _i: 73 },
  29486. on: { click: _vm.closeIcon }
  29487. })
  29488. : _vm._e(),
  29489. _vm._$s(74, "i", _vm.iconShow)
  29490. ? _c(
  29491. "view",
  29492. {
  29493. staticClass: _vm._$s(74, "sc", "icon"),
  29494. style: _vm._$s(
  29495. 74,
  29496. "s",
  29497. _vm.screenHeight == "xSeries" ? "bottom:27%" : "bottom:12%"
  29498. ),
  29499. attrs: { _i: 74 }
  29500. },
  29501. [
  29502. _c(
  29503. "view",
  29504. {
  29505. staticClass: _vm._$s(75, "sc", "button"),
  29506. attrs: { _i: 75 },
  29507. on: { click: _vm.closeIcon }
  29508. },
  29509. [
  29510. _c("image", {
  29511. style: _vm._$s(
  29512. 76,
  29513. "s",
  29514. _vm.screenHeight == "xSeries"
  29515. ? "bottom:16%"
  29516. : "bottom:-2%"
  29517. ),
  29518. attrs: { _i: 76 }
  29519. })
  29520. ]
  29521. ),
  29522. _vm._$s(77, "i", _vm.detail.planned == 2)
  29523. ? _c("view", { attrs: { _i: 77 }, on: { click: _vm.finish } }, [
  29524. _c("text"),
  29525. _c("image", { attrs: { _i: 79 } })
  29526. ])
  29527. : _vm._e(),
  29528. _vm._$s(80, "i", _vm.detail.planned == 2)
  29529. ? _c(
  29530. "view",
  29531. { attrs: { _i: 80 }, on: { click: _vm.reported } },
  29532. [_c("text"), _c("image", { attrs: { _i: 82 } })]
  29533. )
  29534. : _vm._e(),
  29535. _vm._$s(83, "i", _vm.detail.planned == 2)
  29536. ? _c(
  29537. "view",
  29538. { attrs: { _i: 83 }, on: { click: _vm.reported } },
  29539. [_c("text"), _c("image", { attrs: { _i: 85 } })]
  29540. )
  29541. : _vm._e(),
  29542. _vm._$s(86, "i", _vm.detail.planned == 1)
  29543. ? _c(
  29544. "view",
  29545. { attrs: { _i: 86 }, on: { click: _vm.getWork } },
  29546. [_c("text"), _c("image", { attrs: { _i: 88 } })]
  29547. )
  29548. : _vm._e()
  29549. ]
  29550. )
  29551. : _vm._e(),
  29552. _vm._$s(89, "i", _vm.commitShow)
  29553. ? _c("view", {
  29554. staticClass: _vm._$s(89, "sc", "cover"),
  29555. attrs: { _i: 89 },
  29556. on: { click: _vm.closeIcon }
  29557. })
  29558. : _vm._e(),
  29559. _vm._$s(90, "i", _vm.commitShow)
  29560. ? _c(
  29561. "view",
  29562. { staticClass: _vm._$s(90, "sc", "commit"), attrs: { _i: 90 } },
  29563. [
  29564. _vm._$s(91, "i", _vm.inpShow)
  29565. ? _c("view", [
  29566. _c("view", {
  29567. staticClass: _vm._$s(92, "sc", "title"),
  29568. attrs: { _i: 92 }
  29569. }),
  29570. _c("input", {})
  29571. ])
  29572. : _c("view", [
  29573. _c("view", {
  29574. staticClass: _vm._$s(95, "sc", "title"),
  29575. attrs: { _i: 95 }
  29576. }),
  29577. _c("view", {
  29578. staticClass: _vm._$s(96, "sc", "detail"),
  29579. attrs: { _i: 96 }
  29580. })
  29581. ]),
  29582. _c("view", [
  29583. _c("text", { attrs: { _i: 98 }, on: { click: _vm.cancel } }),
  29584. _c("text", { attrs: { _i: 99 }, on: { click: _vm.submit } })
  29585. ])
  29586. ]
  29587. )
  29588. : _vm._e()
  29589. ]
  29590. )
  29591. }
  29592. var recyclableRender = false
  29593. var staticRenderFns = []
  29594. render._withStripped = true
  29595. /***/ }),
  29596. <<<<<<< HEAD
  29597. /* 277 */
  29598. /*!************************************************************************************************!*\
  29599. !*** C:/Users/001/Desktop/运维端/pages/manage/workDetail.vue?vue&type=script&lang=js&mpType=page ***!
  29600. \************************************************************************************************/
  29601. =======
  29602. /* 111 */
  29603. /*!*************************************************************************************************************!*\
  29604. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/workDetail.vue?vue&type=script&lang=js&mpType=page ***!
  29605. \*************************************************************************************************************/
  29606. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29607. /*! no static exports found */
  29608. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29609. "use strict";
  29610. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./workDetail.vue?vue&type=script&lang=js&mpType=page */ 278);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workDetail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdqQixDQUFnQixtbEJBQUcsRUFBQyIsImZpbGUiOiIyNzcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi93b3JrRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi93b3JrRGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///277\n");
  29611. /***/ }),
  29612. <<<<<<< HEAD
  29613. /* 278 */
  29614. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29615. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/workDetail.vue?vue&type=script&lang=js&mpType=page ***!
  29616. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29617. =======
  29618. /* 112 */
  29619. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29620. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/workDetail.vue?vue&type=script&lang=js&mpType=page ***!
  29621. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29622. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29623. /*! no static exports found */
  29624. /***/ (function(module, exports, __webpack_require__) {
  29625. "use strict";
  29626. <<<<<<< HEAD
  29627. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n planned: 2,\n iconShow: false, //是否显示图标弹窗\n commitShow: false, //上报组长\n inpShow: true, //显示输入框还是显示完成\n detail: [],\n one: false,\n two: false,\n three: false,\n four: false,\n id: '',\n value: '',\n screenHeight: '', //屏幕可视高度\n alarmShow: false, //是否显示警报弹窗【true 显示 false 不显示】\n topNum: 0, //返回顶部\n alarmState: 0, // 【0 限制警报类型 1 不限制报警类型】\n page: 1, //当前页面\n skipDetail: false,\n alarmList: \"\" };\n\n },\n onLoad: function onLoad(options) {\n this.id = options.id;\n this.status();\n },\n methods: {\n status: function status() {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n app.request('work_order/workOrderDetail?work_order_id=' + this.id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/manage/workDetail.vue:186\");\n uni.hideLoading();\n if (res.statusCode == 200) {\n _this.detail = res.data,\n _this.skipDetail = true;\n if (res.data.planned == 4) {\n _this.one = true,\n _this.two = true,\n _this.three = true,\n _this.four = true;\n } else if (res.data.planned == 3) {\n _this.one = true,\n _this.two = true,\n _this.three = true;\n } else if (res.data.planned == 2) {\n _this.one = true,\n _this.two = true;\n } else if (res.data.planned == 1) {\n _this.one = true;\n }\n }\n\n });\n },\n alarm: function alarm() {\n this.alarmShow = true;\n this.getAlarm();\n },\n getAlarm: function getAlarm() {var _this2 = this;\n uni.showLoading({\n title: '加载中...' });\n\n app.request('work_order/getWarningByWorkOrderId?id=' + this.id + '&is_limit_type=' + this.alarmState, '',\n 'GET').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n _this2.alarmList = res.data;\n }\n __f__(\"log\", res, \" at pages/manage/workDetail.vue:224\");\n });\n },\n closeAlarm: function closeAlarm() {\n this.alarmShow = false;\n },\n alarmChoose: function alarmChoose(e) {\n var state = e.currentTarget.dataset.state;\n\n this.alarmState = state,\n this.alarmList = [];\n\n this.getAlarm();\n // sthis.goTop();\n },\n goHome: function goHome() {\n if (this.skipDetail) {\n uni.reLaunch({\n url: '/pages/logs/logs?bike_no=' + this.detail.bike_no });\n\n } else {\n uni.showToast({\n title: '页面加载完后再试',\n icon: 'none' });\n\n }\n },\n //打开图标弹窗\n openICon: function openICon() {\n if (this.detail.planned == 4) {\n uni.showToast({\n title: '已完成',\n icon: 'none' });\n\n } else {\n this.iconShow = true;\n }\n },\n //关闭图标弹窗\n closeIcon: function closeIcon() {\n\n this.iconShow = false,\n this.commitShow = false,\n this.inpShow = false;\n\n },\n //领取工单\n getWork: function getWork() {var _this3 = this;\n uni.showLoading({\n title: '接单中..' });\n\n app.request('work_order/receive?work_order_id=' + this.id, '', 'GET').then(function (res) {\n uni.hideLoading();\n _this3.status();\n uni.showToast({\n title: '接单成功',\n icon: 'none' });\n\n _this3.iconShow = false;\n });\n },\n //上报组长\n reported: function reported() {\n this.commitShow = true,\n this.iconShow = false,\n this.inpShow = true;\n },\n //完成\n finish: function finish() {\n this.iconShow = false,\n this.commitShow = true,\n this.inpShow = false;\n },\n //取消按钮\n cancel: function cancel() {\n this.commitShow = false;\n },\n //确定按钮\n submit: function submit() {var _this4 = this;\n uni.showLoading({\n title: '加载中...' });\n\n var condition = this.inpShow;\n if (condition == true) {\n //调上报组长接口\n var data = {\n work_order_id: this.id,\n remark: this.value };\n\n app.request('work_order/upgrade', data, 'POST').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/workDetail.vue:315\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '上报成功',\n icon: 'none' });\n\n _this4.inpShow = false,\n _this4.iconShow = false,\n _this4.commitShow = false;\n _this4.status();\n }\n });\n } else {\n app.request('work_order/over?work_order_id=' + this.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '处理完成',\n icon: 'none' });\n\n _this4.inpShow = false,\n _this4.iconShow = false,\n _this4.commitShow = false;\n _this4.status();\n }\n });\n }\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3dvcmtEZXRhaWwudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNKQSxtQjtBQUNBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0EsZ0JBREE7QUFFQSxxQkFGQSxFQUVBO0FBQ0EsdUJBSEEsRUFHQTtBQUNBLG1CQUpBLEVBSUE7QUFDQSxnQkFMQTtBQU1BLGdCQU5BO0FBT0EsZ0JBUEE7QUFRQSxrQkFSQTtBQVNBLGlCQVRBO0FBVUEsWUFWQTtBQVdBLGVBWEE7QUFZQSxzQkFaQSxFQVlBO0FBQ0Esc0JBYkEsRUFhQTtBQUNBLGVBZEEsRUFjQTtBQUNBLG1CQWZBLEVBZUE7QUFDQSxhQWhCQSxFQWdCQTtBQUNBLHVCQWpCQTtBQWtCQSxtQkFsQkE7O0FBb0JBLEdBdEJBO0FBdUJBLFFBdkJBLGtCQXVCQSxPQXZCQSxFQXVCQTtBQUNBO0FBQ0E7QUFDQSxHQTFCQTtBQTJCQTtBQUNBO0FBQ0E7QUFDQSx1QkFEQTs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQURBO0FBRUE7QUFDQTtBQUNBLDRCQURBO0FBRUEsOEJBRkE7QUFHQSw2QkFIQTtBQUlBLFdBTEEsTUFLQTtBQUNBO0FBQ0EsNEJBREE7QUFFQSw4QkFGQTtBQUdBLFdBSkEsTUFJQTtBQUNBO0FBQ0EsNEJBREE7QUFFQSxXQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0F2QkE7QUF3QkEsS0E5QkE7QUErQkE7QUFDQTtBQUNBO0FBQ0EsS0FsQ0E7QUFtQ0E7QUFDQTtBQUNBLHVCQURBOztBQUdBO0FBQ0EsV0FEQSxFQUNBLElBREEsQ0FDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVBBO0FBUUEsS0EvQ0E7QUFnREE7QUFDQTtBQUNBLEtBbERBO0FBbURBO0FBQ0E7O0FBRUE7QUFDQSx5QkFEQTs7QUFHQTtBQUNBO0FBQ0EsS0EzREE7QUE0REE7QUFDQTtBQUNBO0FBQ0EsZ0VBREE7O0FBR0EsT0FKQSxNQUlBO0FBQ0E7QUFDQSwyQkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0EsS0F2RUE7QUF3RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFEQTtBQUVBLHNCQUZBOztBQUlBLE9BTEEsTUFLQTtBQUNBO0FBQ0E7QUFDQSxLQWxGQTtBQW1GQTtBQUNBOztBQUVBO0FBQ0EsNkJBREE7QUFFQSwwQkFGQTs7QUFJQSxLQTFGQTtBQTJGQTtBQUNBO0FBQ0E7QUFDQSxzQkFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsc0JBRkE7O0FBSUE7QUFDQSxPQVJBO0FBU0EsS0F6R0E7QUEwR0E7QUFDQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSx5QkFGQTtBQUdBLEtBL0dBO0FBZ0hBO0FBQ0E7QUFDQTtBQUNBLDRCQURBO0FBRUEsMEJBRkE7QUFHQSxLQXJIQTtBQXNIQTtBQUNBO0FBQ0E7QUFDQSxLQXpIQTtBQTBIQTtBQUNBO0FBQ0E7QUFDQSx1QkFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdDQURBO0FBRUEsNEJBRkE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQURBO0FBRUEsMEJBRkE7O0FBSUE7QUFDQSxtQ0FEQTtBQUVBLHFDQUZBO0FBR0E7QUFDQTtBQUNBLFNBYkE7QUFjQSxPQXBCQSxNQW9CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJCQURBO0FBRUEsMEJBRkE7O0FBSUE7QUFDQSxtQ0FEQTtBQUVBLHFDQUZBO0FBR0E7QUFDQTtBQUNBLFNBWEE7QUFZQTtBQUNBLEtBbEtBLEVBM0JBLEUiLCJmaWxlIjoiMjc4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDwhLS3lt6XljZXor6bmg4UtLT5cclxuXHQ8IS0t5bel5Y2V6K+m5oOFLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJ3b3JrRGV0YWlsXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNvblwiPlxyXG5cdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9kZXRhaWwucG5nXCIgQGNsaWNrPVwiZ29Ib21lXCIgY2xhc3M9XCJiaWtlXCI+PC9pbWFnZT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ3b3JrXCI+XHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJmb250LXNpemU6MjhycHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczt3aWR0aDo4MCU7XCI+e3tkZXRhaWwucmVhc29ufX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJmb250LXNpemU6NDBycHg7bWFyZ2luLXRvcDoxNXJweDtcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PiB7e2RldGFpbC5iaWtlX25vfX08L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi1sZWZ0OjEwcnB4O1wiPiAo57qn5Yir77yae3tkZXRhaWwudGltZXN9fee6pyk8L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mbyBmbGV4XCI+XHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldz7liJvlu7rkuro8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1zZ1wiPnt7ZGV0YWlsLmNyZWF0ZWRfbWFufX08L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXc+5aSE55CG5Lq6PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtc2dcIj57e2RldGFpbC5yZWNlaXZlZF9uYW1lID8gZGV0YWlsLnJlY2VpdmVkX25hbWU6J+aaguaXoCd9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldz7lhbPpl63kuro8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1zZ1wiPnt7ZGV0YWlsLndvcmtfb3Zlcl9uYW1lID9kZXRhaWwud29ya19vdmVyX25hbWUgOiAn5pqC5pegJ319PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBvc2l0aW9uIGZsZXhcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9wb3MucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiMwMDA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOiBub3dyYXA7d2lkdGg6ODAlO1wiPuWPkeeUn+S9jee9ru+8mnt7ZGV0YWlsLmxvY2F0aW9ufX08L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwibG9hZGluZ1wiPuW3peWNlei/m+eoizwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwic3RlcFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhDQ1wiIHN0eWxlPVwibWFyZ2luLXRvcDoyMHJweDtcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9jaXJjbGUxLnBuZ1wiIGNsYXNzPVwiY2lyY2xlXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9lbGxpcHNpcy5wbmdcIiBjbGFzcz1cImxpbmVcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2NpcmNsZTEucG5nXCIgY2xhc3M9XCJjaXJjbGVcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2VsbGlwc2lzLnBuZ1wiIGNsYXNzPVwibGluZVwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvY2lyY2xlMS5wbmdcIiBjbGFzcz1cImNpcmNsZVwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvZWxsaXBzaXMucG5nXCIgY2xhc3M9XCJsaW5lXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9jaXJjbGUxLnBuZ1wiIGNsYXNzPVwiY2lyY2xlXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RcIiBzdHlsZT1cIndpZHRoOjEwMCU7XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzdGVwQ29uIGZsZXhCXCIgdi1pZj1cImZvdXJcIj5cclxuXHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldz7lt7LlrozmiJA8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6I0ZGNjMwMDtcIj57e2RldGFpbC53b3JrX292ZXJfbmFtZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXc+e3tkZXRhaWwud29ya19vdmVyX3RpbWV9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzdGVwQ29uIGZsZXhCXCIgdi1pZj1cInRocmVlXCI+XHJcblx0XHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXc+5bey5aSE55CGPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiNGRjYzMDA7XCI+e3tkZXRhaWwud29ya19vdmVyX25hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3Pnt7ZGV0YWlsLndvcmtfb3Zlcl90aW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic3RlcENvbiBmbGV4QlwiIHYtaWY9XCJ0d29cIj5cclxuXHRcdFx0XHRcdDx2aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldz7lpITnkIbkuK08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6I0ZGNjMwMDtcIj57e2RldGFpbC5yZWNlaXZlZF9uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldz57e2RldGFpbC5yZWNlaXZlZF9hdH19PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0ZXBDb24gZmxleEJcIiB2LWlmPVwib25lXCI+XHJcblx0XHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXc+5b6F5o6l5Y2VPC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiNGRjYzMDA7XCI+e3tkZXRhaWwuY3JlYXRlZF9tYW59fTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3Pnt7ZGV0YWlsLmNyZWF0ZWRfYXR9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwib3BlcmF0ZVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhDXCIgQGNsaWNrPVwiYWxhcm1cIj7mn6XnnIvorabmiqU8L3ZpZXc+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2J0bi5wbmdcIiBAY2xpY2s9XCJvcGVuSUNvblwiPjwvaW1hZ2U+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOafpeeci+itpuaKpSAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiY292ZXJcIiB2LWlmPVwiYWxhcm1TaG93XCIgQGNsaWNrPVwiY2xvc2VBbGFybVwiPjwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYWxhcm1Db24gXCIgdi1pZj1cImFsYXJtU2hvd1wiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImFsYXJtVGl0bGUgZmxleENcIj5cclxuXHRcdFx0XHQ8dGV4dD57e2RldGFpbC5iaWtlX25vfX3miqXorabliJfooag8L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJhbGFybVRhYiBmbGV4Q1wiPlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cImFsYXJtQ2hvb3NlXCIgdi1iaW5kOmRhdGEtc3RhdGU9XCIwXCI+6ZmQ5Yi25oql6K2m57G75Z6LPC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cImFsYXJtQ2hvb3NlXCIgdi1iaW5kOmRhdGEtc3RhdGU9XCIxXCI+5LiN6ZmQ5Yi25oql6K2m57G75Z6LPC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteT1cInRydWVcIiBjbGFzcz1cInNjcm9sbFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Nyb2xsQ29uXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFsTGlzdFwiIHYtZm9yPVwiKGl0ZW0saW5kZXgyKSBpbiBhbGFybUxpc3RcIiA6a2V5PSdpbmRleDInPlxyXG5cdFx0XHRcdFx0XHQ8dmlldz57e2l0ZW0udHlwZV9uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic291cmNlIGZsZXhCXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQ+5p2l5rqQ77yae3tpdGVtLnNvdXJjZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0PuaXtumXtO+8mnt7aXRlbS5jcmVhdGVkX2F0fX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibm9cIiB2LWlmPVwiYWxhcm1MaXN0Lmxlbmd0aCA9PSAwXCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vbm9uZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8dmlldz7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdFx0PHZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDwhLS0g5pi+56S65pON5L2c5q2l6aqkIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJjb3ZlclwiIHYtaWY9XCJpY29uU2hvd1wiIEBjbGljaz1cImNsb3NlSWNvblwiPjwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiaWNvblwiIHYtaWY9XCJpY29uU2hvd1wiIDpzdHlsZT1cInNjcmVlbkhlaWdodD09J3hTZXJpZXMnID8gJ2JvdHRvbToyNyUnIDogJ2JvdHRvbToxMiUnXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYnV0dG9uXCIgQGNsaWNrPVwiY2xvc2VJY29uXCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vYnV0dG9uLnBuZ1wiIDpzdHlsZT1cInNjcmVlbkhlaWdodD09J3hTZXJpZXMnID8gJ2JvdHRvbToxNiUnIDogJ2JvdHRvbTotMiUnXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJmaW5pc2hcIiB2LWlmPVwiZGV0YWlsLnBsYW5uZWQ9PTJcIj5cclxuXHRcdFx0XHQ8dGV4dD7lt7LlpITnkIblpb3vvIzmraPluLjlhbPpl608L3RleHQ+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vZmluaXNoLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgQGNsaWNrPVwicmVwb3J0ZWRcIiB2LWlmPVwiZGV0YWlsLnBsYW5uZWQ9PTJcIj5cclxuXHRcdFx0XHQ8dGV4dD7lj6/ku6XkuIrnur/vvIzkvYbmnInmg4XlhrXpnIDopoHkuIrmiqXnu4Tplb/lpITnkIY8L3RleHQ+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vb25saW5lLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgQGNsaWNrPVwicmVwb3J0ZWRcIiB2LWlmPVwiZGV0YWlsLnBsYW5uZWQ9PTJcIj5cclxuXHRcdFx0XHQ8dGV4dD7mnInmlYXpmpzvvIzmiqXlkYrnu4Tplb/lubbkuIvnur/ovabovoY8L3RleHQ+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vb3V0bGluZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJnZXRXb3JrXCIgdi1pZj1cImRldGFpbC5wbGFubmVkPT0xXCI+XHJcblx0XHRcdFx0PHRleHQ+6aKG5Y+W5bel5Y2VPC90ZXh0PlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL2dldC5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOS4iuaKpee7hOmVv+W8ueahhiAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiY292ZXJcIiB2LWlmPVwiY29tbWl0U2hvd1wiIEBjbGljaz1cImNsb3NlSWNvblwiPjwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiY29tbWl0XCIgdi1pZj1cImNvbW1pdFNob3dcIj5cclxuXHRcdFx0PHZpZXcgdi1pZj1cImlucFNob3dcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCI+55Sf5oiQ57uE6ZW/5bel5Y2VPC92aWV3PlxyXG5cdFx0XHRcdDxpbnB1dCBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaKpeWRiue7hOmVv+WGheWuuVwiIGJpbmRpbnB1dD1cImlucHV0XCI+PC9pbnB1dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyB2LWVsc2U+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZVwiPuWujOaIkOW5tuWFs+mXreW3peWNlTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRldGFpbFwiPuW3suWkhOeQhuWlve+8jOato+W4uDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cInRleHQtYWxpZ246cmlnaHQ7XCI+XHJcblx0XHRcdFx0PHRleHQgQGNsaWNrPVwiY2FuY2VsXCI+5Y+W5raIPC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luOjAgNTBycHggMCA4MHJweDtcIiBAY2xpY2s9XCJzdWJtaXRcIj7noa7lrpo8L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHAgPSBnZXRBcHAoKVxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0cGxhbm5lZDogMixcclxuXHRcdFx0XHRpY29uU2hvdzogZmFsc2UsIC8v5piv5ZCm5pi+56S65Zu+5qCH5by556qXXHJcblx0XHRcdFx0Y29tbWl0U2hvdzogZmFsc2UsIC8v5LiK5oql57uE6ZW/XHJcblx0XHRcdFx0aW5wU2hvdzogdHJ1ZSwgLy/mmL7npLrovpPlhaXmoYbov5jmmK/mmL7npLrlrozmiJBcclxuXHRcdFx0XHRkZXRhaWw6IFtdLFxyXG5cdFx0XHRcdG9uZTogZmFsc2UsXHJcblx0XHRcdFx0dHdvOiBmYWxzZSxcclxuXHRcdFx0XHR0aHJlZTogZmFsc2UsXHJcblx0XHRcdFx0Zm91cjogZmFsc2UsXHJcblx0XHRcdFx0aWQ6ICcnLFxyXG5cdFx0XHRcdHZhbHVlOiAnJyxcclxuXHRcdFx0XHRzY3JlZW5IZWlnaHQ6ICcnLCAvL+Wxj+W5leWPr+inhumrmOW6plxyXG5cdFx0XHRcdGFsYXJtU2hvdzogZmFsc2UsIC8v5piv5ZCm5pi+56S66K2m5oql5by556qX44CQdHJ1ZSDmmL7npLogIGZhbHNlIOS4jeaYvuekuuOAkVxyXG5cdFx0XHRcdHRvcE51bTogMCwgLy/ov5Tlm57pobbpg6hcclxuXHRcdFx0XHRhbGFybVN0YXRlOiAwLCAvLyDjgJAwIOmZkOWItuitpuaKpeexu+WeiyAgMSAg5LiN6ZmQ5Yi25oql6K2m57G75Z6L44CRXHJcblx0XHRcdFx0cGFnZTogMSwgLy/lvZPliY3pobXpnaJcclxuXHRcdFx0XHRza2lwRGV0YWlsOiBmYWxzZSxcclxuXHRcdFx0XHRhbGFybUxpc3Q6IFwiXCJcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdHRoaXMuaWQgPSBvcHRpb25zLmlkXHJcblx0XHRcdHRoaXMuc3RhdHVzKCk7XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRzdGF0dXM6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ3dvcmtfb3JkZXIvd29ya09yZGVyRGV0YWlsP3dvcmtfb3JkZXJfaWQ9JyArIHRoaXMuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRldGFpbCA9IHJlcy5kYXRhLFxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuc2tpcERldGFpbCA9IHRydWVcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLnBsYW5uZWQgPT0gNCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMub25lID0gdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudHdvID0gdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudGhyZWUgPSB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5mb3VyID0gdHJ1ZVxyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhLnBsYW5uZWQgPT0gMykge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMub25lID0gdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudHdvID0gdHJ1ZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudGhyZWUgPSB0cnVlXHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmRhdGEucGxhbm5lZCA9PSAyKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5vbmUgPSB0cnVlLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy50d28gPSB0cnVlXHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmRhdGEucGxhbm5lZCA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5vbmUgPSB0cnVlXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0YWxhcm06IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuYWxhcm1TaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdHRoaXMuZ2V0QWxhcm0oKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0QWxhcm06IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci9nZXRXYXJuaW5nQnlXb3JrT3JkZXJJZD9pZD0nICsgdGhpcy5pZCArICcmaXNfbGltaXRfdHlwZT0nICsgdGhpcy5hbGFybVN0YXRlLCAnJyxcclxuXHRcdFx0XHRcdCdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5hbGFybUxpc3QgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNsb3NlQWxhcm06IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuYWxhcm1TaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0YWxhcm1DaG9vc2U6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRsZXQgc3RhdGUgPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5zdGF0ZTtcclxuXHJcblx0XHRcdFx0dGhpcy5hbGFybVN0YXRlID0gc3RhdGUsXHJcblx0XHRcdFx0XHR0aGlzLmFsYXJtTGlzdCA9IFtdXHJcblxyXG5cdFx0XHRcdHRoaXMuZ2V0QWxhcm0oKTtcclxuXHRcdFx0XHQvLyBzdGhpcy5nb1RvcCgpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnb0hvbWU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnNraXBEZXRhaWwpIHtcclxuXHRcdFx0XHRcdHVuaS5yZUxhdW5jaCh7XHJcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dzL2xvZ3M/YmlrZV9ubz0nICsgdGhpcy5kZXRhaWwuYmlrZV9ubyxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+mhtemdouWKoOi9veWujOWQjuWGjeivlScsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5omT5byA5Zu+5qCH5by556qXXHJcblx0XHRcdG9wZW5JQ29uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5kZXRhaWwucGxhbm5lZCA9PSA0KSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICflt7LlrozmiJAnLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuaWNvblNob3cgPSB0cnVlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WFs+mXreWbvuagh+W8ueeql1xyXG5cdFx0XHRjbG9zZUljb246IGZ1bmN0aW9uKCkge1xyXG5cclxuXHRcdFx0XHR0aGlzLmljb25TaG93ID0gZmFsc2UsXHJcblx0XHRcdFx0XHR0aGlzLmNvbW1pdFNob3cgPSBmYWxzZSxcclxuXHRcdFx0XHRcdHRoaXMuaW5wU2hvdyA9IGZhbHNlXHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+mihuWPluW3peWNlVxyXG5cdFx0XHRnZXRXb3JrOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfmjqXljZXkuK0uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci9yZWNlaXZlP3dvcmtfb3JkZXJfaWQ9JyArIHRoaXMuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHR0aGlzLnN0YXR1cygpXHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfmjqXljZXmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR0aGlzLmljb25TaG93ID0gZmFsc2VcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+S4iuaKpee7hOmVv1xyXG5cdFx0XHRyZXBvcnRlZDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5jb21taXRTaG93ID0gdHJ1ZSxcclxuXHRcdFx0XHRcdHRoaXMuaWNvblNob3cgPSBmYWxzZSxcclxuXHRcdFx0XHRcdHRoaXMuaW5wU2hvdyA9IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lrozmiJBcclxuXHRcdFx0ZmluaXNoOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmljb25TaG93ID0gZmFsc2UsXHJcblx0XHRcdFx0XHR0aGlzLmNvbW1pdFNob3cgPSB0cnVlLFxyXG5cdFx0XHRcdFx0dGhpcy5pbnBTaG93ID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lj5bmtojmjInpkq5cclxuXHRcdFx0Y2FuY2VsOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmNvbW1pdFNob3cgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+ehruWumuaMiemSrlxyXG5cdFx0XHRzdWJtaXQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgY29uZGl0aW9uID0gdGhpcy5pbnBTaG93XHJcblx0XHRcdFx0aWYgKGNvbmRpdGlvbiA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHQvL+iwg+S4iuaKpee7hOmVv+aOpeWPo1xyXG5cdFx0XHRcdFx0dmFyIGRhdGEgPSB7XHJcblx0XHRcdFx0XHRcdHdvcmtfb3JkZXJfaWQ6IHRoaXMuaWQsXHJcblx0XHRcdFx0XHRcdHJlbWFyazogdGhpcy52YWx1ZVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ3dvcmtfb3JkZXIvdXBncmFkZScsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfkuIrmiqXmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmlucFNob3cgPSBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuaWNvblNob3cgPSBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY29tbWl0U2hvdyA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zdGF0dXMoKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci9vdmVyP3dvcmtfb3JkZXJfaWQ9JyArIHRoaXMuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+WkhOeQhuWujOaIkCcsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaW5wU2hvdyA9IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5pY29uU2hvdyA9IGZhbHNlLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jb21taXRTaG93ID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXR1cygpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblx0LyogcGFnZXMvd29ya0RldGFpbC93b3JrRGV0YWlsLnd4c3MgKi9cclxuXHJcblx0LndvcmtEZXRhaWwgLmNvbiB7XHJcblx0XHRoZWlnaHQ6IDM4MHJweDtcclxuXHRcdHdpZHRoOiA5NSU7XHJcblx0XHRtYXJnaW46IDMwcnB4IGF1dG8gMDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS93b3JrYmcyLnBuZycpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cclxuXHQvKiAuY29uPnZpZXcge1xyXG5cdCAgaGVpZ2h0OiA1MCU7XHJcblx0fSAqL1xyXG5cclxuXHQuY29uIHZpZXcge1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0LyogbWFyZ2luLXRvcDogMTVycHg7ICovXHJcblx0XHRwYWRkaW5nLWxlZnQ6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LmNvbiAuYmlrZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRyaWdodDogMjFycHg7XHJcblx0XHR3aWR0aDogMTYwcnB4O1xyXG5cdFx0aGVpZ2h0OiA1MHJweDtcclxuXHR9XHJcblxyXG5cdC5jb24gLnJlYXNvbiB7XHJcblx0XHRmb250LXNpemU6IDMycnB4O1xyXG5cdFx0cGFkZGluZzogNDBycHggMCAxMHJweCAyMHJweDtcclxuXHR9XHJcblxyXG5cdC5jb24gLndvcmsge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmctbGVmdDogNjhycHg7XHJcblx0XHRoZWlnaHQ6IDUwJTtcclxuXHR9XHJcblxyXG5cdC5jb24gLmljb25mb250IHtcclxuXHRcdGZvbnQtc2l6ZTogMTAwcnB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IDM3cnB4O1xyXG5cdFx0cmlnaHQ6IDY1cnB4O1xyXG5cdH1cclxuXHJcblx0LmluZm8ge1xyXG5cdFx0aGVpZ2h0OiAyNSU7XHJcblx0fVxyXG5cclxuXHQuaW5mbz52aWV3IHtcclxuXHRcdHdpZHRoOiAyNy4zMyU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuaW5mbyB2aWV3IHtcclxuXHRcdGNvbG9yOiAjMjEyMTIxO1xyXG5cdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHR9XHJcblxyXG5cdC5pbmZvIC5tc2cge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRtYXJnaW4tdG9wOiAxNXJweDtcclxuXHR9XHJcblxyXG5cdC5wb3NpdGlvbiB7XHJcblx0XHRoZWlnaHQ6IDI1JTtcclxuXHR9XHJcblxyXG5cdC5wb3NpdGlvbiBpbWFnZSB7XHJcblx0XHR3aWR0aDogMjRycHg7XHJcblx0XHRoZWlnaHQ6IDI4cnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDE1cnB4O1xyXG5cdH1cclxuXHJcblx0LnBvc2l0aW9uIHZpZXcge1xyXG5cdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHR9XHJcblxyXG5cdC5sb2FkaW5nIHtcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdHBhZGRpbmc6IDM1cnB4IDAgMjRycHggMDtcclxuXHR9XHJcblxyXG5cdC5zdGVwIHtcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0fVxyXG5cclxuXHQuc3RlcCAuY2lyY2xlIHtcclxuXHRcdGhlaWdodDogMjhycHg7XHJcblx0XHR3aWR0aDogMjhycHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxM3JweDtcclxuXHR9XHJcblxyXG5cdC5zdGVwIC5saW5lIHtcclxuXHRcdGhlaWdodDogMTI1cnB4O1xyXG5cdFx0d2lkdGg6IDZycHg7XHJcblx0fVxyXG5cclxuXHQuc3RlcENvbiB7XHJcblx0XHR3aWR0aDogOTUlO1xyXG5cdFx0aGVpZ2h0OiAxMTRycHg7XHJcblx0XHRtYXJnaW46IDIwcnB4IDAgMCAyMHJweDtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA2cnB4IDAgcmdiYSgyMTYsIDIxNiwgMjE2LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0cGFkZGluZzogNXJweCA0MHJweDtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG5cclxuXHQuc3RlcENvbiB2aWV3IHtcclxuXHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHRjb2xvcjogIzRkNGQ0ZDtcclxuXHRcdHBhZGRpbmc6IDhycHggMDtcclxuXHR9XHJcblxyXG5cdC5pY29uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHJpZ2h0OiAxMiU7XHJcblx0XHR6LWluZGV4OiA5OTk5O1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQub3BlcmF0ZSBpbWFnZSB7XHJcblx0XHRoZWlnaHQ6IDE0OHJweDtcclxuXHRcdHdpZHRoOiAxNDhycHg7XHJcblx0fVxyXG5cclxuXHQub3BlcmF0ZSB7XHJcblx0XHR3aWR0aDogOTUlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHJcblx0Lm9wZXJhdGUgdmlldyB7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0d2lkdGg6IDIwMHJweDtcclxuXHRcdGhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjUzLCAxNDIsIDExMSwgMSkgMCUsIHJnYmEoMjQ5LCAxMjksIDEyLCAxKSAxMDAlKTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMTJycHggMjZycHggMCByZ2JhKDI1NSwgMTg5LCAxNjUsIDEpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmljb24gdmlldyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHJweDtcclxuXHR9XHJcblxyXG5cdC5pY29uIGltYWdlIHtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHR3aWR0aDogNjBycHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmljb24gdmlldyB0ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRwYWRkaW5nOiAxMHJweCA0MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cclxuXHQuYnV0dG9uIGltYWdlIHtcclxuXHRcdHdpZHRoOiAyMDBycHg7XHJcblx0XHRoZWlnaHQ6IDIwMHJweDtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHJpZ2h0OiAxMHJweDtcclxuXHR9XHJcblxyXG5cdC5jb21taXQge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHR3aWR0aDogNjQwcnB4O1xyXG5cdFx0aGVpZ2h0OiAyOTZycHg7XHJcblx0XHR6LWluZGV4OiA5OTk5O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcclxuXHRcdHBhZGRpbmc6IDIwcnB4O1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHR9XHJcblxyXG5cdC5jb21taXQgaW5wdXQge1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xyXG5cdFx0bWFyZ2luOiA0MHJweCAwO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDE1cnB4O1xyXG5cdH1cclxuXHJcblx0LmNvbW1pdCAucGxhY2Vob2xkZXIge1xyXG5cdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdGNvbG9yOiAjQURBREFEO1xyXG5cdH1cclxuXHJcblx0LmNvbW1pdCAudGl0bGUge1xyXG5cdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdGNvbG9yOiAjMjgyODI4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR9XHJcblxyXG5cdC5jb21taXQgLmRldGFpbCB7XHJcblx0XHRtYXJnaW46IDQwcnB4IDA7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdH1cclxuXHJcblx0LmNvbW1pdCB0ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRjb2xvcjogI0Y5ODMxRjtcclxuXHR9XHJcblxyXG5cdC8qIOitpuaKpeW8ueeqlyAqL1xyXG5cdC5hbGFybUNvbiB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0Ym90dG9tOiAwJTtcclxuXHRcdGxlZnQ6IDAlO1xyXG5cdFx0ei1pbmRleDogOTk5OTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVycHg7XHJcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjVycHg7XHJcblx0fVxyXG5cclxuXHQuYWxhcm1UaXRsZSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmctdG9wOiAyMHJweDtcclxuXHR9XHJcblxyXG5cdC5hbGFybVRhYiB7XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cdFx0bWFyZ2luOiAyMHJweCBhdXRvIDBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMTVycHg7XHJcblx0fVxyXG5cclxuXHQuYWxhcm1UaXRsZSB0ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcblx0LmFsYXJtVGFiIHZpZXcge1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdHBhZGRpbmc6IDE1cnB4IDMwcnB4O1xyXG5cdFx0Y29sb3I6ICNGOTgzMUY7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjRjk4MzFGO1xyXG5cdH1cclxuXHJcblx0LmFsYXJtVGFiIHZpZXc6Zmlyc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTVycHg7XHJcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxNXJweDtcclxuXHR9XHJcblxyXG5cdC5hbGFybVRhYiB2aWV3Omxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE1cnB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDE1cnB4O1xyXG5cdH1cclxuXHJcblx0LmFsYXJtVGFiIC5jdXIge1xyXG5cdFx0YmFja2dyb3VuZDogI0Y5ODMxRjtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcblx0LmFsYXJtQ29uIC5hbExpc3Q6Zmlyc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0fVxyXG5cclxuXHQuYWxMaXN0IHtcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0XHRtYXJnaW46IDBycHggYXV0byAyMHJweDtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAxM3JweCAwIHJnYmEoMjE2LCAyMTYsIDIxNiwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHRcdHBhZGRpbmc6IDE1cnB4IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LmFsTGlzdCAuc291cmNlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAxNXJweDtcclxuXHRcdGNvbG9yOiAjNTU1O1xyXG5cdH1cclxuXHJcblx0Lm5vIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAxMjFycHg7XHJcblx0fVxyXG5cclxuXHQubm8gaW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDIwMHJweDtcclxuXHRcdGhlaWdodDogMjAwcnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblx0fVxyXG5cclxuXHQuc2Nyb2xsIHtcclxuXHRcdGhlaWdodDogODQwcnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LnNjcm9sbENvbiB7XHJcblx0XHRwYWRkaW5nOiAwcnB4IDAgMjBycHggMDtcclxuXHR9XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///278\n");
  29628. /***/ }),
  29629. /* 279 */
  29630. /*!************************************************************************!*\
  29631. !*** C:/Users/001/Desktop/运维端/pages/manage/scanRecord.vue?mpType=page ***!
  29632. \************************************************************************/
  29633. =======
  29634. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n planned: 2,\n iconShow: false, //是否显示图标弹窗\n commitShow: false, //上报组长\n inpShow: true, //显示输入框还是显示完成\n detail: [],\n one: false,\n two: false,\n three: false,\n four: false,\n id: '',\n value: '',\n screenHeight: '', //屏幕可视高度\n alarmShow: false, //是否显示警报弹窗【true 显示 false 不显示】\n topNum: 0, //返回顶部\n alarmState: 0, // 【0 限制警报类型 1 不限制报警类型】\n page: 1, //当前页面\n skipDetail: false,\n alarmList: \"\" };\n\n },\n onLoad: function onLoad(options) {\n this.id = options.id;\n this.status();\n },\n methods: {\n status: function status() {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n app.request('work_order/workOrderDetail?work_order_id=' + this.id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/manage/workDetail.vue:186\");\n uni.hideLoading();\n if (res.statusCode == 200) {\n _this.detail = res.data,\n _this.skipDetail = true;\n if (res.data.planned == 4) {\n _this.one = true,\n _this.two = true,\n _this.three = true,\n _this.four = true;\n } else if (res.data.planned == 3) {\n _this.one = true,\n _this.two = true,\n _this.three = true;\n } else if (res.data.planned == 2) {\n _this.one = true,\n _this.two = true;\n } else if (res.data.planned == 1) {\n _this.one = true;\n }\n }\n\n });\n },\n alarm: function alarm() {\n this.alarmShow = true;\n this.getAlarm();\n },\n getAlarm: function getAlarm() {var _this2 = this;\n uni.showLoading({\n title: '加载中...' });\n\n app.request('work_order/getWarningByWorkOrderId?id=' + this.id + '&is_limit_type=' + this.alarmState, '',\n 'GET').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n _this2.alarmList = res.data;\n }\n __f__(\"log\", res, \" at pages/manage/workDetail.vue:224\");\n });\n },\n closeAlarm: function closeAlarm() {\n this.alarmShow = false;\n },\n alarmChoose: function alarmChoose(e) {\n var state = e.currentTarget.dataset.state;\n\n this.alarmState = state,\n this.alarmList = [];\n\n this.getAlarm();\n // sthis.goTop();\n },\n goHome: function goHome() {\n if (this.skipDetail) {\n uni.reLaunch({\n url: '/pages/logs/logs?bike_no=' + this.detail.bike_no });\n\n } else {\n uni.showToast({\n title: '页面加载完后再试',\n icon: 'none' });\n\n }\n },\n //打开图标弹窗\n openICon: function openICon() {\n if (this.detail.planned == 4) {\n uni.showToast({\n title: '已完成',\n icon: 'none' });\n\n } else {\n this.iconShow = true;\n }\n },\n //关闭图标弹窗\n closeIcon: function closeIcon() {\n\n this.iconShow = false,\n this.commitShow = false,\n this.inpShow = false;\n\n },\n //领取工单\n getWork: function getWork() {var _this3 = this;\n uni.showLoading({\n title: '接单中..' });\n\n app.request('work_order/receive?work_order_id=' + this.id, '', 'GET').then(function (res) {\n uni.hideLoading();\n _this3.status();\n uni.showToast({\n title: '接单成功',\n icon: 'none' });\n\n _this3.iconShow = false;\n });\n },\n //上报组长\n reported: function reported() {\n this.commitShow = true,\n this.iconShow = false,\n this.inpShow = true;\n },\n //完成\n finish: function finish() {\n this.iconShow = false,\n this.commitShow = true,\n this.inpShow = false;\n },\n //取消按钮\n cancel: function cancel() {\n this.commitShow = false;\n },\n //确定按钮\n submit: function submit() {var _this4 = this;\n uni.showLoading({\n title: '加载中...' });\n\n var condition = this.inpShow;\n if (condition == true) {\n //调上报组长接口\n var data = {\n work_order_id: this.id,\n remark: this.value };\n\n app.request('work_order/upgrade', data, 'POST').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/workDetail.vue:315\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '上报成功',\n icon: 'none' });\n\n _this4.inpShow = false,\n _this4.iconShow = false,\n _this4.commitShow = false;\n _this4.status();\n }\n });\n } else {\n app.request('work_order/over?work_order_id=' + this.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '处理完成',\n icon: 'none' });\n\n _this4.inpShow = false,\n _this4.iconShow = false,\n _this4.commitShow = false;\n _this4.status();\n }\n });\n }\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3dvcmtEZXRhaWwudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJwbGFubmVkIiwiaWNvblNob3ciLCJjb21taXRTaG93IiwiaW5wU2hvdyIsImRldGFpbCIsIm9uZSIsInR3byIsInRocmVlIiwiZm91ciIsImlkIiwidmFsdWUiLCJzY3JlZW5IZWlnaHQiLCJhbGFybVNob3ciLCJ0b3BOdW0iLCJhbGFybVN0YXRlIiwicGFnZSIsInNraXBEZXRhaWwiLCJhbGFybUxpc3QiLCJvbkxvYWQiLCJvcHRpb25zIiwic3RhdHVzIiwibWV0aG9kcyIsInVuaSIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsImhpZGVMb2FkaW5nIiwic3RhdHVzQ29kZSIsImFsYXJtIiwiZ2V0QWxhcm0iLCJjbG9zZUFsYXJtIiwiYWxhcm1DaG9vc2UiLCJlIiwic3RhdGUiLCJjdXJyZW50VGFyZ2V0IiwiZGF0YXNldCIsImdvSG9tZSIsInJlTGF1bmNoIiwidXJsIiwiYmlrZV9ubyIsInNob3dUb2FzdCIsImljb24iLCJvcGVuSUNvbiIsImNsb3NlSWNvbiIsImdldFdvcmsiLCJyZXBvcnRlZCIsImZpbmlzaCIsImNhbmNlbCIsInN1Ym1pdCIsImNvbmRpdGlvbiIsIndvcmtfb3JkZXJfaWQiLCJyZW1hcmsiXSwibWFwcGluZ3MiOiJxSUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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RyxDQUFDRSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQzFCUCxlQUFHLENBQUNvQixTQUFKLENBQWM7QUFDYmxCLG1CQUFLLEVBQUUsTUFETTtBQUVibUIsa0JBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUEsa0JBQUksQ0FBQ3hDLE9BQUwsR0FBZSxLQUFmO0FBQ0Msa0JBQUksQ0FBQ0YsUUFBTCxHQUFnQixLQURqQjtBQUVDLGtCQUFJLENBQUNDLFVBQUwsR0FBa0IsS0FGbkI7QUFHQSxrQkFBSSxDQUFDa0IsTUFBTDtBQUNBO0FBQ0QsU0FiRDtBQWNBLE9BcEJELE1Bb0JPO0FBQ052QixXQUFHLENBQUM0QixPQUFKLENBQVksbUNBQW1DLEtBQUtoQixFQUFwRCxFQUF3RCxFQUF4RCxFQUE0RCxLQUE1RCxFQUFtRWlCLElBQW5FLENBQXdFLFVBQUFDLEdBQUcsRUFBSTtBQUM5RSxjQUFJQSxHQUFHLENBQUNFLFVBQUosSUFBa0IsR0FBdEIsRUFBMkI7QUFDMUJQLGVBQUcsQ0FBQ29CLFNBQUosQ0FBYztBQUNibEIsbUJBQUssRUFBRSxNQURNO0FBRWJtQixrQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQSxrQkFBSSxDQUFDeEMsT0FBTCxHQUFlLEtBQWY7QUFDQyxrQkFBSSxDQUFDRixRQUFMLEdBQWdCLEtBRGpCO0FBRUMsa0JBQUksQ0FBQ0MsVUFBTCxHQUFrQixLQUZuQjtBQUdBLGtCQUFJLENBQUNrQixNQUFMO0FBQ0E7QUFDRCxTQVhEO0FBWUE7QUFDRCxLQWxLTyxFQTNCSyxFIiwiZmlsZSI6IjExMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKClcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0cGxhbm5lZDogMixcblx0XHRcdGljb25TaG93OiBmYWxzZSwgLy/mmK/lkKbmmL7npLrlm77moIflvLnnqpdcblx0XHRcdGNvbW1pdFNob3c6IGZhbHNlLCAvL+S4iuaKpee7hOmVv1xuXHRcdFx0aW5wU2hvdzogdHJ1ZSwgLy/mmL7npLrovpPlhaXmoYbov5jmmK/mmL7npLrlrozmiJBcblx0XHRcdGRldGFpbDogW10sXG5cdFx0XHRvbmU6IGZhbHNlLFxuXHRcdFx0dHdvOiBmYWxzZSxcblx0XHRcdHRocmVlOiBmYWxzZSxcblx0XHRcdGZvdXI6IGZhbHNlLFxuXHRcdFx0aWQ6ICcnLFxuXHRcdFx0dmFsdWU6ICcnLFxuXHRcdFx0c2NyZWVuSGVpZ2h0OiAnJywgLy/lsY/luZXlj6/op4bpq5jluqZcblx0XHRcdGFsYXJtU2hvdzogZmFsc2UsIC8v5piv5ZCm5pi+56S66K2m5oql5by556qX44CQdHJ1ZSDmmL7npLogIGZhbHNlIOS4jeaYvuekuuOAkVxuXHRcdFx0dG9wTnVtOiAwLCAvL+i/lOWbnumhtumDqFxuXHRcdFx0YWxhcm1TdGF0ZTogMCwgLy8g44CQMCDpmZDliLborabmiqXnsbvlnosgIDEgIOS4jemZkOWItuaKpeitpuexu+Wei+OAkVxuXHRcdFx0cGFnZTogMSwgLy/lvZPliY3pobXpnaJcblx0XHRcdHNraXBEZXRhaWw6IGZhbHNlLFxuXHRcdFx0YWxhcm1MaXN0OiBcIlwiXG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdHRoaXMuaWQgPSBvcHRpb25zLmlkXG5cdFx0dGhpcy5zdGF0dXMoKTtcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHN0YXR1czogZnVuY3Rpb24oKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXG5cdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci93b3JrT3JkZXJEZXRhaWw/d29ya19vcmRlcl9pZD0nICsgdGhpcy5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0dGhpcy5kZXRhaWwgPSByZXMuZGF0YSxcblx0XHRcdFx0XHRcdHRoaXMuc2tpcERldGFpbCA9IHRydWVcblx0XHRcdFx0XHRpZiAocmVzLmRhdGEucGxhbm5lZCA9PSA0KSB7XG5cdFx0XHRcdFx0XHR0aGlzLm9uZSA9IHRydWUsXG5cdFx0XHRcdFx0XHRcdHRoaXMudHdvID0gdHJ1ZSxcblx0XHRcdFx0XHRcdFx0dGhpcy50aHJlZSA9IHRydWUsXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm91ciA9IHRydWVcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhLnBsYW5uZWQgPT0gMykge1xuXHRcdFx0XHRcdFx0dGhpcy5vbmUgPSB0cnVlLFxuXHRcdFx0XHRcdFx0XHR0aGlzLnR3byA9IHRydWUsXG5cdFx0XHRcdFx0XHRcdHRoaXMudGhyZWUgPSB0cnVlXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YS5wbGFubmVkID09IDIpIHtcblx0XHRcdFx0XHRcdHRoaXMub25lID0gdHJ1ZSxcblx0XHRcdFx0XHRcdFx0dGhpcy50d28gPSB0cnVlXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YS5wbGFubmVkID09IDEpIHtcblx0XHRcdFx0XHRcdHRoaXMub25lID0gdHJ1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0YWxhcm06IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5hbGFybVNob3cgPSB0cnVlXG5cdFx0XHR0aGlzLmdldEFsYXJtKCk7XG5cdFx0fSxcblx0XHRnZXRBbGFybTogZnVuY3Rpb24oKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0YXBwLnJlcXVlc3QoJ3dvcmtfb3JkZXIvZ2V0V2FybmluZ0J5V29ya09yZGVySWQ/aWQ9JyArIHRoaXMuaWQgKyAnJmlzX2xpbWl0X3R5cGU9JyArIHRoaXMuYWxhcm1TdGF0ZSwgJycsXG5cdFx0XHRcdCdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0dGhpcy5hbGFybUxpc3QgPSByZXMuZGF0YVxuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRjbG9zZUFsYXJtOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMuYWxhcm1TaG93ID0gZmFsc2Vcblx0XHR9LFxuXHRcdGFsYXJtQ2hvb3NlOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRsZXQgc3RhdGUgPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5zdGF0ZTtcblxuXHRcdFx0dGhpcy5hbGFybVN0YXRlID0gc3RhdGUsXG5cdFx0XHRcdHRoaXMuYWxhcm1MaXN0ID0gW11cblxuXHRcdFx0dGhpcy5nZXRBbGFybSgpO1xuXHRcdFx0Ly8gc3RoaXMuZ29Ub3AoKTtcblx0XHR9LFxuXHRcdGdvSG9tZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAodGhpcy5za2lwRGV0YWlsKSB7XG5cdFx0XHRcdHVuaS5yZUxhdW5jaCh7XG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2xvZ3MvbG9ncz9iaWtlX25vPScgKyB0aGlzLmRldGFpbC5iaWtlX25vLFxuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfpobXpnaLliqDovb3lrozlkI7lho3or5UnLFxuXHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly/miZPlvIDlm77moIflvLnnqpdcblx0XHRvcGVuSUNvbjogZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAodGhpcy5kZXRhaWwucGxhbm5lZCA9PSA0KSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5bey5a6M5oiQJyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaWNvblNob3cgPSB0cnVlXG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvL+WFs+mXreWbvuagh+W8ueeql1xuXHRcdGNsb3NlSWNvbjogZnVuY3Rpb24oKSB7XG5cblx0XHRcdHRoaXMuaWNvblNob3cgPSBmYWxzZSxcblx0XHRcdFx0dGhpcy5jb21taXRTaG93ID0gZmFsc2UsXG5cdFx0XHRcdHRoaXMuaW5wU2hvdyA9IGZhbHNlXG5cblx0XHR9LFxuXHRcdC8v6aKG5Y+W5bel5Y2VXG5cdFx0Z2V0V29yazogZnVuY3Rpb24oKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+aOpeWNleS4rS4uJyxcblx0XHRcdH0pXG5cdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci9yZWNlaXZlP3dvcmtfb3JkZXJfaWQ9JyArIHRoaXMuaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0dGhpcy5zdGF0dXMoKVxuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+aOpeWNleaIkOWKnycsXG5cdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdH0pXG5cdFx0XHRcdHRoaXMuaWNvblNob3cgPSBmYWxzZVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5LiK5oql57uE6ZW/XG5cdFx0cmVwb3J0ZWQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5jb21taXRTaG93ID0gdHJ1ZSxcblx0XHRcdFx0dGhpcy5pY29uU2hvdyA9IGZhbHNlLFxuXHRcdFx0XHR0aGlzLmlucFNob3cgPSB0cnVlXG5cdFx0fSxcblx0XHQvL+WujOaIkFxuXHRcdGZpbmlzaDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLmljb25TaG93ID0gZmFsc2UsXG5cdFx0XHRcdHRoaXMuY29tbWl0U2hvdyA9IHRydWUsXG5cdFx0XHRcdHRoaXMuaW5wU2hvdyA9IGZhbHNlXG5cdFx0fSxcblx0XHQvL+WPlua2iOaMiemSrlxuXHRcdGNhbmNlbDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLmNvbW1pdFNob3cgPSBmYWxzZVxuXHRcdH0sXG5cdFx0Ly/noa7lrprmjInpkq5cblx0XHRzdWJtaXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdGxldCBjb25kaXRpb24gPSB0aGlzLmlucFNob3dcblx0XHRcdGlmIChjb25kaXRpb24gPT0gdHJ1ZSkge1xuXHRcdFx0XHQvL+iwg+S4iuaKpee7hOmVv+aOpeWPo1xuXHRcdFx0XHR2YXIgZGF0YSA9IHtcblx0XHRcdFx0XHR3b3JrX29yZGVyX2lkOiB0aGlzLmlkLFxuXHRcdFx0XHRcdHJlbWFyazogdGhpcy52YWx1ZVxuXHRcdFx0XHR9XG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd3b3JrX29yZGVyL3VwZ3JhZGUnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+S4iuaKpeaIkOWKnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdHRoaXMuaW5wU2hvdyA9IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHR0aGlzLmljb25TaG93ID0gZmFsc2UsXG5cdFx0XHRcdFx0XHRcdHRoaXMuY29tbWl0U2hvdyA9IGZhbHNlXG5cdFx0XHRcdFx0XHR0aGlzLnN0YXR1cygpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ3dvcmtfb3JkZXIvb3Zlcj93b3JrX29yZGVyX2lkPScgKyB0aGlzLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICflpITnkIblrozmiJAnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR0aGlzLmlucFNob3cgPSBmYWxzZSxcblx0XHRcdFx0XHRcdFx0dGhpcy5pY29uU2hvdyA9IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHR0aGlzLmNvbW1pdFNob3cgPSBmYWxzZVxuXHRcdFx0XHRcdFx0dGhpcy5zdGF0dXMoKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///112\n");
  29635. /***/ }),
  29636. /* 113 */
  29637. /*!*************************************************************************************!*\
  29638. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/scanRecord.vue?mpType=page ***!
  29639. \*************************************************************************************/
  29640. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29641. /*! no static exports found */
  29642. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29643. "use strict";
  29644. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./scanRecord.vue?vue&type=template&id=5217d082&mpType=page */ 280);\n/* harmony import */ var _scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scanRecord.vue?vue&type=script&lang=js&mpType=page */ 282);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/scanRecord.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDs7O0FBR3BFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9zY2FuUmVjb3JkLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD01MjE3ZDA4MiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vc2NhblJlY29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vc2NhblJlY29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2Uvc2NhblJlY29yZC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///279\n");
  29645. /***/ }),
  29646. <<<<<<< HEAD
  29647. /* 280 */
  29648. /*!******************************************************************************************************!*\
  29649. !*** C:/Users/001/Desktop/运维端/pages/manage/scanRecord.vue?vue&type=template&id=5217d082&mpType=page ***!
  29650. \******************************************************************************************************/
  29651. =======
  29652. /* 114 */
  29653. /*!*******************************************************************************************************************!*\
  29654. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/scanRecord.vue?vue&type=template&id=5217d082&mpType=page ***!
  29655. \*******************************************************************************************************************/
  29656. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29657. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  29658. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29659. "use strict";
  29660. __webpack_require__.r(__webpack_exports__);
  29661. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./scanRecord.vue?vue&type=template&id=5217d082&mpType=page */ 281);
  29662. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  29663. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  29664. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  29665. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_template_id_5217d082_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  29666. /***/ }),
  29667. <<<<<<< HEAD
  29668. /* 281 */
  29669. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29670. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/scanRecord.vue?vue&type=template&id=5217d082&mpType=page ***!
  29671. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29672. =======
  29673. /* 115 */
  29674. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29675. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/scanRecord.vue?vue&type=template&id=5217d082&mpType=page ***!
  29676. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29677. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29678. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  29679. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29680. "use strict";
  29681. __webpack_require__.r(__webpack_exports__);
  29682. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  29683. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  29684. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  29685. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  29686. var components
  29687. var render = function() {
  29688. var _vm = this
  29689. var _h = _vm.$createElement
  29690. var _c = _vm._self._c || _h
  29691. return _c(
  29692. "view",
  29693. { staticClass: _vm._$s(0, "sc", "scanRecord"), attrs: { _i: 0 } },
  29694. [
  29695. _vm._$s(1, "i", !_vm.not)
  29696. ? _c("map", {
  29697. attrs: {
  29698. id: "map",
  29699. longitude: _vm._$s(1, "a-longitude", _vm.longitude),
  29700. latitude: _vm._$s(1, "a-latitude", _vm.latitude),
  29701. markers: _vm._$s(1, "a-markers", _vm.markers),
  29702. _i: 1
  29703. }
  29704. })
  29705. : _vm._e(),
  29706. _c(
  29707. "view",
  29708. { staticClass: _vm._$s(2, "sc", "scan"), attrs: { _i: 2 } },
  29709. _vm._l(_vm._$s(3, "f", { forItems: _vm.scan }), function(
  29710. item,
  29711. index,
  29712. $20,
  29713. $30
  29714. ) {
  29715. return _c(
  29716. "view",
  29717. {
  29718. key: _vm._$s(3, "f", { forIndex: $20, key: index }),
  29719. staticClass: _vm._$s("3-" + $30, "sc", "scanDate"),
  29720. attrs: {
  29721. "data-idx": _vm._$s("3-" + $30, "a-data-idx", index),
  29722. _i: "3-" + $30
  29723. },
  29724. on: { click: _vm.current }
  29725. },
  29726. [
  29727. _c("text", [
  29728. _vm._v(_vm._$s("4-" + $30, "t0-0", _vm._s(item.time)))
  29729. ])
  29730. ]
  29731. )
  29732. }),
  29733. 0
  29734. ),
  29735. _vm._$s(5, "i", _vm.not)
  29736. ? _c(
  29737. "view",
  29738. { staticClass: _vm._$s(5, "sc", "noData"), attrs: { _i: 5 } },
  29739. [_c("image", { attrs: { _i: 6 } }), _c("view")]
  29740. )
  29741. : _vm._e()
  29742. ]
  29743. )
  29744. }
  29745. var recyclableRender = false
  29746. var staticRenderFns = []
  29747. render._withStripped = true
  29748. /***/ }),
  29749. <<<<<<< HEAD
  29750. /* 282 */
  29751. /*!************************************************************************************************!*\
  29752. !*** C:/Users/001/Desktop/运维端/pages/manage/scanRecord.vue?vue&type=script&lang=js&mpType=page ***!
  29753. \************************************************************************************************/
  29754. =======
  29755. /* 116 */
  29756. /*!*************************************************************************************************************!*\
  29757. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/scanRecord.vue?vue&type=script&lang=js&mpType=page ***!
  29758. \*************************************************************************************************************/
  29759. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29760. /*! no static exports found */
  29761. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29762. "use strict";
  29763. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./scanRecord.vue?vue&type=script&lang=js&mpType=page */ 283);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_scanRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdqQixDQUFnQixtbEJBQUcsRUFBQyIsImZpbGUiOiIyODIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zY2FuUmVjb3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zY2FuUmVjb3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///282\n");
  29764. /***/ }),
  29765. <<<<<<< HEAD
  29766. /* 283 */
  29767. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29768. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/scanRecord.vue?vue&type=script&lang=js&mpType=page ***!
  29769. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29770. =======
  29771. /* 117 */
  29772. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29773. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/scanRecord.vue?vue&type=script&lang=js&mpType=page ***!
  29774. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29775. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29776. /*! no static exports found */
  29777. /***/ (function(module, exports, __webpack_require__) {
  29778. "use strict";
  29779. <<<<<<< HEAD
  29780. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n scan: [],\n longitude: '',\n latitude: '',\n markers: [],\n not: false };\n\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n var data = {\n bike_id: options.id };\n\n app.request('bike/sweepCodeLocation', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n if (res.data.length == 0) {\n _this.setData({\n not: true });\n\n } else {\n\n var arr = res.data;\n for (var i = 0; i < arr.length; i++) {\n arr[i].iconPath = 'http://resource.weilaibike.com/common/start-location-mark-old.png';\n arr[i].width = 30;\n arr[i].height = 30;\n arr[i].zIndex = 1111;\n arr[i].latitude = arr[i].location[1];\n arr[i].longitude = arr[i].location[0];\n }\n\n _this.markers = arr,\n _this.scan = res.data,\n _this.longitude = arr[0].location[0],\n _this.latitude = arr[0].location[1];\n\n }\n }\n });\n },\n methods: {\n //获取当前扫码位置\n current: function current(e) {\n\n var nowPosition = this.markers;\n var idx = e.currentTarget.dataset.idx;\n for (var i = 0; i < nowPosition.length; i++) {\n nowPosition[i].iconPath =\n \"http://resource.weilaibike.com/common/start-location-mark-old.png\";\n }\n nowPosition[idx].iconPath = \"http://resource.weilaibike.com/common/end-location-mark-old.png\";\n\n this.markers = nowPosition;\n\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3NjYW5SZWNvcmQudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxjQURBO0FBRUEsbUJBRkE7QUFHQSxrQkFIQTtBQUlBLGlCQUpBO0FBS0EsZ0JBTEE7O0FBT0EsR0FUQTtBQVVBLFFBVkEsa0JBVUEsT0FWQSxFQVVBO0FBQ0E7QUFDQSxxQkFEQTs7QUFHQTtBQUNBLHlCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFEQTs7QUFHQSxTQUpBLE1BSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0JBREE7QUFFQSw4Q0FGQTtBQUdBLDZDQUhBOztBQUtBO0FBQ0E7QUFDQSxLQTFCQTtBQTJCQSxHQTVDQTtBQTZDQTtBQUNBO0FBQ0EsV0FGQSxtQkFFQSxDQUZBLEVBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyRUFEQTtBQUVBO0FBQ0E7O0FBRUE7O0FBRUEsS0FkQSxFQTdDQSxFIiwiZmlsZSI6IjI4My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8IS0tIDx0ZXh0PuaJq+eggeS9jee9rjwvdGV4dD4gLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJzY2FuUmVjb3JkXCI+XHJcblx0ICA8bWFwIGlkPVwibWFwXCIgOmxvbmdpdHVkZT1cImxvbmdpdHVkZVwiIDpsYXRpdHVkZT1cImxhdGl0dWRlXCIgc2NhbGU9XCIxNFwiIDptYXJrZXJzPVwibWFya2Vyc1wiIHYtaWY9XCIhbm90XCI+PC9tYXA+XHJcblx0ICA8dmlldyBjbGFzcz1cInNjYW5cIj5cclxuXHQgICAgPHZpZXcgY2xhc3M9XCJzY2FuRGF0ZVwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHNjYW5cIiA6a2V5PVwiaW5kZXhcIiB2LWJpbmQ6ZGF0YS1pZHg9XCJpbmRleFwiIEBjbGljaz1cImN1cnJlbnRcIj5cclxuXHQgICAgICA8dGV4dCA+5omr56CB5pe26Ze077yae3tpdGVtLnRpbWV9fTwvdGV4dD5cclxuXHQgICAgPC92aWV3PlxyXG5cdCAgPC92aWV3PlxyXG5cdCAgIDx2aWV3IGNsYXNzPVwibm9EYXRhXCIgdi1pZj1cIm5vdFwiPlxyXG5cdCAgICA8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL25vbmUucG5nXCI+PC9pbWFnZT5cclxuXHQgICAgPHZpZXc+5pqC5peg55u45YWz5pWw5o2ufjwvdmlldz5cclxuXHQgIDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHA9Z2V0QXBwKClcclxuXHRleHBvcnQgZGVmYXVsdHtcclxuXHRcdGRhdGEoKXtcclxuXHRcdFx0cmV0dXJue1xyXG5cdFx0XHRcdCBzY2FuOiBbXSxcclxuXHRcdFx0XHQgICAgbG9uZ2l0dWRlOiAnJyxcclxuXHRcdFx0XHQgICAgbGF0aXR1ZGU6ICcnLFxyXG5cdFx0XHRcdCAgICBtYXJrZXJzOiBbXSxcclxuXHRcdFx0XHQgICAgbm90OmZhbHNlLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0ICB1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHQgICAgICB0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdCAgICB9KVxyXG5cdFx0XHQgICAgbGV0IGRhdGEgPSB7XHJcblx0XHRcdCAgICAgIGJpa2VfaWQ6IG9wdGlvbnMuaWRcclxuXHRcdFx0ICAgIH1cclxuXHRcdFx0ICAgIGFwcC5yZXF1ZXN0KCdiaWtlL3N3ZWVwQ29kZUxvY2F0aW9uJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdCAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHQgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdCAgICAgICAgaWYgKHJlcy5kYXRhLmxlbmd0aCA9PSAwKSB7XHJcblx0XHRcdCAgICAgICAgICB0aGlzLnNldERhdGEoe1xyXG5cdFx0XHQgICAgICAgICAgICBub3Q6dHJ1ZVxyXG5cdFx0XHQgICAgICAgICAgfSlcclxuXHRcdFx0ICAgICAgICB9IGVsc2Uge1xyXG5cdFx0XHQgICAgICAgICBcclxuXHRcdFx0ICAgICAgICAgIGxldCBhcnIgPSByZXMuZGF0YTtcclxuXHRcdFx0ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdCAgICAgICAgICAgIGFycltpXS5pY29uUGF0aCA9ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL3N0YXJ0LWxvY2F0aW9uLW1hcmstb2xkLnBuZyc7XHJcblx0XHRcdCAgICAgICAgICAgIGFycltpXS53aWR0aCA9IDMwO1xyXG5cdFx0XHQgICAgICAgICAgICBhcnJbaV0uaGVpZ2h0ID0gMzA7XHJcblx0XHRcdCAgICAgICAgICAgIGFycltpXS56SW5kZXggPSAxMTExO1xyXG5cdFx0XHQgICAgICAgICAgICBhcnJbaV0ubGF0aXR1ZGUgPSBhcnJbaV0ubG9jYXRpb25bMV07XHJcblx0XHRcdCAgICAgICAgICAgIGFycltpXS5sb25naXR1ZGUgPSBhcnJbaV0ubG9jYXRpb25bMF07XHJcblx0XHRcdCAgICAgICAgICB9XHJcblx0XHRcdCAgICAgICAgIFxyXG5cdFx0XHQgICAgICAgICAgIHRoaXMubWFya2Vycz1hcnIsXHJcblx0XHRcdCAgICAgICAgICAgIHRoaXMuc2Nhbj1yZXMuZGF0YSxcclxuXHRcdFx0ICAgICAgICAgICAgdGhpcy5sb25naXR1ZGU9YXJyWzBdLmxvY2F0aW9uWzBdLFxyXG5cdFx0XHQgICAgICAgICAgICB0aGlzLmxhdGl0dWRlPWFyclswXS5sb2NhdGlvblsxXVxyXG5cdFx0XHQgICAgICAgIFxyXG5cdFx0XHQgICAgICAgIH1cclxuXHRcdFx0ICAgICAgfVxyXG5cdFx0XHQgICAgfSlcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOntcclxuXHRcdFx0IC8v6I635Y+W5b2T5YmN5omr56CB5L2N572uXHJcblx0XHRcdCAgY3VycmVudChlKSB7XHJcblx0XHRcdFxyXG5cdFx0XHQgICAgbGV0IG5vd1Bvc2l0aW9uID0gdGhpcy5tYXJrZXJzXHJcblx0XHRcdCAgICBsZXQgaWR4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWR4O1xyXG5cdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub3dQb3NpdGlvbi5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHQgICAgICBub3dQb3NpdGlvbltpXS5pY29uUGF0aCA9XHJcblx0XHRcdCAgICAgICAgXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL3N0YXJ0LWxvY2F0aW9uLW1hcmstb2xkLnBuZ1wiO1xyXG5cdFx0XHQgICAgfVxyXG5cdFx0XHQgICAgbm93UG9zaXRpb25baWR4XS5pY29uUGF0aCA9IFwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9lbmQtbG9jYXRpb24tbWFyay1vbGQucG5nXCI7XHJcblx0XHRcdCAgIFxyXG5cdFx0XHQgICAgICB0aGlzLm1hcmtlcnM9bm93UG9zaXRpb25cclxuXHRcdFx0ICAgXHJcblx0XHRcdCAgfSxcclxuXHRcdFx0XHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdHBhZ2Uge1xyXG5cdCAgYmFja2dyb3VuZDogI2VlZTtcclxuXHR9XHJcblx0XHJcblx0bWFwIHtcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdCAgaGVpZ2h0OiA0NSU7XHJcblx0ICBwb3NpdGlvbjogZml4ZWQ7XHJcblx0fVxyXG5cdFxyXG5cdC5zY2FuIHtcclxuXHQgIHBhZGRpbmctdG9wOiA2MDBycHg7XHJcblx0fVxyXG5cdC5zY2FuIC5zY2FuRGF0ZSB7XHJcblx0ICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdCAgd2lkdGg6OTIlO1xyXG5cdCAgbWFyZ2luOjE0cnB4IGF1dG87XHJcblx0ICBoZWlnaHQ6OTBycHg7XHJcblx0ICBsaW5lLWhlaWdodDo5MHJweDtcclxuXHQgIGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdH1cclxuXHQuc2NhbiAuc2NhbkRhdGUgdGV4dHtcclxuXHQgIG1hcmdpbi1sZWZ0OjI1cnB4O1xyXG5cdCAgZm9udC1zaXplOjI4cnB4O1xyXG5cdCAgY29sb3I6IzRkNGQ0ZDtcclxuXHR9XHJcblxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///283\n");
  29781. /***/ }),
  29782. /* 284 */
  29783. /*!*************************************************************************!*\
  29784. !*** C:/Users/001/Desktop/运维端/pages/manage/recentOrder.vue?mpType=page ***!
  29785. \*************************************************************************/
  29786. =======
  29787. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n scan: [],\n longitude: '',\n latitude: '',\n markers: [],\n not: false };\n\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n var data = {\n bike_id: options.id };\n\n app.request('bike/sweepCodeLocation', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n if (res.data.length == 0) {\n _this.setData({\n not: true });\n\n } else {\n\n var arr = res.data;\n for (var i = 0; i < arr.length; i++) {\n arr[i].iconPath = 'http://resource.weilaibike.com/common/start-location-mark-old.png';\n arr[i].width = 30;\n arr[i].height = 30;\n arr[i].zIndex = 1111;\n arr[i].latitude = arr[i].location[1];\n arr[i].longitude = arr[i].location[0];\n }\n\n _this.markers = arr,\n _this.scan = res.data,\n _this.longitude = arr[0].location[0],\n _this.latitude = arr[0].location[1];\n\n }\n }\n });\n },\n methods: {\n //获取当前扫码位置\n current: function current(e) {\n\n var nowPosition = this.markers;\n var idx = e.currentTarget.dataset.idx;\n for (var i = 0; i < nowPosition.length; i++) {\n nowPosition[i].iconPath =\n \"http://resource.weilaibike.com/common/start-location-mark-old.png\";\n }\n nowPosition[idx].iconPath = \"http://resource.weilaibike.com/common/end-location-mark-old.png\";\n\n this.markers = nowPosition;\n\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3NjYW5SZWNvcmQudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJzY2FuIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJtYXJrZXJzIiwibm90Iiwib25Mb2FkIiwib3B0aW9ucyIsInVuaSIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJiaWtlX2lkIiwiaWQiLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsImhpZGVMb2FkaW5nIiwic3RhdHVzQ29kZSIsImxlbmd0aCIsInNldERhdGEiLCJhcnIiLCJpIiwiaWNvblBhdGgiLCJ3aWR0aCIsImhlaWdodCIsInpJbmRleCIsImxvY2F0aW9uIiwibWV0aG9kcyIsImN1cnJlbnQiLCJlIiwibm93UG9zaXRpb24iLCJpZHgiLCJjdXJyZW50VGFyZ2V0IiwiZGF0YXNldCJdLCJtYXBwaW5ncyI6IndGQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUlBLEdBQUcsR0FBQ0MsTUFBTSxFQUFkLEM7QUFDYztBQUNiQyxNQURhLGtCQUNQO0FBQ0wsV0FBTTtBQUNKQyxVQUFJLEVBQUUsRUFERjtBQUVEQyxlQUFTLEVBQUUsRUFGVjtBQUdEQyxjQUFRLEVBQUUsRUFIVDtBQUlEQyxhQUFPLEVBQUUsRUFKUjtBQUtEQyxTQUFHLEVBQUMsS0FMSCxFQUFOOztBQU9BLEdBVFk7QUFVYkMsUUFWYSxrQkFVTkMsT0FWTSxFQVVHO0FBQ2JDLE9BQUcsQ0FBQ0MsV0FBSixDQUFnQjtBQUNaQyxXQUFLLEVBQUUsUUFESyxFQUFoQjs7QUFHRSxRQUFJVixJQUFJLEdBQUc7QUFDVFcsYUFBTyxFQUFFSixPQUFPLENBQUNLLEVBRFIsRUFBWDs7QUFHQWQsT0FBRyxDQUFDZSxPQUFKLENBQVksd0JBQVosRUFBc0NiLElBQXRDLEVBQTRDLE1BQTVDLEVBQW9EYyxJQUFwRCxDQUF5RCxVQUFBQyxHQUFHLEVBQUk7QUFDOURQLFNBQUcsQ0FBQ1EsV0FBSjtBQUNBLFVBQUlELEdBQUcsQ0FBQ0UsVUFBSixJQUFrQixHQUF0QixFQUEyQjtBQUN6QixZQUFJRixHQUFHLENBQUNmLElBQUosQ0FBU2tCLE1BQVQsSUFBbUIsQ0FBdkIsRUFBMEI7QUFDeEIsZUFBSSxDQUFDQyxPQUFMLENBQWE7QUFDWGQsZUFBRyxFQUFDLElBRE8sRUFBYjs7QUFHRCxTQUpELE1BSU87O0FBRUwsY0FBSWUsR0FBRyxHQUFHTCxHQUFHLENBQUNmLElBQWQ7QUFDQSxlQUFLLElBQUlxQixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRCxHQUFHLENBQUNGLE1BQXhCLEVBQWdDRyxDQUFDLEVBQWpDLEVBQXFDO0FBQ25DRCxlQUFHLENBQUNDLENBQUQsQ0FBSCxDQUFPQyxRQUFQLEdBQWtCLG1FQUFsQjtBQUNBRixlQUFHLENBQUNDLENBQUQsQ0FBSCxDQUFPRSxLQUFQLEdBQWUsRUFBZjtBQUNBSCxlQUFHLENBQUNDLENBQUQsQ0FBSCxDQUFPRyxNQUFQLEdBQWdCLEVBQWhCO0FBQ0FKLGVBQUcsQ0FBQ0MsQ0FBRCxDQUFILENBQU9JLE1BQVAsR0FBZ0IsSUFBaEI7QUFDQUwsZUFBRyxDQUFDQyxDQUFELENBQUgsQ0FBT2xCLFFBQVAsR0FBa0JpQixHQUFHLENBQUNDLENBQUQsQ0FBSCxDQUFPSyxRQUFQLENBQWdCLENBQWhCLENBQWxCO0FBQ0FOLGVBQUcsQ0FBQ0MsQ0FBRCxDQUFILENBQU9uQixTQUFQLEdBQW1Ca0IsR0FBRyxDQUFDQyxDQUFELENBQUgsQ0FBT0ssUUFBUCxDQUFnQixDQUFoQixDQUFuQjtBQUNEOztBQUVBLGVBQUksQ0FBQ3RCLE9BQUwsR0FBYWdCLEdBQWI7QUFDQyxlQUFJLENBQUNuQixJQUFMLEdBQVVjLEdBQUcsQ0FBQ2YsSUFEZjtBQUVDLGVBQUksQ0FBQ0UsU0FBTCxHQUFla0IsR0FBRyxDQUFDLENBQUQsQ0FBSCxDQUFPTSxRQUFQLENBQWdCLENBQWhCLENBRmhCO0FBR0MsZUFBSSxDQUFDdkIsUUFBTCxHQUFjaUIsR0FBRyxDQUFDLENBQUQsQ0FBSCxDQUFPTSxRQUFQLENBQWdCLENBQWhCLENBSGY7O0FBS0Y7QUFDRjtBQUNGLEtBMUJEO0FBMkJKLEdBNUNZO0FBNkNiQyxTQUFPLEVBQUM7QUFDTjtBQUNDQyxXQUZLLG1CQUVHQyxDQUZILEVBRU07O0FBRVQsVUFBSUMsV0FBVyxHQUFHLEtBQUsxQixPQUF2QjtBQUNBLFVBQUkyQixHQUFHLEdBQUdGLENBQUMsQ0FBQ0csYUFBRixDQUFnQkMsT0FBaEIsQ0FBd0JGLEdBQWxDO0FBQ0EsV0FBSyxJQUFJVixDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHUyxXQUFXLENBQUNaLE1BQWhDLEVBQXdDRyxDQUFDLEVBQXpDLEVBQTZDO0FBQzNDUyxtQkFBVyxDQUFDVCxDQUFELENBQVgsQ0FBZUMsUUFBZjtBQUNFLDJFQURGO0FBRUQ7QUFDRFEsaUJBQVcsQ0FBQ0MsR0FBRCxDQUFYLENBQWlCVCxRQUFqQixHQUE0QixpRUFBNUI7O0FBRUUsV0FBS2xCLE9BQUwsR0FBYTBCLFdBQWI7O0FBRUgsS0FkSSxFQTdDSyxFIiwiZmlsZSI6IjExNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBhcHA9Z2V0QXBwKClcbmV4cG9ydCBkZWZhdWx0e1xuXHRkYXRhKCl7XG5cdFx0cmV0dXJue1xuXHRcdFx0IHNjYW46IFtdLFxuXHRcdFx0ICAgIGxvbmdpdHVkZTogJycsXG5cdFx0XHQgICAgbGF0aXR1ZGU6ICcnLFxuXHRcdFx0ICAgIG1hcmtlcnM6IFtdLFxuXHRcdFx0ICAgIG5vdDpmYWxzZSxcblx0XHR9XG5cdH0sXG5cdG9uTG9hZChvcHRpb25zKSB7XG5cdFx0ICB1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdCAgICAgIHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHQgICAgfSlcblx0XHQgICAgbGV0IGRhdGEgPSB7XG5cdFx0ICAgICAgYmlrZV9pZDogb3B0aW9ucy5pZFxuXHRcdCAgICB9XG5cdFx0ICAgIGFwcC5yZXF1ZXN0KCdiaWtlL3N3ZWVwQ29kZUxvY2F0aW9uJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0ICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0ICAgICAgaWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdCAgICAgICAgaWYgKHJlcy5kYXRhLmxlbmd0aCA9PSAwKSB7XG5cdFx0ICAgICAgICAgIHRoaXMuc2V0RGF0YSh7XG5cdFx0ICAgICAgICAgICAgbm90OnRydWVcblx0XHQgICAgICAgICAgfSlcblx0XHQgICAgICAgIH0gZWxzZSB7XG5cdFx0ICAgICAgICAgXG5cdFx0ICAgICAgICAgIGxldCBhcnIgPSByZXMuZGF0YTtcblx0XHQgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHtcblx0XHQgICAgICAgICAgICBhcnJbaV0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9zdGFydC1sb2NhdGlvbi1tYXJrLW9sZC5wbmcnO1xuXHRcdCAgICAgICAgICAgIGFycltpXS53aWR0aCA9IDMwO1xuXHRcdCAgICAgICAgICAgIGFycltpXS5oZWlnaHQgPSAzMDtcblx0XHQgICAgICAgICAgICBhcnJbaV0uekluZGV4ID0gMTExMTtcblx0XHQgICAgICAgICAgICBhcnJbaV0ubGF0aXR1ZGUgPSBhcnJbaV0ubG9jYXRpb25bMV07XG5cdFx0ICAgICAgICAgICAgYXJyW2ldLmxvbmdpdHVkZSA9IGFycltpXS5sb2NhdGlvblswXTtcblx0XHQgICAgICAgICAgfVxuXHRcdCAgICAgICAgIFxuXHRcdCAgICAgICAgICAgdGhpcy5tYXJrZXJzPWFycixcblx0XHQgICAgICAgICAgICB0aGlzLnNjYW49cmVzLmRhdGEsXG5cdFx0ICAgICAgICAgICAgdGhpcy5sb25naXR1ZGU9YXJyWzBdLmxvY2F0aW9uWzBdLFxuXHRcdCAgICAgICAgICAgIHRoaXMubGF0aXR1ZGU9YXJyWzBdLmxvY2F0aW9uWzFdXG5cdFx0ICAgICAgICBcblx0XHQgICAgICAgIH1cblx0XHQgICAgICB9XG5cdFx0ICAgIH0pXG5cdH0sXG5cdG1ldGhvZHM6e1xuXHRcdCAvL+iOt+WPluW9k+WJjeaJq+eggeS9jee9rlxuXHRcdCAgY3VycmVudChlKSB7XG5cdFx0XG5cdFx0ICAgIGxldCBub3dQb3NpdGlvbiA9IHRoaXMubWFya2Vyc1xuXHRcdCAgICBsZXQgaWR4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWR4O1xuXHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vd1Bvc2l0aW9uLmxlbmd0aDsgaSsrKSB7XG5cdFx0ICAgICAgbm93UG9zaXRpb25baV0uaWNvblBhdGggPVxuXHRcdCAgICAgICAgXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL3N0YXJ0LWxvY2F0aW9uLW1hcmstb2xkLnBuZ1wiO1xuXHRcdCAgICB9XG5cdFx0ICAgIG5vd1Bvc2l0aW9uW2lkeF0uaWNvblBhdGggPSBcImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vZW5kLWxvY2F0aW9uLW1hcmstb2xkLnBuZ1wiO1xuXHRcdCAgIFxuXHRcdCAgICAgIHRoaXMubWFya2Vycz1ub3dQb3NpdGlvblxuXHRcdCAgIFxuXHRcdCAgfSxcblx0XHRcblx0fVxuXHRcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///117\n");
  29788. /***/ }),
  29789. /* 118 */
  29790. /*!**************************************************************************************!*\
  29791. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/recentOrder.vue?mpType=page ***!
  29792. \**************************************************************************************/
  29793. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29794. /*! no static exports found */
  29795. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29796. "use strict";
  29797. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./recentOrder.vue?vue&type=template&id=70cfb212&mpType=page */ 285);\n/* harmony import */ var _recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./recentOrder.vue?vue&type=script&lang=js&mpType=page */ 287);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/recentOrder.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbUk7QUFDbkk7QUFDMEU7QUFDTDs7O0FBR3JFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDRGQUFNO0FBQ1IsRUFBRSxpR0FBTTtBQUNSLEVBQUUsMEdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUscUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjg0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9yZWNlbnRPcmRlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NzBjZmIyMTImbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3JlY2VudE9yZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9yZWNlbnRPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvcmVjZW50T3JkZXIudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///284\n");
  29798. /***/ }),
  29799. <<<<<<< HEAD
  29800. /* 285 */
  29801. /*!*******************************************************************************************************!*\
  29802. !*** C:/Users/001/Desktop/运维端/pages/manage/recentOrder.vue?vue&type=template&id=70cfb212&mpType=page ***!
  29803. \*******************************************************************************************************/
  29804. =======
  29805. /* 119 */
  29806. /*!********************************************************************************************************************!*\
  29807. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/recentOrder.vue?vue&type=template&id=70cfb212&mpType=page ***!
  29808. \********************************************************************************************************************/
  29809. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29810. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  29811. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29812. "use strict";
  29813. __webpack_require__.r(__webpack_exports__);
  29814. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./recentOrder.vue?vue&type=template&id=70cfb212&mpType=page */ 286);
  29815. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  29816. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  29817. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  29818. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_template_id_70cfb212_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  29819. /***/ }),
  29820. <<<<<<< HEAD
  29821. /* 286 */
  29822. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29823. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/recentOrder.vue?vue&type=template&id=70cfb212&mpType=page ***!
  29824. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29825. =======
  29826. /* 120 */
  29827. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  29828. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/recentOrder.vue?vue&type=template&id=70cfb212&mpType=page ***!
  29829. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  29830. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  29831. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  29832. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  29833. "use strict";
  29834. __webpack_require__.r(__webpack_exports__);
  29835. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  29836. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  29837. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  29838. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  29839. var components
  29840. var render = function() {
  29841. var _vm = this
  29842. var _h = _vm.$createElement
  29843. var _c = _vm._self._c || _h
  29844. return _c(
  29845. "view",
  29846. { staticClass: _vm._$s(0, "sc", "out"), attrs: { _i: 0 } },
  29847. [
  29848. _c(
  29849. "view",
  29850. { staticClass: _vm._$s(1, "sc", "order-bottom"), attrs: { _i: 1 } },
  29851. [
  29852. _c("view", {
  29853. staticClass: _vm._$s(2, "sc", "order-bottom-left"),
  29854. class: _vm._$s(2, "c", _vm.curPage == 1 ? "active" : ""),
  29855. attrs: { _i: 2 },
  29856. on: {
  29857. click: function($event) {
  29858. return _vm.choose((_vm.curPage = 1))
  29859. }
  29860. }
  29861. }),
  29862. _c("view", {
  29863. staticClass: _vm._$s(3, "sc", "order-bottom-right"),
  29864. class: _vm._$s(3, "c", _vm.curPage == 2 ? "active" : ""),
  29865. attrs: { _i: 3 },
  29866. on: {
  29867. click: function($event) {
  29868. return _vm.choose((_vm.curPage = 2))
  29869. }
  29870. }
  29871. })
  29872. ]
  29873. ),
  29874. _vm._l(_vm._$s(4, "f", { forItems: _vm.order }), function(
  29875. item,
  29876. index,
  29877. $20,
  29878. $30
  29879. ) {
  29880. return _c(
  29881. "view",
  29882. {
  29883. key: _vm._$s(4, "f", { forIndex: $20, key: 4 + "-" + $30 }),
  29884. staticClass: _vm._$s("4-" + $30, "sc", "order-list"),
  29885. attrs: {
  29886. "data-index": _vm._$s("4-" + $30, "a-data-index", index),
  29887. _i: "4-" + $30
  29888. },
  29889. on: { click: _vm.skipDetail }
  29890. },
  29891. [
  29892. _c(
  29893. "text",
  29894. {
  29895. staticClass: _vm._$s("5-" + $30, "sc", "order-bike-num"),
  29896. attrs: { _i: "5-" + $30 }
  29897. },
  29898. [_vm._v(_vm._$s("5-" + $30, "t0-0", _vm._s(item.bike_no)))]
  29899. ),
  29900. _c(
  29901. "view",
  29902. {
  29903. staticClass: _vm._$s("6-" + $30, "sc", "order-user"),
  29904. attrs: { _i: "6-" + $30 }
  29905. },
  29906. [
  29907. _c(
  29908. "text",
  29909. {
  29910. staticClass: _vm._$s("7-" + $30, "sc", "order-user-name"),
  29911. attrs: { _i: "7-" + $30 }
  29912. },
  29913. [_vm._v(_vm._$s("7-" + $30, "t0-0", _vm._s(item.nickname)))]
  29914. ),
  29915. _c(
  29916. "text",
  29917. {
  29918. staticClass: _vm._$s("8-" + $30, "sc", "order-user-phone"),
  29919. attrs: { _i: "8-" + $30 }
  29920. },
  29921. [_vm._v(_vm._$s("8-" + $30, "t0-0", _vm._s(item.mobile)))]
  29922. )
  29923. ]
  29924. ),
  29925. _c(
  29926. "text",
  29927. {
  29928. staticClass: _vm._$s("9-" + $30, "sc", "order-time"),
  29929. attrs: { _i: "9-" + $30 }
  29930. },
  29931. [
  29932. _vm._v(
  29933. _vm._$s(
  29934. "9-" + $30,
  29935. "t0-0",
  29936. _vm._s(item.start_use_bike_time)
  29937. ) +
  29938. _vm._$s("9-" + $30, "t0-1", _vm._s(item.end_use_bike_time))
  29939. )
  29940. ]
  29941. ),
  29942. _vm._$s("10-" + $30, "i", item.orders_status == "骑行中")
  29943. ? _c(
  29944. "view",
  29945. {
  29946. staticClass: _vm._$s("10-" + $30, "sc", "user-tag1"),
  29947. attrs: { _i: "10-" + $30 }
  29948. },
  29949. [
  29950. _vm._v(
  29951. _vm._$s("10-" + $30, "t0-0", _vm._s(item.orders_status))
  29952. )
  29953. ]
  29954. )
  29955. : _vm._e(),
  29956. _vm._$s("11-" + $30, "i", item.orders_status == "订单关闭")
  29957. ? _c(
  29958. "view",
  29959. {
  29960. staticClass: _vm._$s("11-" + $30, "sc", "user-tag1"),
  29961. attrs: { _i: "11-" + $30 }
  29962. },
  29963. [
  29964. _vm._v(
  29965. _vm._$s("11-" + $30, "t0-0", _vm._s(item.orders_status))
  29966. )
  29967. ]
  29968. )
  29969. : _vm._e(),
  29970. _vm._$s("12-" + $30, "i", item.orders_status == "已完成")
  29971. ? _c(
  29972. "view",
  29973. {
  29974. staticClass: _vm._$s("12-" + $30, "sc", "user-tag1"),
  29975. attrs: { _i: "12-" + $30 }
  29976. },
  29977. [
  29978. _vm._v(
  29979. _vm._$s("12-" + $30, "t0-0", _vm._s(item.orders_status))
  29980. )
  29981. ]
  29982. )
  29983. : _vm._e(),
  29984. _vm._$s("13-" + $30, "i", item.orders_status == "待支付")
  29985. ? _c(
  29986. "view",
  29987. {
  29988. staticClass: _vm._$s("13-" + $30, "sc", "user-tag1"),
  29989. attrs: { _i: "13-" + $30 }
  29990. },
  29991. [
  29992. _vm._v(
  29993. _vm._$s("13-" + $30, "t0-0", _vm._s(item.orders_status))
  29994. )
  29995. ]
  29996. )
  29997. : _vm._e(),
  29998. _vm._$s("14-" + $30, "i", item.orders_status == "临时停车")
  29999. ? _c(
  30000. "view",
  30001. {
  30002. staticClass: _vm._$s("14-" + $30, "sc", "user-tag1"),
  30003. attrs: { _i: "14-" + $30 }
  30004. },
  30005. [
  30006. _vm._v(
  30007. _vm._$s("14-" + $30, "t0-0", _vm._s(item.orders_status))
  30008. )
  30009. ]
  30010. )
  30011. : _vm._e(),
  30012. _vm._$s("15-" + $30, "i", item.orders_status == "租车中")
  30013. ? _c(
  30014. "view",
  30015. {
  30016. staticClass: _vm._$s("15-" + $30, "sc", "user-tag1"),
  30017. attrs: { _i: "15-" + $30 }
  30018. },
  30019. [
  30020. _vm._v(
  30021. _vm._$s("15-" + $30, "t0-0", _vm._s(item.orders_status))
  30022. )
  30023. ]
  30024. )
  30025. : _vm._e(),
  30026. _vm._$s("16-" + $30, "i", item.orders_status == "租车结束,待支付")
  30027. ? _c(
  30028. "view",
  30029. {
  30030. staticClass: _vm._$s("16-" + $30, "sc", "user-tag1"),
  30031. attrs: { _i: "16-" + $30 }
  30032. },
  30033. [
  30034. _vm._v(
  30035. _vm._$s("16-" + $30, "t0-0", _vm._s(item.orders_status))
  30036. )
  30037. ]
  30038. )
  30039. : _vm._e()
  30040. ]
  30041. )
  30042. }),
  30043. _vm._$s(17, "i", _vm.order.length == 0)
  30044. ? _c(
  30045. "view",
  30046. {
  30047. staticClass: _vm._$s(17, "sc", "noData noOrder"),
  30048. attrs: { _i: 17 }
  30049. },
  30050. [_c("image", { attrs: { _i: 18 } }), _c("view")]
  30051. )
  30052. : _vm._e()
  30053. ],
  30054. 2
  30055. )
  30056. }
  30057. var recyclableRender = false
  30058. var staticRenderFns = []
  30059. render._withStripped = true
  30060. /***/ }),
  30061. <<<<<<< HEAD
  30062. /* 287 */
  30063. /*!*************************************************************************************************!*\
  30064. !*** C:/Users/001/Desktop/运维端/pages/manage/recentOrder.vue?vue&type=script&lang=js&mpType=page ***!
  30065. \*************************************************************************************************/
  30066. =======
  30067. /* 121 */
  30068. /*!**************************************************************************************************************!*\
  30069. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/recentOrder.vue?vue&type=script&lang=js&mpType=page ***!
  30070. \**************************************************************************************************************/
  30071. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30072. /*! no static exports found */
  30073. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30074. "use strict";
  30075. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./recentOrder.vue?vue&type=script&lang=js&mpType=page */ 288);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_recentOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlqQixDQUFnQixvbEJBQUcsRUFBQyIsImZpbGUiOiIyODcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZWNlbnRPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVjZW50T3JkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///287\n");
  30076. /***/ }),
  30077. <<<<<<< HEAD
  30078. /* 288 */
  30079. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30080. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/recentOrder.vue?vue&type=script&lang=js&mpType=page ***!
  30081. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30082. =======
  30083. /* 122 */
  30084. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30085. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/recentOrder.vue?vue&type=script&lang=js&mpType=page ***!
  30086. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30087. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30088. /*! no static exports found */
  30089. /***/ (function(module, exports, __webpack_require__) {
  30090. "use strict";
  30091. <<<<<<< HEAD
  30092. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n order: [],\n links: null,\n id: '',\n curPage: 1 };\n\n },\n onLoad: function onLoad(options) {\n this.id = options.id;\n this.getList();\n },\n methods: {\n getList: function getList() {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n var url = '';\n if (this.curPage == 1) {\n url = 'bike/latelyOrders?page = 1';\n } else {\n url = 'bike/latelyOrderRent?page = 1';\n }\n var data = {\n bike_id: this.id };\n\n app.request(url, data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n __f__(\"log\", res, \" at pages/manage/recentOrder.vue:80\");\n\n _this.order = res.data.data,\n _this.links = res.data.links.next;\n\n }\n });\n },\n skipDetail: function skipDetail(e) {\n __f__(\"log\", e, '这是订单详情', \" at pages/manage/recentOrder.vue:89\");\n var index = e.currentTarget.dataset.index;\n uni.navigateTo({\n url: '/pages/manage/orderDetail?id=' + this.order[index].id + '&index=' + this.curPage //普通订单和日租订单\n });\n },\n choose: function choose(e) {\n this.curPage = e;\n this.getList();\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3JlY2VudE9yZGVyLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnREEsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGVBREE7QUFFQSxpQkFGQTtBQUdBLFlBSEE7QUFJQSxnQkFKQTs7QUFNQSxHQVJBO0FBU0EsUUFUQSxrQkFTQSxPQVRBLEVBU0E7QUFDQTtBQUNBO0FBQ0EsR0FaQTtBQWFBO0FBQ0EsV0FEQSxxQkFDQTtBQUNBO0FBQ0EsdUJBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsT0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQ0FEQTs7QUFHQTtBQUNBLE9BVEE7QUFVQSxLQXhCQTtBQXlCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhGQURBLENBQ0E7QUFEQTtBQUdBLEtBL0JBO0FBZ0NBO0FBQ0E7QUFDQTtBQUNBLEtBbkNBLEVBYkEsRSIsImZpbGUiOiIyODguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbjwhLS0gXHQ8dGV4dD7ov5nmmK/mnIDov5HorqLljZU8L3RleHQ+IC0tPlxyXG48dmlldyBjbGFzcz1cIm91dFwiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1ib3R0b21cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1ib3R0b20tbGVmdFwiIEBjbGljaz1cImNob29zZShjdXJQYWdlPTEpXCIgOmNsYXNzPVwiY3VyUGFnZT09MT8nYWN0aXZlJzonJ1wiPlxyXG5cdFx0XHRcdOaZrumAmuiuouWNlVxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItYm90dG9tLXJpZ2h0XCIgQGNsaWNrPVwiY2hvb3NlKGN1clBhZ2U9MilcIiA6Y2xhc3M9XCJjdXJQYWdlPT0yPydhY3RpdmUnOicnXCI+XHJcblx0XHRcdFx05pel56ef6K6i5Y2VXHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwib3JkZXItbGlzdFwiIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIG9yZGVyXCIgQGNsaWNrPVwic2tpcERldGFpbFwiIHYtYmluZDpkYXRhLWluZGV4PVwiaW5kZXhcIj5cclxuXHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1iaWtlLW51bVwiPui9pui+hue8luWPt++8mnt7aXRlbS5iaWtlX25vfX08L3RleHQ+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItdXNlclwiPlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItdXNlci1uYW1lXCIgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuO1wiPueUqOaIt++8mnt7aXRlbS5uaWNrbmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItdXNlci1waG9uZVwiPnt7aXRlbS5tb2JpbGV9fTwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLXRpbWVcIj7ml7bpl7TvvJp7e2l0ZW0uc3RhcnRfdXNlX2Jpa2VfdGltZX194oCU4oCUe3tpdGVtLmVuZF91c2VfYmlrZV90aW1lfX08L3RleHQ+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+mqkeihjOS4rSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICM2OGU5Y2UgMCUsICMxOGQ1YjkgMTAwJSk7XCI+XHJcblx0XHRcdFx0e3tpdGVtLm9yZGVyc19zdGF0dXN9fVxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+iuouWNleWFs+mXrSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNjMGMwYzAgMCUsICM4MDgwODAgMTAwJSk7XCI+XHJcblx0XHRcdFx0e3tpdGVtLm9yZGVyc19zdGF0dXN9fVxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+W3suWujOaIkCdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICM0MWI4ZmQgMCUsICMwZWU3ZmUgMTAwJSk7XCI+XHJcblx0XHRcdFx0e3tpdGVtLm9yZGVyc19zdGF0dXN9fSAgIFxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci10YWcxXCIgdi1pZj1cIml0ZW0ub3JkZXJzX3N0YXR1cz09J+W+heaUr+S7mCdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcscmdiYSgyNTUsIDEzOSwgMTAyLCAxKSAwJSxyZ2JhKDI1NCwgODcsIDM0LCAxKSAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n5Li05pe25YGc6L2mJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzkzODJmNCAwJSwgI2EyOTdmYiAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n56ef6L2m5LitJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzM2NDhmNSAwJSwgI2EyOTdmYiAxMDAlKTtcIj5cclxuXHRcdFx0XHR7e2l0ZW0ub3JkZXJzX3N0YXR1c319XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLXRhZzFcIiB2LWlmPVwiaXRlbS5vcmRlcnNfc3RhdHVzPT0n56ef6L2m57uT5p2fLOW+heaUr+S7mCdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICMzMmY5NTUgMCUsICNhMjk3ZmIgMTAwJSk7XCI+XHJcblx0XHRcdFx0e3tpdGVtLm9yZGVyc19zdGF0dXN9fVxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cIm5vRGF0YSBub09yZGVyXCIgdi1pZj1cIm9yZGVyLmxlbmd0aCA9PSAwXCIgPlxyXG5cdFx0XHQ8aW1hZ2UgIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9ub25lLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdDx2aWV3IHN0eWxlPVwiY29sb3I6IGJsYWNrO1wiPuaaguaXoOebuOWFs+aVsOaNrn48L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwPSBnZXRBcHAoKVxyXG5cdGV4cG9ydCBkZWZhdWx0e1xyXG5cdFx0ZGF0YSgpe1xyXG5cdFx0XHRyZXR1cm57XHJcblx0XHRcdFx0IG9yZGVyOiBbXSxcclxuXHRcdFx0XHQgICAgbGlua3M6IG51bGwsXHJcblx0XHRcdFx0ICAgIGlkOiAnJyxcclxuXHRcdFx0XHQgICAgY3VyUGFnZTogMSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdHRoaXMuaWQ9b3B0aW9ucy5pZFxyXG5cdFx0XHR0aGlzLmdldExpc3QoKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6e1xyXG5cdFx0XHRnZXRMaXN0KCkge1xyXG5cdFx0XHQgICAgdW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0ICAgICAgdGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHQgICAgfSlcclxuXHRcdFx0ICAgIGxldCB1cmwgPSAnJztcclxuXHRcdFx0ICAgIGlmICh0aGlzLmN1clBhZ2UgPT0gMSkge1xyXG5cdFx0XHQgICAgICB1cmwgPSAnYmlrZS9sYXRlbHlPcmRlcnM/cGFnZSA9IDEnO1xyXG5cdFx0XHQgICAgfSBlbHNlIHtcclxuXHRcdFx0ICAgICAgdXJsID0gJ2Jpa2UvbGF0ZWx5T3JkZXJSZW50P3BhZ2UgPSAxJ1xyXG5cdFx0XHQgICAgfVxyXG5cdFx0XHQgICAgbGV0IGRhdGEgPSB7XHJcblx0XHRcdCAgICAgIGJpa2VfaWQ6IHRoaXMuaWRcclxuXHRcdFx0ICAgIH1cclxuXHRcdFx0ICAgIGFwcC5yZXF1ZXN0KHVybCwgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdCAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHQgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdCAgICAgICAgY29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0ICAgICAgICBcclxuXHRcdFx0ICAgICAgICAgIHRoaXMub3JkZXI9cmVzLmRhdGEuZGF0YSxcclxuXHRcdFx0ICAgICAgICAgIHRoaXMubGlua3M9cmVzLmRhdGEubGlua3MubmV4dFxyXG5cdFx0XHQgICAgICBcclxuXHRcdFx0ICAgICAgfVxyXG5cdFx0XHQgICAgfSlcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHNraXBEZXRhaWw6ZnVuY3Rpb24oZSl7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlLCfov5nmmK/orqLljZXor6bmg4UnKVxyXG5cdFx0XHRcdFx0bGV0IGluZGV4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXhcclxuXHRcdFx0XHRcdCAgICB1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHQgICAgICB1cmw6ICcvcGFnZXMvbWFuYWdlL29yZGVyRGV0YWlsP2lkPScgKyB0aGlzLm9yZGVyW2luZGV4XS5pZCArICcmaW5kZXg9JyArIHRoaXMuY3VyUGFnZSwgIC8v5pmu6YCa6K6i5Y2V5ZKM5pel56ef6K6i5Y2VXHJcblx0XHRcdFx0XHQgICAgfSlcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGNob29zZTpmdW5jdGlvbihlKXtcclxuXHRcdFx0XHRcdHRoaXMuY3VyUGFnZT1lXHJcblx0XHRcdFx0XHR0aGlzLmdldExpc3QoKVxyXG5cdFx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblx0XHQub3JkZXItYm90dG9tIHtcclxuXHRcdFx0d2lkdGg6IDgwJTtcclxuXHRcdFx0aGVpZ2h0OiA1NXJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDU1cnB4O1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRib3JkZXI6IHNvbGlkIDFweCAjNjRlZmRhO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNXJweDtcclxuXHRcdFx0bWFyZ2luLXRvcDogMzBycHg7XHJcblx0XHJcblx0XHJcblx0XHR9XHJcblx0Lm9yZGVyLXVzZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0fVxyXG5cdC5vdXR7XHJcblx0XHRwYWRkaW5nOiAzMHJweCAzMHJweDtcclxuXHR9XHJcblx0XHQub3JkZXItdXNlci1uYW1lLFxyXG5cdFx0Lm9yZGVyLXVzZXItcGhvbmUge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0ZmxleDogMTtcclxuXHRcdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDYwcnB4O1xyXG5cdFx0fVxyXG5cdFx0Lm9yZGVyLWJvdHRvbS1sZWZ0LFxyXG5cdFx0Lm9yZGVyLWJvdHRvbS1yaWdodCB7XHJcblx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0XHRoZWlnaHQ6IDU1cnB4O1xyXG5cdFx0XHR3aWR0aDogMjI4cnB4O1xyXG5cdFx0XHRjb2xvcjogIzY0ZWZkYTtcclxuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdH1cclxuXHRcclxuXHRcdC5vcmRlci1ib3R0b20tbGVmdCB7XHJcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEzcnB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxM3JweDtcclxuXHRcdFx0Ym9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggIzY0ZWZkYTtcclxuXHRcdH1cclxuXHRcclxuXHRcdC5vcmRlci1ib3R0b20tcmlnaHQge1xyXG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTNycHg7XHJcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxM3JweDtcclxuXHRcdH1cclxuXHRcdC5vcmRlci1saXN0IHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRjbGVhcjogbm9uZTtcclxuXHRcdFx0cGFkZGluZzogMTlycHggNDBycHg7XHJcblx0XHRcdGhlaWdodDogMTU5cnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRcdGNvbG9yOiByZ2JhKDc3LCA3NywgNzcsIDEpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAyN3JweDtcclxuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuXHRcdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDBweCA1MHB4IDBweCByZ2JhKDIxNiwgMjE2LCAyMTYsIDEpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHQudXNlci1iYWxhbmNlIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEzNXJweDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0LnVzZXItdGFnLFxyXG5cdFx0XHJcblx0XHRcclxuXHRcdC51c2VyLXRhZzEsXHJcblx0XHQudXNlci10YWcyLFxyXG5cdFx0LnVzZXItdGFnMyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0d2lkdGg6IDE1OHJweDtcclxuXHRcdFx0aGVpZ2h0OiA0MnJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDQycnB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDBweCAxMHB4IDBweCAyMHB4O1xyXG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRmb250LWZhbWlseTogUGluZ0ZhbmcgU0M7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cdFx0fVxyXG5cdFx0LmFjdGl2ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM2NGVmZGE7XHJcblx0XHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0fVxyXG5cdFx0LnVzZXItdGFnMSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCA4NywgMzQsIDEpO1xyXG5cdFx0XHQvKiBib3gtc2hhZG93OiAwcHggMHB4IDZweCAwcHggcmdiYSgyNTQsIDk0LCA0NCwgMSk7ICovXHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC51c2VyLXRhZzIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzNywgNDAsIDI0NywgMSk7XHJcblx0XHRcdGJveC1zaGFkb3c6IDBweCAwcHggNnB4IDBweCByZ2JhKDEzNywgNDAsIDI0NywgMSk7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC51c2VyLXRhZzMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMjM0LCAyMjQsIDEpO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggMHB4IDZweCAwcHggcmdiYSgxMDAsIDIzNCwgMjI0LCAxKTtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///288\n");
  30093. /***/ }),
  30094. /* 289 */
  30095. /*!************************************************************************!*\
  30096. !*** C:/Users/001/Desktop/运维端/pages/manage/lineRecord.vue?mpType=page ***!
  30097. \************************************************************************/
  30098. =======
  30099. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n order: [],\n links: null,\n id: '',\n curPage: 1 };\n\n },\n onLoad: function onLoad(options) {\n this.id = options.id;\n this.getList();\n },\n methods: {\n getList: function getList() {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n var url = '';\n if (this.curPage == 1) {\n url = 'bike/latelyOrders?page = 1';\n } else {\n url = 'bike/latelyOrderRent?page = 1';\n }\n var data = {\n bike_id: this.id };\n\n app.request(url, data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n __f__(\"log\", res, \" at pages/manage/recentOrder.vue:80\");\n\n _this.order = res.data.data,\n _this.links = res.data.links.next;\n\n }\n });\n },\n skipDetail: function skipDetail(e) {\n __f__(\"log\", e, '这是订单详情', \" at pages/manage/recentOrder.vue:89\");\n var index = e.currentTarget.dataset.index;\n uni.navigateTo({\n url: '/pages/manage/orderDetail?id=' + this.order[index].id + '&index=' + this.curPage //普通订单和日租订单\n });\n },\n choose: function choose(e) {\n this.curPage = e;\n this.getList();\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL3JlY2VudE9yZGVyLnZ1ZSJdLCJuYW1lcyI6WyJhcHAiLCJnZXRBcHAiLCJkYXRhIiwib3JkZXIiLCJsaW5rcyIsImlkIiwiY3VyUGFnZSIsIm9uTG9hZCIsIm9wdGlvbnMiLCJnZXRMaXN0IiwibWV0aG9kcyIsInVuaSIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJ1cmwiLCJiaWtlX2lkIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJoaWRlTG9hZGluZyIsInN0YXR1c0NvZGUiLCJuZXh0Iiwic2tpcERldGFpbCIsImUiLCJpbmRleCIsImN1cnJlbnRUYXJnZXQiLCJkYXRhc2V0IiwibmF2aWdhdGVUbyIsImNob29zZSJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsR0FBRyxHQUFFQyxNQUFNLEVBQWYsQztBQUNjO0FBQ2JDLE1BRGEsa0JBQ1A7QUFDTCxXQUFNO0FBQ0pDLFdBQUssRUFBRSxFQURIO0FBRURDLFdBQUssRUFBRSxJQUZOO0FBR0RDLFFBQUUsRUFBRSxFQUhIO0FBSURDLGFBQU8sRUFBRSxDQUpSLEVBQU47O0FBTUEsR0FSWTtBQVNiQyxRQVRhLGtCQVNOQyxPQVRNLEVBU0c7QUFDZixTQUFLSCxFQUFMLEdBQVFHLE9BQU8sQ0FBQ0gsRUFBaEI7QUFDQSxTQUFLSSxPQUFMO0FBQ0EsR0FaWTtBQWFiQyxTQUFPLEVBQUM7QUFDUEQsV0FETyxxQkFDRztBQUNORSxTQUFHLENBQUNDLFdBQUosQ0FBZ0I7QUFDZEMsYUFBSyxFQUFFLFFBRE8sRUFBaEI7O0FBR0EsVUFBSUMsR0FBRyxHQUFHLEVBQVY7QUFDQSxVQUFJLEtBQUtSLE9BQUwsSUFBZ0IsQ0FBcEIsRUFBdUI7QUFDckJRLFdBQUcsR0FBRyw0QkFBTjtBQUNELE9BRkQsTUFFTztBQUNMQSxXQUFHLEdBQUcsK0JBQU47QUFDRDtBQUNELFVBQUlaLElBQUksR0FBRztBQUNUYSxlQUFPLEVBQUUsS0FBS1YsRUFETCxFQUFYOztBQUdBTCxTQUFHLENBQUNnQixPQUFKLENBQVlGLEdBQVosRUFBaUJaLElBQWpCLEVBQXVCLE1BQXZCLEVBQStCZSxJQUEvQixDQUFvQyxVQUFBQyxHQUFHLEVBQUk7QUFDekNQLFdBQUcsQ0FBQ1EsV0FBSjtBQUNBLFlBQUlELEdBQUcsQ0FBQ0UsVUFBSixJQUFrQixHQUF0QixFQUEyQjtBQUN6Qix1QkFBWUYsR0FBWjs7QUFFRSxlQUFJLENBQUNmLEtBQUwsR0FBV2UsR0FBRyxDQUFDaEIsSUFBSixDQUFTQSxJQUFwQjtBQUNBLGVBQUksQ0FBQ0UsS0FBTCxHQUFXYyxHQUFHLENBQUNoQixJQUFKLENBQVNFLEtBQVQsQ0FBZWlCLElBRDFCOztBQUdIO0FBQ0YsT0FURDtBQVVGLEtBeEJLO0FBeUJOQyxjQUFVLEVBQUMsb0JBQVNDLENBQVQsRUFBVztBQUNyQixtQkFBWUEsQ0FBWixFQUFjLFFBQWQ7QUFDQSxVQUFJQyxLQUFLLEdBQUdELENBQUMsQ0FBQ0UsYUFBRixDQUFnQkMsT0FBaEIsQ0FBd0JGLEtBQXBDO0FBQ0liLFNBQUcsQ0FBQ2dCLFVBQUosQ0FBZTtBQUNiYixXQUFHLEVBQUUsa0NBQWtDLEtBQUtYLEtBQUwsQ0FBV3FCLEtBQVgsRUFBa0JuQixFQUFwRCxHQUF5RCxTQUF6RCxHQUFxRSxLQUFLQyxPQURsRSxDQUM0RTtBQUQ1RSxPQUFmO0FBR0osS0EvQks7QUFnQ05zQixVQUFNLEVBQUMsZ0JBQVNMLENBQVQsRUFBVztBQUNqQixXQUFLakIsT0FBTCxHQUFhaUIsQ0FBYjtBQUNBLFdBQUtkLE9BQUw7QUFDQSxLQW5DSyxFQWJLLEUiLCJmaWxlIjoiMTIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBhcHA9IGdldEFwcCgpXG5leHBvcnQgZGVmYXVsdHtcblx0ZGF0YSgpe1xuXHRcdHJldHVybntcblx0XHRcdCBvcmRlcjogW10sXG5cdFx0XHQgICAgbGlua3M6IG51bGwsXG5cdFx0XHQgICAgaWQ6ICcnLFxuXHRcdFx0ICAgIGN1clBhZ2U6IDEsXG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdHRoaXMuaWQ9b3B0aW9ucy5pZFxuXHRcdHRoaXMuZ2V0TGlzdCgpXG5cdH0sXG5cdG1ldGhvZHM6e1xuXHRcdGdldExpc3QoKSB7XG5cdFx0ICAgIHVuaS5zaG93TG9hZGluZyh7XG5cdFx0ICAgICAgdGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdCAgICB9KVxuXHRcdCAgICBsZXQgdXJsID0gJyc7XG5cdFx0ICAgIGlmICh0aGlzLmN1clBhZ2UgPT0gMSkge1xuXHRcdCAgICAgIHVybCA9ICdiaWtlL2xhdGVseU9yZGVycz9wYWdlID0gMSc7XG5cdFx0ICAgIH0gZWxzZSB7XG5cdFx0ICAgICAgdXJsID0gJ2Jpa2UvbGF0ZWx5T3JkZXJSZW50P3BhZ2UgPSAxJ1xuXHRcdCAgICB9XG5cdFx0ICAgIGxldCBkYXRhID0ge1xuXHRcdCAgICAgIGJpa2VfaWQ6IHRoaXMuaWRcblx0XHQgICAgfVxuXHRcdCAgICBhcHAucmVxdWVzdCh1cmwsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdCAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdCAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHQgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XG5cdFx0ICAgICAgICBcblx0XHQgICAgICAgICAgdGhpcy5vcmRlcj1yZXMuZGF0YS5kYXRhLFxuXHRcdCAgICAgICAgICB0aGlzLmxpbmtzPXJlcy5kYXRhLmxpbmtzLm5leHRcblx0XHQgICAgICBcblx0XHQgICAgICB9XG5cdFx0ICAgIH0pXG5cdFx0XHR9LFxuXHRcdFx0c2tpcERldGFpbDpmdW5jdGlvbihlKXtcblx0XHRcdFx0Y29uc29sZS5sb2coZSwn6L+Z5piv6K6i5Y2V6K+m5oOFJylcblx0XHRcdFx0bGV0IGluZGV4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXhcblx0XHRcdFx0ICAgIHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0ICAgICAgdXJsOiAnL3BhZ2VzL21hbmFnZS9vcmRlckRldGFpbD9pZD0nICsgdGhpcy5vcmRlcltpbmRleF0uaWQgKyAnJmluZGV4PScgKyB0aGlzLmN1clBhZ2UsICAvL+aZrumAmuiuouWNleWSjOaXpeenn+iuouWNlVxuXHRcdFx0XHQgICAgfSlcblx0XHRcdH0sXG5cdFx0XHRjaG9vc2U6ZnVuY3Rpb24oZSl7XG5cdFx0XHRcdHRoaXMuY3VyUGFnZT1lXG5cdFx0XHRcdHRoaXMuZ2V0TGlzdCgpXG5cdFx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///122\n");
  30100. /***/ }),
  30101. /* 123 */
  30102. /*!*************************************************************************************!*\
  30103. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lineRecord.vue?mpType=page ***!
  30104. \*************************************************************************************/
  30105. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30106. /*! no static exports found */
  30107. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30108. "use strict";
  30109. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lineRecord.vue?vue&type=template&id=137a7df6&mpType=page */ 290);\n/* harmony import */ var _lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lineRecord.vue?vue&type=script&lang=js&mpType=page */ 292);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/lineRecord.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDs7O0FBR3BFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9saW5lUmVjb3JkLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xMzdhN2RmNiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbGluZVJlY29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbGluZVJlY29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvbGluZVJlY29yZC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///289\n");
  30110. /***/ }),
  30111. <<<<<<< HEAD
  30112. /* 290 */
  30113. /*!******************************************************************************************************!*\
  30114. !*** C:/Users/001/Desktop/运维端/pages/manage/lineRecord.vue?vue&type=template&id=137a7df6&mpType=page ***!
  30115. \******************************************************************************************************/
  30116. =======
  30117. /* 124 */
  30118. /*!*******************************************************************************************************************!*\
  30119. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lineRecord.vue?vue&type=template&id=137a7df6&mpType=page ***!
  30120. \*******************************************************************************************************************/
  30121. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30122. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30123. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30124. "use strict";
  30125. __webpack_require__.r(__webpack_exports__);
  30126. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lineRecord.vue?vue&type=template&id=137a7df6&mpType=page */ 291);
  30127. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  30128. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  30129. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  30130. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_template_id_137a7df6_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  30131. /***/ }),
  30132. <<<<<<< HEAD
  30133. /* 291 */
  30134. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30135. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/lineRecord.vue?vue&type=template&id=137a7df6&mpType=page ***!
  30136. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30137. =======
  30138. /* 125 */
  30139. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30140. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lineRecord.vue?vue&type=template&id=137a7df6&mpType=page ***!
  30141. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30142. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30143. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30144. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30145. "use strict";
  30146. __webpack_require__.r(__webpack_exports__);
  30147. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  30148. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  30149. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  30150. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  30151. var components
  30152. var render = function() {
  30153. var _vm = this
  30154. var _h = _vm.$createElement
  30155. var _c = _vm._self._c || _h
  30156. return _c(
  30157. "view",
  30158. { staticClass: _vm._$s(0, "sc", "out"), attrs: { _i: 0 } },
  30159. _vm._l(_vm._$s(1, "f", { forItems: _vm.lineRecord }), function(
  30160. item,
  30161. index,
  30162. $20,
  30163. $30
  30164. ) {
  30165. return _c(
  30166. "view",
  30167. {
  30168. key: _vm._$s(1, "f", { forIndex: $20, key: index }),
  30169. staticClass: _vm._$s("1-" + $30, "sc", "bike-list"),
  30170. attrs: { _i: "1-" + $30 }
  30171. },
  30172. [
  30173. _c(
  30174. "view",
  30175. {
  30176. staticClass: _vm._$s("2-" + $30, "sc", "work-list-left"),
  30177. attrs: { _i: "2-" + $30 }
  30178. },
  30179. [
  30180. _c(
  30181. "view",
  30182. {
  30183. staticClass: _vm._$s("3-" + $30, "sc", "work-title"),
  30184. attrs: { _i: "3-" + $30 }
  30185. },
  30186. [_vm._v(_vm._$s("3-" + $30, "t0-0", _vm._s(item.name)))]
  30187. ),
  30188. _c("view", [
  30189. _vm._v(_vm._$s("4-" + $30, "t0-0", _vm._s(item.reason)))
  30190. ]),
  30191. _c("view", [
  30192. _vm._v(_vm._$s("5-" + $30, "t0-0", _vm._s(item.created_at)))
  30193. ]),
  30194. _c("view", [
  30195. _vm._v(
  30196. _vm._$s("6-" + $30, "t0-0", _vm._s(item.username)) +
  30197. _vm._$s("6-" + $30, "t0-1", _vm._s(item.mobile))
  30198. )
  30199. ]),
  30200. _vm._$s("7-" + $30, "i", _vm.lineRecord.length == 0)
  30201. ? _c(
  30202. "view",
  30203. {
  30204. staticClass: _vm._$s("7-" + $30, "sc", "noData noOrder"),
  30205. attrs: { _i: "7-" + $30 }
  30206. },
  30207. [_c("image", { attrs: { _i: "8-" + $30 } }), _c("view")]
  30208. )
  30209. : _vm._e()
  30210. ]
  30211. )
  30212. ]
  30213. )
  30214. }),
  30215. 0
  30216. )
  30217. }
  30218. var recyclableRender = false
  30219. var staticRenderFns = []
  30220. render._withStripped = true
  30221. /***/ }),
  30222. <<<<<<< HEAD
  30223. /* 292 */
  30224. /*!************************************************************************************************!*\
  30225. !*** C:/Users/001/Desktop/运维端/pages/manage/lineRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30226. \************************************************************************************************/
  30227. =======
  30228. /* 126 */
  30229. /*!*************************************************************************************************************!*\
  30230. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lineRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30231. \*************************************************************************************************************/
  30232. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30233. /*! no static exports found */
  30234. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30235. "use strict";
  30236. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lineRecord.vue?vue&type=script&lang=js&mpType=page */ 293);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdqQixDQUFnQixtbEJBQUcsRUFBQyIsImZpbGUiOiIyOTIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9saW5lUmVjb3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9saW5lUmVjb3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///292\n");
  30237. /***/ }),
  30238. <<<<<<< HEAD
  30239. /* 293 */
  30240. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30241. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/lineRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30242. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30243. =======
  30244. /* 127 */
  30245. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30246. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lineRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30247. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30248. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30249. /*! no static exports found */
  30250. /***/ (function(module, exports, __webpack_require__) {
  30251. "use strict";
  30252. <<<<<<< HEAD
  30253. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n lineRecord: [],\n page: 1,\n bike_id: '' };\n\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n this.bike_id = options.id;\n var data = {\n bike_id: options.id };\n\n app.request('bike/bikeOnLineLog', data, 'POST').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/lineRecord.vue:50\");\n\n _this.lineRecord = res.data.data;\n\n });\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2xpbmVSZWNvcmQudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxtQjtBQUNBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0Esb0JBREE7QUFFQSxhQUZBO0FBR0EsaUJBSEE7O0FBS0EsR0FQQTtBQVFBLFFBUkEsa0JBUUEsT0FSQSxFQVFBO0FBQ0E7QUFDQSxxQkFEQTs7QUFHQTtBQUNBO0FBQ0EseUJBREE7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBLEtBTkE7QUFPQSxHQXZCQSxFIiwiZmlsZSI6IjI5My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8IS0tIDx0ZXh0PuS4iuS4i+e6v+iusOW9lTwvdGV4dD4gLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJvdXRcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYmlrZS1saXN0XCIgIHYtZm9yPVwiKGl0ZW0gLCBpbmRleCkgaW4gbGluZVJlY29yZFwiIDprZXk9J2luZGV4Jz5cclxuXHRcdFxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIndvcmstbGlzdC1sZWZ0XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ3b3JrLXRpdGxlXCI+XHJcblx0XHRcdFx0XHR7e2l0ZW0ubmFtZX19XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHTljp/lm6DvvJp7e2l0ZW0ucmVhc29ufX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdOaXtumXtO+8mnt7aXRlbS5jcmVhdGVkX2F0fX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdOWnk+WQje+8mnt7aXRlbS51c2VybmFtZX19ICB7e2l0ZW0ubW9iaWxlfX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJub0RhdGEgbm9PcmRlclwiIHYtaWY9XCJsaW5lUmVjb3JkLmxlbmd0aD09MCBcIiA+XHJcblx0XHRcdFx0XHQ8aW1hZ2UgIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9ub25lLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImNvbG9yOiBibGFjaztcIj7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcblx0XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHA9IGdldEFwcCgpXHJcblx0ZXhwb3J0IGRlZmF1bHR7XHJcblx0XHRkYXRhKCl7XHJcblx0XHRcdHJldHVybntcclxuXHRcdFx0XHQgICAgbGluZVJlY29yZDpbXSxcclxuXHRcdFx0XHQgICAgcGFnZToxLFxyXG5cdFx0XHRcdCAgICBiaWtlX2lkOicnLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0ICB1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHQgICAgICB0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdCAgICB9KVxyXG5cdFx0XHRcdHRoaXMuYmlrZV9pZD1vcHRpb25zLmlkXHJcblx0XHRcdFx0dmFyIGRhdGEgPSB7XHJcblx0XHRcdFx0ICAgICAgYmlrZV9pZDpvcHRpb25zLmlkXHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHQgICAgYXBwLnJlcXVlc3QoJ2Jpa2UvYmlrZU9uTGluZUxvZycsZGF0YSwnUE9TVCcpLnRoZW4ocmVzPT57XHJcblx0XHRcdFx0ICAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0ICAgICAgY29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdCAgICAgXHJcblx0XHRcdFx0ICAgICAgICB0aGlzLmxpbmVSZWNvcmQ9cmVzLmRhdGEuZGF0YVxyXG5cdFx0XHRcdCAgICAgXHJcblx0XHRcdFx0ICAgIH0pXHJcblx0XHR9XHJcblx0XHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblx0Lm91dHtcclxuXHRcdHBhZGRpbmc6IDMwcnB4IDQwcnB4O1xyXG5cdH1cclxuXHQuYmlrZS1saXN0IHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDQwcnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHRcdC8qIGhlaWdodDogNTRweDsgKi9cclxuXHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luLXRvcDogMzBycHg7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCAxM3JweCAwcHggcmdiYSgyMTYsIDIxNiwgMjE2LCAxKTtcclxuXHRcclxuXHR9XHJcblx0XHJcblx0LndvcmstbGlzdC1sZWZ0IHtcclxuXHRcdGZsZXg6IDAgMCA2MCU7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUwcnB4O1xyXG5cdH1cclxuXHQud29yay10aXRsZSB7XHJcblx0XHJcblx0XHRmb250LXdlaWdodDogODAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdC8qIGhlaWdodDogMzBycHg7ICovXHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///293\n");
  30254. /***/ }),
  30255. /* 294 */
  30256. /*!************************************************************************!*\
  30257. !*** C:/Users/001/Desktop/运维端/pages/manage/lockRecord.vue?mpType=page ***!
  30258. \************************************************************************/
  30259. =======
  30260. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n lineRecord: [],\n page: 1,\n bike_id: '' };\n\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n this.bike_id = options.id;\n var data = {\n bike_id: options.id };\n\n app.request('bike/bikeOnLineLog', data, 'POST').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/manage/lineRecord.vue:50\");\n\n _this.lineRecord = res.data.data;\n\n });\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2xpbmVSZWNvcmQudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJsaW5lUmVjb3JkIiwicGFnZSIsImJpa2VfaWQiLCJvbkxvYWQiLCJvcHRpb25zIiwidW5pIiwic2hvd0xvYWRpbmciLCJ0aXRsZSIsImlkIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJoaWRlTG9hZGluZyJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsR0FBRyxHQUFFQyxNQUFNLEVBQWYsQztBQUNjO0FBQ2JDLE1BRGEsa0JBQ1A7QUFDTCxXQUFNO0FBQ0RDLGdCQUFVLEVBQUMsRUFEVjtBQUVEQyxVQUFJLEVBQUMsQ0FGSjtBQUdEQyxhQUFPLEVBQUMsRUFIUCxFQUFOOztBQUtBLEdBUFk7QUFRYkMsUUFSYSxrQkFRTkMsT0FSTSxFQVFHO0FBQ2JDLE9BQUcsQ0FBQ0MsV0FBSixDQUFnQjtBQUNaQyxXQUFLLEVBQUUsUUFESyxFQUFoQjs7QUFHRCxTQUFLTCxPQUFMLEdBQWFFLE9BQU8sQ0FBQ0ksRUFBckI7QUFDQSxRQUFJVCxJQUFJLEdBQUc7QUFDTEcsYUFBTyxFQUFDRSxPQUFPLENBQUNJLEVBRFgsRUFBWDs7QUFHSVgsT0FBRyxDQUFDWSxPQUFKLENBQVksb0JBQVosRUFBaUNWLElBQWpDLEVBQXNDLE1BQXRDLEVBQThDVyxJQUE5QyxDQUFtRCxVQUFBQyxHQUFHLEVBQUU7QUFDdEROLFNBQUcsQ0FBQ08sV0FBSjtBQUNBLG1CQUFZRCxHQUFaOztBQUVFLFdBQUksQ0FBQ1gsVUFBTCxHQUFnQlcsR0FBRyxDQUFDWixJQUFKLENBQVNBLElBQXpCOztBQUVILEtBTkQ7QUFPTCxHQXZCWSxFIiwiZmlsZSI6IjEyNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwPSBnZXRBcHAoKVxuZXhwb3J0IGRlZmF1bHR7XG5cdGRhdGEoKXtcblx0XHRyZXR1cm57XG5cdFx0XHQgICAgbGluZVJlY29yZDpbXSxcblx0XHRcdCAgICBwYWdlOjEsXG5cdFx0XHQgICAgYmlrZV9pZDonJyxcblx0XHR9XG5cdH0sXG5cdG9uTG9hZChvcHRpb25zKSB7XG5cdFx0ICB1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdCAgICAgIHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHQgICAgfSlcblx0XHRcdHRoaXMuYmlrZV9pZD1vcHRpb25zLmlkXG5cdFx0XHR2YXIgZGF0YSA9IHtcblx0XHRcdCAgICAgIGJpa2VfaWQ6b3B0aW9ucy5pZFxuXHRcdFx0ICAgIH1cblx0XHRcdCAgICBhcHAucmVxdWVzdCgnYmlrZS9iaWtlT25MaW5lTG9nJyxkYXRhLCdQT1NUJykudGhlbihyZXM9Pntcblx0XHRcdCAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0ICAgICAgY29uc29sZS5sb2cocmVzKVxuXHRcdFx0ICAgICBcblx0XHRcdCAgICAgICAgdGhpcy5saW5lUmVjb3JkPXJlcy5kYXRhLmRhdGFcblx0XHRcdCAgICAgXG5cdFx0XHQgICAgfSlcblx0fVxuXHR9XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///127\n");
  30261. /***/ }),
  30262. /* 128 */
  30263. /*!*************************************************************************************!*\
  30264. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lockRecord.vue?mpType=page ***!
  30265. \*************************************************************************************/
  30266. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30267. /*! no static exports found */
  30268. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30269. "use strict";
  30270. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lockRecord.vue?vue&type=template&id=15b4bfed&mpType=page */ 295);\n/* harmony import */ var _lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lockRecord.vue?vue&type=script&lang=js&mpType=page */ 297);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/manage/lockRecord.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDs7O0FBR3BFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjk0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9sb2NrUmVjb3JkLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xNWI0YmZlZCZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbG9ja1JlY29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbG9ja1JlY29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9tYW5hZ2UvbG9ja1JlY29yZC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///294\n");
  30271. /***/ }),
  30272. <<<<<<< HEAD
  30273. /* 295 */
  30274. /*!******************************************************************************************************!*\
  30275. !*** C:/Users/001/Desktop/运维端/pages/manage/lockRecord.vue?vue&type=template&id=15b4bfed&mpType=page ***!
  30276. \******************************************************************************************************/
  30277. =======
  30278. /* 129 */
  30279. /*!*******************************************************************************************************************!*\
  30280. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lockRecord.vue?vue&type=template&id=15b4bfed&mpType=page ***!
  30281. \*******************************************************************************************************************/
  30282. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30283. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30284. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30285. "use strict";
  30286. __webpack_require__.r(__webpack_exports__);
  30287. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lockRecord.vue?vue&type=template&id=15b4bfed&mpType=page */ 296);
  30288. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  30289. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  30290. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  30291. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_template_id_15b4bfed_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  30292. /***/ }),
  30293. <<<<<<< HEAD
  30294. /* 296 */
  30295. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30296. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/lockRecord.vue?vue&type=template&id=15b4bfed&mpType=page ***!
  30297. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30298. =======
  30299. /* 130 */
  30300. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30301. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lockRecord.vue?vue&type=template&id=15b4bfed&mpType=page ***!
  30302. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30303. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30304. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30305. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30306. "use strict";
  30307. __webpack_require__.r(__webpack_exports__);
  30308. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  30309. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  30310. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  30311. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  30312. var components
  30313. var render = function() {
  30314. var _vm = this
  30315. var _h = _vm.$createElement
  30316. var _c = _vm._self._c || _h
  30317. return _c(
  30318. "view",
  30319. { staticClass: _vm._$s(0, "sc", "lockRecord"), attrs: { _i: 0 } },
  30320. [
  30321. _vm._$s(1, "i", !_vm.not)
  30322. ? _c("map", {
  30323. attrs: {
  30324. id: "map",
  30325. longitude: _vm._$s(1, "a-longitude", _vm.longitude),
  30326. latitude: _vm._$s(1, "a-latitude", _vm.latitude),
  30327. markers: _vm._$s(1, "a-markers", _vm.markers),
  30328. _i: 1
  30329. }
  30330. })
  30331. : _vm._e(),
  30332. _vm._$s(2, "i", !_vm.not)
  30333. ? _c(
  30334. "view",
  30335. { staticClass: _vm._$s(2, "sc", "lock"), attrs: { _i: 2 } },
  30336. _vm._l(_vm._$s(3, "f", { forItems: _vm.lockRecord }), function(
  30337. item,
  30338. index,
  30339. $20,
  30340. $30
  30341. ) {
  30342. return _c(
  30343. "view",
  30344. {
  30345. key: _vm._$s(3, "f", { forIndex: $20, key: index }),
  30346. staticClass: _vm._$s("3-" + $30, "sc", "lockDate"),
  30347. attrs: { _i: "3-" + $30 }
  30348. },
  30349. [
  30350. _c("view", [
  30351. _vm._v(
  30352. _vm._$s("4-" + $30, "t0-0", _vm._s(item.username)) +
  30353. _vm._$s("4-" + $30, "t0-1", _vm._s(item.mobile))
  30354. )
  30355. ]),
  30356. _c("view", [
  30357. _vm._v(
  30358. _vm._$s("5-" + $30, "t0-0", _vm._s(item.operate_time))
  30359. )
  30360. ]),
  30361. _c("view", [
  30362. _vm._v(_vm._$s("6-" + $30, "t0-0", _vm._s(item.name)))
  30363. ])
  30364. ]
  30365. )
  30366. }),
  30367. 0
  30368. )
  30369. : _vm._e(),
  30370. _vm._$s(7, "i", _vm.not)
  30371. ? _c(
  30372. "view",
  30373. { staticClass: _vm._$s(7, "sc", "noData"), attrs: { _i: 7 } },
  30374. [_c("image", { attrs: { _i: 8 } }), _c("view")]
  30375. )
  30376. : _vm._e()
  30377. ]
  30378. )
  30379. }
  30380. var recyclableRender = false
  30381. var staticRenderFns = []
  30382. render._withStripped = true
  30383. /***/ }),
  30384. <<<<<<< HEAD
  30385. /* 297 */
  30386. /*!************************************************************************************************!*\
  30387. !*** C:/Users/001/Desktop/运维端/pages/manage/lockRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30388. \************************************************************************************************/
  30389. =======
  30390. /* 131 */
  30391. /*!*************************************************************************************************************!*\
  30392. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lockRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30393. \*************************************************************************************************************/
  30394. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30395. /*! no static exports found */
  30396. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30397. "use strict";
  30398. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lockRecord.vue?vue&type=script&lang=js&mpType=page */ 298);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lockRecord_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWdqQixDQUFnQixtbEJBQUcsRUFBQyIsImZpbGUiOiIyOTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9sb2NrUmVjb3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9sb2NrUmVjb3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///297\n");
  30399. /***/ }),
  30400. <<<<<<< HEAD
  30401. /* 298 */
  30402. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30403. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/manage/lockRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30404. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30405. =======
  30406. /* 132 */
  30407. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30408. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/manage/lockRecord.vue?vue&type=script&lang=js&mpType=page ***!
  30409. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30410. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30411. /*! no static exports found */
  30412. /***/ (function(module, exports, __webpack_require__) {
  30413. "use strict";
  30414. <<<<<<< HEAD
  30415. eval("/* WEBPACK VAR INJECTION */(function(wx, __f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n lockRecord: [],\n longitude: '',\n latitude: '',\n not: false,\n markers: '' };\n\n\n\n\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n // let that = this;\n var data = {\n bike_id: options.id };\n\n app.request('bike/locksInfo', data, 'POST').then(function (res) {\n wx.hideLoading();\n __f__(\"log\", res, '开关锁记录', \" at pages/manage/lockRecord.vue:44\");\n if (\n res.data.close_bike.length == 0 &&\n res.data.close_pause_bike.length == 0 &&\n res.data.open_bike.length == 0 &&\n res.data.open_pause_bike.length == 0)\n {\n // this.setData({\n _this.not = true;\n // })\n } else {\n var close_bike = res.data.close_bike;\n var open_bike = res.data.open_bike;\n var open_pause_bike = res.data.open_pause_bike;\n var close_pause_bike = res.data.close_pause_bike;\n // 开锁记录\n if (close_bike.length >= 1) {\n for (var i = 0; i < close_bike.length; i++) {\n close_bike[i].iconPath = 'http://resource.weilaibike.com/common/open.app.png';\n close_bike[i].width = 24;\n close_bike[i].height = 24;\n close_bike[i].zIndex = 1111;\n close_bike[i].latitude = close_bike[i].location[1];\n close_bike[i].longitude = close_bike[i].location[0];\n }\n // that.setData({\n _this.markers = close_bike;\n // })\n }\n //关锁记录\n if (open_bike.length >= 1) {\n for (var i = 0; i < open_bike.length; i++) {\n open_bike[i].iconPath = 'http://resource.weilaibike.com/common/close.app.png';\n open_bike[i].width = 24;\n open_bike[i].height = 24;\n open_bike[i].zIndex = 1111;\n open_bike[i].latitude = open_bike[i].location[1];\n open_bike[i].longitude = open_bike[i].location[0];\n }\n // that.setData({\n _this.markers = _this.markers.concat(open_bike);\n // })\n }\n //临时开锁\n if (open_pause_bike.length >= 1) {\n for (var i = 0; i < open_pause_bike.length; i++) {\n open_pause_bike[i].iconPath = 'http://resource.weilaibike.com/common/temOpen.app.png';\n open_pause_bike[i].width = 22;\n open_pause_bike[i].height = 30;\n open_pause_bike[i].zIndex = 1111;\n open_pause_bike[i].latitude = open_pause_bike[i].location[1];\n open_pause_bike[i].longitude = open_pause_bike[i].location[0];\n }\n // that.setData({\n _this.markers = _this.markers.concat(open_pause_bike);\n // })\n }\n //临时关锁\n if (close_pause_bike.length >= 1) {\n for (var i = 0; i < close_pause_bike.length; i++) {\n close_pause_bike[i].iconPath = 'http://resource.weilaibike.com/common/temClose.app.png';\n close_pause_bike[i].width = 22;\n close_pause_bike[i].height = 30;\n close_pause_bike[i].zIndex = 1111;\n close_pause_bike[i].id = close_pause_bike[i].bike_no;\n close_pause_bike[i].latitude = close_pause_bike[i].location[1];\n close_pause_bike[i].longitude = close_pause_bike[i].location[0];\n }\n // that.setData({\n _this.markers = _this.markers.concat(close_pause_bike),\n _this.longitude = res.data.open_bike[0].location[0],\n _this.latitude = res.data.open_bike[0].location[1];\n // })\n }\n //列表数据\n var arr = [];\n arr = arr.concat(\n res.close_bike,\n res.close_pause_bike,\n res.open_bike,\n res.open_pause_bike);\n\n __f__(\"log\", _this.markers, \" at pages/manage/lockRecord.vue:126\");\n // that.setData({\n _this.lockRecord = arr;\n // })\n }\n }).catch(function (err) {\n __f__(\"log\", err, \" at pages/manage/lockRecord.vue:132\");\n });\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2xvY2tSZWNvcmQudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQkEsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLG9CQURBO0FBRUEsbUJBRkE7QUFHQSxrQkFIQTtBQUlBLGdCQUpBO0FBS0EsaUJBTEE7Ozs7O0FBVUEsR0FaQTtBQWFBLFFBYkEsa0JBYUEsT0FiQSxFQWFBO0FBQ0E7QUFDQSxxQkFEQTs7QUFHQTtBQUNBO0FBQ0EseUJBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQURBO0FBRUEsb0NBRkE7QUFHQSwwQ0FKQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FUQSxNQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZEQURBO0FBRUEsNERBRkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBREE7QUFFQSw0QkFGQTtBQUdBLHFCQUhBO0FBSUEsMkJBSkE7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBekZBLEVBeUZBLEtBekZBLENBeUZBO0FBQ0E7QUFDQSxLQTNGQTtBQTRGQSxHQWpIQSxFIiwiZmlsZSI6IjI5OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8IS0tIDx0ZXh0PuW8gOWFs+mUgeiusOW9lTwvdGV4dD4gLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJsb2NrUmVjb3JkXCI+XHJcblx0ICA8bWFwIGlkPVwibWFwXCIgOmxvbmdpdHVkZT1cImxvbmdpdHVkZVwiIDpsYXRpdHVkZT1cImxhdGl0dWRlXCIgc2NhbGU9XCIxNFwiICA6bWFya2Vycz1cIm1hcmtlcnNcIiAgYmluZHJlZ2lvbmNoYW5nZT1cInJlZ2lvbmNoYW5nZVwiIHNob3ctbG9jYXRpb24gdi1pZj1cIiFub3RcIj48L21hcD5cclxuXHQgIDx2aWV3IGNsYXNzPVwibG9ja1wiIHYtaWY9XCIhbm90XCI+XHJcblx0ICAgIDx2aWV3IGNsYXNzPVwibG9ja0RhdGVcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBsb2NrUmVjb3JkXCIgOmtleT1cImluZGV4XCIgPlxyXG5cdCAgICAgIDx2aWV3PuWnk+WQje+8mnt7aXRlbS51c2VybmFtZX19IHt7aXRlbS5tb2JpbGV9fTwvdmlldz5cclxuXHQgICAgICA8dmlldz7ml7bpl7TvvJp7e2l0ZW0ub3BlcmF0ZV90aW1lfX08L3ZpZXc+XHJcblx0ICAgICAgPHZpZXc+5pON5L2c57G75Z6L77yae3tpdGVtLm5hbWV9fTwvdmlldz5cclxuXHQgICAgPC92aWV3PlxyXG5cdCAgPC92aWV3PlxyXG5cdCAgPHZpZXcgY2xhc3M9XCJub0RhdGFcIiB2LWlmPVwibm90XCI+XHJcblx0ICAgIDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vbm9uZS5wbmdcIj48L2ltYWdlPlxyXG5cdCAgICA8dmlldz7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdCAgPC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0dmFyIGFwcD1nZXRBcHAoKVxyXG5cdGV4cG9ydCBkZWZhdWx0e1xyXG5cdFx0ZGF0YSgpe1xyXG5cdFx0XHRyZXR1cm57XHJcblx0XHRcdFx0IGxvY2tSZWNvcmQ6IFtdLFxyXG5cdFx0XHRcdCBsb25naXR1ZGU6JycsXHJcblx0XHRcdFx0IGxhdGl0dWRlOicnLFxyXG5cdFx0XHRcdCBub3Q6ZmFsc2UsXHJcblx0XHRcdFx0IG1hcmtlcnM6JycsXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0IFxyXG5cdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdCAgdW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0ICAgICAgIHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0ICAgICB9KVxyXG5cdFx0XHQgICAgIC8vIGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0ICAgICBsZXQgZGF0YSA9IHtcclxuXHRcdFx0ICAgICAgIGJpa2VfaWQ6IG9wdGlvbnMuaWRcclxuXHRcdFx0ICAgICB9XHJcblx0XHRcdCAgICAgYXBwLnJlcXVlc3QoJ2Jpa2UvbG9ja3NJbmZvJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdCAgICAgICB3eC5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHQgICAgICAgY29uc29sZS5sb2cocmVzLCAn5byA5YWz6ZSB6K6w5b2VJylcclxuXHRcdFx0ICAgICAgIGlmIChcclxuXHRcdFx0ICAgICAgICAgcmVzLmRhdGEuY2xvc2VfYmlrZS5sZW5ndGggPT0gMCAmJlxyXG5cdFx0XHQgICAgICAgICByZXMuZGF0YS5jbG9zZV9wYXVzZV9iaWtlLmxlbmd0aCA9PSAwICYmXHJcblx0XHRcdCAgICAgICAgIHJlcy5kYXRhLm9wZW5fYmlrZS5sZW5ndGggPT0gMCAmJlxyXG5cdFx0XHQgICAgICAgICByZXMuZGF0YS5vcGVuX3BhdXNlX2Jpa2UubGVuZ3RoID09IDBcclxuXHRcdFx0ICAgICAgICkge1xyXG5cdFx0XHQgICAgICAgICAvLyB0aGlzLnNldERhdGEoe1xyXG5cdFx0XHQgICAgICAgICAgIHRoaXMubm90PXRydWVcclxuXHRcdFx0ICAgICAgICAgLy8gfSlcclxuXHRcdFx0ICAgICAgIH0gZWxzZSB7XHJcblx0XHRcdCAgICAgICAgIGxldCBjbG9zZV9iaWtlID0gcmVzLmRhdGEuY2xvc2VfYmlrZTtcclxuXHRcdFx0ICAgICAgICAgbGV0IG9wZW5fYmlrZSA9IHJlcy5kYXRhLm9wZW5fYmlrZTtcclxuXHRcdFx0ICAgICAgICAgbGV0IG9wZW5fcGF1c2VfYmlrZSA9IHJlcy5kYXRhLm9wZW5fcGF1c2VfYmlrZTtcclxuXHRcdFx0ICAgICAgICAgbGV0IGNsb3NlX3BhdXNlX2Jpa2UgPSByZXMuZGF0YS5jbG9zZV9wYXVzZV9iaWtlO1xyXG5cdFx0XHQgICAgICAgICAvLyDlvIDplIHorrDlvZVcclxuXHRcdFx0ICAgICAgICAgaWYoY2xvc2VfYmlrZS5sZW5ndGg+PTEpe1xyXG5cdFx0XHRcdFx0XHQgZm9yICh2YXIgaSA9IDA7IGkgPCBjbG9zZV9iaWtlLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdCAgIGNsb3NlX2Jpa2VbaV0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9vcGVuLmFwcC5wbmcnO1xyXG5cdFx0XHRcdFx0XHQgICBjbG9zZV9iaWtlW2ldLndpZHRoID0gMjQ7XHJcblx0XHRcdFx0XHRcdCAgIGNsb3NlX2Jpa2VbaV0uaGVpZ2h0ID0yNDtcclxuXHRcdFx0XHRcdFx0ICAgY2xvc2VfYmlrZVtpXS56SW5kZXggPSAxMTExO1xyXG5cdFx0XHRcdFx0XHQgICBjbG9zZV9iaWtlW2ldLmxhdGl0dWRlID0gY2xvc2VfYmlrZVtpXS5sb2NhdGlvblsxXTtcclxuXHRcdFx0XHRcdFx0ICAgY2xvc2VfYmlrZVtpXS5sb25naXR1ZGUgPSBjbG9zZV9iaWtlW2ldLmxvY2F0aW9uWzBdO1xyXG5cdFx0XHRcdFx0XHQgfVxyXG5cdFx0XHRcdFx0XHQgLy8gdGhhdC5zZXREYXRhKHtcclxuXHRcdFx0XHRcdFx0ICAgdGhpcy5tYXJrZXJzPWNsb3NlX2Jpa2VcclxuXHRcdFx0XHRcdFx0IC8vIH0pXHJcblx0XHRcdFx0XHQgfVxyXG5cdFx0XHQgICAgICAgICAvL+WFs+mUgeiusOW9lVxyXG5cdFx0XHQgICAgICAgICBpZihvcGVuX2Jpa2UubGVuZ3RoPj0xKXtcclxuXHRcdFx0XHRcdFx0IGZvciAodmFyIGkgPSAwOyBpIDwgb3Blbl9iaWtlLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdCAgIG9wZW5fYmlrZVtpXS5pY29uUGF0aCA9ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL2Nsb3NlLmFwcC5wbmcnO1xyXG5cdFx0XHRcdFx0XHQgICBvcGVuX2Jpa2VbaV0ud2lkdGggPSAyNDtcclxuXHRcdFx0XHRcdFx0ICAgb3Blbl9iaWtlW2ldLmhlaWdodCA9IDI0O1xyXG5cdFx0XHRcdFx0XHQgICBvcGVuX2Jpa2VbaV0uekluZGV4ID0gMTExMTtcclxuXHRcdFx0XHRcdFx0ICAgb3Blbl9iaWtlW2ldLmxhdGl0dWRlID0gb3Blbl9iaWtlW2ldLmxvY2F0aW9uWzFdO1xyXG5cdFx0XHRcdFx0XHQgICBvcGVuX2Jpa2VbaV0ubG9uZ2l0dWRlID0gb3Blbl9iaWtlW2ldLmxvY2F0aW9uWzBdO1xyXG5cdFx0XHRcdFx0XHQgfVxyXG5cdFx0XHRcdFx0XHQgLy8gdGhhdC5zZXREYXRhKHtcclxuXHRcdFx0XHRcdFx0ICAgdGhpcy5tYXJrZXJzPXRoaXMubWFya2Vycy5jb25jYXQob3Blbl9iaWtlKVxyXG5cdFx0XHRcdFx0XHQgLy8gfSlcclxuXHRcdFx0XHRcdCB9XHJcblx0XHRcdCAgICAgICAgIC8v5Li05pe25byA6ZSBXHJcblx0XHRcdCAgICAgICAgIGlmKG9wZW5fcGF1c2VfYmlrZS5sZW5ndGg+PTEpe1xyXG5cdFx0XHRcdFx0XHQgZm9yICh2YXIgaSA9IDA7IGkgPCBvcGVuX3BhdXNlX2Jpa2UubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0ICAgb3Blbl9wYXVzZV9iaWtlW2ldLmljb25QYXRoID0gJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vdGVtT3Blbi5hcHAucG5nJztcclxuXHRcdFx0XHRcdFx0ICAgb3Blbl9wYXVzZV9iaWtlW2ldLndpZHRoID0gMjI7XHJcblx0XHRcdFx0XHRcdCAgIG9wZW5fcGF1c2VfYmlrZVtpXS5oZWlnaHQgPSAzMDtcclxuXHRcdFx0XHRcdFx0ICAgb3Blbl9wYXVzZV9iaWtlW2ldLnpJbmRleCA9IDExMTE7XHJcblx0XHRcdFx0XHRcdCAgIG9wZW5fcGF1c2VfYmlrZVtpXS5sYXRpdHVkZSA9IG9wZW5fcGF1c2VfYmlrZVtpXS5sb2NhdGlvblsxXTtcclxuXHRcdFx0XHRcdFx0ICAgb3Blbl9wYXVzZV9iaWtlW2ldLmxvbmdpdHVkZSA9IG9wZW5fcGF1c2VfYmlrZVtpXS5sb2NhdGlvblswXTtcclxuXHRcdFx0XHRcdFx0IH1cclxuXHRcdFx0XHRcdFx0IC8vIHRoYXQuc2V0RGF0YSh7XHJcblx0XHRcdFx0XHRcdCAgIHRoaXMubWFya2Vycz10aGlzLm1hcmtlcnMuY29uY2F0KG9wZW5fcGF1c2VfYmlrZSlcclxuXHRcdFx0XHRcdFx0IC8vIH0pXHJcblx0XHRcdFx0XHQgfVxyXG5cdFx0XHQgICAgICAgICAvL+S4tOaXtuWFs+mUgVxyXG5cdFx0XHQgICAgICAgICBpZihjbG9zZV9wYXVzZV9iaWtlLmxlbmd0aD49MSl7XHJcblx0XHRcdFx0XHRcdCBmb3IgKHZhciBpID0gMDsgaSA8IGNsb3NlX3BhdXNlX2Jpa2UubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0ICAgY2xvc2VfcGF1c2VfYmlrZVtpXS5pY29uUGF0aCA9ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL3RlbUNsb3NlLmFwcC5wbmcnO1xyXG5cdFx0XHRcdFx0XHQgICBjbG9zZV9wYXVzZV9iaWtlW2ldLndpZHRoID0gMjI7XHJcblx0XHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0uaGVpZ2h0ID0gMzA7XHJcblx0XHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0uekluZGV4ID0gMTExMTtcclxuXHRcdFx0XHRcdFx0ICAgY2xvc2VfcGF1c2VfYmlrZVtpXS5pZCA9IGNsb3NlX3BhdXNlX2Jpa2VbaV0uYmlrZV9ubztcclxuXHRcdFx0XHRcdFx0ICAgY2xvc2VfcGF1c2VfYmlrZVtpXS5sYXRpdHVkZSA9IGNsb3NlX3BhdXNlX2Jpa2VbaV0ubG9jYXRpb25bMV07XHJcblx0XHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0ubG9uZ2l0dWRlID0gY2xvc2VfcGF1c2VfYmlrZVtpXS5sb2NhdGlvblswXTtcclxuXHRcdFx0XHRcdFx0IH1cclxuXHRcdFx0XHRcdFx0IC8vIHRoYXQuc2V0RGF0YSh7XHJcblx0XHRcdFx0XHRcdCAgIHRoaXMubWFya2Vycz10aGlzLm1hcmtlcnMuY29uY2F0KGNsb3NlX3BhdXNlX2Jpa2UpLFxyXG5cdFx0XHRcdFx0XHQgICB0aGlzLmxvbmdpdHVkZT1yZXMuZGF0YS5vcGVuX2Jpa2VbMF0ubG9jYXRpb25bMF0sXHJcblx0XHRcdFx0XHRcdCAgIHRoaXMubGF0aXR1ZGU9cmVzLmRhdGEub3Blbl9iaWtlWzBdLmxvY2F0aW9uWzFdXHJcblx0XHRcdFx0XHRcdCAvLyB9KVxyXG5cdFx0XHRcdFx0IH1cclxuXHRcdFx0ICAgICAgICAgLy/liJfooajmlbDmja5cclxuXHRcdFx0ICAgICAgICAgbGV0IGFyciA9IFtdO1xyXG5cdFx0XHQgICAgICAgICBhcnIgPSBhcnIuY29uY2F0KFxyXG5cdFx0XHQgICAgICAgICAgIHJlcy5jbG9zZV9iaWtlLFxyXG5cdFx0XHQgICAgICAgICAgIHJlcy5jbG9zZV9wYXVzZV9iaWtlLFxyXG5cdFx0XHQgICAgICAgICAgIHJlcy5vcGVuX2Jpa2UsXHJcblx0XHRcdCAgICAgICAgICAgcmVzLm9wZW5fcGF1c2VfYmlrZVxyXG5cdFx0XHQgICAgICAgICApO1xyXG5cdFx0XHQgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm1hcmtlcnMpO1xyXG5cdFx0XHQgICAgICAgICAvLyB0aGF0LnNldERhdGEoe1xyXG5cdFx0XHQgICAgICAgICAgIHRoaXMubG9ja1JlY29yZD1hcnJcclxuXHRcdFx0ICAgICAgICAgLy8gfSlcclxuXHRcdFx0ICAgICAgIH1cclxuXHRcdFx0ICAgICB9KS5jYXRjaChlcnIgPT4ge1xyXG5cdFx0XHQgICAgICAgY29uc29sZS5sb2coZXJyKVxyXG5cdFx0XHQgICAgIH0pXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQvKiBwYWdlcy9sb2NrUmVjb3JkL2xvY2tSZWNvcmQud3hzcyAqL1xyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblx0cGFnZSB7XHJcblx0ICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG5cdH1cclxuXHRcclxuXHRtYXAge1xyXG5cdCAgd2lkdGg6IDEwMCU7XHJcblx0ICBoZWlnaHQ6IDQ1JTtcclxuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcblx0XHJcblx0LmxvY2sge1xyXG5cdCAgLyogbWFyZ2luLXRvcDogNTcwcnB4OyAqL1xyXG5cdCAgcGFkZGluZy10b3A6IDYwMHVweDtcclxuXHR9XHJcblx0LmxvY2sgLmxvY2tEYXRlIHtcclxuXHQgIGJhY2tncm91bmQ6ICNmZmY7XHJcblx0ICB3aWR0aDo5MiU7XHJcblx0ICBtYXJnaW46MjBycHggYXV0bztcclxuXHQgIGhlaWdodDoxNzhycHg7XHJcblx0ICBib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHQgIHBhZGRpbmc6MTBycHggMDtcclxuXHQgIGxpbmUtaGVpZ2h0OjI7XHJcblx0fVxyXG5cdC8qIC5sb2NrIC5sb2NrRGF0ZTpmaXJzdC1jaGlsZHtcclxuXHQgIG1hcmdpbjo1MHJweCBhdXRvO1xyXG5cdH0gKi9cclxuXHQubG9jayAubG9ja0RhdGUgdmlld3tcclxuXHQgIG1hcmdpbi1sZWZ0OjI1cnB4O1xyXG5cdCAgZm9udC1zaXplOjI4cnB4O1xyXG5cdCAgY29sb3I6IzRkNGQ0ZDtcclxuXHR9XHJcblxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///298\n");
  30416. /***/ }),
  30417. /* 299 */
  30418. /*!****************************************************************!*\
  30419. !*** C:/Users/001/Desktop/运维端/pages/mine/mine.vue?mpType=page ***!
  30420. \****************************************************************/
  30421. =======
  30422. eval("/* WEBPACK VAR INJECTION */(function(wx, __f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n lockRecord: [],\n longitude: '',\n latitude: '',\n not: false,\n markers: '' };\n\n\n\n\n },\n onLoad: function onLoad(options) {var _this = this;\n uni.showLoading({\n title: '加载中...' });\n\n // let that = this;\n var data = {\n bike_id: options.id };\n\n app.request('bike/locksInfo', data, 'POST').then(function (res) {\n wx.hideLoading();\n __f__(\"log\", res, '开关锁记录', \" at pages/manage/lockRecord.vue:44\");\n if (\n res.data.close_bike.length == 0 &&\n res.data.close_pause_bike.length == 0 &&\n res.data.open_bike.length == 0 &&\n res.data.open_pause_bike.length == 0)\n {\n // this.setData({\n _this.not = true;\n // })\n } else {\n var close_bike = res.data.close_bike;\n var open_bike = res.data.open_bike;\n var open_pause_bike = res.data.open_pause_bike;\n var close_pause_bike = res.data.close_pause_bike;\n // 开锁记录\n if (close_bike.length >= 1) {\n for (var i = 0; i < close_bike.length; i++) {\n close_bike[i].iconPath = 'http://resource.weilaibike.com/common/open.app.png';\n close_bike[i].width = 24;\n close_bike[i].height = 24;\n close_bike[i].zIndex = 1111;\n close_bike[i].latitude = close_bike[i].location[1];\n close_bike[i].longitude = close_bike[i].location[0];\n }\n // that.setData({\n _this.markers = close_bike;\n // })\n }\n //关锁记录\n if (open_bike.length >= 1) {\n for (var i = 0; i < open_bike.length; i++) {\n open_bike[i].iconPath = 'http://resource.weilaibike.com/common/close.app.png';\n open_bike[i].width = 24;\n open_bike[i].height = 24;\n open_bike[i].zIndex = 1111;\n open_bike[i].latitude = open_bike[i].location[1];\n open_bike[i].longitude = open_bike[i].location[0];\n }\n // that.setData({\n _this.markers = _this.markers.concat(open_bike);\n // })\n }\n //临时开锁\n if (open_pause_bike.length >= 1) {\n for (var i = 0; i < open_pause_bike.length; i++) {\n open_pause_bike[i].iconPath = 'http://resource.weilaibike.com/common/temOpen.app.png';\n open_pause_bike[i].width = 22;\n open_pause_bike[i].height = 30;\n open_pause_bike[i].zIndex = 1111;\n open_pause_bike[i].latitude = open_pause_bike[i].location[1];\n open_pause_bike[i].longitude = open_pause_bike[i].location[0];\n }\n // that.setData({\n _this.markers = _this.markers.concat(open_pause_bike);\n // })\n }\n //临时关锁\n if (close_pause_bike.length >= 1) {\n for (var i = 0; i < close_pause_bike.length; i++) {\n close_pause_bike[i].iconPath = 'http://resource.weilaibike.com/common/temClose.app.png';\n close_pause_bike[i].width = 22;\n close_pause_bike[i].height = 30;\n close_pause_bike[i].zIndex = 1111;\n close_pause_bike[i].id = close_pause_bike[i].bike_no;\n close_pause_bike[i].latitude = close_pause_bike[i].location[1];\n close_pause_bike[i].longitude = close_pause_bike[i].location[0];\n }\n // that.setData({\n _this.markers = _this.markers.concat(close_pause_bike),\n _this.longitude = res.data.open_bike[0].location[0],\n _this.latitude = res.data.open_bike[0].location[1];\n // })\n }\n //列表数据\n var arr = [];\n arr = arr.concat(\n res.close_bike,\n res.close_pause_bike,\n res.open_bike,\n res.open_pause_bike);\n\n __f__(\"log\", _this.markers, \" at pages/manage/lockRecord.vue:126\");\n // that.setData({\n _this.lockRecord = arr;\n // })\n }\n }).catch(function (err) {\n __f__(\"log\", err, \" at pages/manage/lockRecord.vue:132\");\n });\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWFuYWdlL2xvY2tSZWNvcmQudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJsb2NrUmVjb3JkIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJub3QiLCJtYXJrZXJzIiwib25Mb2FkIiwib3B0aW9ucyIsInVuaSIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJiaWtlX2lkIiwiaWQiLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsInd4IiwiaGlkZUxvYWRpbmciLCJjbG9zZV9iaWtlIiwibGVuZ3RoIiwiY2xvc2VfcGF1c2VfYmlrZSIsIm9wZW5fYmlrZSIsIm9wZW5fcGF1c2VfYmlrZSIsImkiLCJpY29uUGF0aCIsIndpZHRoIiwiaGVpZ2h0IiwiekluZGV4IiwibG9jYXRpb24iLCJjb25jYXQiLCJiaWtlX25vIiwiYXJyIiwiY2F0Y2giLCJlcnIiXSwibWFwcGluZ3MiOiJ5SUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsR0FBRyxHQUFDQyxNQUFNLEVBQWQsQztBQUNjO0FBQ2JDLE1BRGEsa0JBQ1A7QUFDTCxXQUFNO0FBQ0pDLGdCQUFVLEVBQUUsRUFEUjtBQUVKQyxlQUFTLEVBQUMsRUFGTjtBQUdKQyxjQUFRLEVBQUMsRUFITDtBQUlKQyxTQUFHLEVBQUMsS0FKQTtBQUtKQyxhQUFPLEVBQUMsRUFMSixFQUFOOzs7OztBQVVBLEdBWlk7QUFhYkMsUUFiYSxrQkFhTkMsT0FiTSxFQWFHO0FBQ2JDLE9BQUcsQ0FBQ0MsV0FBSixDQUFnQjtBQUNYQyxXQUFLLEVBQUUsUUFESSxFQUFoQjs7QUFHRztBQUNBLFFBQUlWLElBQUksR0FBRztBQUNUVyxhQUFPLEVBQUVKLE9BQU8sQ0FBQ0ssRUFEUixFQUFYOztBQUdBZCxPQUFHLENBQUNlLE9BQUosQ0FBWSxnQkFBWixFQUE4QmIs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Q0FBQ08sZUFKQSxDQUFOOztBQU1BLHFCQUFZLEtBQUksQ0FBQ2pCLE9BQWpCO0FBQ0E7QUFDRSxhQUFJLENBQUNKLFVBQUwsR0FBZ0I4QixHQUFoQjtBQUNGO0FBQ0Q7QUFDRixLQXpGRCxFQXlGR0MsS0F6RkgsQ0F5RlMsVUFBQUMsR0FBRyxFQUFJO0FBQ2QsbUJBQVlBLEdBQVo7QUFDRCxLQTNGRDtBQTRGTCxHQWpIWSxFIiwiZmlsZSI6IjEzMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcD1nZXRBcHAoKVxuZXhwb3J0IGRlZmF1bHR7XG5cdGRhdGEoKXtcblx0XHRyZXR1cm57XG5cdFx0XHQgbG9ja1JlY29yZDogW10sXG5cdFx0XHQgbG9uZ2l0dWRlOicnLFxuXHRcdFx0IGxhdGl0dWRlOicnLFxuXHRcdFx0IG5vdDpmYWxzZSxcblx0XHRcdCBtYXJrZXJzOicnLFxuXHRcdFx0XG5cdFx0XHQgXG5cdFx0XG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdCAgdW5pLnNob3dMb2FkaW5nKHtcblx0XHQgICAgICAgdGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdCAgICAgfSlcblx0XHQgICAgIC8vIGxldCB0aGF0ID0gdGhpcztcblx0XHQgICAgIGxldCBkYXRhID0ge1xuXHRcdCAgICAgICBiaWtlX2lkOiBvcHRpb25zLmlkXG5cdFx0ICAgICB9XG5cdFx0ICAgICBhcHAucmVxdWVzdCgnYmlrZS9sb2Nrc0luZm8nLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcblx0XHQgICAgICAgd3guaGlkZUxvYWRpbmcoKTtcblx0XHQgICAgICAgY29uc29sZS5sb2cocmVzLCAn5byA5YWz6ZSB6K6w5b2VJylcblx0XHQgICAgICAgaWYgKFxuXHRcdCAgICAgICAgIHJlcy5kYXRhLmNsb3NlX2Jpa2UubGVuZ3RoID09IDAgJiZcblx0XHQgICAgICAgICByZXMuZGF0YS5jbG9zZV9wYXVzZV9iaWtlLmxlbmd0aCA9PSAwICYmXG5cdFx0ICAgICAgICAgcmVzLmRhdGEub3Blbl9iaWtlLmxlbmd0aCA9PSAwICYmXG5cdFx0ICAgICAgICAgcmVzLmRhdGEub3Blbl9wYXVzZV9iaWtlLmxlbmd0aCA9PSAwXG5cdFx0ICAgICAgICkge1xuXHRcdCAgICAgICAgIC8vIHRoaXMuc2V0RGF0YSh7XG5cdFx0ICAgICAgICAgICB0aGlzLm5vdD10cnVlXG5cdFx0ICAgICAgICAgLy8gfSlcblx0XHQgICAgICAgfSBlbHNlIHtcblx0XHQgICAgICAgICBsZXQgY2xvc2VfYmlrZSA9IHJlcy5kYXRhLmNsb3NlX2Jpa2U7XG5cdFx0ICAgICAgICAgbGV0IG9wZW5fYmlrZSA9IHJlcy5kYXRhLm9wZW5fYmlrZTtcblx0XHQgICAgICAgICBsZXQgb3Blbl9wYXVzZV9iaWtlID0gcmVzLmRhdGEub3Blbl9wYXVzZV9iaWtlO1xuXHRcdCAgICAgICAgIGxldCBjbG9zZV9wYXVzZV9iaWtlID0gcmVzLmRhdGEuY2xvc2VfcGF1c2VfYmlrZTtcblx0XHQgICAgICAgICAvLyDlvIDplIHorrDlvZVcblx0XHQgICAgICAgICBpZihjbG9zZV9iaWtlLmxlbmd0aD49MSl7XG5cdFx0XHRcdFx0IGZvciAodmFyIGkgPSAwOyBpIDwgY2xvc2VfYmlrZS5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdCAgIGNsb3NlX2Jpa2VbaV0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9vcGVuLmFwcC5wbmcnO1xuXHRcdFx0XHRcdCAgIGNsb3NlX2Jpa2VbaV0ud2lkdGggPSAyNDtcblx0XHRcdFx0XHQgICBjbG9zZV9iaWtlW2ldLmhlaWdodCA9MjQ7XG5cdFx0XHRcdFx0ICAgY2xvc2VfYmlrZVtpXS56SW5kZXggPSAxMTExO1xuXHRcdFx0XHRcdCAgIGNsb3NlX2Jpa2VbaV0ubGF0aXR1ZGUgPSBjbG9zZV9iaWtlW2ldLmxvY2F0aW9uWzFdO1xuXHRcdFx0XHRcdCAgIGNsb3NlX2Jpa2VbaV0ubG9uZ2l0dWRlID0gY2xvc2VfYmlrZVtpXS5sb2NhdGlvblswXTtcblx0XHRcdFx0XHQgfVxuXHRcdFx0XHRcdCAvLyB0aGF0LnNldERhdGEoe1xuXHRcdFx0XHRcdCAgIHRoaXMubWFya2Vycz1jbG9zZV9iaWtlXG5cdFx0XHRcdFx0IC8vIH0pXG5cdFx0XHRcdCB9XG5cdFx0ICAgICAgICAgLy/lhbPplIHorrDlvZVcblx0XHQgICAgICAgICBpZihvcGVuX2Jpa2UubGVuZ3RoPj0xKXtcblx0XHRcdFx0XHQgZm9yICh2YXIgaSA9IDA7IGkgPCBvcGVuX2Jpa2UubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHQgICBvcGVuX2Jpa2VbaV0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9jbG9zZS5hcHAucG5nJztcblx0XHRcdFx0XHQgICBvcGVuX2Jpa2VbaV0ud2lkdGggPSAyNDtcblx0XHRcdFx0XHQgICBvcGVuX2Jpa2VbaV0uaGVpZ2h0ID0gMjQ7XG5cdFx0XHRcdFx0ICAgb3Blbl9iaWtlW2ldLnpJbmRleCA9IDExMTE7XG5cdFx0XHRcdFx0ICAgb3Blbl9iaWtlW2ldLmxhdGl0dWRlID0gb3Blbl9iaWtlW2ldLmxvY2F0aW9uWzFdO1xuXHRcdFx0XHRcdCAgIG9wZW5fYmlrZVtpXS5sb25naXR1ZGUgPSBvcGVuX2Jpa2VbaV0ubG9jYXRpb25bMF07XG5cdFx0XHRcdFx0IH1cblx0XHRcdFx0XHQgLy8gdGhhdC5zZXREYXRhKHtcblx0XHRcdFx0XHQgICB0aGlzLm1hcmtlcnM9dGhpcy5tYXJrZXJzLmNvbmNhdChvcGVuX2Jpa2UpXG5cdFx0XHRcdFx0IC8vIH0pXG5cdFx0XHRcdCB9XG5cdFx0ICAgICAgICAgLy/kuLTml7blvIDplIFcblx0XHQgICAgICAgICBpZihvcGVuX3BhdXNlX2Jpa2UubGVuZ3RoPj0xKXtcblx0XHRcdFx0XHQgZm9yICh2YXIgaSA9IDA7IGkgPCBvcGVuX3BhdXNlX2Jpa2UubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHQgICBvcGVuX3BhdXNlX2Jpa2VbaV0uaWNvblBhdGggPSAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi90ZW1PcGVuLmFwcC5wbmcnO1xuXHRcdFx0XHRcdCAgIG9wZW5fcGF1c2VfYmlrZVtpXS53aWR0aCA9IDIyO1xuXHRcdFx0XHRcdCAgIG9wZW5fcGF1c2VfYmlrZVtpXS5oZWlnaHQgPSAzMDtcblx0XHRcdFx0XHQgICBvcGVuX3BhdXNlX2Jpa2VbaV0uekluZGV4ID0gMTExMTtcblx0XHRcdFx0XHQgICBvcGVuX3BhdXNlX2Jpa2VbaV0ubGF0aXR1ZGUgPSBvcGVuX3BhdXNlX2Jpa2VbaV0ubG9jYXRpb25bMV07XG5cdFx0XHRcdFx0ICAgb3Blbl9wYXVzZV9iaWtlW2ldLmxvbmdpdHVkZSA9IG9wZW5fcGF1c2VfYmlrZVtpXS5sb2NhdGlvblswXTtcblx0XHRcdFx0XHQgfVxuXHRcdFx0XHRcdCAvLyB0aGF0LnNldERhdGEoe1xuXHRcdFx0XHRcdCAgIHRoaXMubWFya2Vycz10aGlzLm1hcmtlcnMuY29uY2F0KG9wZW5fcGF1c2VfYmlrZSlcblx0XHRcdFx0XHQgLy8gfSlcblx0XHRcdFx0IH1cblx0XHQgICAgICAgICAvL+S4tOaXtuWFs+mUgVxuXHRcdCAgICAgICAgIGlmKGNsb3NlX3BhdXNlX2Jpa2UubGVuZ3RoPj0xKXtcblx0XHRcdFx0XHQgZm9yICh2YXIgaSA9IDA7IGkgPCBjbG9zZV9wYXVzZV9iaWtlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0ICAgY2xvc2VfcGF1c2VfYmlrZVtpXS5pY29uUGF0aCA9ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL3RlbUNsb3NlLmFwcC5wbmcnO1xuXHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0ud2lkdGggPSAyMjtcblx0XHRcdFx0XHQgICBjbG9zZV9wYXVzZV9iaWtlW2ldLmhlaWdodCA9IDMwO1xuXHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0uekluZGV4ID0gMTExMTtcblx0XHRcdFx0XHQgICBjbG9zZV9wYXVzZV9iaWtlW2ldLmlkID0gY2xvc2VfcGF1c2VfYmlrZVtpXS5iaWtlX25vO1xuXHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0ubGF0aXR1ZGUgPSBjbG9zZV9wYXVzZV9iaWtlW2ldLmxvY2F0aW9uWzFdO1xuXHRcdFx0XHRcdCAgIGNsb3NlX3BhdXNlX2Jpa2VbaV0ubG9uZ2l0dWRlID0gY2xvc2VfcGF1c2VfYmlrZVtpXS5sb2NhdGlvblswXTtcblx0XHRcdFx0XHQgfVxuXHRcdFx0XHRcdCAvLyB0aGF0LnNldERhdGEoe1xuXHRcdFx0XHRcdCAgIHRoaXMubWFya2Vycz10aGlzLm1hcmtlcnMuY29uY2F0KGNsb3NlX3BhdXNlX2Jpa2UpLFxuXHRcdFx0XHRcdCAgIHRoaXMubG9uZ2l0dWRlPXJlcy5kYXRhLm9wZW5fYmlrZVswXS5sb2NhdGlvblswXSxcblx0XHRcdFx0XHQgICB0aGlzLmxhdGl0dWRlPXJlcy5kYXRhLm9wZW5fYmlrZVswXS5sb2NhdGlvblsxXVxuXHRcdFx0XHRcdCAvLyB9KVxuXHRcdFx0XHQgfVxuXHRcdCAgICAgICAgIC8v5YiX6KGo5pWw5o2uXG5cdFx0ICAgICAgICAgbGV0IGFyciA9IFtdO1xuXHRcdCAgICAgICAgIGFyciA9IGFyci5jb25jYXQoXG5cdFx0ICAgICAgICAgICByZXMuY2xvc2VfYmlrZSxcblx0XHQgICAgICAgICAgIHJlcy5jbG9zZV9wYXVzZV9iaWtlLFxuXHRcdCAgICAgICAgICAgcmVzLm9wZW5fYmlrZSxcblx0XHQgICAgICAgICAgIHJlcy5vcGVuX3BhdXNlX2Jpa2Vcblx0XHQgICAgICAgICApO1xuXHRcdCAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMubWFya2Vycyk7XG5cdFx0ICAgICAgICAgLy8gdGhhdC5zZXREYXRhKHtcblx0XHQgICAgICAgICAgIHRoaXMubG9ja1JlY29yZD1hcnJcblx0XHQgICAgICAgICAvLyB9KVxuXHRcdCAgICAgICB9XG5cdFx0ICAgICB9KS5jYXRjaChlcnIgPT4ge1xuXHRcdCAgICAgICBjb25zb2xlLmxvZyhlcnIpXG5cdFx0ICAgICB9KVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///132\n");
  30423. /***/ }),
  30424. /* 133 */
  30425. /*!*****************************************************************************!*\
  30426. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/mine.vue?mpType=page ***!
  30427. \*****************************************************************************/
  30428. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30429. /*! no static exports found */
  30430. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30431. "use strict";
  30432. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mine.vue?vue&type=template&id=984eb594&mpType=page */ 300);\n/* harmony import */ var _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mine.vue?vue&type=script&lang=js&mpType=page */ 309);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/mine.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjk5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9taW5lLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05ODRlYjU5NCZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbWluZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vbWluZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL21pbmUudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///299\n");
  30433. /***/ }),
  30434. <<<<<<< HEAD
  30435. /* 300 */
  30436. /*!**********************************************************************************************!*\
  30437. !*** C:/Users/001/Desktop/运维端/pages/mine/mine.vue?vue&type=template&id=984eb594&mpType=page ***!
  30438. \**********************************************************************************************/
  30439. =======
  30440. /* 134 */
  30441. /*!***********************************************************************************************************!*\
  30442. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/mine.vue?vue&type=template&id=984eb594&mpType=page ***!
  30443. \***********************************************************************************************************/
  30444. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30445. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30446. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30447. "use strict";
  30448. __webpack_require__.r(__webpack_exports__);
  30449. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./mine.vue?vue&type=template&id=984eb594&mpType=page */ 301);
  30450. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  30451. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  30452. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  30453. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_template_id_984eb594_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  30454. /***/ }),
  30455. <<<<<<< HEAD
  30456. /* 301 */
  30457. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30458. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/mine.vue?vue&type=template&id=984eb594&mpType=page ***!
  30459. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30460. =======
  30461. /* 135 */
  30462. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30463. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/mine.vue?vue&type=template&id=984eb594&mpType=page ***!
  30464. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30465. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30466. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30467. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30468. "use strict";
  30469. __webpack_require__.r(__webpack_exports__);
  30470. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  30471. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  30472. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  30473. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  30474. var components
  30475. var render = function() {
  30476. var _vm = this
  30477. var _h = _vm.$createElement
  30478. var _c = _vm._self._c || _h
  30479. return _c(
  30480. "view",
  30481. { staticClass: _vm._$s(0, "sc", "box"), attrs: { _i: 0 } },
  30482. [
  30483. _c("view", { staticClass: _vm._$s(1, "sc", "top"), attrs: { _i: 1 } }, [
  30484. _c("image", {
  30485. attrs: {
  30486. src: _vm._$s(2, "a-src", __webpack_require__(/*! ../../static/img/logo.png */ 302)),
  30487. _i: 2
  30488. }
  30489. }),
  30490. _c(
  30491. "view",
  30492. { staticClass: _vm._$s(3, "sc", "top-middle"), attrs: { _i: 3 } },
  30493. [
  30494. _c(
  30495. "view",
  30496. { staticClass: _vm._$s(4, "sc", "name"), attrs: { _i: 4 } },
  30497. [_vm._v(_vm._$s(4, "t0-0", _vm._s(_vm.name)))]
  30498. ),
  30499. _c(
  30500. "view",
  30501. { staticClass: _vm._$s(5, "sc", "id"), attrs: { _i: 5 } },
  30502. [
  30503. _c("text"),
  30504. _c("text", [_vm._v(_vm._$s(7, "t0-0", _vm._s(_vm.role)))])
  30505. ]
  30506. )
  30507. ]
  30508. ),
  30509. _c("view", {
  30510. staticClass: _vm._$s(8, "sc", "top-button"),
  30511. attrs: { _i: 8 },
  30512. on: {
  30513. click: function($event) {
  30514. return _vm.skipNext((_vm.id = 1))
  30515. }
  30516. }
  30517. })
  30518. ]),
  30519. _c("view", { staticClass: _vm._$s(9, "sc", "title"), attrs: { _i: 9 } }),
  30520. _c(
  30521. "view",
  30522. { staticClass: _vm._$s(10, "sc", "list"), attrs: { _i: 10 } },
  30523. [
  30524. _c(
  30525. "view",
  30526. {
  30527. staticClass: _vm._$s(11, "sc", "list-child"),
  30528. attrs: { _i: 11 },
  30529. on: {
  30530. click: function($event) {
  30531. return _vm.skipNext((_vm.id = 2))
  30532. }
  30533. }
  30534. },
  30535. [
  30536. _c("image", {
  30537. attrs: {
  30538. src: _vm._$s(
  30539. 12,
  30540. "a-src",
  30541. __webpack_require__(/*! ../../static/img/mine1.png */ 303)
  30542. ),
  30543. _i: 12
  30544. }
  30545. }),
  30546. _c("view")
  30547. ]
  30548. ),
  30549. _c(
  30550. "view",
  30551. {
  30552. staticClass: _vm._$s(14, "sc", "list-child"),
  30553. attrs: { _i: 14 },
  30554. on: {
  30555. click: function($event) {
  30556. return _vm.skipNext((_vm.id = 7))
  30557. }
  30558. }
  30559. },
  30560. [
  30561. _c("image", {
  30562. attrs: {
  30563. src: _vm._$s(
  30564. 15,
  30565. "a-src",
  30566. __webpack_require__(/*! ../../static/img/mine2.png */ 304)
  30567. ),
  30568. _i: 15
  30569. }
  30570. }),
  30571. _c("view")
  30572. ]
  30573. ),
  30574. _c(
  30575. "view",
  30576. {
  30577. staticClass: _vm._$s(17, "sc", "list-child"),
  30578. attrs: { _i: 17 },
  30579. on: {
  30580. click: function($event) {
  30581. return _vm.skipNext((_vm.id = 8))
  30582. }
  30583. }
  30584. },
  30585. [
  30586. _c("image", {
  30587. attrs: {
  30588. src: _vm._$s(
  30589. 18,
  30590. "a-src",
  30591. __webpack_require__(/*! ../../static/img/mine3.png */ 305)
  30592. ),
  30593. _i: 18
  30594. }
  30595. }),
  30596. _c("view")
  30597. ]
  30598. ),
  30599. _c(
  30600. "view",
  30601. {
  30602. staticClass: _vm._$s(20, "sc", "list-child"),
  30603. attrs: { _i: 20 },
  30604. on: {
  30605. click: function($event) {
  30606. return _vm.skipNext((_vm.id = 3))
  30607. }
  30608. }
  30609. },
  30610. [
  30611. _c("image", {
  30612. attrs: {
  30613. src: _vm._$s(
  30614. 21,
  30615. "a-src",
  30616. __webpack_require__(/*! ../../static/img/mine4.png */ 306)
  30617. ),
  30618. _i: 21
  30619. }
  30620. }),
  30621. _c("view")
  30622. ]
  30623. ),
  30624. _c(
  30625. "view",
  30626. {
  30627. staticClass: _vm._$s(23, "sc", "list-child"),
  30628. attrs: { _i: 23 },
  30629. on: {
  30630. click: function($event) {
  30631. return _vm.skipNext((_vm.id = 4))
  30632. }
  30633. }
  30634. },
  30635. [
  30636. _c("image", {
  30637. attrs: {
  30638. src: _vm._$s(
  30639. 24,
  30640. "a-src",
  30641. __webpack_require__(/*! ../../static/img/mine5.png */ 307)
  30642. ),
  30643. _i: 24
  30644. }
  30645. }),
  30646. _c("view")
  30647. ]
  30648. ),
  30649. _c(
  30650. "view",
  30651. {
  30652. staticClass: _vm._$s(26, "sc", "list-child"),
  30653. attrs: { _i: 26 },
  30654. on: {
  30655. click: function($event) {
  30656. return _vm.skipNext((_vm.id = 6))
  30657. }
  30658. }
  30659. },
  30660. [
  30661. _c("image", {
  30662. attrs: {
  30663. src: _vm._$s(
  30664. 27,
  30665. "a-src",
  30666. __webpack_require__(/*! ../../static/img/mine7.png */ 308)
  30667. ),
  30668. _i: 27
  30669. }
  30670. }),
  30671. _c("view")
  30672. ]
  30673. )
  30674. ]
  30675. ),
  30676. _c("view", {
  30677. staticClass: _vm._$s(29, "sc", "quitBtn"),
  30678. attrs: { _i: 29 },
  30679. on: { click: _vm.quit }
  30680. })
  30681. ]
  30682. )
  30683. }
  30684. var recyclableRender = false
  30685. var staticRenderFns = []
  30686. render._withStripped = true
  30687. /***/ }),
  30688. <<<<<<< HEAD
  30689. /* 302 */
  30690. /*!****************************************************!*\
  30691. !*** C:/Users/001/Desktop/运维端/static/img/logo.png ***!
  30692. \****************************************************/
  30693. =======
  30694. /* 136 */
  30695. /*!*****************************************************************!*\
  30696. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/logo.png ***!
  30697. \*****************************************************************/
  30698. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30699. /*! no static exports found */
  30700. /***/ (function(module, exports) {
  30701. eval("module.exports = \"/static/img/logo.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9sb2dvLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///302\n");
  30702. /***/ }),
  30703. <<<<<<< HEAD
  30704. /* 303 */
  30705. /*!*****************************************************!*\
  30706. !*** C:/Users/001/Desktop/运维端/static/img/mine1.png ***!
  30707. \*****************************************************/
  30708. =======
  30709. /* 137 */
  30710. /*!******************************************************************!*\
  30711. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/mine1.png ***!
  30712. \******************************************************************/
  30713. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30714. /*! no static exports found */
  30715. /***/ (function(module, exports) {
  30716. eval("module.exports = \"/static/img/mine1.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9taW5lMS5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///303\n");
  30717. /***/ }),
  30718. <<<<<<< HEAD
  30719. /* 304 */
  30720. /*!*****************************************************!*\
  30721. !*** C:/Users/001/Desktop/运维端/static/img/mine2.png ***!
  30722. \*****************************************************/
  30723. =======
  30724. /* 138 */
  30725. /*!******************************************************************!*\
  30726. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/mine2.png ***!
  30727. \******************************************************************/
  30728. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30729. /*! no static exports found */
  30730. /***/ (function(module, exports) {
  30731. eval("module.exports = \"/static/img/mine2.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9taW5lMi5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///304\n");
  30732. /***/ }),
  30733. <<<<<<< HEAD
  30734. /* 305 */
  30735. /*!*****************************************************!*\
  30736. !*** C:/Users/001/Desktop/运维端/static/img/mine3.png ***!
  30737. \*****************************************************/
  30738. =======
  30739. /* 139 */
  30740. /*!******************************************************************!*\
  30741. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/mine3.png ***!
  30742. \******************************************************************/
  30743. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30744. /*! no static exports found */
  30745. /***/ (function(module, exports) {
  30746. eval("module.exports = \"/static/img/mine3.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9taW5lMy5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///305\n");
  30747. /***/ }),
  30748. <<<<<<< HEAD
  30749. /* 306 */
  30750. /*!*****************************************************!*\
  30751. !*** C:/Users/001/Desktop/运维端/static/img/mine4.png ***!
  30752. \*****************************************************/
  30753. =======
  30754. /* 140 */
  30755. /*!******************************************************************!*\
  30756. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/mine4.png ***!
  30757. \******************************************************************/
  30758. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30759. /*! no static exports found */
  30760. /***/ (function(module, exports) {
  30761. eval("module.exports = \"/static/img/mine4.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwNi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9taW5lNC5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///306\n");
  30762. /***/ }),
  30763. <<<<<<< HEAD
  30764. /* 307 */
  30765. /*!*****************************************************!*\
  30766. !*** C:/Users/001/Desktop/运维端/static/img/mine5.png ***!
  30767. \*****************************************************/
  30768. =======
  30769. /* 141 */
  30770. /*!******************************************************************!*\
  30771. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/mine5.png ***!
  30772. \******************************************************************/
  30773. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30774. /*! no static exports found */
  30775. /***/ (function(module, exports) {
  30776. eval("module.exports = \"/static/img/mine5.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9taW5lNS5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///307\n");
  30777. /***/ }),
  30778. <<<<<<< HEAD
  30779. /* 308 */
  30780. /*!*****************************************************!*\
  30781. !*** C:/Users/001/Desktop/运维端/static/img/mine7.png ***!
  30782. \*****************************************************/
  30783. =======
  30784. /* 142 */
  30785. /*!******************************************************************!*\
  30786. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/mine7.png ***!
  30787. \******************************************************************/
  30788. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30789. /*! no static exports found */
  30790. /***/ (function(module, exports) {
  30791. eval("module.exports = \"/static/img/mine7.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjMwOC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9taW5lNy5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///308\n");
  30792. /***/ }),
  30793. <<<<<<< HEAD
  30794. /* 309 */
  30795. /*!****************************************************************************************!*\
  30796. !*** C:/Users/001/Desktop/运维端/pages/mine/mine.vue?vue&type=script&lang=js&mpType=page ***!
  30797. \****************************************************************************************/
  30798. =======
  30799. /* 143 */
  30800. /*!*****************************************************************************************************!*\
  30801. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/mine.vue?vue&type=script&lang=js&mpType=page ***!
  30802. \*****************************************************************************************************/
  30803. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30804. /*! no static exports found */
  30805. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30806. "use strict";
  30807. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./mine.vue?vue&type=script&lang=js&mpType=page */ 310);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_mine_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBpQixDQUFnQiw2a0JBQUcsRUFBQyIsImZpbGUiOiIzMDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9taW5lLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9taW5lLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///309\n");
  30808. /***/ }),
  30809. <<<<<<< HEAD
  30810. /* 310 */
  30811. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30812. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/mine.vue?vue&type=script&lang=js&mpType=page ***!
  30813. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30814. =======
  30815. /* 144 */
  30816. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30817. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/mine.vue?vue&type=script&lang=js&mpType=page ***!
  30818. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30819. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30820. /*! no static exports found */
  30821. /***/ (function(module, exports, __webpack_require__) {
  30822. "use strict";
  30823. <<<<<<< HEAD
  30824. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n name: uni.getStorageSync('token').username,\n avatar: uni.getStorageSync('token').avatar,\n role: uni.getStorageSync('token').role,\n list: [{\n id: 1,\n text: '修改密码',\n imgUrl: 'http://resource.weilaibike.com/bike_yunwei/pwd.png' },\n\n {\n id: 2,\n text: '地勤人员',\n imgUrl: 'http://resource.weilaibike.com/bike_yunwei/worker.png' },\n\n {\n id: 7,\n text: '用户反馈',\n imgUrl: 'http://resource.weilaibike.com/yunwei/feedBack.png' },\n\n {\n id: 8,\n text: '用户报修',\n imgUrl: 'http://resource.weilaibike.com/yunwei/repair.png' },\n\n {\n id: 3,\n text: '中控管理',\n imgUrl: 'http://resource.weilaibike.com/yunwei/control.png' },\n\n {\n id: 4,\n text: '数据统计',\n imgUrl: 'http://resource.weilaibike.com/yunwei/statistics.png' },\n\n // {\n // \tid: 5,\n // \ttext: '热力地图',\n // \timgUrl: 'http://resource.weilaibike.com/yunwei/hot.png'\n // },\n {\n id: 6,\n text: '停车区管理',\n imgUrl: 'http://resource.weilaibike.com/bike_yunwei/parkMange.png' }] };\n\n\n\n\n },\n\n onReachBottom: function onReachBottom() {\n __f__(\"log\", '这是触底时间', \" at pages/mine/mine.vue:121\");\n // this.loadmore()\n },\n methods: {\n skipNext: function skipNext(e) {\n __f__(\"log\", e, \"这是点击列表之后\", \" at pages/mine/mine.vue:126\");\n var idx = e;\n var url = '';\n switch (idx) {\n case 1:\n url = \"/pages/mine/password\";\n break;\n case 2:\n url = \"/pages/mine/personnel\";\n break;\n case 3:\n url = \"/pages/mine/control\";\n break;\n case 4:\n url = \"/pages/mine/lineChart\";\n break;\n case 5:\n url = \"/pages/mine/chart\";\n break;\n case 6:\n url = \"/pages/mine/park\";\n break;\n case 7:\n url = \"/pages/mine/feedback\";\n break;\n case 8:\n url = \"/pages/mine/repairs\";\n break;\n default:\n break;}\n\n __f__(\"log\", url, \" at pages/mine/mine.vue:157\");\n uni.navigateTo({\n url: url });\n\n },\n //退出登录\n quit: function quit() {\n uni.removeStorageSync('token');\n uni.removeStorageSync('curVal');\n uni.removeStorageSync('curId');\n uni.removeStorageSync('allArea');\n uni.removeStorageSync('allState');\n uni.navigateTo({\n url: \"/pages/login/login\" });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9taW5lLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9FQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGdEQURBO0FBRUEsZ0RBRkE7QUFHQSw0Q0FIQTtBQUlBO0FBQ0EsYUFEQTtBQUVBLG9CQUZBO0FBR0Esb0VBSEE7O0FBS0E7QUFDQSxhQURBO0FBRUEsb0JBRkE7QUFHQSx1RUFIQSxFQUxBOztBQVVBO0FBQ0EsYUFEQTtBQUVBLG9CQUZBO0FBR0Esb0VBSEEsRUFWQTs7QUFlQTtBQUNBLGFBREE7QUFFQSxvQkFGQTtBQUdBLGtFQUhBLEVBZkE7O0FBb0JBO0FBQ0EsYUFEQTtBQUVBLG9CQUZBO0FBR0EsbUVBSEEsRUFwQkE7O0FBeUJBO0FBQ0EsYUFEQTtBQUVBLG9CQUZBO0FBR0Esc0VBSEEsRUF6QkE7O0FBOEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBREE7QUFFQSxxQkFGQTtBQUdBLDBFQUhBLEVBbkNBLENBSkE7Ozs7O0FBK0NBLEdBakRBOztBQW1EQSxlQW5EQSwyQkFtREE7QUFDQTtBQUNBO0FBQ0EsR0F0REE7QUF1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkExQkE7O0FBNEJBO0FBQ0E7QUFDQSxnQkFEQTs7QUFHQSxLQXJDQTtBQXNDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBREE7O0FBR0EsS0FoREEsRUF2REEsRSIsImZpbGUiOiIzMTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJib3hcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwidG9wXCI+XHJcblx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL2xvZ28ucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidG9wLW1pZGRsZVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmFtZVwiPlxyXG5cdFx0XHRcdFx0e3tuYW1lfX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpZFwiPlxyXG5cdFx0XHRcdFx0PHRleHQ+5L2g5pivPC90ZXh0Pjx0ZXh0IHN0eWxlPVwiY29sb3I6ICMwMDAwMDA7XCI+e3tyb2xlfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidG9wLWJ1dHRvblwiIEBjbGljaz1cInNraXBOZXh0KGlkPTEpXCI+XHJcblx0XHRcdFx05L+u5pS55a+G56CBXHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwidGl0bGVcIj5cclxuXHRcdFx05pWw5o2u5pyN5YqhXHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImxpc3RcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWNoaWxkXCIgQGNsaWNrPVwic2tpcE5leHQoaWQ9MilcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9taW5lMS5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx05Zyw5Yuk5Lq65ZGYXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1jaGlsZFwiIEBjbGljaz1cInNraXBOZXh0KGlkPTcpXCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbWluZTIucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdOeUqOaIt+WPjemmiFxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImxpc3QtY2hpbGRcIiBAY2xpY2s9XCJza2lwTmV4dChpZD04KVwiPlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL21pbmUzLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHTnlKjmiLfmiqXkv65cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWNoaWxkXCIgQGNsaWNrPVwic2tpcE5leHQoaWQ9MylcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9taW5lNC5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx05Lit5o6n566h55CGXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdC1jaGlsZFwiIEBjbGljaz1cInNraXBOZXh0KGlkPTQpXCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbWluZTUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdOaVsOaNruWIhuaekFxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PCEtLSBcdDx2aWV3IGNsYXNzPVwibGlzdC1jaGlsZFwiIEBjbGljaz1cInNraXBOZXh0KGlkPTUpXCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvbWluZTYucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdOeDreWKm+WcsOWbvlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PiAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0LWNoaWxkXCIgQGNsaWNrPVwic2tpcE5leHQoaWQ9NilcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9taW5lNy5wbmdcIiBtb2RlPVwiXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx05YGc6L2m5Yy65Z+f566h55CGXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBAY2xpY2s9XCJxdWl0XCIgY2xhc3M9XCJxdWl0QnRuXCI+6YCA5Ye655m75b2VPC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRuYW1lOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJykudXNlcm5hbWUsXHJcblx0XHRcdFx0YXZhdGFyOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJykuYXZhdGFyLFxyXG5cdFx0XHRcdHJvbGU6IHVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKS5yb2xlLFxyXG5cdFx0XHRcdGxpc3Q6IFt7XHJcblx0XHRcdFx0XHRcdGlkOiAxLFxyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn5L+u5pS55a+G56CBJyxcclxuXHRcdFx0XHRcdFx0aW1nVXJsOiAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3B3ZC5wbmcnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRpZDogMixcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WcsOWLpOS6uuWRmCcsXHJcblx0XHRcdFx0XHRcdGltZ1VybDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS93b3JrZXIucG5nJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aWQ6IDcsXHJcblx0XHRcdFx0XHRcdHRleHQ6ICfnlKjmiLflj43ppognLFxyXG5cdFx0XHRcdFx0XHRpbWdVcmw6ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2ZlZWRCYWNrLnBuZydcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdGlkOiA4LFxyXG5cdFx0XHRcdFx0XHR0ZXh0OiAn55So5oi35oql5L+uJyxcclxuXHRcdFx0XHRcdFx0aW1nVXJsOiAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9yZXBhaXIucG5nJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aWQ6IDMsXHJcblx0XHRcdFx0XHRcdHRleHQ6ICfkuK3mjqfnrqHnkIYnLFxyXG5cdFx0XHRcdFx0XHRpbWdVcmw6ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2NvbnRyb2wucG5nJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0aWQ6IDQsXHJcblx0XHRcdFx0XHRcdHRleHQ6ICfmlbDmja7nu5/orqEnLFxyXG5cdFx0XHRcdFx0XHRpbWdVcmw6ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL3N0YXRpc3RpY3MucG5nJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdC8vIHtcclxuXHRcdFx0XHRcdC8vIFx0aWQ6IDUsXHJcblx0XHRcdFx0XHQvLyBcdHRleHQ6ICfng63lipvlnLDlm74nLFxyXG5cdFx0XHRcdFx0Ly8gXHRpbWdVcmw6ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2hvdC5wbmcnXHJcblx0XHRcdFx0XHQvLyB9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRpZDogNixcclxuXHRcdFx0XHRcdFx0dGV4dDogJ+WBnOi9puWMuueuoeeQhicsXHJcblx0XHRcdFx0XHRcdGltZ1VybDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9wYXJrTWFuZ2UucG5nJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHJcblx0XHRcdFx0XVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cclxuXHRcdG9uUmVhY2hCb3R0b20oKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKCfov5nmmK/op6blupXml7bpl7QnKVxyXG5cdFx0XHQvLyB0aGlzLmxvYWRtb3JlKClcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdHNraXBOZXh0OiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSwgXCLov5nmmK/ngrnlh7vliJfooajkuYvlkI5cIilcclxuXHRcdFx0XHRsZXQgaWR4ID0gZTtcclxuXHRcdFx0XHRsZXQgdXJsID0gJyc7XHJcblx0XHRcdFx0c3dpdGNoIChpZHgpIHtcclxuXHRcdFx0XHRcdGNhc2UgMTpcclxuXHRcdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9wYXNzd29yZFwiO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgMjpcclxuXHRcdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9wZXJzb25uZWxcIjtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIDM6XHJcblx0XHRcdFx0XHRcdHVybCA9IFwiL3BhZ2VzL21pbmUvY29udHJvbFwiO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgNDpcclxuXHRcdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9saW5lQ2hhcnRcIjtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIDU6XHJcblx0XHRcdFx0XHRcdHVybCA9IFwiL3BhZ2VzL21pbmUvY2hhcnRcIjtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIDY6XHJcblx0XHRcdFx0XHRcdHVybCA9IFwiL3BhZ2VzL21pbmUvcGFya1wiO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgNzpcclxuXHRcdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9mZWVkYmFja1wiO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgODpcclxuXHRcdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9yZXBhaXJzXCI7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHVybClcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+mAgOWHuueZu+W9lVxyXG5cdFx0XHRxdWl0OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3Rva2VuJyk7XHJcblx0XHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdjdXJWYWwnKTtcclxuXHRcdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ2N1cklkJyk7XHJcblx0XHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdhbGxBcmVhJyk7XHJcblx0XHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdhbGxTdGF0ZScpO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbG9naW4vbG9naW5cIlxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdHBhZ2Uge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHQvKiBiYWNrZ3JvdW5kOiAjZjRmNGY0OyAqL1xyXG5cclxuXHR9XHJcblxyXG5cdC50b3Age1xyXG5cdFx0cGFkZGluZzogMTZ1cHggMCA3OHVweCAzNXVweDtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIDF1cHggI0VFRUVFRTtcclxuXHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblxyXG5cdC50b3AgaW1hZ2Uge1xyXG5cdFx0ZmxleDogMCAwIDEwNHVweDtcclxuXHRcdGhlaWdodDogMTA0dXB4O1xyXG5cdFx0d2lkdGg6IDEwNHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdG1hcmdpbi1yaWdodDogMjF1cHg7XHJcblx0XHRib3JkZXI6IHNvbGlkIDJ1cHggI0ZGREFEQztcclxuXHR9XHJcblxyXG5cdC50b3AtbWlkZGxlIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cclxuXHQubmFtZSB7XHJcblx0XHRjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG5cdFx0Zm9udC1zaXplOiAzOHVweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0LmlkIHtcclxuXHRcdG1hcmdpbi10b3A6IDh1cHg7XHJcblx0XHRjb2xvcjogIzlBOUE5QTtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0fVxyXG5cclxuXHQudG9wLWJ1dHRvbiB7XHJcblx0XHRmbGV4OiAwIDAgMTU2dXB4O1xyXG5cclxuXHJcblx0XHR3aWR0aDogMTU2dXB4O1xyXG5cdFx0aGVpZ2h0OiA0NnVweDtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkQ5REM7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyM3VweDtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDZ1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogI0ZGMDAwMDtcclxuXHR9XHJcblxyXG5cdC50aXRsZSB7XHJcblxyXG5cdFx0Zm9udC1zaXplOiAzOHVweDtcclxuXHRcdG1hcmdpbi10b3A6IDg2dXB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogIzJFMkUyRTtcclxuXHR9XHJcblxyXG5cdC5saXN0IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTE0dXB4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3QtY2hpbGQge1xyXG5cdFx0ZmxleDogMCAwIDI1JTtcclxuXHRcdG1hcmdpbi10b3A6IDY3dXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Lmxpc3QtY2hpbGQgaW1hZ2Uge1xyXG5cdFx0aGVpZ2h0OiA5OHVweDtcclxuXHRcdHdpZHRoOiA5OHVweDtcclxuXHRcdC8qIFx0YmFja2dyb3VuZC1jb2xvcjogIzAwN0FGRjsgKi9cclxuXHJcblx0fVxyXG5cclxuXHQubGlzdC1jaGlsZCB2aWV3IHtcclxuXHJcblx0XHRmb250LXNpemU6IDI2dXB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGNvbG9yOiAjMkUyRTJFO1xyXG5cdH1cclxuXHJcblx0LnF1aXRCdG4ge1xyXG5cdFx0d2lkdGg6IDkyJTtcclxuXHRcdHBhZGRpbmc6IDI1cnB4IDA7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6I0VCNUUyOCFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHVweDtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHVweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzR1cHg7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHQuYm94IHtcclxuXHRcdHBhZGRpbmc6IDMwdXB4O1xyXG5cdH1cclxuXHJcblx0LyogXHQudXNlclBob3Rve1xyXG5cdFx0aGVpZ2h0OiAxNjhycHg7XHJcblx0XHR3aWR0aDogMTY4cnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzBFRTdGRTtcclxuXHRcdFxyXG5cdH0gKi9cclxuXHQvKiBcdC50b3Age1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veGlhb2Jhbm1hL21pbmVCZy5wbmcnKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDQwOHJweDtcclxuXHR9ICovXHJcblxyXG5cdC5mbGV4Q0Mge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuYXZhdGFyIHtcclxuXHRcdGhlaWdodDogMTI4cnB4O1xyXG5cdFx0d2lkdGg6IDEyOHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0fVxyXG5cclxuXHQuYXZhdGFyIGltYWdlIHtcclxuXHRcdGhlaWdodDogMTI4cnB4O1xyXG5cdFx0d2lkdGg6IDEyOHJweDtcclxuXHR9XHJcblxyXG5cdC5zdGF0ZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgODEsIDgxLCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIxcHg7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDI1cnB4O1xyXG5cdFx0cGFkZGluZzogMTBycHggMjBycHg7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcblxyXG5cdC5uYW1lIHtcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcblxyXG5cdC5jb250ZW50IHtcclxuXHRcdHdpZHRoOiA5MiU7XHJcblx0XHRtYXJnaW46IDQwcnB4IGF1dG8gMDtcclxuXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cdFx0Ym94LXNoYWRvdzogMHJweCAwcnB4IDRycHggNHJweCByZ2JhKDIyNCwgMjI0LCAyMjQsIDAuNjgpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0fVxyXG5cclxuXHQuY29udGVudCAuc2tpcCB7XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRwYWRkaW5nOiAyNHJweCAwO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmNGY0ZjQ7XHJcblx0fVxyXG5cclxuXHQuY29udGVudCBpbWFnZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0aGVpZ2h0OiAzNnJweDtcclxuXHRcdHdpZHRoOiAzNnJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTVycHg7XHJcblxyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQgLmljb25mb250IHtcclxuXHRcdGNvbG9yOiAjOGE4YThhO1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///310\n");
  30825. /***/ }),
  30826. /* 311 */
  30827. /*!**************************************************************************!*\
  30828. !*** C:/Users/001/Desktop/运维端/pages/workOrder/workOrder.vue?mpType=page ***!
  30829. \**************************************************************************/
  30830. =======
  30831. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n name: uni.getStorageSync('token').username,\n avatar: uni.getStorageSync('token').avatar,\n role: uni.getStorageSync('token').role,\n list: [{\n id: 1,\n text: '修改密码',\n imgUrl: 'http://resource.weilaibike.com/bike_yunwei/pwd.png' },\n\n {\n id: 2,\n text: '地勤人员',\n imgUrl: 'http://resource.weilaibike.com/bike_yunwei/worker.png' },\n\n {\n id: 7,\n text: '用户反馈',\n imgUrl: 'http://resource.weilaibike.com/yunwei/feedBack.png' },\n\n {\n id: 8,\n text: '用户报修',\n imgUrl: 'http://resource.weilaibike.com/yunwei/repair.png' },\n\n {\n id: 3,\n text: '中控管理',\n imgUrl: 'http://resource.weilaibike.com/yunwei/control.png' },\n\n {\n id: 4,\n text: '数据统计',\n imgUrl: 'http://resource.weilaibike.com/yunwei/statistics.png' },\n\n // {\n // \tid: 5,\n // \ttext: '热力地图',\n // \timgUrl: 'http://resource.weilaibike.com/yunwei/hot.png'\n // },\n {\n id: 6,\n text: '停车区管理',\n imgUrl: 'http://resource.weilaibike.com/bike_yunwei/parkMange.png' }] };\n\n\n\n\n },\n\n onReachBottom: function onReachBottom() {\n __f__(\"log\", '这是触底时间', \" at pages/mine/mine.vue:121\");\n // this.loadmore()\n },\n methods: {\n skipNext: function skipNext(e) {\n __f__(\"log\", e, \"这是点击列表之后\", \" at pages/mine/mine.vue:126\");\n var idx = e;\n var url = '';\n switch (idx) {\n case 1:\n url = \"/pages/mine/password\";\n break;\n case 2:\n url = \"/pages/mine/personnel\";\n break;\n case 3:\n url = \"/pages/mine/control\";\n break;\n case 4:\n url = \"/pages/mine/lineChart\";\n break;\n case 5:\n url = \"/pages/mine/chart\";\n break;\n case 6:\n url = \"/pages/mine/park\";\n break;\n case 7:\n url = \"/pages/mine/feedback\";\n break;\n case 8:\n url = \"/pages/mine/repairs\";\n break;\n default:\n break;}\n\n __f__(\"log\", url, \" at pages/mine/mine.vue:157\");\n uni.navigateTo({\n url: url });\n\n },\n //退出登录\n quit: function quit() {\n uni.removeStorageSync('token');\n uni.removeStorageSync('curVal');\n uni.removeStorageSync('curId');\n uni.removeStorageSync('allArea');\n uni.removeStorageSync('allState');\n uni.navigateTo({\n url: \"/pages/login/login\" });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9taW5lLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwibmFtZSIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwidXNlcm5hbWUiLCJhdmF0YXIiLCJyb2xlIiwibGlzdCIsImlkIiwidGV4dCIsImltZ1VybCIsIm9uUmVhY2hCb3R0b20iLCJtZXRob2RzIiwic2tpcE5leHQiLCJlIiwiaWR4IiwidXJsIiwibmF2aWdhdGVUbyIsInF1aXQiLCJyZW1vdmVTdG9yYWdlU3luYyJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2RBLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ05DLFVBQUksRUFBRUMsR0FBRyxDQUFDQyxjQUFKLENBQW1CLE9BQW5CLEVBQTRCQyxRQUQ1QjtBQUVOQyxZQUFNLEVBQUVILEdBQUcsQ0FBQ0MsY0FBSixDQUFtQixPQUFuQixFQUE0QkUsTUFGOUI7QUFHTkMsVUFBSSxFQUFFSixHQUFHLENBQUNDLGNBQUosQ0FBbUIsT0FBbkIsRUFBNEJHLElBSDVCO0FBSU5DLFVBQUksRUFBRSxDQUFDO0FBQ0xDLFVBQUUsRUFBRSxDQURDO0FBRUxDLFlBQUksRUFBRSxNQUZEO0FBR0xDLGNBQU0sRUFBRSxvREFISCxFQUFEOztBQUtMO0FBQ0NGLFVBQUUsRUFBRSxDQURMO0FBRUNDLFlBQUksRUFBRSxNQUZQO0FBR0NDLGNBQU0sRUFBRSx1REFIVCxFQUxLOztBQVVMO0FBQ0NGLFVBQUUsRUFBRSxDQURMO0FBRUNDLFlBQUksRUFBRSxNQUZQO0FBR0NDLGNBQU0sRUFBRSxvREFIVCxFQVZLOztBQWVMO0FBQ0NGLFVBQUUsRUFBRSxDQURMO0FBRUNDLFlBQUksRUFBRSxNQUZQO0FBR0NDLGNBQU0sRUFBRSxrREFIVCxFQWZLOztBQW9CTDtBQUNDRixVQUFFLEVBQUUsQ0FETDtBQUVDQyxZQUFJLEVBQUUsTUFGUDtBQUdDQyxjQUFNLEVBQUUsbURBSFQsRUFwQks7O0FBeUJMO0FBQ0NGLFVBQUUsRUFBRSxDQURMO0FBRUNDLFlBQUksRUFBRSxNQUZQO0FBR0NDLGNBQU0sRUFBRSxzREFIVCxFQXpCSzs7QUE4Qkw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0NGLFVBQUUsRUFBRSxDQURMO0FBRUNDLFlBQUksRUFBRSxPQUZQO0FBR0NDLGNBQU0sRUFBRSwwREFIVCxFQW5DSyxDQUpBLEVBQVA7Ozs7O0FBK0NBLEdBakRhOztBQW1EZEMsZUFuRGMsMkJBbURFO0FBQ2YsaUJBQVksUUFBWjtBQUNBO0FBQ0EsR0F0RGE7QUF1RGRDLFNBQU8sRUFBRTtBQUNSQyxZQUFRLEVBQUUsa0JBQVNDLENBQVQsRUFBWTtBQUNyQixtQkFBWUEsQ0FBWixFQUFlLFVBQWY7QUFDQSxVQUFJQyxHQUFHLEdBQUdELENBQVY7QUFDQSxVQUFJRSxHQUFHLEdBQUcsRUFBVjtBQUNBLGNBQVFELEdBQVI7QUFDQyxhQUFLLENBQUw7QUFDQ0MsYUFBRyxHQUFHLHNCQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLHVCQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLHFCQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLHVCQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLG1CQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLGtCQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLHNCQUFOO0FBQ0E7QUFDRCxhQUFLLENBQUw7QUFDQ0EsYUFBRyxHQUFHLHFCQUFOO0FBQ0E7QUFDRDtBQUNDLGdCQTFCRjs7QUE0QkEsbUJBQVlBLEdBQVo7QUFDQWQsU0FBRyxDQUFDZSxVQUFKLENBQWU7QUFDZEQsV0FBRyxFQUFIQSxHQURjLEVBQWY7O0FBR0EsS0FyQ087QUFzQ1I7QUFDQUUsUUFBSSxFQUFFLGdCQUFXO0FBQ2hCaEIsU0FBRyxDQUFDaUIsaUJBQUosQ0FBc0IsT0FBdEI7QUFDQWpCLFNBQUcsQ0FBQ2lCLGlCQUFKLENBQXNCLFFBQXRCO0FBQ0FqQixTQUFHLENBQUNpQixpQkFBSixDQUFzQixPQUF0QjtBQUNBakIsU0FBRyxDQUFDaUIsaUJBQUosQ0FBc0IsU0FBdEI7QUFDQWpCLFNBQUcsQ0FBQ2lCLGlCQUFKLENBQXNCLFVBQXRCO0FBQ0FqQixTQUFHLENBQUNlLFVBQUosQ0FBZTtBQUNkRCxXQUFHLEVBQUUsb0JBRFMsRUFBZjs7QUFHQSxLQWhETyxFQXZESyxFIiwiZmlsZSI6IjE0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bmFtZTogdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLnVzZXJuYW1lLFxuXHRcdFx0YXZhdGFyOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJykuYXZhdGFyLFxuXHRcdFx0cm9sZTogdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLnJvbGUsXG5cdFx0XHRsaXN0OiBbe1xuXHRcdFx0XHRcdGlkOiAxLFxuXHRcdFx0XHRcdHRleHQ6ICfkv67mlLnlr4bnoIEnLFxuXHRcdFx0XHRcdGltZ1VybDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9wd2QucG5nJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWQ6IDIsXG5cdFx0XHRcdFx0dGV4dDogJ+WcsOWLpOS6uuWRmCcsXG5cdFx0XHRcdFx0aW1nVXJsOiAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3dvcmtlci5wbmcnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpZDogNyxcblx0XHRcdFx0XHR0ZXh0OiAn55So5oi35Y+N6aaIJyxcblx0XHRcdFx0XHRpbWdVcmw6ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2ZlZWRCYWNrLnBuZydcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkOiA4LFxuXHRcdFx0XHRcdHRleHQ6ICfnlKjmiLfmiqXkv64nLFxuXHRcdFx0XHRcdGltZ1VybDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVwYWlyLnBuZydcblx0XHRcdFx0fSxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlkOiAzLFxuXHRcdFx0XHRcdHRleHQ6ICfkuK3mjqfnrqHnkIYnLFxuXHRcdFx0XHRcdGltZ1VybDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvY29udHJvbC5wbmcnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRpZDogNCxcblx0XHRcdFx0XHR0ZXh0OiAn5pWw5o2u57uf6K6hJyxcblx0XHRcdFx0XHRpbWdVcmw6ICdodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL3N0YXRpc3RpY3MucG5nJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHQvLyB7XG5cdFx0XHRcdC8vIFx0aWQ6IDUsXG5cdFx0XHRcdC8vIFx0dGV4dDogJ+eDreWKm+WcsOWbvicsXG5cdFx0XHRcdC8vIFx0aW1nVXJsOiAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9ob3QucG5nJ1xuXHRcdFx0XHQvLyB9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0aWQ6IDYsXG5cdFx0XHRcdFx0dGV4dDogJ+WBnOi9puWMuueuoeeQhicsXG5cdFx0XHRcdFx0aW1nVXJsOiAnaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2Jpa2VfeXVud2VpL3BhcmtNYW5nZS5wbmcnXG5cdFx0XHRcdH0sXG5cblx0XHRcdF1cblx0XHR9XG5cdH0sXG5cblx0b25SZWFjaEJvdHRvbSgpIHtcblx0XHRjb25zb2xlLmxvZygn6L+Z5piv6Kem5bqV5pe26Ze0Jylcblx0XHQvLyB0aGlzLmxvYWRtb3JlKClcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHNraXBOZXh0OiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlLCBcIui/meaYr+eCueWHu+WIl+ihqOS5i+WQjlwiKVxuXHRcdFx0bGV0IGlkeCA9IGU7XG5cdFx0XHRsZXQgdXJsID0gJyc7XG5cdFx0XHRzd2l0Y2ggKGlkeCkge1xuXHRcdFx0XHRjYXNlIDE6XG5cdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9wYXNzd29yZFwiO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIDI6XG5cdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9wZXJzb25uZWxcIjtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSAzOlxuXHRcdFx0XHRcdHVybCA9IFwiL3BhZ2VzL21pbmUvY29udHJvbFwiO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIDQ6XG5cdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9saW5lQ2hhcnRcIjtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSA1OlxuXHRcdFx0XHRcdHVybCA9IFwiL3BhZ2VzL21pbmUvY2hhcnRcIjtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSA2OlxuXHRcdFx0XHRcdHVybCA9IFwiL3BhZ2VzL21pbmUvcGFya1wiO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIDc6XG5cdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9mZWVkYmFja1wiO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRjYXNlIDg6XG5cdFx0XHRcdFx0dXJsID0gXCIvcGFnZXMvbWluZS9yZXBhaXJzXCI7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRjb25zb2xlLmxvZyh1cmwpXG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdHVybFxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v6YCA5Ye655m75b2VXG5cdFx0cXVpdDogZnVuY3Rpb24oKSB7XG5cdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ3Rva2VuJyk7XG5cdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ2N1clZhbCcpO1xuXHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdjdXJJZCcpO1xuXHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCdhbGxBcmVhJyk7XG5cdFx0XHR1bmkucmVtb3ZlU3RvcmFnZVN5bmMoJ2FsbFN0YXRlJyk7XG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdHVybDogXCIvcGFnZXMvbG9naW4vbG9naW5cIlxuXHRcdFx0fSlcblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///144\n");
  30832. /***/ }),
  30833. /* 145 */
  30834. /*!***************************************************************************************!*\
  30835. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/workOrder/workOrder.vue?mpType=page ***!
  30836. \***************************************************************************************/
  30837. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30838. /*! no static exports found */
  30839. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30840. "use strict";
  30841. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./workOrder.vue?vue&type=template&id=030c9fd2&mpType=page */ 312);\n/* harmony import */ var _workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./workOrder.vue?vue&type=script&lang=js&mpType=page */ 314);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/workOrder/workOrder.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUk7QUFDakk7QUFDd0U7QUFDTDs7O0FBR25FO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDBGQUFNO0FBQ1IsRUFBRSwrRkFBTTtBQUNSLEVBQUUsd0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzExLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi93b3JrT3JkZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTAzMGM5ZmQyJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi93b3JrT3JkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL3dvcmtPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy93b3JrT3JkZXIvd29ya09yZGVyLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///311\n");
  30842. /***/ }),
  30843. <<<<<<< HEAD
  30844. /* 312 */
  30845. /*!********************************************************************************************************!*\
  30846. !*** C:/Users/001/Desktop/运维端/pages/workOrder/workOrder.vue?vue&type=template&id=030c9fd2&mpType=page ***!
  30847. \********************************************************************************************************/
  30848. =======
  30849. /* 146 */
  30850. /*!*********************************************************************************************************************!*\
  30851. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/workOrder/workOrder.vue?vue&type=template&id=030c9fd2&mpType=page ***!
  30852. \*********************************************************************************************************************/
  30853. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30854. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30855. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30856. "use strict";
  30857. __webpack_require__.r(__webpack_exports__);
  30858. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./workOrder.vue?vue&type=template&id=030c9fd2&mpType=page */ 313);
  30859. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  30860. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  30861. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  30862. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_template_id_030c9fd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  30863. /***/ }),
  30864. <<<<<<< HEAD
  30865. /* 313 */
  30866. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30867. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/workOrder/workOrder.vue?vue&type=template&id=030c9fd2&mpType=page ***!
  30868. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30869. =======
  30870. /* 147 */
  30871. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  30872. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/workOrder/workOrder.vue?vue&type=template&id=030c9fd2&mpType=page ***!
  30873. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  30874. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  30875. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  30876. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  30877. "use strict";
  30878. __webpack_require__.r(__webpack_exports__);
  30879. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  30880. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  30881. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  30882. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  30883. var components
  30884. var render = function() {
  30885. var _vm = this
  30886. var _h = _vm.$createElement
  30887. var _c = _vm._self._c || _h
  30888. return _c(
  30889. "view",
  30890. { staticClass: _vm._$s(0, "sc", "page"), attrs: { _i: 0 } },
  30891. [
  30892. _c(
  30893. "view",
  30894. { staticClass: _vm._$s(1, "sc", "allArea"), attrs: { _i: 1 } },
  30895. [
  30896. _c(
  30897. "view",
  30898. { staticClass: _vm._$s(2, "sc", "area1"), attrs: { _i: 2 } },
  30899. [
  30900. _c(
  30901. "text",
  30902. {
  30903. staticClass: _vm._$s(3, "sc", "arear-text"),
  30904. attrs: { _i: 3 },
  30905. on: { click: _vm.tanKuang }
  30906. },
  30907. [_vm._v(_vm._$s(3, "t0-0", _vm._s(_vm.list[_vm.curVal].text)))]
  30908. ),
  30909. _c("image", {
  30910. attrs: {
  30911. src: _vm._$s(4, "a-src", __webpack_require__(/*! ../../static/down.png */ 216)),
  30912. _i: 4
  30913. }
  30914. })
  30915. ]
  30916. )
  30917. ]
  30918. ),
  30919. _c(
  30920. "view",
  30921. { staticClass: _vm._$s(5, "sc", "tabbar"), attrs: { _i: 5 } },
  30922. [
  30923. _c(
  30924. "view",
  30925. {
  30926. class: _vm._$s(6, "c", _vm.tabIndex == 0 ? "active" : ""),
  30927. attrs: { _i: 6 },
  30928. on: {
  30929. click: function($event) {
  30930. return _vm.select(0)
  30931. }
  30932. }
  30933. },
  30934. [_c("text")]
  30935. ),
  30936. _c(
  30937. "view",
  30938. {
  30939. class: _vm._$s(8, "c", _vm.tabIndex == 1 ? "active" : ""),
  30940. attrs: { _i: 8 },
  30941. on: {
  30942. click: function($event) {
  30943. return _vm.select(1)
  30944. }
  30945. }
  30946. },
  30947. [_c("text")]
  30948. ),
  30949. _c(
  30950. "view",
  30951. {
  30952. class: _vm._$s(10, "c", _vm.tabIndex == 2 ? "active" : ""),
  30953. attrs: { _i: 10 },
  30954. on: {
  30955. click: function($event) {
  30956. return _vm.select(2)
  30957. }
  30958. }
  30959. },
  30960. [_c("text")]
  30961. ),
  30962. _c(
  30963. "view",
  30964. {
  30965. class: _vm._$s(12, "c", _vm.tabIndex == 3 ? "active" : ""),
  30966. attrs: { _i: 12 },
  30967. on: {
  30968. click: function($event) {
  30969. return _vm.select(3)
  30970. }
  30971. }
  30972. },
  30973. [_c("text")]
  30974. )
  30975. ]
  30976. ),
  30977. _c(
  30978. "view",
  30979. { staticClass: _vm._$s(14, "sc", "content"), attrs: { _i: 14 } },
  30980. [
  30981. _vm._l(_vm._$s(15, "f", { forItems: _vm.workList }), function(
  30982. item,
  30983. index1,
  30984. $20,
  30985. $30
  30986. ) {
  30987. return _c(
  30988. "view",
  30989. {
  30990. key: _vm._$s(15, "f", { forIndex: $20, key: index1 }),
  30991. staticClass: _vm._$s("15-" + $30, "sc", "list"),
  30992. attrs: { _i: "15-" + $30 },
  30993. on: {
  30994. click: function($event) {
  30995. return _vm.wordDetail(item.id)
  30996. }
  30997. }
  30998. },
  30999. [
  31000. _c(
  31001. "view",
  31002. {
  31003. staticClass: _vm._$s("16-" + $30, "sc", "reason"),
  31004. attrs: { _i: "16-" + $30 }
  31005. },
  31006. [
  31007. _vm._v(
  31008. _vm._$s(
  31009. "16-" + $30,
  31010. "t0-0",
  31011. _vm._s(item.reason ? item.reason : item.type_name)
  31012. )
  31013. )
  31014. ]
  31015. ),
  31016. _vm._$s("17-" + $30, "i", item.type_name == "充电工单")
  31017. ? _c(
  31018. "view",
  31019. {
  31020. staticClass: _vm._$s("17-" + $30, "sc", "type "),
  31021. attrs: { _i: "17-" + $30 }
  31022. },
  31023. [
  31024. _vm._v(
  31025. _vm._$s("17-" + $30, "t0-0", _vm._s(item.type_name)) +
  31026. _vm._$s("17-" + $30, "t0-1", _vm._s(item.times))
  31027. )
  31028. ]
  31029. )
  31030. : _vm._e(),
  31031. _vm._$s("18-" + $30, "i", item.type_name == "断电工单")
  31032. ? _c(
  31033. "view",
  31034. {
  31035. staticClass: _vm._$s("18-" + $30, "sc", "type"),
  31036. attrs: { _i: "18-" + $30 }
  31037. },
  31038. [
  31039. _vm._v(
  31040. _vm._$s("18-" + $30, "t0-0", _vm._s(item.type_name)) +
  31041. _vm._$s("18-" + $30, "t0-1", _vm._s(item.times))
  31042. )
  31043. ]
  31044. )
  31045. : _vm._e(),
  31046. _vm._$s("19-" + $30, "i", item.type_name == "组长工单")
  31047. ? _c(
  31048. "view",
  31049. {
  31050. staticClass: _vm._$s("19-" + $30, "sc", "type"),
  31051. attrs: { _i: "19-" + $30 }
  31052. },
  31053. [
  31054. _vm._v(
  31055. _vm._$s("19-" + $30, "t0-0", _vm._s(item.type_name)) +
  31056. _vm._$s("19-" + $30, "t0-1", _vm._s(item.times))
  31057. )
  31058. ]
  31059. )
  31060. : _vm._e(),
  31061. _vm._$s("20-" + $30, "i", item.type_name == "偷盗工单")
  31062. ? _c(
  31063. "view",
  31064. {
  31065. staticClass: _vm._$s("20-" + $30, "sc", "type"),
  31066. attrs: { _i: "20-" + $30 }
  31067. },
  31068. [
  31069. _vm._v(
  31070. _vm._$s("20-" + $30, "t0-0", _vm._s(item.type_name)) +
  31071. _vm._$s("20-" + $30, "t0-1", _vm._s(item.times))
  31072. )
  31073. ]
  31074. )
  31075. : _vm._e(),
  31076. _vm._$s("21-" + $30, "i", item.type_name == "离线工单")
  31077. ? _c(
  31078. "view",
  31079. {
  31080. staticClass: _vm._$s("21-" + $30, "sc", "type"),
  31081. attrs: { _i: "21-" + $30 }
  31082. },
  31083. [
  31084. _vm._v(
  31085. _vm._$s("21-" + $30, "t0-0", _vm._s(item.type_name)) +
  31086. _vm._$s("21-" + $30, "t0-1", _vm._s(item.times))
  31087. )
  31088. ]
  31089. )
  31090. : _vm._e(),
  31091. _vm._$s("22-" + $30, "i", item.type_name == "救援工单")
  31092. ? _c(
  31093. "view",
  31094. {
  31095. staticClass: _vm._$s("22-" + $30, "sc", "type"),
  31096. attrs: { _i: "22-" + $30 }
  31097. },
  31098. [
  31099. _vm._v(
  31100. _vm._$s("22-" + $30, "t0-0", _vm._s(item.type_name)) +
  31101. _vm._$s("22-" + $30, "t0-1", _vm._s(item.times))
  31102. )
  31103. ]
  31104. )
  31105. : _vm._e(),
  31106. _vm._$s("23-" + $30, "i", item.type_name == "断电工单")
  31107. ? _c(
  31108. "view",
  31109. {
  31110. staticClass: _vm._$s("23-" + $30, "sc", "type"),
  31111. attrs: { _i: "23-" + $30 }
  31112. },
  31113. [
  31114. _vm._v(
  31115. _vm._$s("23-" + $30, "t0-0", _vm._s(item.type_name)) +
  31116. _vm._$s("23-" + $30, "t0-1", _vm._s(item.times))
  31117. )
  31118. ]
  31119. )
  31120. : _vm._e(),
  31121. _vm._$s("24-" + $30, "i", item.type_name == "警报工单")
  31122. ? _c(
  31123. "view",
  31124. {
  31125. staticClass: _vm._$s("24-" + $30, "sc", "type"),
  31126. attrs: { _i: "24-" + $30 }
  31127. },
  31128. [
  31129. _vm._v(
  31130. _vm._$s("24-" + $30, "t0-0", _vm._s(item.type_name)) +
  31131. _vm._$s("24-" + $30, "t0-1", _vm._s(item.times))
  31132. )
  31133. ]
  31134. )
  31135. : _vm._e(),
  31136. _vm._$s("25-" + $30, "i", item.type_name == "故障工单")
  31137. ? _c(
  31138. "view",
  31139. {
  31140. staticClass: _vm._$s("25-" + $30, "sc", "type"),
  31141. attrs: { _i: "25-" + $30 }
  31142. },
  31143. [
  31144. _vm._v(
  31145. _vm._$s("25-" + $30, "t0-0", _vm._s(item.type_name)) +
  31146. _vm._$s("25-" + $30, "t0-1", _vm._s(item.times))
  31147. )
  31148. ]
  31149. )
  31150. : _vm._e(),
  31151. _vm._$s("26-" + $30, "i", item.type_name == "其他工单")
  31152. ? _c(
  31153. "view",
  31154. {
  31155. staticClass: _vm._$s("26-" + $30, "sc", "type"),
  31156. attrs: { _i: "26-" + $30 }
  31157. },
  31158. [
  31159. _vm._v(
  31160. _vm._$s("26-" + $30, "t0-0", _vm._s(item.type_name)) +
  31161. _vm._$s("26-" + $30, "t0-1", _vm._s(item.times))
  31162. )
  31163. ]
  31164. )
  31165. : _vm._e(),
  31166. _vm._$s("27-" + $30, "i", item.type_name == "查看工单")
  31167. ? _c(
  31168. "view",
  31169. {
  31170. staticClass: _vm._$s("27-" + $30, "sc", "type"),
  31171. attrs: { _i: "27-" + $30 }
  31172. },
  31173. [
  31174. _vm._v(
  31175. _vm._$s("27-" + $30, "t0-0", _vm._s(item.type_name)) +
  31176. _vm._$s("27-" + $30, "t0-1", _vm._s(item.times))
  31177. )
  31178. ]
  31179. )
  31180. : _vm._e(),
  31181. _c(
  31182. "view",
  31183. {
  31184. staticClass: _vm._$s("28-" + $30, "sc", "flexB"),
  31185. attrs: { _i: "28-" + $30 }
  31186. },
  31187. [
  31188. _c("view", [
  31189. _c("view", [
  31190. _vm._v(
  31191. _vm._$s("30-" + $30, "t0-0", _vm._s(item.bike_no))
  31192. )
  31193. ]),
  31194. _c("view", [
  31195. _vm._v(
  31196. _vm._$s("31-" + $30, "t0-0", _vm._s(item.updated_at))
  31197. )
  31198. ])
  31199. ]),
  31200. _c("view", [
  31201. _c("view", [
  31202. _vm._v(
  31203. _vm._$s("33-" + $30, "t0-0", _vm._s(item.planned))
  31204. )
  31205. ]),
  31206. _c("view", [
  31207. _vm._v(
  31208. _vm._$s("34-" + $30, "t0-0", _vm._s(item.source))
  31209. )
  31210. ])
  31211. ])
  31212. ]
  31213. )
  31214. ]
  31215. )
  31216. }),
  31217. _vm._$s(35, "i", _vm.workList.length == 0)
  31218. ? _c(
  31219. "view",
  31220. { staticClass: _vm._$s(35, "sc", "noData"), attrs: { _i: 35 } },
  31221. [_c("image", { attrs: { _i: 36 } }), _c("view")]
  31222. )
  31223. : _vm._e()
  31224. ],
  31225. 2
  31226. )
  31227. ]
  31228. )
  31229. }
  31230. var recyclableRender = false
  31231. var staticRenderFns = []
  31232. render._withStripped = true
  31233. /***/ }),
  31234. <<<<<<< HEAD
  31235. /* 314 */
  31236. /*!**************************************************************************************************!*\
  31237. !*** C:/Users/001/Desktop/运维端/pages/workOrder/workOrder.vue?vue&type=script&lang=js&mpType=page ***!
  31238. \**************************************************************************************************/
  31239. =======
  31240. /* 148 */
  31241. /*!***************************************************************************************************************!*\
  31242. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/workOrder/workOrder.vue?vue&type=script&lang=js&mpType=page ***!
  31243. \***************************************************************************************************************/
  31244. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31245. /*! no static exports found */
  31246. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31247. "use strict";
  31248. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./workOrder.vue?vue&type=script&lang=js&mpType=page */ 315);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_workOrder_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStpQixDQUFnQixrbEJBQUcsRUFBQyIsImZpbGUiOiIzMTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi93b3JrT3JkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3dvcmtPcmRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///314\n");
  31249. /***/ }),
  31250. <<<<<<< HEAD
  31251. /* 315 */
  31252. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31253. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/workOrder/workOrder.vue?vue&type=script&lang=js&mpType=page ***!
  31254. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31255. =======
  31256. /* 149 */
  31257. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31258. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/workOrder/workOrder.vue?vue&type=script&lang=js&mpType=page ***!
  31259. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31260. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31261. /*! no static exports found */
  31262. /***/ (function(module, exports, __webpack_require__) {
  31263. "use strict";
  31264. <<<<<<< HEAD
  31265. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();\nvar touchDotX = 0; //X按下时坐标\nvar touchDotY = 0; //y按下时坐标\nvar interval; //计时器\nvar time = 0;var _default =\n{\n data: function data() {\n return {\n active: 0,\n workList: [], //工单列表\n page: 1,\n current: 4,\n option1: [], //区域选择\n value1: 0, //第一个显示什么\n areaID: '',\n url: '',\n screenHeight: '', //屏幕可视高度\n tabIndex: 0,\n list: [{ //所有区域选项\n areaID: '',\n text: '全部区域',\n value: -1 }],\n //骑行区域选择列表\n curVal: uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0 //骑行区与第一个下标\n };\n },\n methods: {\n select: function select(e) {\n __f__(\"log\", e, \" at pages/workOrder/workOrder.vue:109\");\n this.tabIndex = e;\n this.workList = '';\n this.page = 1;\n this.getWork();\n this.goTop();\n },\n tanKuang: function tanKuang() {\n var that = this;\n var arr = [];\n for (var i = 0; i < this.list.length; i++) {\n arr = arr.concat(this.list[i].text);\n }\n __f__(\"log\", arr, \" at pages/workOrder/workOrder.vue:122\");\n uni.showActionSheet({\n itemList: arr,\n success: function success(res) {\n var index = res.tapIndex;\n that.areaID = that.list[index].areaID;\n that.curVal = res.tapIndex;\n __f__(\"log\", that.list[index].areaID, \"66666\", \" at pages/workOrder/workOrder.vue:129\");\n __f__(\"log\", '选中了第' + res.tapIndex + '个按钮', \" at pages/workOrder/workOrder.vue:130\");\n that.getWork();\n that.goTop();\n // that.allData()\n // that.tabList()\n },\n fail: function fail(res) {} });\n\n },\n scanCode: function scanCode() {\n uni.redirectTo({\n url: '/pages/logs/logs?scan=' + 1 });\n\n },\n getWork: function getWork() {var _this = this;\n uni.showLoading({\n title: '加载中' });\n\n var that = this;\n var planned = '';\n var url = \"\";\n var data = '&&put_area_id=' + that.areaID;\n if (this.tabIndex == 0) {\n planned = 1;\n url = \"work_order/list?planned=\" + planned + data;\n } else if (this.tabIndex == 1) {\n planned = 2;\n url = \"work_order/myWorkOrderList?planned=\" + planned + data;\n } else if (this.tabIndex == 2) {\n planned = 3;\n url = \"work_order/myWorkOrderList?planned=\" + planned + data;\n } else if (this.tabIndex == 3) {\n planned = 4;\n url = \"work_order/myWorkOrderList?planned=\" + planned + data;\n }\n app.request(url, '', 'GET').then(function (res) {\n __f__(\"log\", res, '工单', \" at pages/workOrder/workOrder.vue:166\");\n __f__(\"log\", url, \" at pages/workOrder/workOrder.vue:167\");\n uni.hideLoading();\n _this.workList = res.data.data;\n });\n },\n //回到顶部\n goTop: function goTop(e) {// 一键回到顶部\n if (uni.pageScrollTo) {\n uni.pageScrollTo({\n scrollTop: 0 });\n\n }\n },\n wordDetail: function wordDetail(e) {\n //工单详情\n __f__(\"log\", e, \" at pages/workOrder/workOrder.vue:182\");\n uni.navigateTo({\n url: '/pages/manage/workDetail?id=' + e });\n\n } },\n\n onLoad: function onLoad(options) {\n var that = this;\n var arr = uni.getStorageSync('allArea');\n this.list = this.list.concat(arr);\n that.option1 = uni.getStorageSync('allArea');\n var curVal = uni.getStorageSync('curVal');\n if (curVal) {\n that.value1 = curVal;\n }\n var areaID = uni.getStorageSync('curId');\n if (areaID) {\n that.areaID = areaID;\n } else {\n var id = that.option1[0].areaID;\n that.areaID = id;\n }\n that.getWork();\n },\n onPullDownRefresh: function onPullDownRefresh() {\n uni.showNavigationBarLoading();\n this.getWork(), uni.hideNavigationBarLoading(), uni.stopPullDownRefresh();\n },\n onReachBottom: function onReachBottom() {\n var that = this;\n uni.showLoading({\n title: '加载中' });\n\n var planned = '';\n var page = that.page + 1;\n if (that.tabIndex == 0) {\n planned = 1;\n } else if (that.tabIndex == 1) {\n planned = 2;\n } else if (that.tabIndex == 2) {\n planned = 3;\n } else if (that.tabIndex == 3) {\n planned = 4;\n }\n var url = 'work_order/list?planned=' + planned + '&&put_area_id=' + that.areaID + '&&page=' + page;\n app.request(url, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/workOrder/workOrder.vue:228\");\n uni.hideLoading();\n if (res.statusCode == 200) {\n if (res.data.data.length > 0) {\n that.workList = that.workList.concat(res.data.data);\n that.page = page;\n } else {\n uni.showToast({\n title: '没有更多了~',\n icon: 'none' });\n\n }\n }\n });\n },\n onShareAppMessage: function onShareAppMessage() {\n return {\n title: '轻松出行,方便你我',\n path: '/pages/login/login',\n success: function success(res) {} };\n\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvd29ya09yZGVyL3dvcmtPcmRlci52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnRkE7QUFDQSxrQixDQUFBO0FBQ0Esa0IsQ0FBQTtBQUNBLGEsQ0FBQTtBQUNBLGE7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGVBREE7QUFFQSxrQkFGQSxFQUVBO0FBQ0EsYUFIQTtBQUlBLGdCQUpBO0FBS0EsaUJBTEEsRUFLQTtBQUNBLGVBTkEsRUFNQTtBQUNBLGdCQVBBO0FBUUEsYUFSQTtBQVNBLHNCQVRBLEVBU0E7QUFDQSxpQkFWQTtBQVdBO0FBQ0Esa0JBREE7QUFFQSxvQkFGQTtBQUdBLGlCQUhBLEdBWEE7QUFlQTtBQUNBLDZFQWhCQSxDQWdCQTtBQWhCQTtBQWtCQSxHQXBCQTtBQXFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FSQTtBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FaQTtBQWFBLG1DQWJBOztBQWVBLEtBL0JBO0FBZ0NBO0FBQ0E7QUFDQSx5Q0FEQTs7QUFHQSxLQXBDQTtBQXFDQTtBQUNBO0FBQ0Esb0JBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUhBLE1BR0E7QUFDQTtBQUNBO0FBQ0EsT0FIQSxNQUdBO0FBQ0E7QUFDQTtBQUNBLE9BSEEsTUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxBO0FBTUEsS0FoRUE7QUFpRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFEQTs7QUFHQTtBQUNBLEtBeEVBO0FBeUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBREE7O0FBR0EsS0EvRUEsRUFyQkE7O0FBc0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0F2SEE7QUF3SEE7QUFDQTtBQUNBO0FBQ0EsR0EzSEE7QUE0SEE7QUFDQTtBQUNBO0FBQ0Esa0JBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUZBLE1BRUE7QUFDQTtBQUNBLEtBRkEsTUFFQTtBQUNBO0FBQ0EsS0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUhBLE1BR0E7QUFDQTtBQUNBLDJCQURBO0FBRUEsd0JBRkE7O0FBSUE7QUFDQTtBQUNBLEtBZEE7QUFlQSxHQTVKQTtBQTZKQTtBQUNBO0FBQ0Esd0JBREE7QUFFQSxnQ0FGQTtBQUdBLHVDQUhBOztBQUtBLEdBbktBLEUiLCJmaWxlIjoiMzE1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwicGFnZVwiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJhbGxBcmVhXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYXJlYTFcIj5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImFyZWFyLXRleHRcIiBAY2xpY2s9XCJ0YW5LdWFuZ1wiPnt7bGlzdFtjdXJWYWxdLnRleHR9fTwvdGV4dD5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2Rvd24ucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwidGFiYmFyXCI+XHJcblx0XHRcdDx2aWV3IEBjbGljaz1cInNlbGVjdCgwKVwiIDpjbGFzcz1cInRhYkluZGV4PT0wID8gJ2FjdGl2ZScgOiAnJ1wiPlxyXG5cdFx0XHRcdDx0ZXh0PuacquiupOmihjwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJzZWxlY3QoMSlcIiA6Y2xhc3M9XCJ0YWJJbmRleD09MSA/ICdhY3RpdmUnIDogJydcIj5cclxuXHRcdFx0XHQ8dGV4dD7lpITnkIbkuK08L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgQGNsaWNrPVwic2VsZWN0KDIpXCIgOmNsYXNzPVwidGFiSW5kZXg9PTIgPyAnYWN0aXZlJyA6ICcnXCI+XHJcblx0XHRcdFx0PHRleHQ+5bey5aSE55CGPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IEBjbGljaz1cInNlbGVjdCgzKVwiIDpjbGFzcz1cInRhYkluZGV4PT0zID8gJ2FjdGl2ZScgOiAnJ1wiPlxyXG5cdFx0XHRcdDx0ZXh0PuW3suWujOaIkDwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJjb250ZW50XCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwibGlzdFwiIHYtZm9yPVwiKGl0ZW0saW5kZXgxKSBpbiB3b3JrTGlzdFwiIDprZXk9XCJpbmRleDFcIiBAY2xpY2s9XCJ3b3JkRGV0YWlsKGl0ZW0uaWQpXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFzb25cIj57e2l0ZW0ucmVhc29uP2l0ZW0ucmVhc29uOml0ZW0udHlwZV9uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eXBlIFwiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+WFheeUteW3peWNlSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICM2OGU5Y2UgMCUsICMxOGQ1YjkgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX3vvIh7e2l0ZW0udGltZXN9feasoe+8iVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR5cGVcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfmlq3nlLXlt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjZmY2NDc3IDAlLCAjZmY3YTY5IDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX1977yIe3tpdGVtLnRpbWVzfX3mrKHvvIlcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eXBlXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n57uE6ZW/5bel5Y2VJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzQxYjhmZCAwJSwgIzBlZTdmZSAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdHt7aXRlbS50eXBlX25hbWV9fe+8iHt7aXRlbS50aW1lc3195qyh77yJXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHlwZVwiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+WBt+ebl+W3peWNlSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNmZjhiNjYgMCUsICNmZTU3MjIgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX3vvIh7e2l0ZW0udGltZXN9feasoe+8iVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR5cGVcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfnprvnur/lt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjRkY4Q0M3IDAlLCAjRjIzMkEzIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX1977yIe3tpdGVtLnRpbWVzfX3mrKHvvIlcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eXBlXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5pWR5o+05bel5Y2VJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgIzkzODJmNCAwJSwgI2EyOTdmYiAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdHt7aXRlbS50eXBlX25hbWV9fe+8iHt7aXRlbS50aW1lc3195qyh77yJXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHlwZVwiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+aWreeUteW3peWNlSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICNmZjY0NzcgMCUsICNmZjdhNjkgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX3vvIh7e2l0ZW0udGltZXN9feasoe+8iVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR5cGVcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSforabmiqXlt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjRkY5ODU0IDAlLCAjRkZDNTczIDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX1977yIe3tpdGVtLnRpbWVzfX3mrKHvvIlcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eXBlXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5pWF6Zqc5bel5Y2VJ1wiIHN0eWxlPVwiYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE2M2RlZywgI0Q2ODRERCAwJSwgI0Y3QTdFQyAxMDAlKTtcIj5cclxuXHRcdFx0XHRcdHt7aXRlbS50eXBlX25hbWV9fe+8iHt7aXRlbS50aW1lc3195qyh77yJXHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHlwZVwiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+WFtuS7luW3peWNlSdcIiBzdHlsZT1cImJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNjNkZWcsICM0N0REQTggMCUsICM2MUY3OUMgMTAwJSk7XCI+XHJcblx0XHRcdFx0XHR7e2l0ZW0udHlwZV9uYW1lfX3vvIh7e2l0ZW0udGltZXN9feasoe+8iVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR5cGVcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfmn6XnnIvlt6XljZUnXCIgc3R5bGU9XCJiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCAjODhCOUUxIDAlLCAjMDA0RkI2IDEwMCUpO1wiPlxyXG5cdFx0XHRcdFx0e3tpdGVtLnR5cGVfbmFtZX1977yIe3tpdGVtLnRpbWVzfX3mrKHvvIlcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4QlwiIHN0eWxlPVwibWFyZ2luLXRvcDowO1wiPlxyXG5cdFx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pui9pui+hue8luWPt++8mnt7aXRlbS5iaWtlX25vfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3PuabtOaWsOaXtumXtO+8mnt7aXRlbS51cGRhdGVkX2F0fX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXc+5qyh5pWw77yaMjA8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6NTB1cHg7XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3Pui/m+W6pu+8mnt7aXRlbS5wbGFubmVkfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3Puadpea6kO+8mnt7aXRlbS5zb3VyY2V9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PCEtLSA8dmlldz7mn6XnnIvor6bmg4U8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm5vRGF0YVwiIHYtaWY9XCJ3b3JrTGlzdC5sZW5ndGggPT0gMFwiPlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2UuYmlrZS5oYW55aXl1bi5jb20vbm9uZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDx2aWV3PuaaguaXoOebuOWFs+aVsOaNrn48L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHAgPSBnZXRBcHAoKTtcclxuXHRsZXQgdG91Y2hEb3RYID0gMDsgLy9Y5oyJ5LiL5pe25Z2Q5qCHXHJcblx0bGV0IHRvdWNoRG90WSA9IDA7IC8veeaMieS4i+aXtuWdkOagh1xyXG5cdGxldCBpbnRlcnZhbDsgLy/orqHml7blmahcclxuXHRsZXQgdGltZSA9IDA7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRhY3RpdmU6IDAsXHJcblx0XHRcdFx0d29ya0xpc3Q6IFtdLCAvL+W3peWNleWIl+ihqFxyXG5cdFx0XHRcdHBhZ2U6IDEsXHJcblx0XHRcdFx0Y3VycmVudDogNCxcclxuXHRcdFx0XHRvcHRpb24xOiBbXSwgLy/ljLrln5/pgInmi6lcclxuXHRcdFx0XHR2YWx1ZTE6IDAsIC8v56ys5LiA5Liq5pi+56S65LuA5LmIXHJcblx0XHRcdFx0YXJlYUlEOiAnJyxcclxuXHRcdFx0XHR1cmw6ICcnLFxyXG5cdFx0XHRcdHNjcmVlbkhlaWdodDogJycsIC8v5bGP5bmV5Y+v6KeG6auY5bqmXHJcblx0XHRcdFx0dGFiSW5kZXg6IDAsXHJcblx0XHRcdFx0bGlzdDogW3sgLy/miYDmnInljLrln5/pgInpoblcclxuXHRcdFx0XHRcdGFyZWFJRDogJycsXHJcblx0XHRcdFx0XHR0ZXh0OiAn5YWo6YOo5Yy65Z+fJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAtMSxcclxuXHRcdFx0XHR9XSwgLy/pqpHooYzljLrln5/pgInmi6nliJfooahcclxuXHRcdFx0XHRjdXJWYWw6IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgPyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpIDogMCwgLy/pqpHooYzljLrkuI7nrKzkuIDkuKrkuIvmoIdcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0c2VsZWN0OiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHR0aGlzLnRhYkluZGV4ID0gZTtcclxuXHRcdFx0XHR0aGlzLndvcmtMaXN0ID0gJyc7XHJcblx0XHRcdFx0dGhpcy5wYWdlID0gMTtcclxuXHRcdFx0XHR0aGlzLmdldFdvcmsoKTtcclxuXHRcdFx0XHR0aGlzLmdvVG9wKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHRhbkt1YW5nOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dmFyIGFyciA9IFtdXHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGk8dGhpcy5saXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRhcnIgPSBhcnIuY29uY2F0KHRoaXMubGlzdFtpXS50ZXh0KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhhcnIpXHJcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XHJcblx0XHRcdFx0XHRpdGVtTGlzdDogYXJyLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGxldCBpbmRleCA9IHJlcy50YXBJbmRleFxyXG5cdFx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IHRoYXQubGlzdFtpbmRleF0uYXJlYUlEO1xyXG5cdFx0XHRcdFx0XHR0aGF0LmN1clZhbCA9IHJlcy50YXBJbmRleFxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0Lmxpc3RbaW5kZXhdLmFyZWFJRCwgXCI2NjY2NlwiKTtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+mAieS4reS6huesrCcgKyByZXMudGFwSW5kZXggKyAn5Liq5oyJ6ZKuJyk7XHJcblx0XHRcdFx0XHRcdHRoYXQuZ2V0V29yaygpO1xyXG5cdFx0XHRcdFx0XHR0aGF0LmdvVG9wKCk7XHJcblx0XHRcdFx0XHRcdC8vIHRoYXQuYWxsRGF0YSgpXHJcblx0XHRcdFx0XHRcdC8vIHRoYXQudGFiTGlzdCgpXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24ocmVzKSB7fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHNjYW5Db2RlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkucmVkaXJlY3RUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvbG9ncy9sb2dzP3NjYW49JyArIDEsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0V29yazogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRsZXQgcGxhbm5lZCA9ICcnO1xyXG5cdFx0XHRcdGxldCB1cmwgPSBcIlwiO1xyXG5cdFx0XHRcdGxldCBkYXRhID0gJyYmcHV0X2FyZWFfaWQ9JyArIHRoYXQuYXJlYUlEXHJcblx0XHRcdFx0aWYgKHRoaXMudGFiSW5kZXggPT0gMCkge1xyXG5cdFx0XHRcdFx0cGxhbm5lZCA9IDFcclxuXHRcdFx0XHRcdHVybCA9IFwid29ya19vcmRlci9saXN0P3BsYW5uZWQ9XCIgKyBwbGFubmVkICsgZGF0YVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAodGhpcy50YWJJbmRleCA9PSAxKSB7XHJcblx0XHRcdFx0XHRwbGFubmVkID0gMlxyXG5cdFx0XHRcdFx0dXJsID0gXCJ3b3JrX29yZGVyL215V29ya09yZGVyTGlzdD9wbGFubmVkPVwiICsgcGxhbm5lZCArIGRhdGFcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMudGFiSW5kZXggPT0gMikge1xyXG5cdFx0XHRcdFx0cGxhbm5lZCA9IDNcclxuXHRcdFx0XHRcdHVybCA9IFwid29ya19vcmRlci9teVdvcmtPcmRlckxpc3Q/cGxhbm5lZD1cIiArIHBsYW5uZWQgKyBkYXRhXHJcblx0XHRcdFx0fSBlbHNlIGlmICh0aGlzLnRhYkluZGV4ID09IDMpIHtcclxuXHRcdFx0XHRcdHBsYW5uZWQgPSA0XHJcblx0XHRcdFx0XHR1cmwgPSBcIndvcmtfb3JkZXIvbXlXb3JrT3JkZXJMaXN0P3BsYW5uZWQ9XCIgKyBwbGFubmVkICsgZGF0YVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn5bel5Y2VJylcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHVybClcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0dGhpcy53b3JrTGlzdCA9IHJlcy5kYXRhLmRhdGFcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WbnuWIsOmhtumDqFxyXG5cdFx0XHRnb1RvcDogZnVuY3Rpb24oZSkgeyAvLyDkuIDplK7lm57liLDpobbpg6hcclxuXHRcdFx0XHRpZiAodW5pLnBhZ2VTY3JvbGxUbykge1xyXG5cdFx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRcdHNjcm9sbFRvcDogMFxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHdvcmREZXRhaWw6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvL+W3peWNleivpuaDhVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL21hbmFnZS93b3JrRGV0YWlsP2lkPScgKyBlLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkOiBmdW5jdGlvbihvcHRpb25zKSB7XHJcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0dmFyIGFyciA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xyXG5cdFx0XHR0aGlzLmxpc3QgPSB0aGlzLmxpc3QuY29uY2F0KGFycik7XHJcblx0XHRcdHRoYXQub3B0aW9uMSA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpXHJcblx0XHRcdGxldCBjdXJWYWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpXHJcblx0XHRcdGlmIChjdXJWYWwpIHtcclxuXHRcdFx0XHR0aGF0LnZhbHVlMSA9IGN1clZhbFxyXG5cdFx0XHR9XHJcblx0XHRcdGxldCBhcmVhSUQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJylcclxuXHRcdFx0aWYgKGFyZWFJRCkge1xyXG5cdFx0XHRcdHRoYXQuYXJlYUlEID0gYXJlYUlEXHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0bGV0IGlkID0gdGhhdC5vcHRpb24xWzBdLmFyZWFJRFxyXG5cdFx0XHRcdHRoYXQuYXJlYUlEID0gaWQ7XHJcblx0XHRcdH1cclxuXHRcdFx0dGhhdC5nZXRXb3JrKCk7XHJcblx0XHR9LFxyXG5cdFx0b25QdWxsRG93blJlZnJlc2g6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHR1bmkuc2hvd05hdmlnYXRpb25CYXJMb2FkaW5nKCk7XHJcblx0XHRcdHRoaXMuZ2V0V29yaygpLCB1bmkuaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nKCksIHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XHJcblx0XHR9LFxyXG5cdFx0b25SZWFjaEJvdHRvbTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rScsXHJcblx0XHRcdH0pXHJcblx0XHRcdGxldCBwbGFubmVkID0gJyc7XHJcblx0XHRcdHZhciBwYWdlID0gdGhhdC5wYWdlICsgMVxyXG5cdFx0XHRpZiAodGhhdC50YWJJbmRleCA9PSAwKSB7XHJcblx0XHRcdFx0cGxhbm5lZCA9IDFcclxuXHRcdFx0fSBlbHNlIGlmICh0aGF0LnRhYkluZGV4ID09IDEpIHtcclxuXHRcdFx0XHRwbGFubmVkID0gMlxyXG5cdFx0XHR9IGVsc2UgaWYgKHRoYXQudGFiSW5kZXggPT0gMikge1xyXG5cdFx0XHRcdHBsYW5uZWQgPSAzXHJcblx0XHRcdH0gZWxzZSBpZiAodGhhdC50YWJJbmRleCA9PSAzKSB7XHJcblx0XHRcdFx0cGxhbm5lZCA9IDRcclxuXHRcdFx0fVxyXG5cdFx0XHRsZXQgdXJsID0gJ3dvcmtfb3JkZXIvbGlzdD9wbGFubmVkPScgKyBwbGFubmVkICsgJyYmcHV0X2FyZWFfaWQ9JyArIHRoYXQuYXJlYUlEICsgJyYmcGFnZT0nICsgcGFnZVxyXG5cdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdGlmIChyZXMuZGF0YS5kYXRhLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0dGhhdC53b3JrTGlzdCA9IHRoYXQud29ya0xpc3QuY29uY2F0KHJlcy5kYXRhLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHR0aGF0LnBhZ2UgPSBwYWdlO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmsqHmnInmm7TlpJrkuoZ+JyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0b25TaGFyZUFwcE1lc3NhZ2U6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHRpdGxlOiAn6L275p2+5Ye66KGM77yM5pa55L6/5L2g5oiRJyxcclxuXHRcdFx0XHRwYXRoOiAnL3BhZ2VzL2xvZ2luL2xvZ2luJyxcclxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHt9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdC5wYWdlIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ei1pbmRleDogODg4O1xyXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHR9XHJcblxyXG5cdC5jb250ZW50IHtcclxuXHRcdG1hcmdpbi10b3A6IDIyMHVweCAhaW1wb3J0YW50O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Lmxpc3Qge1xyXG5cdFx0d2lkdGg6IDkyJTtcclxuXHRcdG1hcmdpbjogMjB1cHggYXV0bztcclxuXHRcdGJvcmRlcjogMnVweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0XHRwYWRkaW5nOiAyMHVweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA2dXB4IDAgcmdiYSgyMTYsIDIxNiwgMjE2LCAxKTtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblxyXG5cdH1cclxuXHJcblx0Lmxpc3QgdmlldyB7XHJcblx0XHRmb250LXNpemU6IDI0dXB4O1xyXG5cdFx0Y29sb3I6ICM0ZDRkNGQ7XHJcblx0XHRtYXJnaW4tdG9wOiAxNXVweDtcclxuXHR9XHJcblxyXG5cdC5saXN0IC5yZWFzb24ge1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdGNvbG9yOiAjMjgyODI4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3QgLnR5cGUge1xyXG5cdFx0Lyogd2lkdGg6IDE2OHVweDsgKi9cclxuXHRcdHBhZGRpbmc6IDAgMTB1cHg7XHJcblx0XHRoZWlnaHQ6IDQydXB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDIydXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtMTV1cHg7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAgMnVweCAwIDIwdXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC50YWJiYXIge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMTIwdXB4O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdGhlaWdodDogMTAwdXB4O1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXHRcdHotaW5kZXg6IDk5OTtcclxuXHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdH1cclxuXHJcblx0LnRhYmJhciB2aWV3IHtcclxuXHRcdHdpZHRoOiAyNSU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHR9XHJcblxyXG5cdC5hY3RpdmUge1xyXG5cdFx0Y29sb3I6ICNGRjAwMDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5ub0RhdGEge1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR9XHJcblxyXG5cdC5ub0RhdGEgaW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDIwMHVweDtcclxuXHRcdGhlaWdodDogMjAwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm5vRGF0YSB2aWV3IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdG1hcmdpbi10b3A6IDIwdXB4O1xyXG5cdH1cclxuXHQuYWxsQXJlYSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDM1dXB4O1xyXG5cdFx0aGVpZ2h0OiAxMjB1cHg7XHJcblx0XHRmb250LXNpemU6IDM0dXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE1MHVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0XHR0b3A6IDB1cHg7XHJcblx0XHR6LWluZGV4OiAxMDAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cdFxyXG5cdC5hbGxBcmVhIGltYWdlIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRtYXJnaW4tbGVmdDogMjB1cHg7XHJcblx0XHRoZWlnaHQ6IDQwdXB4O1xyXG5cdFx0d2lkdGg6IDQwdXB4O1xyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///315\n");
  31266. /***/ }),
  31267. /* 316 */
  31268. /*!********************************************************************!*\
  31269. !*** C:/Users/001/Desktop/运维端/pages/mine/password.vue?mpType=page ***!
  31270. \********************************************************************/
  31271. =======
  31272. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();\nvar touchDotX = 0; //X按下时坐标\nvar touchDotY = 0; //y按下时坐标\nvar interval; //计时器\nvar time = 0;var _default =\n{\n data: function data() {\n return {\n active: 0,\n workList: [], //工单列表\n page: 1,\n current: 4,\n option1: [], //区域选择\n value1: 0, //第一个显示什么\n areaID: '',\n url: '',\n screenHeight: '', //屏幕可视高度\n tabIndex: 0,\n list: [{ //所有区域选项\n areaID: '',\n text: '全部区域',\n value: -1 }],\n //骑行区域选择列表\n curVal: uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0 //骑行区与第一个下标\n };\n },\n methods: {\n select: function select(e) {\n __f__(\"log\", e, \" at pages/workOrder/workOrder.vue:109\");\n this.tabIndex = e;\n this.workList = '';\n this.page = 1;\n this.getWork();\n this.goTop();\n },\n tanKuang: function tanKuang() {\n var that = this;\n var arr = [];\n for (var i = 0; i < this.list.length; i++) {\n arr = arr.concat(this.list[i].text);\n }\n __f__(\"log\", arr, \" at pages/workOrder/workOrder.vue:122\");\n uni.showActionSheet({\n itemList: arr,\n success: function success(res) {\n var index = res.tapIndex;\n that.areaID = that.list[index].areaID;\n that.curVal = res.tapIndex;\n __f__(\"log\", that.list[index].areaID, \"66666\", \" at pages/workOrder/workOrder.vue:129\");\n __f__(\"log\", '选中了第' + res.tapIndex + '个按钮', \" at pages/workOrder/workOrder.vue:130\");\n that.getWork();\n that.goTop();\n // that.allData()\n // that.tabList()\n },\n fail: function fail(res) {} });\n\n },\n scanCode: function scanCode() {\n uni.redirectTo({\n url: '/pages/logs/logs?scan=' + 1 });\n\n },\n getWork: function getWork() {var _this = this;\n uni.showLoading({\n title: '加载中' });\n\n var that = this;\n var planned = '';\n var url = \"\";\n var data = '&&put_area_id=' + that.areaID;\n if (this.tabIndex == 0) {\n planned = 1;\n url = \"work_order/list?planned=\" + planned + data;\n } else if (this.tabIndex == 1) {\n planned = 2;\n url = \"work_order/myWorkOrderList?planned=\" + planned + data;\n } else if (this.tabIndex == 2) {\n planned = 3;\n url = \"work_order/myWorkOrderList?planned=\" + planned + data;\n } else if (this.tabIndex == 3) {\n planned = 4;\n url = \"work_order/myWorkOrderList?planned=\" + planned + data;\n }\n app.request(url, '', 'GET').then(function (res) {\n __f__(\"log\", res, '工单', \" at pages/workOrder/workOrder.vue:166\");\n __f__(\"log\", url, \" at pages/workOrder/workOrder.vue:167\");\n uni.hideLoading();\n _this.workList = res.data.data;\n });\n },\n //回到顶部\n goTop: function goTop(e) {// 一键回到顶部\n if (uni.pageScrollTo) {\n uni.pageScrollTo({\n scrollTop: 0 });\n\n }\n },\n wordDetail: function wordDetail(e) {\n //工单详情\n __f__(\"log\", e, \" at pages/workOrder/workOrder.vue:182\");\n uni.navigateTo({\n url: '/pages/manage/workDetail?id=' + e });\n\n } },\n\n onLoad: function onLoad(options) {\n var that = this;\n var arr = uni.getStorageSync('allArea');\n this.list = this.list.concat(arr);\n that.option1 = uni.getStorageSync('allArea');\n var curVal = uni.getStorageSync('curVal');\n if (curVal) {\n that.value1 = curVal;\n }\n var areaID = uni.getStorageSync('curId');\n if (areaID) {\n that.areaID = areaID;\n } else {\n var id = that.option1[0].areaID;\n that.areaID = id;\n }\n that.getWork();\n },\n onPullDownRefresh: function onPullDownRefresh() {\n uni.showNavigationBarLoading();\n this.getWork(), uni.hideNavigationBarLoading(), uni.stopPullDownRefresh();\n },\n onReachBottom: function onReachBottom() {\n var that = this;\n uni.showLoading({\n title: '加载中' });\n\n var planned = '';\n var page = that.page + 1;\n if (that.tabIndex == 0) {\n planned = 1;\n } else if (that.tabIndex == 1) {\n planned = 2;\n } else if (that.tabIndex == 2) {\n planned = 3;\n } else if (that.tabIndex == 3) {\n planned = 4;\n }\n var url = 'work_order/list?planned=' + planned + '&&put_area_id=' + that.areaID + '&&page=' + page;\n app.request(url, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/workOrder/workOrder.vue:228\");\n uni.hideLoading();\n if (res.statusCode == 200) {\n if (res.data.data.length > 0) {\n that.workList = that.workList.concat(res.data.data);\n that.page = page;\n } else {\n uni.showToast({\n title: '没有更多了~',\n icon: 'none' });\n\n }\n }\n });\n },\n onShareAppMessage: function onShareAppMessage() {\n return {\n title: '轻松出行,方便你我',\n path: '/pages/login/login',\n success: function success(res) {} };\n\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvd29ya09yZGVyL3dvcmtPcmRlci52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwidG91Y2hEb3RYIiwidG91Y2hEb3RZIiwiaW50ZXJ2YWwiLCJ0aW1lIiwiZGF0YSIsImFjdGl2ZSIsIndvcmtMaXN0IiwicGFnZSIsImN1cnJlbnQiLCJvcHRpb24xIiwidmFsdWUxIiwiYXJlYUlEIiwidXJsIiwic2NyZWVuSGVpZ2h0IiwidGFiSW5kZXgiLCJsaXN0IiwidGV4dCIsInZhbHVlIiwiY3VyVmFsIiwidW5pIiwiZ2V0U3RvcmFnZVN5bmMiLCJtZXRob2RzIiwic2VsZWN0IiwiZSIsImdldFdvcmsiLCJnb1RvcCIsInRhbkt1YW5nIiwidGhhdCIsImFyciIsImkiLCJsZW5ndGgiLCJjb25jYXQiLCJzaG93QWN0aW9uU2hlZXQiLCJpdGVtTGlzdCIsInN1Y2Nlc3MiLCJyZXMiLCJpbmRleCIsInRhcEluZGV4IiwiZmFpbCIsInNjYW5Db2RlIiwicmVkaXJlY3RUbyIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJwbGFubmVkIiwicmVxdWVzdCIsInRoZW4iLCJoaWRlTG9hZGluZyIsInBhZ2VTY3JvbGxUbyIsInNjcm9sbFRvcCIsIndvcmREZXRhaWwiLCJuYXZpZ2F0ZVRvIiwib25Mb2FkIiwib3B0aW9ucyIsImlkIiwib25QdWxsRG93blJlZnJlc2giLCJzaG93TmF2aWdhdGlvbkJhckxvYWRpbmciLCJoaWRlTmF2aWdhdGlvbkJhckxvYWRpbmciLCJzdG9wUHVsbERvd25SZWZyZXNoIiwib25SZWFjaEJvdHRvbSIsInN0YXR1c0NvZGUiLCJzaG93VG9hc3QiLCJpY29uIiwib25TaGFyZUFwcE1lc3NhZ2UiLCJwYXRoIl0sIm1hcHBpbmdzIjoicUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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RyxHQUFHLDZCQUE2QitCLE9BQTdCLEdBQXVDLGdCQUF2QyxHQUEwRGhCLElBQUksQ0FBQ2hCLE1BQS9ELEdBQXdFLFNBQXhFLEdBQW9GSixJQUE5RjtBQUNBVCxPQUFHLENBQUM4QyxPQUFKLENBQVloQyxHQUFaLEVBQWlCLEVBQWpCLEVBQXFCLEtBQXJCLEVBQTRCaUMsSUFBNUIsQ0FBaUMsVUFBQVYsR0FBRyxFQUFJO0FBQ3ZDLG1CQUFZQSxHQUFaO0FBQ0FoQixTQUFHLENBQUMyQixXQUFKO0FBQ0EsVUFBSVgsR0FBRyxDQUFDd0IsVUFBSixJQUFrQixHQUF0QixFQUEyQjtBQUMxQixZQUFJeEIsR0FBRyxDQUFDL0IsSUFBSixDQUFTQSxJQUFULENBQWMwQixNQUFkLEdBQXVCLENBQTNCLEVBQThCO0FBQzdCSCxjQUFJLENBQUNyQixRQUFMLEdBQWdCcUIsSUFBSSxDQUFDckIsUUFBTCxDQUFjeUIsTUFBZCxDQUFxQkksR0FBRyxDQUFDL0IsSUFBSixDQUFTQSxJQUE5QixDQUFoQjtBQUNBdUIsY0FBSSxDQUFDcEIsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsU0FIRCxNQUdPO0FBQ05ZLGFBQUcsQ0FBQ3lDLFNBQUosQ0FBYztBQUNibEIsaUJBQUssRUFBRSxRQURNO0FBRWJtQixnQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQTtBQUNEO0FBQ0QsS0FkRDtBQWVBLEdBNUphO0FBNkpkQyxtQkFBaUIsRUFBRSw2QkFBVztBQUM3QixXQUFPO0FBQ05wQixXQUFLLEVBQUUsV0FERDtBQUVOcUIsVUFBSSxFQUFFLG9CQUZBO0FBR043QixhQUFPLEVBQUUsaUJBQVNDLEdBQVQsRUFBYyxDQUFFLENBSG5CLEVBQVA7O0FBS0EsR0FuS2EsRSIsImZpbGUiOiIxNDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKCk7XG5sZXQgdG91Y2hEb3RYID0gMDsgLy9Y5oyJ5LiL5pe25Z2Q5qCHXG5sZXQgdG91Y2hEb3RZID0gMDsgLy955oyJ5LiL5pe25Z2Q5qCHXG5sZXQgaW50ZXJ2YWw7IC8v6K6h5pe25ZmoXG5sZXQgdGltZSA9IDA7XG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGFjdGl2ZTogMCxcblx0XHRcdHdvcmtMaXN0OiBbXSwgLy/lt6XljZXliJfooahcblx0XHRcdHBhZ2U6IDEsXG5cdFx0XHRjdXJyZW50OiA0LFxuXHRcdFx0b3B0aW9uMTogW10sIC8v5Yy65Z+f6YCJ5oupXG5cdFx0XHR2YWx1ZTE6IDAsIC8v56ys5LiA5Liq5pi+56S65LuA5LmIXG5cdFx0XHRhcmVhSUQ6ICcnLFxuXHRcdFx0dXJsOiAnJyxcblx0XHRcdHNjcmVlbkhlaWdodDogJycsIC8v5bGP5bmV5Y+v6KeG6auY5bqmXG5cdFx0XHR0YWJJbmRleDogMCxcblx0XHRcdGxpc3Q6IFt7IC8v5omA5pyJ5Yy65Z+f6YCJ6aG5XG5cdFx0XHRcdGFyZWFJRDogJycsXG5cdFx0XHRcdHRleHQ6ICflhajpg6jljLrln58nLFxuXHRcdFx0XHR2YWx1ZTogLTEsXG5cdFx0XHR9XSwgLy/pqpHooYzljLrln5/pgInmi6nliJfooahcblx0XHRcdGN1clZhbDogdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA/IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykgOiAwLCAvL+mqkeihjOWMuuS4juesrOS4gOS4quS4i+agh1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHNlbGVjdDogZnVuY3Rpb24oZSkge1xuXHRcdFx0Y29uc29sZS5sb2coZSlcblx0XHRcdHRoaXMudGFiSW5kZXggPSBlO1xuXHRcdFx0dGhpcy53b3JrTGlzdCA9ICcnO1xuXHRcdFx0dGhpcy5wYWdlID0gMTtcblx0XHRcdHRoaXMuZ2V0V29yaygpO1xuXHRcdFx0dGhpcy5nb1RvcCgpO1xuXHRcdH0sXG5cdFx0dGFuS3Vhbmc6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0dmFyIGFyciA9IFtdXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaTx0aGlzLmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0YXJyID0gYXJyLmNvbmNhdCh0aGlzLmxpc3RbaV0udGV4dClcblx0XHRcdH1cblx0XHRcdGNvbnNvbGUubG9nKGFycilcblx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xuXHRcdFx0XHRpdGVtTGlzdDogYXJyLFxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRsZXQgaW5kZXggPSByZXMudGFwSW5kZXhcblx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IHRoYXQubGlzdFtpbmRleF0uYXJlYUlEO1xuXHRcdFx0XHRcdHRoYXQuY3VyVmFsID0gcmVzLnRhcEluZGV4XG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5saXN0W2luZGV4XS5hcmVhSUQsIFwiNjY2NjZcIik7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+mAieS4reS6huesrCcgKyByZXMudGFwSW5kZXggKyAn5Liq5oyJ6ZKuJyk7XG5cdFx0XHRcdFx0dGhhdC5nZXRXb3JrKCk7XG5cdFx0XHRcdFx0dGhhdC5nb1RvcCgpO1xuXHRcdFx0XHRcdC8vIHRoYXQuYWxsRGF0YSgpXG5cdFx0XHRcdFx0Ly8gdGhhdC50YWJMaXN0KClcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24ocmVzKSB7fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHNjYW5Db2RlOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5yZWRpcmVjdFRvKHtcblx0XHRcdFx0dXJsOiAnL3BhZ2VzL2xvZ3MvbG9ncz9zY2FuPScgKyAxLFxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGdldFdvcms6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0nLFxuXHRcdFx0fSlcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcblx0XHRcdGxldCBwbGFubmVkID0gJyc7XG5cdFx0XHRsZXQgdXJsID0gXCJcIjtcblx0XHRcdGxldCBkYXRhID0gJyYmcHV0X2FyZWFfaWQ9JyArIHRoYXQuYXJlYUlEXG5cdFx0XHRpZiAodGhpcy50YWJJbmRleCA9PSAwKSB7XG5cdFx0XHRcdHBsYW5uZWQgPSAxXG5cdFx0XHRcdHVybCA9IFwid29ya19vcmRlci9saXN0P3BsYW5uZWQ9XCIgKyBwbGFubmVkICsgZGF0YVxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLnRhYkluZGV4ID09IDEpIHtcblx0XHRcdFx0cGxhbm5lZCA9IDJcblx0XHRcdFx0dXJsID0gXCJ3b3JrX29yZGVyL215V29ya09yZGVyTGlzdD9wbGFubmVkPVwiICsgcGxhbm5lZCArIGRhdGFcblx0XHRcdH0gZWxzZSBpZiAodGhpcy50YWJJbmRleCA9PSAyKSB7XG5cdFx0XHRcdHBsYW5uZWQgPSAzXG5cdFx0XHRcdHVybCA9IFwid29ya19vcmRlci9teVdvcmtPcmRlckxpc3Q/cGxhbm5lZD1cIiArIHBsYW5uZWQgKyBkYXRhXG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMudGFiSW5kZXggPT0gMykge1xuXHRcdFx0XHRwbGFubmVkID0gNFxuXHRcdFx0XHR1cmwgPSBcIndvcmtfb3JkZXIvbXlXb3JrT3JkZXJMaXN0P3BsYW5uZWQ9XCIgKyBwbGFubmVkICsgZGF0YVxuXHRcdFx0fVxuXHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn5bel5Y2VJylcblx0XHRcdFx0Y29uc29sZS5sb2codXJsKVxuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0dGhpcy53b3JrTGlzdCA9IHJlcy5kYXRhLmRhdGFcblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+WbnuWIsOmhtumDqFxuXHRcdGdvVG9wOiBmdW5jdGlvbihlKSB7IC8vIOS4gOmUruWbnuWIsOmhtumDqFxuXHRcdFx0aWYgKHVuaS5wYWdlU2Nyb2xsVG8pIHtcblx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XG5cdFx0XHRcdFx0c2Nyb2xsVG9wOiAwXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHR3b3JkRGV0YWlsOiBmdW5jdGlvbihlKSB7XG5cdFx0XHQvL+W3peWNleivpuaDhVxuXHRcdFx0Y29uc29sZS5sb2coZSlcblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0dXJsOiAnL3BhZ2VzL21hbmFnZS93b3JrRGV0YWlsP2lkPScgKyBlLFxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxuXHRvbkxvYWQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHtcblx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0dmFyIGFyciA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xuXHRcdHRoaXMubGlzdCA9IHRoaXMubGlzdC5jb25jYXQoYXJyKTtcblx0XHR0aGF0Lm9wdGlvbjEgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKVxuXHRcdGxldCBjdXJWYWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpXG5cdFx0aWYgKGN1clZhbCkge1xuXHRcdFx0dGhhdC52YWx1ZTEgPSBjdXJWYWxcblx0XHR9XG5cdFx0bGV0IGFyZWFJRCA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VySWQnKVxuXHRcdGlmIChhcmVhSUQpIHtcblx0XHRcdHRoYXQuYXJlYUlEID0gYXJlYUlEXG5cdFx0fSBlbHNlIHtcblx0XHRcdGxldCBpZCA9IHRoYXQub3B0aW9uMVswXS5hcmVhSURcblx0XHRcdHRoYXQuYXJlYUlEID0gaWQ7XG5cdFx0fVxuXHRcdHRoYXQuZ2V0V29yaygpO1xuXHR9LFxuXHRvblB1bGxEb3duUmVmcmVzaDogZnVuY3Rpb24oKSB7XG5cdFx0dW5pLnNob3dOYXZpZ2F0aW9uQmFyTG9hZGluZygpO1xuXHRcdHRoaXMuZ2V0V29yaygpLCB1bmkuaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nKCksIHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XG5cdH0sXG5cdG9uUmVhY2hCb3R0b206IGZ1bmN0aW9uKCkge1xuXHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0dGl0bGU6ICfliqDovb3kuK0nLFxuXHRcdH0pXG5cdFx0bGV0IHBsYW5uZWQgPSAnJztcblx0XHR2YXIgcGFnZSA9IHRoYXQucGFnZSArIDFcblx0XHRpZiAodGhhdC50YWJJbmRleCA9PSAwKSB7XG5cdFx0XHRwbGFubmVkID0gMVxuXHRcdH0gZWxzZSBpZiAodGhhdC50YWJJbmRleCA9PSAxKSB7XG5cdFx0XHRwbGFubmVkID0gMlxuXHRcdH0gZWxzZSBpZiAodGhhdC50YWJJbmRleCA9PSAyKSB7XG5cdFx0XHRwbGFubmVkID0gM1xuXHRcdH0gZWxzZSBpZiAodGhhdC50YWJJbmRleCA9PSAzKSB7XG5cdFx0XHRwbGFubmVkID0gNFxuXHRcdH1cblx0XHRsZXQgdXJsID0gJ3dvcmtfb3JkZXIvbGlzdD9wbGFubmVkPScgKyBwbGFubmVkICsgJyYmcHV0X2FyZWFfaWQ9JyArIHRoYXQuYXJlYUlEICsgJyYmcGFnZT0nICsgcGFnZVxuXHRcdGFwcC5yZXF1ZXN0KHVybCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxuXHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRpZiAocmVzLmRhdGEuZGF0YS5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0dGhhdC53b3JrTGlzdCA9IHRoYXQud29ya0xpc3QuY29uY2F0KHJlcy5kYXRhLmRhdGEpO1xuXHRcdFx0XHRcdHRoYXQucGFnZSA9IHBhZ2U7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ayoeacieabtOWkmuS6hn4nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pXG5cdH0sXG5cdG9uU2hhcmVBcHBNZXNzYWdlOiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dGl0bGU6ICfovbvmnb7lh7rooYzvvIzmlrnkvr/kvaDmiJEnLFxuXHRcdFx0cGF0aDogJy9wYWdlcy9sb2dpbi9sb2dpbicsXG5cdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHt9XG5cdFx0fVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///149\n");
  31273. /***/ }),
  31274. /* 150 */
  31275. /*!*********************************************************************************!*\
  31276. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/password.vue?mpType=page ***!
  31277. \*********************************************************************************/
  31278. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31279. /*! no static exports found */
  31280. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31281. "use strict";
  31282. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./password.vue?vue&type=template&id=5ff5b5fe&mpType=page */ 317);\n/* harmony import */ var _password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./password.vue?vue&type=script&lang=js&mpType=page */ 319);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/password.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzE2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9wYXNzd29yZC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NWZmNWI1ZmUmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3Bhc3N3b3JkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9wYXNzd29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL3Bhc3N3b3JkLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///316\n");
  31283. /***/ }),
  31284. <<<<<<< HEAD
  31285. /* 317 */
  31286. /*!**************************************************************************************************!*\
  31287. !*** C:/Users/001/Desktop/运维端/pages/mine/password.vue?vue&type=template&id=5ff5b5fe&mpType=page ***!
  31288. \**************************************************************************************************/
  31289. =======
  31290. /* 151 */
  31291. /*!***************************************************************************************************************!*\
  31292. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/password.vue?vue&type=template&id=5ff5b5fe&mpType=page ***!
  31293. \***************************************************************************************************************/
  31294. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31295. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31296. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31297. "use strict";
  31298. __webpack_require__.r(__webpack_exports__);
  31299. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./password.vue?vue&type=template&id=5ff5b5fe&mpType=page */ 318);
  31300. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  31301. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  31302. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  31303. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_template_id_5ff5b5fe_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  31304. /***/ }),
  31305. <<<<<<< HEAD
  31306. /* 318 */
  31307. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31308. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/password.vue?vue&type=template&id=5ff5b5fe&mpType=page ***!
  31309. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31310. =======
  31311. /* 152 */
  31312. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31313. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/password.vue?vue&type=template&id=5ff5b5fe&mpType=page ***!
  31314. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31315. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31316. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31317. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31318. "use strict";
  31319. __webpack_require__.r(__webpack_exports__);
  31320. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  31321. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  31322. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  31323. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  31324. var components
  31325. var render = function() {
  31326. var _vm = this
  31327. var _h = _vm.$createElement
  31328. var _c = _vm._self._c || _h
  31329. return _c(
  31330. "view",
  31331. { staticClass: _vm._$s(0, "sc", "pwd"), attrs: { _i: 0 } },
  31332. [
  31333. _c("view", { staticClass: _vm._$s(1, "sc", "title"), attrs: { _i: 1 } }),
  31334. _c("view", { staticClass: _vm._$s(2, "sc", "inp"), attrs: { _i: 2 } }, [
  31335. _c("view", [
  31336. _c("text", {
  31337. staticClass: _vm._$s(4, "sc", "iconfont iconmima"),
  31338. attrs: { _i: 4 }
  31339. }),
  31340. _c("input", {
  31341. directives: [
  31342. {
  31343. name: "model",
  31344. rawName: "v-model",
  31345. value: _vm.oldPwd,
  31346. expression: "oldPwd"
  31347. }
  31348. ],
  31349. attrs: { _i: 5 },
  31350. domProps: { value: _vm._$s(5, "v-model", _vm.oldPwd) },
  31351. on: {
  31352. input: function($event) {
  31353. if ($event.target.composing) {
  31354. return
  31355. }
  31356. _vm.oldPwd = $event.target.value
  31357. }
  31358. }
  31359. })
  31360. ]),
  31361. _c("view", [
  31362. _c("text", {
  31363. staticClass: _vm._$s(7, "sc", "iconfont iconkey-result"),
  31364. attrs: { _i: 7 }
  31365. }),
  31366. _c("input", {
  31367. directives: [
  31368. {
  31369. name: "model",
  31370. rawName: "v-model",
  31371. value: _vm.newPwd,
  31372. expression: "newPwd"
  31373. }
  31374. ],
  31375. attrs: { _i: 8 },
  31376. domProps: { value: _vm._$s(8, "v-model", _vm.newPwd) },
  31377. on: {
  31378. input: function($event) {
  31379. if ($event.target.composing) {
  31380. return
  31381. }
  31382. _vm.newPwd = $event.target.value
  31383. }
  31384. }
  31385. })
  31386. ]),
  31387. _c("view", [
  31388. _c("text", {
  31389. staticClass: _vm._$s(10, "sc", "iconfont iconkey-result"),
  31390. attrs: { _i: 10 }
  31391. }),
  31392. _c("input", {
  31393. directives: [
  31394. {
  31395. name: "model",
  31396. rawName: "v-model",
  31397. value: _vm.sPwd,
  31398. expression: "sPwd"
  31399. }
  31400. ],
  31401. attrs: { _i: 11 },
  31402. domProps: { value: _vm._$s(11, "v-model", _vm.sPwd) },
  31403. on: {
  31404. input: function($event) {
  31405. if ($event.target.composing) {
  31406. return
  31407. }
  31408. _vm.sPwd = $event.target.value
  31409. }
  31410. }
  31411. })
  31412. ])
  31413. ]),
  31414. _c("view", {
  31415. staticClass: _vm._$s(12, "sc", "btn flexC"),
  31416. attrs: { _i: 12 },
  31417. on: { click: _vm.submit }
  31418. })
  31419. ]
  31420. )
  31421. }
  31422. var recyclableRender = false
  31423. var staticRenderFns = []
  31424. render._withStripped = true
  31425. /***/ }),
  31426. <<<<<<< HEAD
  31427. /* 319 */
  31428. /*!********************************************************************************************!*\
  31429. !*** C:/Users/001/Desktop/运维端/pages/mine/password.vue?vue&type=script&lang=js&mpType=page ***!
  31430. \********************************************************************************************/
  31431. =======
  31432. /* 153 */
  31433. /*!*********************************************************************************************************!*\
  31434. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/password.vue?vue&type=script&lang=js&mpType=page ***!
  31435. \*********************************************************************************************************/
  31436. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31437. /*! no static exports found */
  31438. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31439. "use strict";
  31440. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./password.vue?vue&type=script&lang=js&mpType=page */ 320);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_password_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIzMTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9wYXNzd29yZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcGFzc3dvcmQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///319\n");
  31441. /***/ }),
  31442. <<<<<<< HEAD
  31443. /* 320 */
  31444. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31445. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/password.vue?vue&type=script&lang=js&mpType=page ***!
  31446. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31447. =======
  31448. /* 154 */
  31449. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31450. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/password.vue?vue&type=script&lang=js&mpType=page ***!
  31451. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31452. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31453. /*! no static exports found */
  31454. /***/ (function(module, exports, __webpack_require__) {
  31455. "use strict";
  31456. <<<<<<< HEAD
  31457. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n oldPwd: '', //旧密码\n newPwd: '', //新密码\n sPwd: '' //确认密码\n };\n\n\n },\n methods: {\n submit: function submit() {var _this = this;\n if (!this.oldPwd) {\n uni.showToast({\n title: \"原密码不能为空\",\n icon: 'none' });\n\n } else if (!this.newPwd) {\n uni.showToast({\n title: '新密码不能为空',\n icon: 'none' });\n\n } else if (!this.sPwd) {\n uni.showToast({\n title: '确认密码不能为空',\n icon: 'none' });\n\n } else if (this.newPwd != this.sPwd) {\n uni.showToast({\n title: '确认密码与新密码不一致',\n icon: 'none' });\n\n } else {\n var data = {\n ole_password: this.oldPwd };\n\n app.request('personal/verifyOldPassword', data, 'POST').then(function (res) {\n if (res.statusCode == 400) {\n uni.showToast({\n title: '原始密码不正确',\n icon: 'none' });\n\n } else {\n var data = {\n old_password: _this.oldPwd,\n re_password: _this.newPwd,\n new_password: _this.sPwd };\n\n app.request('personal/changePassword', data, 'POST').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '修改密码成功',\n icon: 'none' });\n\n uni.clearStorage();\n uni.navigateTo({\n url: '/pages/login/login' });\n\n } else {\n\n uni.showToast({\n title: '修改密码失败',\n icon: 'none' });\n\n }\n });\n }\n });\n }\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9wYXNzd29yZC52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1QkEsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGdCQURBLEVBQ0E7QUFDQSxnQkFGQSxFQUVBO0FBQ0EsY0FIQSxDQUdBO0FBSEE7OztBQU9BLEdBVEE7QUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQURBO0FBRUEsc0JBRkE7O0FBSUEsT0FMQSxNQUtBO0FBQ0E7QUFDQSwwQkFEQTtBQUVBLHNCQUZBOztBQUlBLE9BTEEsTUFLQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSxzQkFGQTs7QUFJQSxPQUxBLE1BS0E7QUFDQTtBQUNBLDhCQURBO0FBRUEsc0JBRkE7O0FBSUEsT0FMQSxNQUtBO0FBQ0E7QUFDQSxtQ0FEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQSw4QkFEQTtBQUVBLDBCQUZBOztBQUlBLFdBTEEsTUFLQTtBQUNBO0FBQ0Esd0NBREE7QUFFQSx1Q0FGQTtBQUdBLHNDQUhBOztBQUtBO0FBQ0E7QUFDQTtBQUNBLGlDQURBO0FBRUEsOEJBRkE7O0FBSUE7QUFDQTtBQUNBLDJDQURBOztBQUdBLGVBVEEsTUFTQTs7QUFFQTtBQUNBLGlDQURBO0FBRUEsOEJBRkE7O0FBSUE7QUFDQSxhQWpCQTtBQWtCQTtBQUNBLFNBL0JBO0FBZ0NBO0FBQ0EsS0EzREEsRUFWQSxFIiwiZmlsZSI6IjMyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PCEtLeS/ruaUueWvhueggS0tPlxuXHQ8dmlldyBjbGFzcz1cInB3ZFwiPlxuXHRcdDx2aWV3IGNsYXNzPVwidGl0bGVcIj7pl6rnjrDlh7rooYzov5Dnu7TlubPlj7A8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJpbnBcIj5cblx0XHRcdDx2aWV3PlxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImljb25mb250IGljb25taW1hXCI+PC90ZXh0PlxuXHRcdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXljp/lr4bnoIFcIiB0eXBlPVwicGFzc3dvcmRcIiB2LW1vZGVsPVwib2xkUHdkXCI+PC9pbnB1dD5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3PlxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImljb25mb250IGljb25rZXktcmVzdWx0XCI+PC90ZXh0PlxuXHRcdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmlrDlr4bnoIFcIiB0eXBlPVwicGFzc3dvcmRcIiB2LW1vZGVsPVwibmV3UHdkXCI+PC9pbnB1dD5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3PlxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImljb25mb250IGljb25rZXktcmVzdWx0XCI+PC90ZXh0PlxuXHRcdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXnoa7orqTlr4bnoIFcIiB0eXBlPVwicGFzc3dvcmRcIiB2LW1vZGVsPVwic1B3ZFwiPjwvaW5wdXQ+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiYnRuIGZsZXhDXCIgQGNsaWNrPVwic3VibWl0XCI+56Gu6K6k5L+u5pS5PC92aWV3PlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHR2YXIgYXBwID0gZ2V0QXBwKCk7XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0b2xkUHdkOiAnJywgLy/ml6flr4bnoIFcblx0XHRcdFx0bmV3UHdkOiAnJywgLy/mlrDlr4bnoIFcblx0XHRcdFx0c1B3ZDogJycgLy/noa7orqTlr4bnoIFcblxuXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRzdWJtaXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRpZiAoIXRoaXMub2xkUHdkKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogXCLljp/lr4bnoIHkuI3og73kuLrnqbpcIixcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gZWxzZSBpZiAoIXRoaXMubmV3UHdkKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aWsOWvhueggeS4jeiDveS4uuepuicsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKCF0aGlzLnNQd2QpIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn56Gu6K6k5a+G56CB5LiN6IO95Li656m6Jyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gZWxzZSBpZiAodGhpcy5uZXdQd2QgIT0gdGhpcy5zUHdkKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ehruiupOWvhueggeS4juaWsOWvhueggeS4jeS4gOiHtCcsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHZhciBkYXRhID0ge1xuXHRcdFx0XHRcdFx0b2xlX3Bhc3N3b3JkOiB0aGlzLm9sZFB3ZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRhcHAucmVxdWVzdCgncGVyc29uYWwvdmVyaWZ5T2xkUGFzc3dvcmQnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSA0MDApIHtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfljp/lp4vlr4bnoIHkuI3mraPnoa4nLFxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dmFyIGRhdGEgPSB7XG5cdFx0XHRcdFx0XHRcdFx0b2xkX3Bhc3N3b3JkOiB0aGlzLm9sZFB3ZCxcblx0XHRcdFx0XHRcdFx0XHRyZV9wYXNzd29yZDogdGhpcy5uZXdQd2QsXG5cdFx0XHRcdFx0XHRcdFx0bmV3X3Bhc3N3b3JkOiB0aGlzLnNQd2QsXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ3BlcnNvbmFsL2NoYW5nZVBhc3N3b3JkJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5L+u5pS55a+G56CB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvbG9naW4vbG9naW4nXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+S/ruaUueWvhueggeWksei0pScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZT5cblx0LyogcGFnZXMvcGFzc3dvcmQvcGFzc3dvcmQud3hzcyAqL1xuXG5cdC5wd2Qge1xuXHRcdHdpZHRoOiA4NSU7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdH1cblxuXHQucHdkIC50aXRsZSB7XG5cdFx0d2lkdGg6IDgwJTtcblx0XHRmb250LXNpemU6IDQwcnB4O1xuXHRcdGZvbnQtZmFtaWx5OiBGWkNRSlctLUdCMS0wO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Y29sb3I6IHJnYmEoMTM1LCAxMzUsIDEzNSwgMSk7XG5cdFx0cGFkZGluZzogNjNycHggMCA3OHJweCAwO1xuXHR9XG5cblx0LnB3ZCAuaW5wPnZpZXcge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0bWFyZ2luLXRvcDogNjBycHg7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cdH1cblxuXHQuaW5wIC5pY29uZm9udCB7XG5cdFx0Zm9udC1zaXplOiA0MHJweDtcblx0XHRjb2xvcjogIzg3ODc4Nztcblx0XHRtYXJnaW4tbGVmdDogMTVycHg7XG5cdH1cblxuXHQuaW5wIHZpZXcgaW5wdXQge1xuXHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0d2lkdGg6IDgwJTtcblx0XHRwYWRkaW5nOiAwIDAgMTVycHggMTBycHg7XG5cdH1cblxuXHQuaW5wIHZpZXcgLnBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogI2I2YjZiNjtcblx0XHRmb250LXNpemU6IDI4cnB4O1xuXHR9XG5cblx0LmJ0biB7XG5cdFx0d2lkdGg6IDYwMHJweDtcblx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNCwgMjEzLCAxODUsIDEpO1xuXHRcdGJveC1zaGFkb3c6IDBycHggOHJweCAxM3JweCAwcnB4IHJnYmEoMTAwLCAyMzksIDIxOCwgMSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XG5cdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRmb250LWZhbWlseTogUGluZ0ZhbmcgU0M7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcblx0XHRtYXJnaW4tdG9wOiA4MHJweCAhaW1wb3J0YW50O1xuXHR9XG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///320\n");
  31458. /***/ }),
  31459. /* 321 */
  31460. /*!*********************************************************************!*\
  31461. !*** C:/Users/001/Desktop/运维端/pages/mine/personnel.vue?mpType=page ***!
  31462. \*********************************************************************/
  31463. =======
  31464. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n oldPwd: '', //旧密码\n newPwd: '', //新密码\n sPwd: '' //确认密码\n };\n\n\n },\n methods: {\n submit: function submit() {var _this = this;\n if (!this.oldPwd) {\n uni.showToast({\n title: \"原密码不能为空\",\n icon: 'none' });\n\n } else if (!this.newPwd) {\n uni.showToast({\n title: '新密码不能为空',\n icon: 'none' });\n\n } else if (!this.sPwd) {\n uni.showToast({\n title: '确认密码不能为空',\n icon: 'none' });\n\n } else if (this.newPwd != this.sPwd) {\n uni.showToast({\n title: '确认密码与新密码不一致',\n icon: 'none' });\n\n } else {\n var data = {\n ole_password: this.oldPwd };\n\n app.request('personal/verifyOldPassword', data, 'POST').then(function (res) {\n if (res.statusCode == 400) {\n uni.showToast({\n title: '原始密码不正确',\n icon: 'none' });\n\n } else {\n var data = {\n old_password: _this.oldPwd,\n re_password: _this.newPwd,\n new_password: _this.sPwd };\n\n app.request('personal/changePassword', data, 'POST').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '修改密码成功',\n icon: 'none' });\n\n uni.clearStorage();\n uni.navigateTo({\n url: '/pages/login/login' });\n\n } else {\n\n uni.showToast({\n title: '修改密码失败',\n icon: 'none' });\n\n }\n });\n }\n });\n }\n } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9wYXNzd29yZC52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsIm9sZFB3ZCIsIm5ld1B3ZCIsInNQd2QiLCJtZXRob2RzIiwic3VibWl0IiwidW5pIiwic2hvd1RvYXN0IiwidGl0bGUiLCJpY29uIiwib2xlX3Bhc3N3b3JkIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJzdGF0dXNDb2RlIiwib2xkX3Bhc3N3b3JkIiwicmVfcGFzc3dvcmQiLCJuZXdfcGFzc3dvcmQiLCJjbGVhclN0b3JhZ2UiLCJuYXZpZ2F0ZVRvIiwidXJsIl0sIm1hcHBpbmdzIjoid0ZBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsR0FBRyxHQUFHQyxNQUFNLEVBQWhCLEM7QUFDZTtBQUNkQyxNQURjLGtCQUNQO0FBQ04sV0FBTztBQUNOQyxZQUFNLEVBQUUsRUFERixFQUNNO0FBQ1pDLFlBQU0sRUFBRSxFQUZGLEVBRU07QUFDWkMsVUFBSSxFQUFFLEVBSEEsQ0FHRztBQUhILEtBQVA7OztBQU9BLEdBVGE7QUFVZEMsU0FBTyxFQUFFO0FBQ1JDLFVBQU0sRUFBRSxrQkFBVztBQUNsQixVQUFJLENBQUMsS0FBS0osTUFBVixFQUFrQjtBQUNqQkssV0FBRyxDQUFDQyxTQUFKLENBQWM7QUFDYkMsZUFBSyxFQUFFLFNBRE07QUFFYkMsY0FBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQSxPQUxELE1BS08sSUFBSSxDQUFDLEtBQUtQLE1BQVYsRUFBa0I7QUFDeEJJLFdBQUcsQ0FBQ0MsU0FBSixDQUFjO0FBQ2JDLGVBQUssRUFBRSxTQURNO0FBRWJDLGNBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUEsT0FMTSxNQUtBLElBQUksQ0FBQyxLQUFLTixJQUFWLEVBQWdCO0FBQ3RCRyxXQUFHLENBQUNDLFNBQUosQ0FBYztBQUNiQyxlQUFLLEVBQUUsVUFETTtBQUViQyxjQUFJLEVBQUUsTUFGTyxFQUFkOztBQUlBLE9BTE0sTUFLQSxJQUFJLEtBQUtQLE1BQUwsSUFBZSxLQUFLQyxJQUF4QixFQUE4QjtBQUNwQ0csV0FBRyxDQUFDQyxTQUFKLENBQWM7QUFDYkMsZUFBSyxFQUFFLGFBRE07QUFFYkMsY0FBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQSxPQUxNLE1BS0E7QUFDTixZQUFJVCxJQUFJLEdBQUc7QUFDVlUsc0JBQVksRUFBRSxLQUFLVCxNQURULEVBQVg7O0FBR0FILFdBQUcsQ0FBQ2EsT0FBSixDQUFZLDRCQUFaLEVBQTBDWCxJQUExQyxFQUFnRCxNQUFoRCxFQUF3RFksSUFBeEQsQ0FBNkQsVUFBQUMsR0FBRyxFQUFJO0FBQ25FLGNBQUlBLEdBQUcsQ0FBQ0MsVUFBSixJQUFrQixHQUF0QixFQUEyQjtBQUMxQlIsZUFBRyxDQUFDQyxTQUFKLENBQWM7QUFDYkMsbUJBQUssRUFBRSxTQURNO0FBRWJDLGtCQUFJLEVBQUUsTUFGTyxFQUFkOztBQUlBLFdBTEQsTUFLTztBQUNOLGdCQUFJVCxJQUFJLEdBQUc7QUFDVmUsMEJBQVksRUFBRSxLQUFJLENBQUNkLE1BRFQ7QUFFVmUseUJBQVcsRUFBRSxLQUFJLENBQUNkLE1BRlI7QUFHVmUsMEJBQVksRUFBRSxLQUFJLENBQUNkLElBSFQsRUFBWDs7QUFLQUwsZUFBRyxDQUFDYSxPQUFKLENBQVkseUJBQVosRUFBdUNYLElBQXZDLEVBQTZDLE1BQTdDLEVBQXFEWSxJQUFyRCxDQUEwRCxVQUFBQyxHQUFHLEVBQUk7QUFDaEUsa0JBQUlBLEdBQUcsQ0FBQ0MsVUFBSixJQUFrQixHQUF0QixFQUEyQjtBQUMxQlIsbUJBQUcsQ0FBQ0MsU0FBSixDQUFjO0FBQ2JDLHVCQUFLLEVBQUUsUUFETTtBQUViQyxzQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQUgsbUJBQUcsQ0FBQ1ksWUFBSjtBQUNBWixtQkFBRyxDQUFDYSxVQUFKLENBQWU7QUFDZEMscUJBQUcsRUFBRSxvQkFEUyxFQUFmOztBQUdBLGVBVEQsTUFTTzs7QUFFTmQsbUJBQUcsQ0FBQ0MsU0FBSixDQUFjO0FBQ2JDLHVCQUFLLEVBQUUsUUFETTtBQUViQyxzQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQTtBQUNELGFBakJEO0FBa0JBO0FBQ0QsU0EvQkQ7QUFnQ0E7QUFDRCxLQTNETyxFQVZLLEUiLCJmaWxlIjoiMTU0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcCA9IGdldEFwcCgpO1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRvbGRQd2Q6ICcnLCAvL+aXp+WvhueggVxuXHRcdFx0bmV3UHdkOiAnJywgLy/mlrDlr4bnoIFcblx0XHRcdHNQd2Q6ICcnIC8v56Gu6K6k5a+G56CBXG5cblxuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHN1Ym1pdDogZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAoIXRoaXMub2xkUHdkKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiBcIuWOn+WvhueggeS4jeiDveS4uuepulwiLFxuXHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIGlmICghdGhpcy5uZXdQd2QpIHtcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfmlrDlr4bnoIHkuI3og73kuLrnqbonLFxuXHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0fSBlbHNlIGlmICghdGhpcy5zUHdkKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn56Gu6K6k5a+G56CB5LiN6IO95Li656m6Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5uZXdQd2QgIT0gdGhpcy5zUHdkKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn56Gu6K6k5a+G56CB5LiO5paw5a+G56CB5LiN5LiA6Ie0Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHZhciBkYXRhID0ge1xuXHRcdFx0XHRcdG9sZV9wYXNzd29yZDogdGhpcy5vbGRQd2Rcblx0XHRcdFx0fVxuXHRcdFx0XHRhcHAucmVxdWVzdCgncGVyc29uYWwvdmVyaWZ5T2xkUGFzc3dvcmQnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gNDAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfljp/lp4vlr4bnoIHkuI3mraPnoa4nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHZhciBkYXRhID0ge1xuXHRcdFx0XHRcdFx0XHRvbGRfcGFzc3dvcmQ6IHRoaXMub2xkUHdkLFxuXHRcdFx0XHRcdFx0XHRyZV9wYXNzd29yZDogdGhpcy5uZXdQd2QsXG5cdFx0XHRcdFx0XHRcdG5ld19wYXNzd29yZDogdGhpcy5zUHdkLFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ3BlcnNvbmFsL2NoYW5nZVBhc3N3b3JkJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5L+u5pS55a+G56CB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0dW5pLmNsZWFyU3RvcmFnZSgpO1xuXHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbidcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfkv67mlLnlr4bnoIHlpLHotKUnLFxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///154\n");
  31465. /***/ }),
  31466. /* 155 */
  31467. /*!**********************************************************************************!*\
  31468. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/personnel.vue?mpType=page ***!
  31469. \**********************************************************************************/
  31470. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31471. /*! no static exports found */
  31472. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31473. "use strict";
  31474. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./personnel.vue?vue&type=template&id=559f3026&mpType=page */ 322);\n/* harmony import */ var _personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./personnel.vue?vue&type=script&lang=js&mpType=page */ 324);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/personnel.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUk7QUFDakk7QUFDd0U7QUFDTDs7O0FBR25FO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDBGQUFNO0FBQ1IsRUFBRSwrRkFBTTtBQUNSLEVBQUUsd0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzIxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9wZXJzb25uZWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTU1OWYzMDI2Jm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9wZXJzb25uZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL3BlcnNvbm5lbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL3BlcnNvbm5lbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///321\n");
  31475. /***/ }),
  31476. <<<<<<< HEAD
  31477. /* 322 */
  31478. /*!***************************************************************************************************!*\
  31479. !*** C:/Users/001/Desktop/运维端/pages/mine/personnel.vue?vue&type=template&id=559f3026&mpType=page ***!
  31480. \***************************************************************************************************/
  31481. =======
  31482. /* 156 */
  31483. /*!****************************************************************************************************************!*\
  31484. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/personnel.vue?vue&type=template&id=559f3026&mpType=page ***!
  31485. \****************************************************************************************************************/
  31486. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31487. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31488. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31489. "use strict";
  31490. __webpack_require__.r(__webpack_exports__);
  31491. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./personnel.vue?vue&type=template&id=559f3026&mpType=page */ 323);
  31492. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  31493. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  31494. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  31495. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_template_id_559f3026_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  31496. /***/ }),
  31497. <<<<<<< HEAD
  31498. /* 323 */
  31499. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31500. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/personnel.vue?vue&type=template&id=559f3026&mpType=page ***!
  31501. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31502. =======
  31503. /* 157 */
  31504. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31505. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/personnel.vue?vue&type=template&id=559f3026&mpType=page ***!
  31506. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31507. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31508. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31509. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31510. "use strict";
  31511. __webpack_require__.r(__webpack_exports__);
  31512. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  31513. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  31514. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  31515. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  31516. var components
  31517. var render = function() {
  31518. var _vm = this
  31519. var _h = _vm.$createElement
  31520. var _c = _vm._self._c || _h
  31521. return _c(
  31522. "view",
  31523. { staticClass: _vm._$s(0, "sc", "box"), attrs: { _i: 0 } },
  31524. [
  31525. _vm._l(_vm._$s(1, "f", { forItems: _vm.workList }), function(
  31526. item,
  31527. index,
  31528. $20,
  31529. $30
  31530. ) {
  31531. return _c(
  31532. "view",
  31533. {
  31534. key: _vm._$s(1, "f", { forIndex: $20, key: index }),
  31535. staticClass: _vm._$s("1-" + $30, "sc", "view"),
  31536. attrs: { _i: "1-" + $30 }
  31537. },
  31538. [
  31539. _c("text", [
  31540. _vm._v(_vm._$s("2-" + $30, "t0-0", _vm._s(item.name)))
  31541. ]),
  31542. _c("text"),
  31543. _c("text", [
  31544. _vm._v(_vm._$s("4-" + $30, "t0-0", _vm._s(item.phone)))
  31545. ])
  31546. ]
  31547. )
  31548. }),
  31549. _vm._$s(5, "i", _vm.workList.length == 0)
  31550. ? _c(
  31551. "view",
  31552. { staticClass: _vm._$s(5, "sc", "noData"), attrs: { _i: 5 } },
  31553. [_c("image", { attrs: { _i: 6 } }), _c("view")]
  31554. )
  31555. : _vm._e()
  31556. ],
  31557. 2
  31558. )
  31559. }
  31560. var recyclableRender = false
  31561. var staticRenderFns = []
  31562. render._withStripped = true
  31563. /***/ }),
  31564. <<<<<<< HEAD
  31565. /* 324 */
  31566. /*!*********************************************************************************************!*\
  31567. !*** C:/Users/001/Desktop/运维端/pages/mine/personnel.vue?vue&type=script&lang=js&mpType=page ***!
  31568. \*********************************************************************************************/
  31569. =======
  31570. /* 158 */
  31571. /*!**********************************************************************************************************!*\
  31572. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/personnel.vue?vue&type=script&lang=js&mpType=page ***!
  31573. \**********************************************************************************************************/
  31574. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31575. /*! no static exports found */
  31576. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31577. "use strict";
  31578. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./personnel.vue?vue&type=script&lang=js&mpType=page */ 325);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_personnel_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStpQixDQUFnQixrbEJBQUcsRUFBQyIsImZpbGUiOiIzMjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9wZXJzb25uZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3BlcnNvbm5lbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///324\n");
  31579. /***/ }),
  31580. <<<<<<< HEAD
  31581. /* 325 */
  31582. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31583. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/personnel.vue?vue&type=script&lang=js&mpType=page ***!
  31584. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31585. =======
  31586. /* 159 */
  31587. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31588. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/personnel.vue?vue&type=script&lang=js&mpType=page ***!
  31589. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31590. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31591. /*! no static exports found */
  31592. /***/ (function(module, exports, __webpack_require__) {
  31593. "use strict";
  31594. <<<<<<< HEAD
  31595. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n workList: '' };\n\n },\n onLoad: function onLoad() {\n this.getWorker();\n },\n methods: {\n getWorker: function getWorker() {var _this = this;\n uni.showToast({\n title: \"加载中\",\n icon: 'none' });\n\n app.request('personal/workerList', '', 'POST').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, '这是列表数据打印', \" at pages/mine/personnel.vue:34\");\n if (res.data) {\n _this.workList = res.data;\n } else {\n _this.workList = '';\n }\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9wZXJzb25uZWwudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQWVBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxrQkFEQTs7QUFHQSxHQUxBO0FBTUEsUUFOQSxvQkFNQTtBQUNBO0FBQ0EsR0FSQTtBQVNBO0FBQ0E7QUFDQTtBQUNBLG9CQURBO0FBRUEsb0JBRkE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQSxPQVJBO0FBU0EsS0FmQSxFQVRBLEUiLCJmaWxlIjoiMzI1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiYm94XCI+XHJcblx0ICA8dmlldyBjbGFzcz1cInZpZXdcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiB3b3JrTGlzdFwiIDprZXk9J2luZGV4Jz5cclxuXHQgICAgPHRleHQ+57u05L+u5Lq65ZGY77yae3tpdGVtLm5hbWV9fTwvdGV4dD5cclxuXHQgICAgPHRleHQ+6IGM5L2N77ya57u05L+u5oqA5pyv5Lq65ZGYPC90ZXh0PlxyXG5cdCAgICA8dGV4dD7ogZTns7vmlrnlvI/vvJp7e2l0ZW0ucGhvbmV9fTwvdGV4dD5cclxuXHQgIDwvdmlldz4gIFxyXG5cdCAgPHZpZXcgY2xhc3M9XCJub0RhdGFcIiB2LWlmPVwid29ya0xpc3QubGVuZ3RoPT0wXCI+XHJcblx0ICAgIDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vbm9uZS5wbmdcIj48L2ltYWdlPlxyXG5cdCAgICA8dmlldz7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdCAgPC92aWV3PiBcclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBhcHAgPSBnZXRBcHAoKVxyXG5cdGV4cG9ydCBkZWZhdWx0e1xyXG5cdFx0ZGF0YSgpe1xyXG5cdFx0ICByZXR1cm57XHJcblx0XHRcdCAgd29ya0xpc3Q6ICcnLFxyXG5cdFx0ICB9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHQgdGhpcy5nZXRXb3JrZXIoKTtcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOntcclxuXHRcdFx0Z2V0V29ya2VyOmZ1bmN0aW9uKCl7XHJcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHR0aXRsZTpcIuWKoOi9veS4rVwiLFxyXG5cdFx0XHRcdFx0aWNvbjonbm9uZSdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdwZXJzb25hbC93b3JrZXJMaXN0JywgJycsICdQT1NUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsJ+i/meaYr+WIl+ihqOaVsOaNruaJk+WNsCcpXHJcblx0XHRcdFx0XHRpZihyZXMuZGF0YSl7XHJcblx0XHRcdFx0XHRcdHRoaXMud29ya0xpc3Q9cmVzLmRhdGFcclxuXHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHR0aGlzLndvcmtMaXN0PScnXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0QGltcG9ydCB1cmwoXCIvc3RhdGljL2Nzcy9iYXNlLmNzc1wiKTtcclxuXHRwYWdlIHtcclxuXHQgIHdpZHRoOiAxMDAlO1xyXG5cdCAgaGVpZ2h0OiAxMDAlO1xyXG5cdCAgYmFja2dyb3VuZDogI2VlZTtcclxuXHR9XHJcblx0XHJcblx0LmJveCB7XHJcblx0ICB3aWR0aDogMTAwJTtcclxuXHQgIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHQgIHBhZGRpbmctdG9wOiAxMHJweDtcclxuXHR9XHJcblx0XHJcblx0LmJveCAudmlldyB7XHJcblx0ICB3aWR0aDogOTAlO1xyXG5cdCAgYmFja2dyb3VuZDogd2hpdGU7XHJcblx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdCAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHQgIGhlaWdodDogMjAwcnB4O1xyXG5cdCAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblx0ICBtYXJnaW4tdG9wOiAyMHJweDtcclxuXHQgIHBhZGRpbmctbGVmdDogMzNycHg7XHJcblx0ICBmb250LXNpemU6IDI4cnB4O1xyXG5cdCAgZm9udC1mYW1pbHk6IFBpbmdGYW5nIFNDO1xyXG5cdCAgZm9udC13ZWlnaHQ6IDUwMDtcclxuXHQgIGNvbG9yOiByZ2JhKDc3LCA3NywgNzcsIDEpO1xyXG5cdCAgYm9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0fVxyXG5cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///325\n");
  31596. /***/ }),
  31597. /* 326 */
  31598. /*!*******************************************************************!*\
  31599. !*** C:/Users/001/Desktop/运维端/pages/mine/control.vue?mpType=page ***!
  31600. \*******************************************************************/
  31601. =======
  31602. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n workList: '' };\n\n },\n onLoad: function onLoad() {\n this.getWorker();\n },\n methods: {\n getWorker: function getWorker() {var _this = this;\n uni.showToast({\n title: \"加载中\",\n icon: 'none' });\n\n app.request('personal/workerList', '', 'POST').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, '这是列表数据打印', \" at pages/mine/personnel.vue:34\");\n if (res.data) {\n _this.workList = res.data;\n } else {\n _this.workList = '';\n }\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9wZXJzb25uZWwudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJ3b3JrTGlzdCIsIm9uTG9hZCIsImdldFdvcmtlciIsIm1ldGhvZHMiLCJ1bmkiLCJzaG93VG9hc3QiLCJ0aXRsZSIsImljb24iLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsImhpZGVMb2FkaW5nIl0sIm1hcHBpbmdzIjoicUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxHQUFHLEdBQUdDLE1BQU0sRUFBaEIsQztBQUNjO0FBQ2JDLE1BRGEsa0JBQ1A7QUFDSixXQUFNO0FBQ0xDLGNBQVEsRUFBRSxFQURMLEVBQU47O0FBR0QsR0FMWTtBQU1iQyxRQU5hLG9CQU1KO0FBQ1AsU0FBS0MsU0FBTDtBQUNELEdBUlk7QUFTYkMsU0FBTyxFQUFDO0FBQ1BELGFBQVMsRUFBQyxxQkFBVTtBQUNuQkUsU0FBRyxDQUFDQyxTQUFKLENBQWM7QUFDYkMsYUFBSyxFQUFDLEtBRE87QUFFYkMsWUFBSSxFQUFDLE1BRlEsRUFBZDs7QUFJQVYsU0FBRyxDQUFDVyxPQUFKLENBQVkscUJBQVosRUFBbUMsRUFBbkMsRUFBdUMsTUFBdkMsRUFBK0NDLElBQS9DLENBQW9ELFVBQUFDLEdBQUcsRUFBSTtBQUMxRE4sV0FBRyxDQUFDTyxXQUFKO0FBQ0EscUJBQVlELEdBQVosRUFBZ0IsVUFBaEI7QUFDQSxZQUFHQSxHQUFHLENBQUNYLElBQVAsRUFBWTtBQUNYLGVBQUksQ0FBQ0MsUUFBTCxHQUFjVSxHQUFHLENBQUNYLElBQWxCO0FBQ0EsU0FGRCxNQUVLO0FBQ0osZUFBSSxDQUFDQyxRQUFMLEdBQWMsRUFBZDtBQUNBO0FBQ0QsT0FSRDtBQVNBLEtBZk0sRUFUSyxFIiwiZmlsZSI6IjE1OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKClcbmV4cG9ydCBkZWZhdWx0e1xuXHRkYXRhKCl7XG5cdCAgcmV0dXJue1xuXHRcdCAgd29ya0xpc3Q6ICcnLFxuXHQgIH1cblx0fSxcblx0b25Mb2FkKCkge1xuXHRcdCB0aGlzLmdldFdvcmtlcigpO1xuXHR9LFxuXHRtZXRob2RzOntcblx0XHRnZXRXb3JrZXI6ZnVuY3Rpb24oKXtcblx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHR0aXRsZTpcIuWKoOi9veS4rVwiLFxuXHRcdFx0XHRpY29uOidub25lJ1xuXHRcdFx0fSlcblx0XHRcdGFwcC5yZXF1ZXN0KCdwZXJzb25hbC93b3JrZXJMaXN0JywgJycsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCfov5nmmK/liJfooajmlbDmja7miZPljbAnKVxuXHRcdFx0XHRpZihyZXMuZGF0YSl7XG5cdFx0XHRcdFx0dGhpcy53b3JrTGlzdD1yZXMuZGF0YVxuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR0aGlzLndvcmtMaXN0PScnXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fVxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///159\n");
  31603. /***/ }),
  31604. /* 160 */
  31605. /*!********************************************************************************!*\
  31606. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control.vue?mpType=page ***!
  31607. \********************************************************************************/
  31608. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31609. /*! no static exports found */
  31610. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31611. "use strict";
  31612. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./control.vue?vue&type=template&id=925fd32c&scoped=true&mpType=page */ 327);\n/* harmony import */ var _control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./control.vue?vue&type=script&lang=js&mpType=page */ 329);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"925fd32c\",\n null,\n false,\n _control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/control.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkk7QUFDM0k7QUFDc0U7QUFDTDs7O0FBR2pFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHdGQUFNO0FBQ1IsRUFBRSx5R0FBTTtBQUNSLEVBQUUsa0hBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsNkdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzI2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9jb250cm9sLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05MjVmZDMyYyZzY29wZWQ9dHJ1ZSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY29udHJvbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY29udHJvbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjkyNWZkMzJjXCIsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInBhZ2VzL21pbmUvY29udHJvbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///326\n");
  31613. /***/ }),
  31614. <<<<<<< HEAD
  31615. /* 327 */
  31616. /*!*************************************************************************************************************!*\
  31617. !*** C:/Users/001/Desktop/运维端/pages/mine/control.vue?vue&type=template&id=925fd32c&scoped=true&mpType=page ***!
  31618. \*************************************************************************************************************/
  31619. =======
  31620. /* 161 */
  31621. /*!**************************************************************************************************************************!*\
  31622. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control.vue?vue&type=template&id=925fd32c&scoped=true&mpType=page ***!
  31623. \**************************************************************************************************************************/
  31624. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31625. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31626. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31627. "use strict";
  31628. __webpack_require__.r(__webpack_exports__);
  31629. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./control.vue?vue&type=template&id=925fd32c&scoped=true&mpType=page */ 328);
  31630. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  31631. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  31632. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  31633. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_template_id_925fd32c_scoped_true_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  31634. /***/ }),
  31635. <<<<<<< HEAD
  31636. /* 328 */
  31637. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31638. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/control.vue?vue&type=template&id=925fd32c&scoped=true&mpType=page ***!
  31639. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31640. =======
  31641. /* 162 */
  31642. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31643. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control.vue?vue&type=template&id=925fd32c&scoped=true&mpType=page ***!
  31644. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31645. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31646. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31647. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31648. "use strict";
  31649. __webpack_require__.r(__webpack_exports__);
  31650. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  31651. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  31652. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  31653. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  31654. var components
  31655. var render = function() {
  31656. var _vm = this
  31657. var _h = _vm.$createElement
  31658. var _c = _vm._self._c || _h
  31659. return _c(
  31660. "view",
  31661. { staticClass: _vm._$s(0, "sc", "box"), attrs: { _i: 0 } },
  31662. [
  31663. _c("view", { staticClass: _vm._$s(1, "sc", "tab"), attrs: { _i: 1 } }, [
  31664. _c(
  31665. "view",
  31666. {
  31667. class: _vm._$s(2, "c", _vm.index == 0 ? "active" : ""),
  31668. attrs: { _i: 2 },
  31669. on: {
  31670. click: function($event) {
  31671. return _vm.tap(0)
  31672. }
  31673. }
  31674. },
  31675. [_c("text")]
  31676. ),
  31677. _c(
  31678. "view",
  31679. {
  31680. class: _vm._$s(4, "c", _vm.index == 1 ? "active" : ""),
  31681. attrs: { _i: 4 },
  31682. on: {
  31683. click: function($event) {
  31684. return _vm.tap(1)
  31685. }
  31686. }
  31687. },
  31688. [_c("text")]
  31689. )
  31690. ]),
  31691. _vm._$s(6, "i", _vm.index == 0)
  31692. ? [
  31693. _c(
  31694. "view",
  31695. { staticClass: _vm._$s(7, "sc", "ma"), attrs: { _i: 7 } },
  31696. [
  31697. _c(
  31698. "view",
  31699. { staticClass: _vm._$s(8, "sc", "view"), attrs: { _i: 8 } },
  31700. [
  31701. _c("input", {
  31702. attrs: {
  31703. value: _vm._$s(9, "a-value", _vm.erweima),
  31704. _i: 9
  31705. },
  31706. on: { input: _vm.input1 }
  31707. }),
  31708. _c(
  31709. "view",
  31710. {
  31711. staticClass: _vm._$s(10, "sc", "btn"),
  31712. attrs: { _i: 10 },
  31713. on: { click: _vm.erwei }
  31714. },
  31715. [_c("text")]
  31716. )
  31717. ]
  31718. ),
  31719. _c(
  31720. "view",
  31721. { staticClass: _vm._$s(12, "sc", "view"), attrs: { _i: 12 } },
  31722. [
  31723. _c("input", {
  31724. attrs: {
  31725. value: _vm._$s(13, "a-value", _vm.value),
  31726. _i: 13
  31727. },
  31728. on: { input: _vm.input2 }
  31729. }),
  31730. _c(
  31731. "view",
  31732. {
  31733. staticClass: _vm._$s(14, "sc", "btn"),
  31734. attrs: { _i: 14 },
  31735. on: { click: _vm.tiaoxing }
  31736. },
  31737. [_c("text")]
  31738. )
  31739. ]
  31740. )
  31741. ]
  31742. ),
  31743. _c(
  31744. "view",
  31745. {
  31746. staticClass: _vm._$s(16, "sc", "btm"),
  31747. attrs: { _i: 16 },
  31748. on: { click: _vm.qued }
  31749. },
  31750. [_c("text")]
  31751. )
  31752. ]
  31753. : _vm._e(),
  31754. _vm._$s(18, "i", _vm.index == 1)
  31755. ? [
  31756. _c(
  31757. "view",
  31758. { staticClass: _vm._$s(19, "sc", "ma"), attrs: { _i: 19 } },
  31759. [
  31760. _c(
  31761. "view",
  31762. { staticClass: _vm._$s(20, "sc", "view"), attrs: { _i: 20 } },
  31763. [
  31764. _c("input", {
  31765. attrs: {
  31766. value: _vm._$s(21, "a-value", _vm.value),
  31767. _i: 21
  31768. },
  31769. on: { input: _vm.input2 }
  31770. }),
  31771. _c(
  31772. "view",
  31773. {
  31774. staticClass: _vm._$s(22, "sc", "btn"),
  31775. attrs: { _i: 22 },
  31776. on: {
  31777. click: function($event) {
  31778. return _vm.tiaoxing(3)
  31779. }
  31780. }
  31781. },
  31782. [_c("text")]
  31783. )
  31784. ]
  31785. )
  31786. ]
  31787. ),
  31788. _c(
  31789. "view",
  31790. {
  31791. staticClass: _vm._$s(24, "sc", "btm"),
  31792. attrs: { _i: 24 },
  31793. on: { click: _vm.relieve }
  31794. },
  31795. [_c("text")]
  31796. )
  31797. ]
  31798. : _vm._e()
  31799. ],
  31800. 2
  31801. )
  31802. }
  31803. var recyclableRender = false
  31804. var staticRenderFns = []
  31805. render._withStripped = true
  31806. /***/ }),
  31807. <<<<<<< HEAD
  31808. /* 329 */
  31809. /*!*******************************************************************************************!*\
  31810. !*** C:/Users/001/Desktop/运维端/pages/mine/control.vue?vue&type=script&lang=js&mpType=page ***!
  31811. \*******************************************************************************************/
  31812. =======
  31813. /* 163 */
  31814. /*!********************************************************************************************************!*\
  31815. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control.vue?vue&type=script&lang=js&mpType=page ***!
  31816. \********************************************************************************************************/
  31817. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31818. /*! no static exports found */
  31819. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31820. "use strict";
  31821. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./control.vue?vue&type=script&lang=js&mpType=page */ 330);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_control_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZpQixDQUFnQixnbEJBQUcsRUFBQyIsImZpbGUiOiIzMjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jb250cm9sLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jb250cm9sLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///329\n");
  31822. /***/ }),
  31823. <<<<<<< HEAD
  31824. /* 330 */
  31825. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31826. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/control.vue?vue&type=script&lang=js&mpType=page ***!
  31827. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31828. =======
  31829. /* 164 */
  31830. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31831. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/control.vue?vue&type=script&lang=js&mpType=page ***!
  31832. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31833. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31834. /*! no static exports found */
  31835. /***/ (function(module, exports, __webpack_require__) {
  31836. "use strict";
  31837. <<<<<<< HEAD
  31838. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar myDate = new Date();\nvar hour = myDate.getHours(); //当前时间\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n isShow: false,\n erweima: '',\n value: '',\n index: 0,\n barcode: null,\n flash: false,\n data: '',\n\n tip: '将二维码放入框中,即可自动扫描' };\n\n },\n onShow: function onShow() {\n // var orderList=JSON.parse(data)\n\n\n\n // console.log(data)\n var pages = getCurrentPages();\n var currPage = pages[pages.length - 1]; // 当前页的实例\n var shuju = currPage.$vm.data;\n var list = JSON.parse(shuju);\n // this.value=shuju\n __f__(\"log\", typeof list, \"shuju\", \" at pages/mine/control.vue:81\");\n if (list.id == 1) {\n if (list.shuju.length !== 11) {\n uni.showToast({\n title: '扫错了~',\n icon: 'none' });\n\n this.erweima = \"\";\n // this.value=\"\"\n } else {\n this.erweima = list.shuju;\n\n }\n\n } else if (list.id == 2) {\n if (list.shuju.length !== 15) {\n uni.showToast({\n title: '扫错了~',\n icon: 'none' });\n\n this.value = \"\";\n } else {\n this.value = list.shuju;\n }\n\n }\n\n\n },\n onLoad: function onLoad(options) {\n __f__(\"log\", options, \" at pages/mine/control.vue:111\");\n },\n mounted: function mounted() {\n\n },\n\n methods: {\n\n\n input1: function input1(e) {\n this.erweima = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control.vue:122\");\n },\n input2: function input2(e) {\n this.value = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control.vue:126\");\n },\n //车辆二维码\n erwei: function erwei() {\n var id = 1;\n uni.navigateTo({\n url: './test?id=' + id });\n\n\n },\n //中控二维码\n tiaoxing: function tiaoxing(e) {\n var id = 2;\n uni.navigateTo({\n url: './test?id=' + id });\n\n },\n //立即绑定\n qued: function qued() {\n var that = this;\n if (this.erweima == '' || this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善设备码或车辆编号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '绑定中...' });\n\n var data = {\n bike_no: that.erweima,\n box_no: that.value };\n\n __f__(\"log\", \" at pages/mine/control.vue:160\");\n app.request('control/addBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '绑定成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //解除绑定\n relieve: function relieve() {\n //解除绑定\n\n var that = this;\n if (this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善中控设备号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '解绑中...' });\n\n var data = {\n box_no: that.value };\n\n app.request('control/unbindingBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '解除成功',\n icon: 'none' });\n\n\n }\n });\n }\n },\n tap: function tap(e) {//绑定解绑标签切换\n this.index = e;\n __f__(\"log\", e, '这是绑定id', \" at pages/mine/control.vue:204\");\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jb250cm9sLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0RBO0FBQ0EsNkIsQ0FBQTtBQUNBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxtQkFEQTtBQUVBLGlCQUZBO0FBR0EsZUFIQTtBQUlBLGNBSkE7QUFLQSxtQkFMQTtBQU1BLGtCQU5BO0FBT0EsY0FQQTs7QUFTQSw0QkFUQTs7QUFXQSxHQWJBO0FBY0EsUUFkQSxvQkFjQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBLDJDQVBBLENBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsc0JBRkE7O0FBSUE7QUFDQTtBQUNBLE9BUEEsTUFPQTtBQUNBOztBQUVBOztBQUVBLEtBYkEsTUFhQTtBQUNBO0FBQ0E7QUFDQSx1QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0EsT0FOQSxNQU1BO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0EsR0FyREE7QUFzREEsUUF0REEsa0JBc0RBLE9BdERBLEVBc0RBO0FBQ0E7QUFDQSxHQXhEQTtBQXlEQSxTQXpEQSxxQkF5REE7O0FBRUEsR0EzREE7O0FBNkRBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxLQU5BO0FBT0E7QUFDQTtBQUNBO0FBQ0EsS0FWQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBREE7OztBQUlBLEtBbEJBO0FBbUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBREE7O0FBR0EsS0F6QkE7QUEwQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQURBO0FBRUEsZ0NBRkE7QUFHQSwyQkFIQTs7QUFLQSxPQU5BLE1BTUE7QUFDQTtBQUNBLHlCQURBOztBQUdBO0FBQ0EsK0JBREE7QUFFQSw0QkFGQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSwwQkFGQTs7QUFJQTtBQUNBLFNBUkE7QUFTQTtBQUNBLEtBdERBO0FBdURBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFEQTtBQUVBLDZCQUZBO0FBR0EsMkJBSEE7O0FBS0EsT0FOQSxNQU1BO0FBQ0E7QUFDQSx5QkFEQTs7QUFHQTtBQUNBLDRCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSwwQkFGQTs7O0FBS0E7QUFDQSxTQVRBO0FBVUE7QUFDQSxLQXBGQTtBQXFGQTtBQUNBO0FBQ0E7QUFDQSxLQXhGQSxFQTdEQSxFIiwiZmlsZSI6IjMzMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImJveFwiPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ0YWJcIj5cclxuXHRcdFx0PHZpZXcgIEBjbGljaz1cInRhcCgwKVwiICA6Y2xhc3M9XCJpbmRleD09MD8nYWN0aXZlJzonJ1wiPlxyXG5cdFx0XHRcdDx0ZXh0Pueri+WNs+e7keWumua1i+ivlTwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyAgQGNsaWNrPVwidGFwKDEpXCIgIDpjbGFzcz1cImluZGV4PT0xPydhY3RpdmUnOicnXCI+XHJcblx0XHRcdFx0PHRleHQ+6Kej6Zmk57uR5a6aPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8YmxvY2sgdi1pZj1cImluZGV4PT0wXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPSdtYSc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2aWV3XCI+XHJcblx0XHRcdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXovabovobnvJbnoIFcIiBwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiNCNkI2QjY7XCIgQGlucHV0PSdpbnB1dDEnIDp2YWx1ZT0nZXJ3ZWltYSc+PC9pbnB1dD5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRuXCIgQGNsaWNrPVwiZXJ3ZWlcIj48dGV4dD7miavmj488L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpZXdcIj5cclxuXHRcdFx0XHRcdDxpbnB1dCBAaW5wdXQ9J2lucHV0MicgOnZhbHVlPSd2YWx1ZScgcGxhY2Vob2xkZXI9XCLkuK3mjqforr7lpIflj7dcIiBwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiNCNkI2QjY7XCI+PC9pbnB1dD5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRuXCIgQGNsaWNrPVwidGlhb3hpbmdcIj48dGV4dD7miavmj488L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz0nYnRtJyBAY2xpY2s9XCJxdWVkXCI+XHJcblx0XHRcdFx0PHRleHQ+56uL5Y2z57uR5a6aPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L2Jsb2NrPlxyXG5cdFx0PCEtLSDop6PpmaTnu5HlrpogLS0+XHJcblx0XHQ8YmxvY2sgdi1pZj1cImluZGV4PT0xXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPSdtYSc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2aWV3XCI+XHJcblx0XHRcdFx0XHQ8aW5wdXQgOnZhbHVlPSd2YWx1ZScgQGlucHV0PSdpbnB1dDInIHBsYWNlaG9sZGVyPVwi5Lit5o6n6K6+5aSH5Y+3XCIgcGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjojQjZCNkI2O1wiPjwvaW5wdXQ+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0blwiIEBjbGljaz1cInRpYW94aW5nKDMpXCI+PHRleHQ+5omr5o+PPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9J2J0bScgQGNsaWNrPSdyZWxpZXZlJz5cclxuXHRcdFx0XHQ8dGV4dD7op6PpmaTnu5HlrpogPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L2Jsb2NrPlxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cInNjYW5Db2RlXCIgYmluZHRhcD1cInNjYW5Db2RlXCI+XHJcblx0XHQgICAgPHRleHQ+5omr5LiA5omrPC90ZXh0PlxyXG5cdFx0ICA8L3ZpZXc+IC0tPlxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cImxvZ29cIj5cclxuXHRcdCAgICA8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9sb2dvLnBuZ1wiIHN0eWxlPVwid2lkdGg6NzBycHg7aGVpZ2h0OjcwcnB4O2JvcmRlci1yYWRpdXM6NTAlO1wiPjwvaW1hZ2U+XHJcblx0XHQgICAgPHRleHQgc3R5bGU9XCJwYWRkaW5nLXRvcDoxNnJweDtcIj7pl6rnjrDlh7rooYzmlrnkvr/lpKflrabnlJ/lh7rooYw8L3RleHQ+XHJcblx0XHQgIDwvdmlldz4gLS0+XHJcblx0XHQ8IS0tIOaJq+eggemhtemdoiAtLT5cclxuXHQ8L3ZpZXc+XHJcblxyXG5cclxuXHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdHZhciBteURhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cdHZhciBob3VyID0gbXlEYXRlLmdldEhvdXJzKCk7IC8v5b2T5YmN5pe26Ze0XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRpc1Nob3c6IGZhbHNlLFxyXG5cdFx0XHRcdGVyd2VpbWE6ICcnLFxyXG5cdFx0XHRcdHZhbHVlOiAnJyxcclxuXHRcdFx0XHRpbmRleDogMCxcclxuXHRcdFx0XHRiYXJjb2RlOiBudWxsLFxyXG5cdFx0XHRcdGZsYXNoOiBmYWxzZSxcclxuXHRcdFx0XHRkYXRhOiAnJyxcclxuXHJcblx0XHRcdFx0dGlwOiAn5bCG5LqM57u056CB5pS+5YWl5qGG5Lit77yM5Y2z5Y+v6Ieq5Yqo5omr5o+PJyxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uU2hvdygpIHtcclxuXHRcdFx0Ly8gdmFyIG9yZGVyTGlzdD1KU09OLnBhcnNlKGRhdGEpXHJcblxyXG5cclxuXHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKGRhdGEpXHJcblx0XHRcdGxldCBwYWdlcyA9IGdldEN1cnJlbnRQYWdlcygpO1xyXG5cdFx0XHRsZXQgY3VyclBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXTsgLy8g5b2T5YmN6aG155qE5a6e5L6LXHJcblx0XHRcdGxldCBzaHVqdSA9IGN1cnJQYWdlLiR2bS5kYXRhXHJcblx0XHRcdHZhciBsaXN0ID0gSlNPTi5wYXJzZShzaHVqdSlcclxuXHRcdFx0Ly8gdGhpcy52YWx1ZT1zaHVqdVxyXG5cdFx0XHRjb25zb2xlLmxvZyh0eXBlb2YobGlzdCksIFwic2h1anVcIilcclxuXHRcdFx0aWYgKGxpc3QuaWQgPT0gMSkge1xyXG5cdFx0XHRcdGlmIChsaXN0LnNodWp1Lmxlbmd0aCAhPT0gMTEpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aJq+mUmeS6hn4nLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR0aGlzLmVyd2VpbWEgPSBcIlwiXHJcblx0XHRcdFx0XHQvLyB0aGlzLnZhbHVlPVwiXCJcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5lcndlaW1hID0gbGlzdC5zaHVqdVxyXG5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9IGVsc2UgaWYgKGxpc3QuaWQgPT0gMikge1xyXG5cdFx0XHRcdGlmIChsaXN0LnNodWp1Lmxlbmd0aCAhPT0gMTUpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aJq+mUmeS6hn4nLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR0aGlzLnZhbHVlID0gXCJcIlxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLnZhbHVlID0gbGlzdC5zaHVqdVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKG9wdGlvbnMpXHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHJcblx0XHR9LFxyXG5cclxuXHRcdG1ldGhvZHM6IHtcclxuXHJcblxyXG5cdFx0XHRpbnB1dDE6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR0aGlzLmVyd2VpbWEgPSBlLmRldGFpbC52YWx1ZVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUuZGV0YWlsLnZhbHVlLCAn6L+Z5pivaW5wdXTkuK3nmoTmlbDmja4nKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbnB1dDI6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR0aGlzLnZhbHVlID0gZS5kZXRhaWwudmFsdWVcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLmRldGFpbC52YWx1ZSwgJ+i/meaYr2lucHV05Lit55qE5pWw5o2uJylcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ovabovobkuoznu7TnoIFcclxuXHRcdFx0ZXJ3ZWk6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGxldCBpZCA9IDFcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcuL3Rlc3Q/aWQ9JyArIGlkXHJcblxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5Lit5o6n5LqM57u056CBXHJcblx0XHRcdHRpYW94aW5nOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0bGV0IGlkID0gMlxyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy4vdGVzdD9pZD0nICsgaWRcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+eri+WNs+e7keWumlxyXG5cdFx0XHRxdWVkOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKHRoaXMuZXJ3ZWltYSA9PSAnJyB8fCB0aGlzLnZhbHVlID09ICcnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAn6K+35a6M5ZaE6K6+5aSH56CB5oiW6L2m6L6G57yW5Y+3JyxcclxuXHRcdFx0XHRcdFx0c2hvd0NhbmNlbDogZmFsc2VcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn57uR5a6a5LitLi4uJyxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRsZXQgZGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0YmlrZV9ubzogdGhhdC5lcndlaW1hLFxyXG5cdFx0XHRcdFx0XHRib3hfbm86IHRoYXQudmFsdWVcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKClcclxuXHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdjb250cm9sL2FkZEJpa2UnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn57uR5a6a5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+ino+mZpOe7keWumlxyXG5cdFx0XHRyZWxpZXZlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHQvL+ino+mZpOe7keWumlxyXG5cclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKHRoaXMudmFsdWUgPT0gJycpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aPkOekuicsXHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICfor7flrozlloTkuK3mjqforr7lpIflj7cnLFxyXG5cdFx0XHRcdFx0XHRzaG93Q2FuY2VsOiBmYWxzZVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfop6Pnu5HkuK0uLi4nLFxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGxldCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XHRib3hfbm86IHRoYXQudmFsdWVcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdjb250cm9sL3VuYmluZGluZ0Jpa2UnLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn6Kej6Zmk5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0dGFwOiBmdW5jdGlvbihlKSB7IC8v57uR5a6a6Kej57uR5qCH562+5YiH5o2iXHJcblx0XHRcdFx0dGhpcy5pbmRleCA9IGVcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGUsICfov5nmmK/nu5HlrpppZCcpXHJcblx0XHRcdH1cclxuXHJcblxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkPlxyXG5cdC5ib3gge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0LyogYmFja2dyb3VuZC1jb2xvcjogI2NmZTRmZjsgKi9cclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LnRhYiB7XHJcblx0XHR3aWR0aDogODUlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGhlaWdodDogNzVycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDMwcnB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdC50YWIgdmlldyB7XHJcblx0XHR3aWR0aDogNDkuOSU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZDogI2NjYztcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0fVxyXG5cclxuXHQuYm94IC50YWIgLmFjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMThENUI5O1xyXG5cdFx0Y29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5ib3ggLm1hIHtcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0cGFkZGluZy10b3A6IDgwcnB4O1xyXG5cdH1cclxuXHJcblx0LmJveCAubWEgLnZpZXcge1xyXG5cdFx0d2lkdGg6IDY5MHJweDtcclxuXHRcdGhlaWdodDogOTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCA0cnB4IDBweCByZ2JhKDIyMiwgMjIyLCAyMjIsIDEpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG5cdFx0bWFyZ2luLXRvcDogMzVycHg7XHJcblx0fVxyXG5cclxuXHQuYm94IC5tYSAudmlldyAuYnRuIHtcclxuXHRcdHdpZHRoOiA5MHJweDtcclxuXHRcdGhlaWdodDogNDdycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDIyOSwgMjI5LCAyMjksIDEpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFBpbmdGYW5nIFNDO1xyXG5cdFx0Y29sb3I6IHJnYmEoMTM2LCAxMzYsIDEzNiwgMSk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmJveCAubWEgaW5wdXQge1xyXG5cdFx0d2lkdGg6IDcwJTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFycHggc29saWQgZ3JheTtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNjBycHg7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdH1cclxuXHJcblx0LmJ0bSB7XHJcblx0XHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAzMDAwO1xyXG5cdFx0Ym90dG9tOiAwOyAqL1xyXG5cdFx0d2lkdGg6IDQyMHJweDtcclxuXHRcdGhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI0LCAyMTMsIDE4NSwgMSk7XHJcblx0XHRib3gtc2hhZG93OiAwcHggOHJweCAxM3JweCAwcHggcmdiYSgxMDAsIDIzOSwgMjE4LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRtYXJnaW4tdG9wOiAyMDBycHg7XHJcblx0fVxyXG5cclxuXHQubG9nbyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRib3R0b206IDMwcnB4O1xyXG5cdFx0Y29sb3I6ICM5OTk7XHJcblx0fVxyXG5cclxuXHQuc2NhbkNvZGUge1xyXG5cdFx0d2lkdGg6IDQyMHJweDtcclxuXHRcdGhlaWdodDogODhycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTYzZGVnLCByZ2JhKDI1NSwgMTM5LCAxMDIsIDEpIDAlLCByZ2JhKDI1NCwgODcsIDM0LCAxKSAxMDAlKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRtYXJnaW4tdG9wOiAxNTBycHg7XHJcblx0fVxyXG5cclxuXHQud3JhcCB7XHJcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmgpO1xyXG5cdFx0LyogI2lmZGVmIEg1ICovXHJcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS13aW5kb3ctdG9wKSk7XHJcblx0XHQvKiAjZW5kaWYgKi9cclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///330\n");
  31839. /***/ }),
  31840. /* 331 */
  31841. /*!*********************************************************************!*\
  31842. !*** C:/Users/001/Desktop/运维端/pages/mine/lineChart.vue?mpType=page ***!
  31843. \*********************************************************************/
  31844. =======
  31845. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar myDate = new Date();\nvar hour = myDate.getHours(); //当前时间\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n isShow: false,\n erweima: '',\n value: '',\n index: 0,\n barcode: null,\n flash: false,\n data: '',\n\n tip: '将二维码放入框中,即可自动扫描' };\n\n },\n onShow: function onShow() {\n // var orderList=JSON.parse(data)\n\n\n\n // console.log(data)\n var pages = getCurrentPages();\n var currPage = pages[pages.length - 1]; // 当前页的实例\n var shuju = currPage.$vm.data;\n var list = JSON.parse(shuju);\n // this.value=shuju\n __f__(\"log\", typeof list, \"shuju\", \" at pages/mine/control.vue:81\");\n if (list.id == 1) {\n if (list.shuju.length !== 11) {\n uni.showToast({\n title: '扫错了~',\n icon: 'none' });\n\n this.erweima = \"\";\n // this.value=\"\"\n } else {\n this.erweima = list.shuju;\n\n }\n\n } else if (list.id == 2) {\n if (list.shuju.length !== 15) {\n uni.showToast({\n title: '扫错了~',\n icon: 'none' });\n\n this.value = \"\";\n } else {\n this.value = list.shuju;\n }\n\n }\n\n\n },\n onLoad: function onLoad(options) {\n __f__(\"log\", options, \" at pages/mine/control.vue:111\");\n },\n mounted: function mounted() {\n\n },\n\n methods: {\n\n\n input1: function input1(e) {\n this.erweima = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control.vue:122\");\n },\n input2: function input2(e) {\n this.value = e.detail.value;\n __f__(\"log\", e.detail.value, '这是input中的数据', \" at pages/mine/control.vue:126\");\n },\n //车辆二维码\n erwei: function erwei() {\n var id = 1;\n uni.navigateTo({\n url: './test?id=' + id });\n\n\n },\n //中控二维码\n tiaoxing: function tiaoxing(e) {\n var id = 2;\n uni.navigateTo({\n url: './test?id=' + id });\n\n },\n //立即绑定\n qued: function qued() {\n var that = this;\n if (this.erweima == '' || this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善设备码或车辆编号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '绑定中...' });\n\n var data = {\n bike_no: that.erweima,\n box_no: that.value };\n\n __f__(\"log\", \" at pages/mine/control.vue:160\");\n app.request('control/addBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '绑定成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //解除绑定\n relieve: function relieve() {\n //解除绑定\n\n var that = this;\n if (this.value == '') {\n uni.showModal({\n title: '提示',\n content: '请完善中控设备号',\n showCancel: false });\n\n } else {\n uni.showLoading({\n title: '解绑中...' });\n\n var data = {\n box_no: that.value };\n\n app.request('control/unbindingBike', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '解除成功',\n icon: 'none' });\n\n\n }\n });\n }\n },\n tap: function tap(e) {//绑定解绑标签切换\n this.index = e;\n __f__(\"log\", e, '这是绑定id', \" at pages/mine/control.vue:204\");\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jb250cm9sLnZ1ZSJdLCJuYW1lcyI6WyJteURhdGUiLCJEYXRlIiwiaG91ciIsImdldEhvdXJzIiwiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsImlzU2hvdyIsImVyd2VpbWEiLCJ2YWx1ZSIsImluZGV4IiwiYmFyY29kZSIsImZsYXNoIiwidGlwIiwib25TaG93IiwicGFnZXMiLCJnZXRDdXJyZW50UGFnZXMiLCJjdXJyUGFnZSIsImxlbmd0aCIsInNodWp1IiwiJHZtIiwibGlzdCIsIkpTT04iLCJwYXJzZSIsImlkIiwidW5pIiwic2hvd1RvYXN0IiwidGl0bGUiLCJpY29uIiwib25Mb2FkIiwib3B0aW9ucyIsIm1vdW50ZWQiLCJtZXRob2RzIiwiaW5wdXQxIiwiZSIsImRldGFpbCIsImlucHV0MiIsImVyd2VpIiwibmF2aWdhdGVUbyIsInVybCIsInRpYW94aW5nIiwicXVlZCIsInRoYXQiLCJzaG93TW9kYWwiLCJjb250ZW50Iiwic2hvd0NhbmNlbCIsInNob3dMb2FkaW5nIiwiYmlrZV9ubyIsImJveF9ubyIsInJlcXVlc3QiLCJ0aGVuIiwicmVzIiwiaGlkZUxvYWRpbmciLCJzdGF0dXNDb2RlIiwicmVsaWV2ZSIsInRhcCJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxNQUFNLEdBQUcsSUFBSUMsSUFBSixFQUFiO0FBQ0EsSUFBSUMsSUFBSSxHQUFHRixN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QU5ELE1BTU87QUFDTnBCLFdBQUcsQ0FBQ3FCLFdBQUosQ0FBZ0I7QUFDZm5CLGVBQUssRUFBRSxRQURRLEVBQWhCOztBQUdBLFlBQUlyQixJQUFJLEdBQUc7QUFDVjBDLGdCQUFNLEVBQUVOLElBQUksQ0FBQ2pDLEtBREgsRUFBWDs7QUFHQUwsV0FBRyxDQUFDNkMsT0FBSixDQUFZLHVCQUFaLEVBQXFDM0MsSUFBckMsRUFBMkMsTUFBM0MsRUFBbUQ0QyxJQUFuRCxDQUF3RCxVQUFBQyxHQUFHLEVBQUk7QUFDOUQxQixhQUFHLENBQUMyQixXQUFKO0FBQ0EsY0FBSUQsR0FBRyxDQUFDRSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQzFCNUIsZUFBRyxDQUFDQyxTQUFKLENBQWM7QUFDYkMsbUJBQUssRUFBRSxNQURNO0FBRWJDLGtCQUFJLEVBQUUsTUFGTyxFQUFkOzs7QUFLQTtBQUNELFNBVEQ7QUFVQTtBQUNELEtBcEZPO0FBcUZSMkIsT0FBRyxFQUFFLGFBQVNyQixDQUFULEVBQVksQ0FBRTtBQUNsQixXQUFLeEIsS0FBTCxHQUFhd0IsQ0FBYjtBQUNDLG1CQUFZQSxDQUFaLEVBQWUsUUFBZjtBQUNELEtBeEZPLEVBN0RLLEUiLCJmaWxlIjoiMTY0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgbXlEYXRlID0gbmV3IERhdGUoKTtcbnZhciBob3VyID0gbXlEYXRlLmdldEhvdXJzKCk7IC8v5b2T5YmN5pe26Ze0XG52YXIgYXBwID0gZ2V0QXBwKClcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0aXNTaG93OiBmYWxzZSxcblx0XHRcdGVyd2VpbWE6ICcnLFxuXHRcdFx0dmFsdWU6ICcnLFxuXHRcdFx0aW5kZXg6IDAsXG5cdFx0XHRiYXJjb2RlOiBudWxsLFxuXHRcdFx0Zmxhc2g6IGZhbHNlLFxuXHRcdFx0ZGF0YTogJycsXG5cblx0XHRcdHRpcDogJ+WwhuS6jOe7tOeggeaUvuWFpeahhuS4re+8jOWNs+WPr+iHquWKqOaJq+aPjycsXG5cdFx0fVxuXHR9LFxuXHRvblNob3coKSB7XG5cdFx0Ly8gdmFyIG9yZGVyTGlzdD1KU09OLnBhcnNlKGRhdGEpXG5cblxuXG5cdFx0Ly8gY29uc29sZS5sb2coZGF0YSlcblx0XHRsZXQgcGFnZXMgPSBnZXRDdXJyZW50UGFnZXMoKTtcblx0XHRsZXQgY3VyclBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXTsgLy8g5b2T5YmN6aG155qE5a6e5L6LXG5cdFx0bGV0IHNodWp1ID0gY3VyclBhZ2UuJHZtLmRhdGFcblx0XHR2YXIgbGlzdCA9IEpTT04ucGFyc2Uoc2h1anUpXG5cdFx0Ly8gdGhpcy52YWx1ZT1zaHVqdVxuXHRcdGNvbnNvbGUubG9nKHR5cGVvZihsaXN0KSwgXCJzaHVqdVwiKVxuXHRcdGlmIChsaXN0LmlkID09IDEpIHtcblx0XHRcdGlmIChsaXN0LnNodWp1Lmxlbmd0aCAhPT0gMTEpIHtcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfmiavplJnkuoZ+Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy5lcndlaW1hID0gXCJcIlxuXHRcdFx0XHQvLyB0aGlzLnZhbHVlPVwiXCJcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuZXJ3ZWltYSA9IGxpc3Quc2h1anVcblxuXHRcdFx0fVxuXG5cdFx0fSBlbHNlIGlmIChsaXN0LmlkID09IDIpIHtcblx0XHRcdGlmIChsaXN0LnNodWp1Lmxlbmd0aCAhPT0gMTUpIHtcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfmiavplJnkuoZ+Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy52YWx1ZSA9IFwiXCJcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMudmFsdWUgPSBsaXN0LnNodWp1XG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdGNvbnNvbGUubG9nKG9wdGlvbnMpXG5cdH0sXG5cdG1vdW50ZWQoKSB7XG5cblx0fSxcblxuXHRtZXRob2RzOiB7XG5cblxuXHRcdGlucHV0MTogZnVuY3Rpb24oZSkge1xuXHRcdFx0dGhpcy5lcndlaW1hID0gZS5kZXRhaWwudmFsdWVcblx0XHRcdGNvbnNvbGUubG9nKGUuZGV0YWlsLnZhbHVlLCAn6L+Z5pivaW5wdXTkuK3nmoTmlbDmja4nKVxuXHRcdH0sXG5cdFx0aW5wdXQyOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLnZhbHVlID0gZS5kZXRhaWwudmFsdWVcblx0XHRcdGNvbnNvbGUubG9nKGUuZGV0YWlsLnZhbHVlLCAn6L+Z5pivaW5wdXTkuK3nmoTmlbDmja4nKVxuXHRcdH0sXG5cdFx0Ly/ovabovobkuoznu7TnoIFcblx0XHRlcndlaTogZnVuY3Rpb24oKSB7XG5cdFx0XHRsZXQgaWQgPSAxXG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdHVybDogJy4vdGVzdD9pZD0nICsgaWRcblxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5Lit5o6n5LqM57u056CBXG5cdFx0dGlhb3hpbmc6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGxldCBpZCA9IDJcblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0dXJsOiAnLi90ZXN0P2lkPScgKyBpZFxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v56uL5Y2z57uR5a6aXG5cdFx0cXVlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRpZiAodGhpcy5lcndlaW1hID09ICcnIHx8IHRoaXMudmFsdWUgPT0gJycpIHtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxuXHRcdFx0XHRcdGNvbnRlbnQ6ICfor7flrozlloTorr7lpIfnoIHmiJbovabovobnvJblj7cnLFxuXHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHRcdHRpdGxlOiAn57uR5a6a5LitLi4uJyxcblx0XHRcdFx0fSlcblx0XHRcdFx0bGV0IGRhdGEgPSB7XG5cdFx0XHRcdFx0YmlrZV9ubzogdGhhdC5lcndlaW1hLFxuXHRcdFx0XHRcdGJveF9ubzogdGhhdC52YWx1ZVxuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnNvbGUubG9nKClcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2NvbnRyb2wvYWRkQmlrZScsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+e7keWumuaIkOWKnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvL+ino+mZpOe7keWumlxuXHRcdHJlbGlldmU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Ly/op6PpmaTnu5HlrppcblxuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKHRoaXMudmFsdWUgPT0gJycpIHtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxuXHRcdFx0XHRcdGNvbnRlbnQ6ICfor7flrozlloTkuK3mjqforr7lpIflj7cnLFxuXHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHRcdHRpdGxlOiAn6Kej57uR5LitLi4uJyxcblx0XHRcdFx0fSlcblx0XHRcdFx0bGV0IGRhdGEgPSB7XG5cdFx0XHRcdFx0Ym94X25vOiB0aGF0LnZhbHVlXG5cdFx0XHRcdH1cblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2NvbnRyb2wvdW5iaW5kaW5nQmlrZScsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+ino+mZpOaIkOWKnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXHRcdHRhcDogZnVuY3Rpb24oZSkgeyAvL+e7keWumuino+e7keagh+etvuWIh+aNolxuXHRcdFx0dGhpcy5pbmRleCA9IGVcblx0XHRcdFx0Y29uc29sZS5sb2coZSwgJ+i/meaYr+e7keWummlkJylcblx0XHR9XG5cblxuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///164\n");
  31846. /***/ }),
  31847. /* 165 */
  31848. /*!**********************************************************************************!*\
  31849. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/lineChart.vue?mpType=page ***!
  31850. \**********************************************************************************/
  31851. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31852. /*! no static exports found */
  31853. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31854. "use strict";
  31855. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lineChart.vue?vue&type=template&id=b14bdbd2&mpType=page */ 332);\n/* harmony import */ var _lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lineChart.vue?vue&type=script&lang=js&mpType=page */ 334);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/lineChart.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUk7QUFDakk7QUFDd0U7QUFDTDs7O0FBR25FO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDBGQUFNO0FBQ1IsRUFBRSwrRkFBTTtBQUNSLEVBQUUsd0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsbUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzMxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9saW5lQ2hhcnQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWIxNGJkYmQyJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9saW5lQ2hhcnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2xpbmVDaGFydC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL2xpbmVDaGFydC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///331\n");
  31856. /***/ }),
  31857. <<<<<<< HEAD
  31858. /* 332 */
  31859. /*!***************************************************************************************************!*\
  31860. !*** C:/Users/001/Desktop/运维端/pages/mine/lineChart.vue?vue&type=template&id=b14bdbd2&mpType=page ***!
  31861. \***************************************************************************************************/
  31862. =======
  31863. /* 166 */
  31864. /*!****************************************************************************************************************!*\
  31865. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/lineChart.vue?vue&type=template&id=b14bdbd2&mpType=page ***!
  31866. \****************************************************************************************************************/
  31867. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31868. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31869. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31870. "use strict";
  31871. __webpack_require__.r(__webpack_exports__);
  31872. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lineChart.vue?vue&type=template&id=b14bdbd2&mpType=page */ 333);
  31873. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  31874. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  31875. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  31876. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_template_id_b14bdbd2_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  31877. /***/ }),
  31878. <<<<<<< HEAD
  31879. /* 333 */
  31880. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31881. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/lineChart.vue?vue&type=template&id=b14bdbd2&mpType=page ***!
  31882. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31883. =======
  31884. /* 167 */
  31885. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  31886. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/lineChart.vue?vue&type=template&id=b14bdbd2&mpType=page ***!
  31887. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  31888. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  31889. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  31890. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  31891. "use strict";
  31892. __webpack_require__.r(__webpack_exports__);
  31893. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  31894. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  31895. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  31896. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  31897. var components
  31898. var render = function() {
  31899. var _vm = this
  31900. var _h = _vm.$createElement
  31901. var _c = _vm._self._c || _h
  31902. return _c("view", [
  31903. _c(
  31904. "view",
  31905. {
  31906. staticClass: _vm._$s(1, "sc", "back"),
  31907. attrs: { _i: 1 },
  31908. on: { click: _vm.back }
  31909. },
  31910. [_c("text")]
  31911. ),
  31912. _c("view", { staticClass: _vm._$s(3, "sc", "select"), attrs: { _i: 3 } }, [
  31913. _c(
  31914. "view",
  31915. { staticClass: _vm._$s(4, "sc", "allArea"), attrs: { _i: 4 } },
  31916. [
  31917. _c(
  31918. "view",
  31919. { staticClass: _vm._$s(5, "sc", "area1"), attrs: { _i: 5 } },
  31920. [
  31921. _c(
  31922. "text",
  31923. {
  31924. staticClass: _vm._$s(6, "sc", "arear-text"),
  31925. attrs: { _i: 6 },
  31926. on: { click: _vm.tanKuang }
  31927. },
  31928. [_vm._v(_vm._$s(6, "t0-0", _vm._s(_vm.list[_vm.curVal].text)))]
  31929. ),
  31930. _c("image", {
  31931. attrs: {
  31932. src: _vm._$s(7, "a-src", __webpack_require__(/*! ../../static/down.png */ 216)),
  31933. _i: 7
  31934. }
  31935. })
  31936. ]
  31937. )
  31938. ]
  31939. )
  31940. ]),
  31941. _c(
  31942. "swiper",
  31943. {
  31944. style: _vm._$s(8, "s", { height: _vm.mainHeight + "px" }),
  31945. attrs: { current: _vm._$s(8, "a-current", _vm.swiperTabIdx), _i: 8 }
  31946. },
  31947. [
  31948. _c("swiper-item", [
  31949. _c(
  31950. "view",
  31951. {
  31952. staticClass: _vm._$s(10, "sc", "swiper-item"),
  31953. attrs: { _i: 10 }
  31954. },
  31955. [
  31956. _c(
  31957. "view",
  31958. {
  31959. staticClass: _vm._$s(11, "sc", "qiun-columns"),
  31960. attrs: { _i: 11 }
  31961. },
  31962. [
  31963. _c(
  31964. "view",
  31965. { staticClass: _vm._$s(12, "sc", "bt"), attrs: { _i: 12 } },
  31966. _vm._l(
  31967. _vm._$s(13, "f", { forItems: _vm.indexList }),
  31968. function(item, index, $20, $30) {
  31969. return _c(
  31970. "button",
  31971. {
  31972. key: _vm._$s(13, "f", {
  31973. forIndex: $20,
  31974. key: index
  31975. }),
  31976. attrs: { _i: "13-" + $30 },
  31977. on: {
  31978. click: function($event) {
  31979. return _vm.changeDate(index)
  31980. }
  31981. }
  31982. },
  31983. [_vm._v(_vm._$s("13-" + $30, "t0-0", _vm._s(item)))]
  31984. )
  31985. }
  31986. ),
  31987. 0
  31988. ),
  31989. _c(
  31990. "view",
  31991. {
  31992. staticClass: _vm._$s(14, "sc", "qiun-charts-rotate"),
  31993. attrs: { _i: 14 }
  31994. },
  31995. [
  31996. _c("canvas", {
  31997. staticClass: _vm._$s(15, "sc", "charts-rotate"),
  31998. attrs: { id: "canvasColumn", _i: 15 }
  31999. })
  32000. ]
  32001. ),
  32002. _c("view", [
  32003. _c("view", {
  32004. staticClass: _vm._$s(17, "sc", "text"),
  32005. attrs: { _i: 17 }
  32006. })
  32007. ])
  32008. ]
  32009. )
  32010. ]
  32011. )
  32012. ]),
  32013. _c("swiper-item", [
  32014. _c(
  32015. "view",
  32016. {
  32017. staticClass: _vm._$s(19, "sc", "swiper-item"),
  32018. attrs: { _i: 19 }
  32019. },
  32020. [
  32021. _c(
  32022. "view",
  32023. {
  32024. staticClass: _vm._$s(20, "sc", "swiper-item"),
  32025. attrs: { _i: 20 }
  32026. },
  32027. [
  32028. _c(
  32029. "view",
  32030. {
  32031. staticClass: _vm._$s(21, "sc", "qiun-columns"),
  32032. attrs: { _i: 21 }
  32033. },
  32034. [
  32035. _c("view", {
  32036. staticClass: _vm._$s(22, "sc", "bt"),
  32037. attrs: { _i: 22 }
  32038. }),
  32039. _c(
  32040. "view",
  32041. {
  32042. staticClass: _vm._$s(23, "sc", "qiun-charts-rotate"),
  32043. attrs: { _i: 23 }
  32044. },
  32045. [
  32046. _c("canvas", {
  32047. staticClass: _vm._$s(24, "sc", "charts-rotate"),
  32048. attrs: { id: "canvasColumnA", _i: 24 },
  32049. on: {
  32050. touchstart: function($event) {
  32051. return _vm.touchIt($event, "canvasColumnA")
  32052. },
  32053. touchmove: _vm.moveLineA
  32054. }
  32055. })
  32056. ]
  32057. ),
  32058. _c("view", [
  32059. _c("view", {
  32060. staticClass: _vm._$s(26, "sc", "text"),
  32061. attrs: { _i: 26 }
  32062. })
  32063. ])
  32064. ]
  32065. )
  32066. ]
  32067. )
  32068. ]
  32069. )
  32070. ]),
  32071. _c("swiper-item", [
  32072. _c(
  32073. "view",
  32074. {
  32075. staticClass: _vm._$s(28, "sc", "swiper-item"),
  32076. attrs: { _i: 28 }
  32077. },
  32078. [
  32079. _c(
  32080. "view",
  32081. {
  32082. staticClass: _vm._$s(29, "sc", "swiper-item"),
  32083. attrs: { _i: 29 }
  32084. },
  32085. [
  32086. _c(
  32087. "view",
  32088. {
  32089. staticClass: _vm._$s(30, "sc", "qiun-columns"),
  32090. attrs: { _i: 30 }
  32091. },
  32092. [
  32093. _c("view", {
  32094. staticClass: _vm._$s(31, "sc", "bt"),
  32095. attrs: { _i: 31 }
  32096. }),
  32097. _c(
  32098. "view",
  32099. {
  32100. staticClass: _vm._$s(32, "sc", "qiun-charts-rotate"),
  32101. attrs: { _i: 32 }
  32102. },
  32103. [
  32104. _c("canvas", {
  32105. staticClass: _vm._$s(33, "sc", "charts-rotate"),
  32106. attrs: { id: "canvasLineA", _i: 33 },
  32107. on: {
  32108. touchstart: function($event) {
  32109. return _vm.touchIt($event, "canvasLineA")
  32110. },
  32111. touchmove: _vm.moveLineA
  32112. }
  32113. })
  32114. ]
  32115. ),
  32116. _c("view", [
  32117. _c("view", {
  32118. staticClass: _vm._$s(35, "sc", "text"),
  32119. attrs: { _i: 35 }
  32120. })
  32121. ])
  32122. ]
  32123. )
  32124. ]
  32125. )
  32126. ]
  32127. )
  32128. ])
  32129. ]
  32130. )
  32131. ])
  32132. }
  32133. var recyclableRender = false
  32134. var staticRenderFns = []
  32135. render._withStripped = true
  32136. /***/ }),
  32137. <<<<<<< HEAD
  32138. /* 334 */
  32139. /*!*********************************************************************************************!*\
  32140. !*** C:/Users/001/Desktop/运维端/pages/mine/lineChart.vue?vue&type=script&lang=js&mpType=page ***!
  32141. \*********************************************************************************************/
  32142. =======
  32143. /* 168 */
  32144. /*!**********************************************************************************************************!*\
  32145. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/lineChart.vue?vue&type=script&lang=js&mpType=page ***!
  32146. \**********************************************************************************************************/
  32147. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32148. /*! no static exports found */
  32149. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32150. "use strict";
  32151. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./lineChart.vue?vue&type=script&lang=js&mpType=page */ 335);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_lineChart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQStpQixDQUFnQixrbEJBQUcsRUFBQyIsImZpbGUiOiIzMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9saW5lQ2hhcnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2xpbmVDaGFydC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///334\n");
  32152. /***/ }),
  32153. <<<<<<< HEAD
  32154. /* 335 */
  32155. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32156. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/lineChart.vue?vue&type=script&lang=js&mpType=page ***!
  32157. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32158. =======
  32159. /* 169 */
  32160. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32161. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/lineChart.vue?vue&type=script&lang=js&mpType=page ***!
  32162. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32163. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32164. /*! no static exports found */
  32165. /***/ (function(module, exports, __webpack_require__) {
  32166. "use strict";
  32167. <<<<<<< HEAD
  32168. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _uCharts3 = _interopRequireDefault(__webpack_require__(/*! @/pages/mine/uchart/u-charts.js */ 19));\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));\nvar _checker = __webpack_require__(/*! @/pages/mine/uchart/checker.js */ 25);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;}\n\n\nvar _self;\nvar canvaColumn = null;\nvar app = getApp();\nvar canvasObj = {};var _default =\n{\n data: function data() {\n return {\n swiperTabIdx: 2,\n // cWidth:'',\n // cHeight:'',\n cWidth2: '', //横屏图表\n cHeight2: '', //横屏图表\n pixelRatio: 1,\n serverData: '',\n indexList: \"\", //默认显示日期\n dayIndex: \"\",\n dayTabIndex: 0, //默认显示第一个按钮的日期数据\n list: [{ //所有区域选项\n areaID: '',\n text: '全部区域',\n value: -1 }],\n //骑行区域选择列表\n value1: 0, //骑行区与第一个显示什么\n curVal: uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0 //骑行区与第一个下标\n };\n },\n onLoad: function onLoad() {var _this = this;\n var arr = uni.getStorageSync('allArea');\n this.list = this.list.concat(arr);\n __f__(\"log\", this.list, \" at pages/mine/lineChart.vue:122\");\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", res, \"这是屏幕信息\", \" at pages/mine/lineChart.vue:125\");\n _this.mainHeight = res.windowHeight;\n } });\n\n __f__(\"log\", 12344, \" at pages/mine/lineChart.vue:129\");\n _self = this;\n this.cWidth = uni.upx2px(700);\n this.cHeight = uni.upx2px(1100);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n this.dayDate();\n this.userDate();\n this.getServerData(); //收益数据\n },\n methods: {\n back: function back() {\n uni.navigateBack({});\n\n\n },\n tanKuang: function tanKuang() {\n var that = this;\n var arr = [];\n for (var i = 0; i < this.list.length; i++) {\n arr = arr.concat(this.list[i].text);\n }\n __f__(\"log\", arr, \" at pages/mine/lineChart.vue:151\");\n uni.showActionSheet({\n itemList: arr,\n success: function success(res) {\n var index = res.tapIndex;\n that.areaID = that.list[index].areaID;\n that.curVal = res.tapIndex;\n __f__(\"log\", that.list[index].areaID, \"66666\", \" at pages/mine/lineChart.vue:158\");\n __f__(\"log\", '选中了第' + res.tapIndex + '个按钮', \" at pages/mine/lineChart.vue:159\");\n that.dayDate();\n that.userDate();\n that.getServerData(); //收益数据\n\n },\n fail: function fail(res) {} });\n\n },\n childMess: function childMess(e) {\n __f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/lineChart.vue:169\");\n this.areaID = e.areaID;\n this.getServerData();\n // this.getFeed()\n },\n changeDate: function changeDate(e) {\n this.dayTabIndex = e;\n __f__(\"log\", e, \"3333\", \" at pages/mine/lineChart.vue:176\");\n this.dayDate();\n\n },\n getServerData: function getServerData() {\n var date = {\n area_id: this.areaID,\n days: 'thirtyDays' };\n\n app.request('order/profitChart', date, 'GET').then(function (res) {\n var LineA = {\n categories: [],\n series: [] };\n\n\n __f__(\"log\", res, '这是所有数据999999999', \" at pages/mine/lineChart.vue:191\");\n var arr = new Array();\n arr = res.data;\n var data = new Array();\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n // console.log(\"for循环\", arr[i]);\n // console.log(arr[i].data, \"数组\")\n\n var aa = arr[i].data;\n // console.log(aa, \"这是第\" + i)\n LineA.series.push({\n name: arr[i].name,\n data: arr[i].data });\n\n\n\n }\n for (var k = 0, leng = aa.length; k < leng; k++) {\n // \tconsole.log(aa[k].value,'666666')\n\n // console.log(aa[k].date,\"这是横坐标\")\n LineA.categories.push(aa[k].date);\n\n // console.log(this.lineData2.categories,\"这是横坐标\")\n\n\n // console.log(this.lineData2.series,\"这是最终数据\")\n }\n __f__(\"log\", res.data.data, \"333\", \" at pages/mine/lineChart.vue:219\");\n // LineA.categories=res.data.data.LineA.categories;\n // LineA.series=res.data.data.LineA.series;\n\n //第二根线为虚线的设置\n // LineA.series[1].lineType='dash';\n // LineA.series[1].dashLength=10;\n _self.textarea = JSON.stringify(LineA);\n _self.showLineA(\"canvasLineA\", LineA);\n\n });\n },\n //日新增订单\n dayDate: function dayDate() {\n _self = this;\n this.cWidth = uni.upx2px(500);\n this.cHeight = uni.upx2px(1400);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n\n var date = {\n area_id: this.areaID,\n days: 'thirtyDays' };\n\n app.request('order/hourOrderNumber', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n // _self.serverData=res;\n __f__(\"log\", res, '22222', \" at pages/mine/lineChart.vue:250\");\n // console.log(res, 'disanzu这是所有数据')\n var aa = res.data.date;\n var aa1 = [];\n for (var i = 0, len = aa.length; i < len; i++) {\n\n aa1.push(aa[i].substring(aa[i].length - 2));\n __f__(\"log\", aa1, \"5555555555\", \" at pages/mine/lineChart.vue:257\");\n }\n\n __f__(\"log\", \"00000000000000000000000000\", \" at pages/mine/lineChart.vue:260\");\n\n _self.indexList = aa1;\n\n Column.categories = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\",\n \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", '23', \"24\"];\n\n var arr = [];\n\n var day = res.data.date[_self.dayTabIndex];\n __f__(\"log\", day, \"444444555555555\", \" at pages/mine/lineChart.vue:270\");\n arr.push({\n name: day,\n data: res.data.data[day] });\n\n __f__(\"log\", arr, \"444\", \" at pages/mine/lineChart.vue:275\");\n\n Column.series = arr;\n\n // Column.series=res.data.data\n __f__(\"log\", Column, \"6666\", \" at pages/mine/lineChart.vue:280\");\n\n _self.showColumn(\"canvasColumn\", Column);\n });\n },\n //用户数据统计\n userDate: function userDate() {\n var date = {\n area_id: this.areaID,\n days: 'thirtyDays' };\n\n app.request('user/newUsersChart', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n\n\n __f__(\"log\", res.data, \"88888888\", \" at pages/mine/lineChart.vue:299\");\n var arr = [];\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n // console.log(\"for循环\", res.data[i]);\n Column.categories.push(res.data[i].date);\n\n arr.push(res.data[i].value);\n\n Column.series.push({\n name: res.data[i].date,\n data: arr,\n color: '#55ff00' });\n\n }\n __f__(\"log\", arr, \"898988989898\", \" at pages/mine/lineChart.vue:313\");\n __f__(\"log\", Column, \"数组5656565655\", \" at pages/mine/lineChart.vue:314\");\n\n // _self.indexList = res.data.date\n\n _self.showColumn1(\"canvasColumnA\", Column);\n });\n },\n showColumn: function showColumn(canvasId, chartData) {\n canvaColumn = new _uCharts3.default({\n $this: _self,\n canvasId: canvasId,\n type: 'column',\n legend: true,\n fontSize: 11,\n background: '#55ff00',\n pixelRatio: _self.pixelRatio,\n animation: true,\n rotate: true,\n\n categories: chartData.categories,\n series: chartData.series,\n\n xAxis: {\n disableGrid: true },\n\n yAxis: {\n //disabled:true\n },\n dataLabel: true,\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio,\n extra: {\n column: {\n type: 'group',\n width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length } } });\n\n\n\n },\n changeGaugeData: function changeGaugeData() {\n var series = [{\n name: \"完成率\",\n data: Math.random() }];\n //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组\n //这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义\n var newTitleColor;\n for (var i = 0; i < _self.serverData.Gauge.categories.length; i++) {\n if (series[0].data <= _self.serverData.Gauge.categories[i].value) {\n newTitleColor = _self.serverData.Gauge.categories[i].color;\n break;\n }\n }\n\n canvasObj['canvasGauge'].updateData({\n series: series, //这里给了新数值\n categories: _self.serverData.Gauge.categories,\n title: {\n name: Math.round(series[0].data * 100) + '%',\n color: newTitleColor,\n fontSize: 25 * _self.pixelRatio,\n offsetY: 50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n },\n subtitle: {\n name: '更新数据',\n color: '#666666',\n fontSize: 15 * _self.pixelRatio,\n offsetY: -50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n } });\n\n },\n touchLineA: function touchLineA(e) {\n canvasObj['canvasLineA'].scrollStart(e);\n },\n moveLineA: function moveLineA(e) {\n canvasObj['canvasLineA'].scroll(e);\n },\n touchEndLineA: function touchEndLineA(e) {\n __f__(\"log\", e, \"00\", \" at pages/mine/lineChart.vue:391\");\n canvasObj['canvasLineA'].scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvasObj['canvasLineA'].showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n },\n touchIt: function touchIt(e, id) {\n canvasObj['canvasLineA'].scrollStart(e);\n // canvasObj[id].touchLegend(e, {\n // \tanimation: false\n // });\n // canvasObj[id].showToolTip(e, {\n // \tformat: function(item, category) {\n // \t\tif (typeof item.data === 'object') {\n // \t\t\treturn category + ' ' + item.name + ':' + item.data.value\n // \t\t} else {\n // \t\t\treturn category + ' ' + item.name + ':' + item.data\n // \t\t}\n // \t}\n // });\n },\n\n touchMix: function touchMix(e) {\n canvasObj['canvasMix'].scrollStart(e);\n },\n moveMix: function moveMix(e) {\n canvasObj['canvasMix'].scroll(e);\n },\n\n showLineA: function showLineA(canvasId, chartData) {var _uCharts;\n canvasObj[canvasId] = new _uCharts3.default((_uCharts = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n fontSize: 8,\n rotate: true,\n dataLabel: false,\n // dataLabel: false,\n padding: [15, 15, 0, 15],\n legend: {\n show: true,\n padding: 5,\n lineHeight: 11,\n margin: 5 },\n\n // dataLabel: false,\n dataPointShape: false,\n background: '#FFFFFF',\n pixelRatio: _self.pixelRatio,\n categories: chartData.categories,\n series: chartData.series,\n animation: false,\n enableScroll: true, //开启图表拖拽功能\n dataZoom: [\n {\n show: true,\n realtime: true,\n start: 0,\n end: 50 }\n\n // {\n // type: 'outside',\n // realtime: true,\n // start: 0,\n // end: 50\n // }\n ],\n xAxis: {\n // rotateLabel: true,\n // disableGrid: true,\n // itemCount: chartData.length,\n // labelCount: 30,\n // gridType: 'dash',\n disableGrid: true,\n type: 'grid',\n rotateLabel: true,\n // gridType: 'dash',\n itemCount: 25,\n // scrollShow: true,\n scrollAlign: 'left'\n //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF\n //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6\n },\n yAxis: {\n //disabled:true\n gridType: 'dash',\n splitNumber: 8,\n min: 10,\n max: 180,\n format: function format(val) {\n return val.toFixed(0);\n } //如不写此方法,Y轴刻度默认保留两位小数\n },\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio }, _defineProperty(_uCharts, \"dataLabel\",\n true), _defineProperty(_uCharts, \"dataPointShape\",\n true), _defineProperty(_uCharts, \"extra\",\n {\n lineStyle: 'straight' }), _uCharts));\n\n\n\n },\n\n showColumn1: function showColumn1(canvasId, chartData) {var _uCharts2;\n canvaColumn = new _uCharts3.default((_uCharts2 = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n legend: true,\n fontSize: 8,\n // background: '#55ff00',\n // pixelRatio: _self.pixelRatio,\n // animation: true,\n rotate: true }, _defineProperty(_uCharts2, \"legend\",\n {\n show: false }), _defineProperty(_uCharts2, \"enableScroll\",\n\n true), _defineProperty(_uCharts2, \"categories\",\n\n chartData.categories), _defineProperty(_uCharts2, \"series\",\n chartData.series), _defineProperty(_uCharts2, \"xAxis\",\n\n\n\n\n\n\n {\n rotateLabel: true,\n disableGrid: true,\n // itemCount: chartData.length,\n itemCount: 30,\n gridType: 'dash' }), _defineProperty(_uCharts2, \"yAxis\",\n\n {\n //disabled:true\n }), _defineProperty(_uCharts2, \"dataLabel\",\n true), _defineProperty(_uCharts2, \"width\",\n _self.cWidth * _self.pixelRatio), _defineProperty(_uCharts2, \"height\",\n _self.cHeight * _self.pixelRatio), _defineProperty(_uCharts2, \"extra\",\n\n\n\n\n\n\n {\n lineStyle: 'straight' }), _uCharts2));\n\n\n },\n touchColumn: function touchColumn(e) {\n canvaColumn.showToolTip(e, {\n format: function format(item, category) {\n if (typeof item.data === 'object') {\n return category + ' ' + item.name + ':' + item.data.value;\n } else {\n return category + ' ' + item.name + ':' + item.data;\n }\n } });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9saW5lQ2hhcnQudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXVGQTtBQUNBO0FBQ0EsNkU7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxxQkFEQTtBQUVBO0FBQ0E7QUFDQSxpQkFKQSxFQUlBO0FBQ0Esa0JBTEEsRUFLQTtBQUNBLG1CQU5BO0FBT0Esb0JBUEE7QUFRQSxtQkFSQSxFQVFBO0FBQ0Esa0JBVEE7QUFVQSxvQkFWQSxFQVVBO0FBQ0E7QUFDQSxrQkFEQTtBQUVBLG9CQUZBO0FBR0EsaUJBSEEsR0FYQTtBQWVBO0FBQ0EsZUFoQkEsRUFnQkE7QUFDQSw2RUFqQkEsQ0FpQkE7QUFqQkE7QUFtQkEsR0FyQkE7QUFzQkEsUUF0QkEsb0JBc0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUpBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFsQkEsQ0FrQkE7QUFDQSxHQXpDQTtBQTBDQTtBQUNBO0FBQ0E7OztBQUdBLEtBTEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBUkEsQ0FRQTs7QUFFQSxTQVpBO0FBYUEsbUNBYkE7O0FBZUEsS0E1QkE7QUE2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBbENBO0FBbUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEtBeENBO0FBeUNBLGlCQXpDQSwyQkF5Q0E7QUFDQTtBQUNBLDRCQURBO0FBRUEsMEJBRkE7O0FBSUE7QUFDQTtBQUNBLHdC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QSxxQ0FsQ0E7QUFtQ0Esc0NBbkNBOzs7Ozs7O0FBMENBO0FBQ0EsNkJBREEsRUExQ0E7OztBQThDQSxLQXRaQTtBQXVaQSxlQXZaQSx1QkF1WkEsQ0F2WkEsRUF1WkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBRkEsTUFFQTtBQUNBO0FBQ0E7QUFDQSxTQVBBOztBQVNBLEtBamFBLEVBMUNBLEUiLCJmaWxlIjoiMzM1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiXCIgPlxyXG5cdFx0PHZpZXcgQGNsaWNrPVwiYmFja1wiIGNsYXNzPVwiYmFja1wiPlxyXG5cdFx0XHQ8dGV4dD7ov5Tlm57kuIrkuIDpobU8L3RleHQ+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cInNlbGVjdFwiIHN0eWxlPVwiXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYWxsQXJlYVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYXJlYTFcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiYXJlYXItdGV4dFwiIEBjbGljaz1cInRhbkt1YW5nXCI+e3tsaXN0W2N1clZhbF0udGV4dH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9kb3duLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHN3aXBlciA6aW50ZXJ2YWw9XCIzMDAwXCIgOmR1cmF0aW9uPVwiNTAwXCIgOnN0eWxlPVwieyBoZWlnaHQ6bWFpbkhlaWdodCArICdweCcgfVwiIHN0eWxlPVwicGFkZGluZy10b3A6IDglO3dpZHRoOiAxMDAlO2JhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XCJcclxuXHRcdCB2LWJpbmQ6Y3VycmVudD1cInN3aXBlclRhYklkeFwiPlxyXG5cdFx0XHQ8c3dpcGVyLWl0ZW0+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzd2lwZXItaXRlbVwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNvbHVtbnNcIiBzdHlsZT1cIiBkaXNwbGF5OiBmbGV4O292ZXJmbG93LXk6IHNjcm9sbDsgXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRcIiBzdHlsZT1cImZsZXg6MCAwIDUlO1wiPlxyXG5cdFx0XHRcdFx0XHRcdDxidXR0b24gdHlwZT1cImRlZmF1bHRcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBpbmRleExpc3RcIiA6a2V5PSdpbmRleCcgQGNsaWNrPVwiY2hhbmdlRGF0ZShpbmRleClcIj57e2l0ZW19fTwvYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jaGFydHMtcm90YXRlXCIgc3R5bGU9XCJmbGV4OiAwIDAgNjAlO3BhZGRpbmc6MDtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8Y2FudmFzIGNhbnZhcy1pZD1cImNhbnZhc0NvbHVtblwiIGlkPVwiY2FudmFzQ29sdW1uXCIgY2xhc3M9XCJjaGFydHMtcm90YXRlXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogMjB1cHhcIj48L2NhbnZhcz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiIHN0eWxlPVwiZmxleDogMCAwIDIwJTtcIiA+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHTml6XmlrDlop7orqLljZVcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdDxzd2lwZXItaXRlbT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1pdGVtXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1pdGVtXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jb2x1bW5zXCIgc3R5bGU9XCIgZGlzcGxheTogZmxleDtvdmVyZmxvdy15OiBzY3JvbGw7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidFwiIHN0eWxlPVwiZmxleDowIDAgNSU7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIDxidXR0b24gdHlwZT1cImRlZmF1bHRcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBpbmRleExpc3RcIiA6a2V5PSdpbmRleCcgQGNsaWNrPVwiY2hhbmdlRGF0ZShpbmRleClcIj57e2l0ZW19fTwvYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNoYXJ0cy1yb3RhdGVcIiBzdHlsZT1cImZsZXg6IDAgMCA3MCU7cGFkZGluZzogMHVweDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFzQ29sdW1uQVwiIGlkPVwiY2FudmFzQ29sdW1uQVwiIGNsYXNzPVwiY2hhcnRzLXJvdGF0ZVwiIGRpc2FibGUtc2Nyb2xsPXRydWUgIEB0b3VjaHN0YXJ0PVwidG91Y2hJdCgkZXZlbnQsJ2NhbnZhc0NvbHVtbkEnKVwiXHJcblx0XHRcdFx0XHRcdFx0XHQgQHRvdWNobW92ZT1cIm1vdmVMaW5lQVwiPjwvY2FudmFzPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiICBzdHlsZT1cImZsZXg6MCAwIDIwJTtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHTnlKjmiLfmlbDmja5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvc3dpcGVyLWl0ZW0+XHJcblx0XHRcdDxzd2lwZXItaXRlbT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1pdGVtXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN3aXBlci1pdGVtXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicWl1bi1jb2x1bW5zXCIgc3R5bGU9XCIgZGlzcGxheTogZmxleDtvdmVyZmxvdy15OiBzY3JvbGw7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidFwiIHN0eWxlPVwiZmxleDowIDAgNSU7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8IS0tIDxidXR0b24gdHlwZT1cImRlZmF1bHRcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBpbmRleExpc3RcIiA6a2V5PSdpbmRleCcgQGNsaWNrPVwiY2hhbmdlRGF0ZShpbmRleClcIj57e2l0ZW19fTwvYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxaXVuLWNoYXJ0cy1yb3RhdGVcIiBzdHlsZT1cImZsZXg6IDAgMCA3MCU7cGFkZGluZzogMDtcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJxaXVuLWNoYXJ0c1wiPiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0jaWZkZWYgTVAtQUxJUEFZIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGNhbnZhcyBjYW52YXMtaWQ9XCJjYW52YXNMaW5lQVwiIGlkPVwiY2FudmFzTGluZUFcIiBjbGFzcz1cImNoYXJ0cy1yb3RhdGVcIiA6d2lkdGg9XCJjV2lkdGgqcGl4ZWxSYXRpb1wiIDpoZWlnaHQ9XCJjSGVpZ2h0KnBpeGVsUmF0aW9cIlxyXG5cdFx0XHRcdFx0XHRcdFx0IDpzdHlsZT1cInsnd2lkdGgnOmNXaWR0aCsncHgnLCdoZWlnaHQnOmNIZWlnaHQrJ3B4J31cIiBkaXNhYmxlLXNjcm9sbD10cnVlIEB0b3VjaHN0YXJ0PVwidG91Y2hJdCgkZXZlbnQsJ2NhbnZhc0xpbmVBJylcIlxyXG5cdFx0XHRcdFx0XHRcdFx0IEB0b3VjaG1vdmU9XCJtb3ZlTGluZUFcIj48L2NhbnZhcz5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0g5L2/55So5Zu+6KGo5ouW5ou95Yqf6IO95pe277yM5bu66K6u57uZY2FudmFz5aKe5YqgZGlzYWJsZS1zY3JvbGw9dHJ1ZeWxnuaAp++8jOWcqOaLluaLveaXtuemgeatouWxj+W5lea7muWKqCAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0jZW5kaWYtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDwhLS0jaWZuZGVmIE1QLUFMSVBBWSAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdDxjYW52YXMgY2FudmFzLWlkPVwiY2FudmFzTGluZUFcIiBzdHlsZT1cIndpZHRoOjEwMCU7XCIgY2xhc3M9XCJjaGFydHMtcm90YXRlXCIgaWQ9XCJjYW52YXNMaW5lQVwiIGRpc2FibGUtc2Nyb2xsPXRydWVcclxuXHRcdFx0XHRcdFx0XHRcdCBAdG91Y2hzdGFydD1cInRvdWNoSXQoJGV2ZW50LCdjYW52YXNMaW5lQScpXCIgQHRvdWNobW92ZT1cIm1vdmVMaW5lQVwiPjwvY2FudmFzPlxyXG5cdFx0XHRcdFx0XHRcdFx0PCEtLSDkvb/nlKjlm77ooajmi5bmi73lip/og73ml7bvvIzlu7rorq7nu5ljYW52YXPlop7liqBkaXNhYmxlLXNjcm9sbD10cnVl5bGe5oCn77yM5Zyo5ouW5ou95pe256aB5q2i5bGP5bmV5rua5YqoIC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PCEtLSNlbmRpZi0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PCEtLSA8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiIHN0eWxlPVwiZmxleDowIDAgMjAlO1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOaUtuebiuivpuaDhVxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC9zd2lwZXItaXRlbT5cclxuXHRcdDwvc3dpcGVyPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgdUNoYXJ0cyBmcm9tICdAL3BhZ2VzL21pbmUvdWNoYXJ0L3UtY2hhcnRzLmpzJztcclxuXHRpbXBvcnQgYWxsQXJlYSBmcm9tICcuLi8uLi9jb21wb25lbnQvYWxsQXJlYS9hbGxBcmVhLnZ1ZSdcclxuXHRpbXBvcnQge1xyXG5cdFx0aXNKU09OXHJcblx0fSBmcm9tICdAL3BhZ2VzL21pbmUvdWNoYXJ0L2NoZWNrZXIuanMnO1xyXG5cdHZhciBfc2VsZjtcclxuXHR2YXIgY2FudmFDb2x1bW4gPSBudWxsO1xyXG5cdHZhciBhcHAgPSBnZXRBcHAoKVxyXG5cdHZhciBjYW52YXNPYmogPSB7fTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHN3aXBlclRhYklkeDogMixcclxuXHRcdFx0XHQvLyBjV2lkdGg6JycsXHJcblx0XHRcdFx0Ly8gY0hlaWdodDonJyxcclxuXHRcdFx0XHRjV2lkdGgyOiAnJywgLy/mqKrlsY/lm77ooahcclxuXHRcdFx0XHRjSGVpZ2h0MjogJycsIC8v5qiq5bGP5Zu+6KGoXHJcblx0XHRcdFx0cGl4ZWxSYXRpbzogMSxcclxuXHRcdFx0XHRzZXJ2ZXJEYXRhOiAnJyxcclxuXHRcdFx0XHRpbmRleExpc3Q6IFwiXCIsIC8v6buY6K6k5pi+56S65pel5pyfXHJcblx0XHRcdFx0ZGF5SW5kZXg6IFwiXCIsXHJcblx0XHRcdFx0ZGF5VGFiSW5kZXg6IDAsIC8v6buY6K6k5pi+56S656ys5LiA5Liq5oyJ6ZKu55qE5pel5pyf5pWw5o2uXHJcblx0XHRcdFx0bGlzdDogW3sgLy/miYDmnInljLrln5/pgInpoblcclxuXHRcdFx0XHRcdGFyZWFJRDogJycsXHJcblx0XHRcdFx0XHR0ZXh0OiAn5YWo6YOo5Yy65Z+fJyxcclxuXHRcdFx0XHRcdHZhbHVlOiAtMSxcclxuXHRcdFx0XHR9XSwgLy/pqpHooYzljLrln5/pgInmi6nliJfooahcclxuXHRcdFx0XHR2YWx1ZTE6IDAsIC8v6aqR6KGM5Yy65LiO56ys5LiA5Liq5pi+56S65LuA5LmIXHJcblx0XHRcdFx0Y3VyVmFsOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDAsIC8v6aqR6KGM5Yy65LiO56ys5LiA5Liq5LiL5qCHXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoKSB7XHJcblx0XHRcdHZhciBhcnIgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcclxuXHRcdFx0dGhpcy5saXN0ID0gdGhpcy5saXN0LmNvbmNhdChhcnIpO1xyXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLmxpc3QpXHJcblx0XHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcclxuXHRcdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCBcIui/meaYr+Wxj+W5leS/oeaBr1wiKVxyXG5cdFx0XHRcdFx0dGhpcy5tYWluSGVpZ2h0ID0gcmVzLndpbmRvd0hlaWdodDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHRcdGNvbnNvbGUubG9nKDEyMzQ0KVxyXG5cdFx0XHRfc2VsZiA9IHRoaXM7XHJcblx0XHRcdHRoaXMuY1dpZHRoID0gdW5pLnVweDJweCg3MDApO1xyXG5cdFx0XHR0aGlzLmNIZWlnaHQgPSB1bmkudXB4MnB4KDExMDApO1xyXG5cdFx0XHQvLyB0aGlzLmNXaWR0aDIgPSB1bmkudXB4MnB4KDcwMCk7XHJcblx0XHRcdC8vIHRoaXMuY0hlaWdodDIgPSB1bmkudXB4MnB4KDExMDApO1xyXG5cdFx0XHR0aGlzLmRheURhdGUoKTtcclxuXHRcdFx0dGhpcy51c2VyRGF0ZSgpO1xyXG5cdFx0XHR0aGlzLmdldFNlcnZlckRhdGEoKTsgLy/mlLbnm4rmlbDmja5cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGJhY2s6ZnVuY3Rpb24oKXtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVCYWNrKHtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHRhbkt1YW5nOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dmFyIGFyciA9IFtdXHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxpc3QubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGFyciA9IGFyci5jb25jYXQodGhpcy5saXN0W2ldLnRleHQpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGFycilcclxuXHRcdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcclxuXHRcdFx0XHRcdGl0ZW1MaXN0OiBhcnIsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnRhcEluZGV4XHJcblx0XHRcdFx0XHRcdHRoYXQuYXJlYUlEID0gdGhhdC5saXN0W2luZGV4XS5hcmVhSUQ7XHJcblx0XHRcdFx0XHRcdHRoYXQuY3VyVmFsID0gcmVzLnRhcEluZGV4XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQubGlzdFtpbmRleF0uYXJlYUlELCBcIjY2NjY2XCIpO1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6YCJ5Lit5LqG56ysJyArIHJlcy50YXBJbmRleCArICfkuKrmjInpkq4nKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5kYXlEYXRlKCk7XHJcblx0XHRcdFx0XHRcdHRoYXQudXNlckRhdGUoKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5nZXRTZXJ2ZXJEYXRhKCk7IC8v5pS255uK5pWw5o2uXHJcblxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge31cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGlsZE1lc3M6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCAn6L+Z5piv5a2Q57uE5Lu256m/6L+H5p2l55qE5YC8JylcclxuXHRcdFx0XHR0aGlzLmFyZWFJRCA9IGUuYXJlYUlEXHJcblx0XHRcdFx0dGhpcy5nZXRTZXJ2ZXJEYXRhKCk7XHJcblx0XHRcdFx0Ly8gdGhpcy5nZXRGZWVkKClcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hhbmdlRGF0ZTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMuZGF5VGFiSW5kZXggPSBlXHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSwgXCIzMzMzXCIpXHJcblx0XHRcdFx0dGhpcy5kYXlEYXRlKCk7XHJcblxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRTZXJ2ZXJEYXRhKCkge1xyXG5cdFx0XHRcdGxldCBkYXRlID0ge1xyXG5cdFx0XHRcdFx0YXJlYV9pZDogdGhpcy5hcmVhSUQsXHJcblx0XHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ29yZGVyL3Byb2ZpdENoYXJ0JywgZGF0ZSwgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGxldCBMaW5lQSA9IHtcclxuXHRcdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXHJcblx0XHRcdFx0XHRcdHNlcmllczogW11cclxuXHRcdFx0XHRcdH07XHJcblxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6L+Z5piv5omA5pyJ5pWw5o2uOTk5OTk5OTk5JylcclxuXHRcdFx0XHRcdHZhciBhcnIgPSBuZXcgQXJyYXlcclxuXHRcdFx0XHRcdGFyciA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHR2YXIgZGF0YSA9IG5ldyBBcnJheVxyXG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDAsIGxlbiA9IHJlcy5kYXRhLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7IC8vIOe8lueoi+W8j1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcImZvcuW+queOr1wiLCBhcnJbaV0pO1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhhcnJbaV0uZGF0YSwgXCLmlbDnu4RcIilcclxuXHJcblx0XHRcdFx0XHRcdHZhciBhYSA9IGFycltpXS5kYXRhXHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGFhLCBcIui/meaYr+esrFwiICsgaSlcclxuXHRcdFx0XHRcdFx0TGluZUEuc2VyaWVzLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdG5hbWU6IGFycltpXS5uYW1lLFxyXG5cdFx0XHRcdFx0XHRcdGRhdGE6IGFycltpXS5kYXRhXHJcblx0XHRcdFx0XHRcdH0pXHJcblxyXG5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGZvciAobGV0IGsgPSAwLCBsZW5nID0gYWEubGVuZ3RoOyBrIDwgbGVuZzsgaysrKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coYWFba10udmFsdWUsJzY2NjY2NicpXHJcblxyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhhYVtrXS5kYXRlLFwi6L+Z5piv5qiq5Z2Q5qCHXCIpXHJcblx0XHRcdFx0XHRcdExpbmVBLmNhdGVnb3JpZXMucHVzaChhYVtrXS5kYXRlKVxyXG5cclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5saW5lRGF0YTIuY2F0ZWdvcmllcyxcIui/meaYr+aoquWdkOagh1wiKVxyXG5cclxuXHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubGluZURhdGEyLnNlcmllcyxcIui/meaYr+acgOe7iOaVsOaNrlwiKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEuZGF0YSwgXCIzMzNcIilcclxuXHRcdFx0XHRcdC8vIExpbmVBLmNhdGVnb3JpZXM9cmVzLmRhdGEuZGF0YS5MaW5lQS5jYXRlZ29yaWVzO1xyXG5cdFx0XHRcdFx0Ly8gTGluZUEuc2VyaWVzPXJlcy5kYXRhLmRhdGEuTGluZUEuc2VyaWVzO1xyXG5cclxuXHRcdFx0XHRcdC8v56ys5LqM5qC557q/5Li66Jma57q/55qE6K6+572uXHJcblx0XHRcdFx0XHQvLyBMaW5lQS5zZXJpZXNbMV0ubGluZVR5cGU9J2Rhc2gnO1xyXG5cdFx0XHRcdFx0Ly8gTGluZUEuc2VyaWVzWzFdLmRhc2hMZW5ndGg9MTA7XHJcblx0XHRcdFx0XHRfc2VsZi50ZXh0YXJlYSA9IEpTT04uc3RyaW5naWZ5KExpbmVBKTtcclxuXHRcdFx0XHRcdF9zZWxmLnNob3dMaW5lQShcImNhbnZhc0xpbmVBXCIsIExpbmVBKTtcclxuXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ml6XmlrDlop7orqLljZVcclxuXHRcdFx0ZGF5RGF0ZSgpIHtcclxuXHRcdFx0XHRfc2VsZiA9IHRoaXM7XHJcblx0XHRcdFx0dGhpcy5jV2lkdGggPSB1bmkudXB4MnB4KDUwMCk7XHJcblx0XHRcdFx0dGhpcy5jSGVpZ2h0ID0gdW5pLnVweDJweCgxNDAwKTtcclxuXHRcdFx0XHQvLyB0aGlzLmNXaWR0aDIgPSB1bmkudXB4MnB4KDcwMCk7XHJcblx0XHRcdFx0Ly8gdGhpcy5jSGVpZ2h0MiA9IHVuaS51cHgycHgoMTEwMCk7XHJcblxyXG5cdFx0XHRcdGxldCBkYXRlID0ge1xyXG5cdFx0XHRcdFx0YXJlYV9pZDogdGhpcy5hcmVhSUQsXHJcblx0XHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ29yZGVyL2hvdXJPcmRlck51bWJlcicsIGRhdGUsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblxyXG5cdFx0XHRcdFx0bGV0IENvbHVtbiA9IHtcclxuXHRcdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXHJcblx0XHRcdFx0XHRcdHNlcmllczogW11cclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHQvLyBfc2VsZi5zZXJ2ZXJEYXRhPXJlcztcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcywgJzIyMjIyJylcclxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcywgJ2Rpc2FuenXov5nmmK/miYDmnInmlbDmja4nKVxyXG5cdFx0XHRcdHZhciBhYT1yZXMuZGF0YS5kYXRlXHJcblx0XHRcdFx0dmFyIGFhMT1bXVxyXG5cdFx0XHRcdGZvcihsZXQgaT0wLGxlbj1hYS5sZW5ndGg7aTxsZW47aSsrKXtcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0YWExLnB1c2goYWFbaV0uc3Vic3RyaW5nKGFhW2ldLmxlbmd0aC0yKSlcclxuXHRcdFx0XHRcdCAgY29uc29sZS5sb2coYWExLFwiNTU1NTU1NTU1NVwiKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwXCIpXHJcblx0XHRcdFx0XHJcblx0XHRcdFx0XHRfc2VsZi5pbmRleExpc3QgPSBhYTFcclxuXHJcblx0XHRcdFx0XHRDb2x1bW4uY2F0ZWdvcmllcyA9IFtcIjBcIiwgXCIxXCIsIFwiMlwiLCBcIjNcIiwgXCI0XCIsIFwiNVwiLCBcIjZcIiwgXCI3XCIsIFwiOFwiLCBcIjlcIiwgXCIxMFwiLCBcIjExXCIsIFwiMTJcIiwgXCIxM1wiLCBcIjE0XCIsIFwiMTVcIiwgXCIxNlwiLFxyXG5cdFx0XHRcdFx0XHRcIjE3XCIsIFwiMThcIiwgXCIxOVwiLCBcIjIwXCIsIFwiMjFcIiwgXCIyMlwiLCAnMjMnLCBcIjI0XCJcclxuXHRcdFx0XHRcdF1cclxuXHRcdFx0XHRcdHZhciBhcnIgPSBbXVxyXG5cclxuXHRcdFx0XHRcdHZhciBkYXkgPSByZXMuZGF0YS5kYXRlW19zZWxmLmRheVRhYkluZGV4XVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZGF5LCBcIjQ0NDQ0NDU1NTU1NTU1NVwiKVxyXG5cdFx0XHRcdFx0YXJyLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBkYXksXHJcblx0XHRcdFx0XHRcdGRhdGE6IHJlcy5kYXRhLmRhdGFbZGF5XVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGFyciwgXCI0NDRcIilcclxuXHJcblx0XHRcdFx0XHRDb2x1bW4uc2VyaWVzID0gYXJyXHJcblxyXG5cdFx0XHRcdFx0Ly8gQ29sdW1uLnNlcmllcz1yZXMuZGF0YS5kYXRhXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhDb2x1bW4sIFwiNjY2NlwiKVxyXG5cclxuXHRcdFx0XHRcdF9zZWxmLnNob3dDb2x1bW4oXCJjYW52YXNDb2x1bW5cIiwgQ29sdW1uKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+eUqOaIt+aVsOaNrue7n+iuoVxyXG5cdFx0XHR1c2VyRGF0ZSgpIHtcclxuXHRcdFx0XHRsZXQgZGF0ZSA9IHtcclxuXHRcdFx0XHRcdGFyZWFfaWQ6IHRoaXMuYXJlYUlELFxyXG5cdFx0XHRcdFx0ZGF5czogJ3RoaXJ0eURheXMnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL25ld1VzZXJzQ2hhcnQnLCBkYXRlLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cclxuXHRcdFx0XHRcdGxldCBDb2x1bW4gPSB7XHJcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IFtdLFxyXG5cdFx0XHRcdFx0XHRzZXJpZXM6IFtcclxuXHJcblx0XHRcdFx0XHRcdF1cclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgXCI4ODg4ODg4OFwiKVxyXG5cdFx0XHRcdFx0dmFyIGFyciA9IFtdXHJcblx0XHRcdFx0XHRmb3IgKGxldCBpID0gMCwgbGVuID0gcmVzLmRhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsgLy8g57yW56iL5byPXHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKFwiZm9y5b6q546vXCIsIHJlcy5kYXRhW2ldKTtcclxuXHRcdFx0XHRcdFx0Q29sdW1uLmNhdGVnb3JpZXMucHVzaChyZXMuZGF0YVtpXS5kYXRlKSBcclxuXHJcblx0XHRcdFx0XHRcdGFyci5wdXNoKHJlcy5kYXRhW2ldLnZhbHVlKVxyXG5cclxuXHRcdFx0XHRcdFx0Q29sdW1uLnNlcmllcy5wdXNoKHtcclxuXHRcdFx0XHRcdFx0XHRuYW1lOiByZXMuZGF0YVtpXS5kYXRlLFxyXG5cdFx0XHRcdFx0XHRcdGRhdGE6IGFycixcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogJyM1NWZmMDAnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcnIsIFwiODk4OTg4OTg5ODk4XCIpXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhDb2x1bW4sIFwi5pWw57uENTY1NjU2NTY1NVwiKVxyXG5cclxuXHRcdFx0XHRcdC8vIF9zZWxmLmluZGV4TGlzdCA9IHJlcy5kYXRhLmRhdGVcclxuXHJcblx0XHRcdFx0XHRfc2VsZi5zaG93Q29sdW1uMShcImNhbnZhc0NvbHVtbkFcIiwgQ29sdW1uKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaG93Q29sdW1uKGNhbnZhc0lkLCBjaGFydERhdGEpIHtcclxuXHRcdFx0XHRjYW52YUNvbHVtbiA9IG5ldyB1Q2hhcnRzKHtcclxuXHRcdFx0XHRcdCR0aGlzOiBfc2VsZixcclxuXHRcdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcclxuXHRcdFx0XHRcdHR5cGU6ICdjb2x1bW4nLFxyXG5cdFx0XHRcdFx0bGVnZW5kOiB0cnVlLFxyXG5cdFx0XHRcdFx0Zm9udFNpemU6IDExLFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJyM1NWZmMDAnLFxyXG5cdFx0XHRcdFx0cGl4ZWxSYXRpbzogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdGFuaW1hdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdHJvdGF0ZTogdHJ1ZSxcclxuXHJcblx0XHRcdFx0XHRjYXRlZ29yaWVzOiBjaGFydERhdGEuY2F0ZWdvcmllcyxcclxuXHRcdFx0XHRcdHNlcmllczogY2hhcnREYXRhLnNlcmllcyxcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0eEF4aXM6IHtcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6IHRydWUsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0eUF4aXM6IHtcclxuXHRcdFx0XHRcdFx0Ly9kaXNhYmxlZDp0cnVlXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZGF0YUxhYmVsOiB0cnVlLFxyXG5cdFx0XHRcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8sXHJcblx0XHRcdFx0XHRoZWlnaHQ6IF9zZWxmLmNIZWlnaHQgKiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0ZXh0cmE6IHtcclxuXHRcdFx0XHRcdFx0Y29sdW1uOiB7XHJcblx0XHRcdFx0XHRcdFx0dHlwZTogJ2dyb3VwJyxcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogX3NlbGYuY1dpZHRoICogX3NlbGYucGl4ZWxSYXRpbyAqIDAuNDUgLyBjaGFydERhdGEuY2F0ZWdvcmllcy5sZW5ndGhcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2VHYXVnZURhdGEoKSB7XHJcblx0XHRcdFx0bGV0IHNlcmllcyA9IFt7XHJcblx0XHRcdFx0XHRuYW1lOiBcIuWujOaIkOeOh1wiLFxyXG5cdFx0XHRcdFx0ZGF0YTogTWF0aC5yYW5kb20oKVxyXG5cdFx0XHRcdH1dOyAvL+i/memHjOaYr+maj+acuuaVsOaNru+8jOeUn+S6p+eOr+Wig+ivt+S7juacjeWKoeWZqOiOt+WPlu+8jOazqOaEj3Nlcmllc+aVsOaNruexu+Wei+S4uuaVsOe7hFxyXG5cdFx0XHRcdC8v6L+Z6YeM5oiR5YCf55So5LmL5YmN55qEY2F0ZWdvcmllc+aVsOaNru+8jOWIpOaWreS4gOS4i+aWsOaVsOaNrueahHRpdGxlLmNvbG9y77yM5rKh5pyJ5YaZ5q275Zyo56iL5bqP6YeM77yM5Lul5L6/5LqO6Ieq5a6a5LmJXHJcblx0XHRcdFx0bGV0IG5ld1RpdGxlQ29sb3I7XHJcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdGlmIChzZXJpZXNbMF0uZGF0YSA8PSBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXNbaV0udmFsdWUpIHtcclxuXHRcdFx0XHRcdFx0bmV3VGl0bGVDb2xvciA9IF9zZWxmLnNlcnZlckRhdGEuR2F1Z2UuY2F0ZWdvcmllc1tpXS5jb2xvcjtcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0dhdWdlJ10udXBkYXRlRGF0YSh7XHJcblx0XHRcdFx0XHRzZXJpZXM6IHNlcmllcywgLy/ov5nph4znu5nkuobmlrDmlbDlgLxcclxuXHRcdFx0XHRcdGNhdGVnb3JpZXM6IF9zZWxmLnNlcnZlckRhdGEuR2F1Z2UuY2F0ZWdvcmllcyxcclxuXHRcdFx0XHRcdHRpdGxlOiB7XHJcblx0XHRcdFx0XHRcdG5hbWU6IE1hdGgucm91bmQoc2VyaWVzWzBdLmRhdGEgKiAxMDApICsgJyUnLFxyXG5cdFx0XHRcdFx0XHRjb2xvcjogbmV3VGl0bGVDb2xvcixcclxuXHRcdFx0XHRcdFx0Zm9udFNpemU6IDI1ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogNTAgKiBfc2VsZi5waXhlbFJhdGlvLCAvL+aWsOWinuWPguaVsO+8jOiHquWumuS5ieiwg+aVtFnovbTmlofmoYjot53nprtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWJ0aXRsZToge1xyXG5cdFx0XHRcdFx0XHRuYW1lOiAn5pu05paw5pWw5o2uJyxcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICcjNjY2NjY2JyxcclxuXHRcdFx0XHRcdFx0Zm9udFNpemU6IDE1ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogLTUwICogX3NlbGYucGl4ZWxSYXRpbywgLy/mlrDlop7lj4LmlbDvvIzoh6rlrprkuYnosIPmlbRZ6L205paH5qGI6Led56a7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdHRvdWNoTGluZUEoZSkge1xyXG5cdFx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGxTdGFydChlKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0bW92ZUxpbmVBKGUpIHtcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0xpbmVBJ10uc2Nyb2xsKGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b3VjaEVuZExpbmVBKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCBcIjAwXCIpXHJcblx0XHRcdFx0Y2FudmFzT2JqWydjYW52YXNMaW5lQSddLnNjcm9sbEVuZChlKTtcclxuXHRcdFx0XHQvL+S4i+mdouaYr3Rvb2xUaXDkuovku7bvvIzlpoLmnpzmu5rliqjlkI7kuI3pnIDopoHmmL7npLrvvIzlj6/kuI3loavlhplcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0xpbmVBJ10uc2hvd1Rvb2xUaXAoZSwge1xyXG5cdFx0XHRcdFx0Zm9ybWF0OiBmdW5jdGlvbihpdGVtLCBjYXRlZ29yeSkge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGFcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dG91Y2hJdChlLCBpZCkge1xyXG5cdFx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGxTdGFydChlKTtcclxuXHRcdFx0XHQvLyBjYW52YXNPYmpbaWRdLnRvdWNoTGVnZW5kKGUsIHtcclxuXHRcdFx0XHQvLyBcdGFuaW1hdGlvbjogZmFsc2VcclxuXHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0XHQvLyBjYW52YXNPYmpbaWRdLnNob3dUb29sVGlwKGUsIHtcclxuXHRcdFx0XHQvLyBcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcclxuXHRcdFx0XHQvLyBcdFx0aWYgKHR5cGVvZiBpdGVtLmRhdGEgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0Ly8gXHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhLnZhbHVlXHJcblx0XHRcdFx0Ly8gXHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0Ly8gXHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhXHJcblx0XHRcdFx0Ly8gXHRcdH1cclxuXHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdHRvdWNoTWl4KGUpIHtcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc01peCddLnNjcm9sbFN0YXJ0KGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRtb3ZlTWl4KGUpIHtcclxuXHRcdFx0XHRjYW52YXNPYmpbJ2NhbnZhc01peCddLnNjcm9sbChlKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdHNob3dMaW5lQShjYW52YXNJZCwgY2hhcnREYXRhKSB7XHJcblx0XHRcdFx0Y2FudmFzT2JqW2NhbnZhc0lkXSA9IG5ldyB1Q2hhcnRzKHtcclxuXHRcdFx0XHRcdCR0aGlzOiBfc2VsZixcclxuXHRcdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcclxuXHRcdFx0XHRcdHR5cGU6ICdsaW5lJyxcclxuXHRcdFx0XHRcdGZvbnRTaXplOiA4LFxyXG5cdFx0XHRcdFx0cm90YXRlOiB0cnVlLFxyXG5cdFx0XHRcdFx0ZGF0YUxhYmVsOiBmYWxzZSxcclxuXHRcdFx0XHRcdC8vIGRhdGFMYWJlbDogZmFsc2UsXHJcblx0XHRcdFx0XHRwYWRkaW5nOiBbMTUsIDE1LCAwLCAxNV0sXHJcblx0XHRcdFx0XHRsZWdlbmQ6IHtcclxuXHRcdFx0XHRcdFx0c2hvdzogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogNSxcclxuXHRcdFx0XHRcdFx0bGluZUhlaWdodDogMTEsXHJcblx0XHRcdFx0XHRcdG1hcmdpbjogNSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQvLyBkYXRhTGFiZWw6IGZhbHNlLFxyXG5cdFx0XHRcdFx0ZGF0YVBvaW50U2hhcGU6IGZhbHNlLFxyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJyNGRkZGRkYnLFxyXG5cdFx0XHRcdFx0cGl4ZWxSYXRpbzogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdGNhdGVnb3JpZXM6IGNoYXJ0RGF0YS5jYXRlZ29yaWVzLFxyXG5cdFx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxyXG5cdFx0XHRcdFx0YW5pbWF0aW9uOiBmYWxzZSxcclxuXHRcdFx0XHRcdGVuYWJsZVNjcm9sbDogdHJ1ZSwgLy/lvIDlkK/lm77ooajmi5bmi73lip/og71cclxuXHRcdFx0XHRcdGRhdGFab29tOiBbXHJcblx0XHRcdFx0XHQgICAge1xyXG5cdFx0XHRcdFx0ICAgICAgICBzaG93OiB0cnVlLFxyXG5cdFx0XHRcdFx0ICAgICAgICByZWFsdGltZTogdHJ1ZSxcclxuXHRcdFx0XHRcdCAgICAgICAgc3RhcnQ6IDAsXHJcblx0XHRcdFx0XHQgICAgICAgIGVuZDogNTBcclxuXHRcdFx0XHRcdCAgICB9LFxyXG5cdFx0XHRcdFx0ICAgIC8vIHtcclxuXHRcdFx0XHRcdCAgICAvLyAgICAgdHlwZTogJ291dHNpZGUnLFxyXG5cdFx0XHRcdFx0ICAgIC8vICAgICByZWFsdGltZTogdHJ1ZSxcclxuXHRcdFx0XHRcdCAgICAvLyAgICAgc3RhcnQ6IDAsXHJcblx0XHRcdFx0XHQgICAgLy8gICAgIGVuZDogNTBcclxuXHRcdFx0XHRcdCAgICAvLyB9XHJcblx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0eEF4aXM6IHtcclxuXHRcdFx0XHRcdFx0Ly8gcm90YXRlTGFiZWw6IHRydWUsXHJcblx0XHRcdFx0XHRcdC8vIGRpc2FibGVHcmlkOiB0cnVlLFxyXG5cdFx0XHRcdFx0XHQvLyBpdGVtQ291bnQ6IGNoYXJ0RGF0YS5sZW5ndGgsXHJcblx0XHRcdFx0XHRcdC8vIGxhYmVsQ291bnQ6IDMwLFxyXG5cdFx0XHRcdFx0XHQvLyBncmlkVHlwZTogJ2Rhc2gnLFxyXG5cdFx0XHRcdFx0XHRkaXNhYmxlR3JpZDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0dHlwZTogJ2dyaWQnLFxyXG5cdFx0XHRcdFx0XHRyb3RhdGVMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0Ly8gZ3JpZFR5cGU6ICdkYXNoJyxcclxuXHRcdFx0XHRcdFx0aXRlbUNvdW50OjI1LFxyXG5cdFx0XHRcdFx0XHQvLyBzY3JvbGxTaG93OiB0cnVlLFxyXG5cdFx0XHRcdFx0XHRzY3JvbGxBbGlnbjogJ2xlZnQnLFxyXG5cdFx0XHRcdFx0XHQvL3Njcm9sbEJhY2tncm91bmRDb2xvcjonI0Y3RjdGRicsLy/lj6/kuI3loavlhpnvvIzphY3lkIhlbmFibGVTY3JvbGzlm77ooajmi5bmi73lip/og73kvb/nlKjvvIxY6L205rua5Yqo5p2h6IOM5pmv6aKc6ImyLOm7mOiupOS4uiAjRUZFQkVGXHJcblx0XHRcdFx0XHRcdC8vc2Nyb2xsQ29sb3I6JyNERUU3RjcnLC8v5Y+v5LiN5aGr5YaZ77yM6YWN5ZCIZW5hYmxlU2Nyb2xs5Zu+6KGo5ouW5ou95Yqf6IO95L2/55So77yMWOi9tOa7muWKqOadoeminOiJsizpu5jorqTkuLogI0E2QTZBNlxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHlBeGlzOiB7XHJcblx0XHRcdFx0XHRcdC8vZGlzYWJsZWQ6dHJ1ZVxyXG5cdFx0XHRcdFx0XHRncmlkVHlwZTogJ2Rhc2gnLFxyXG5cdFx0XHRcdFx0XHRzcGxpdE51bWJlcjogOCxcclxuXHRcdFx0XHRcdFx0bWluOiAxMCxcclxuXHRcdFx0XHRcdFx0bWF4OiAxODAsXHJcblx0XHRcdFx0XHRcdGZvcm1hdDogKHZhbCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB2YWwudG9GaXhlZCgwKVxyXG5cdFx0XHRcdFx0XHR9IC8v5aaC5LiN5YaZ5q2k5pa55rOV77yMWei9tOWIu+W6pum7mOiupOS/neeVmeS4pOS9jeWwj+aVsFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHdpZHRoOiBfc2VsZi5jV2lkdGggKiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiBfc2VsZi5jSGVpZ2h0ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdGRhdGFMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdGRhdGFQb2ludFNoYXBlOiB0cnVlLFxyXG5cdFx0XHRcdFx0ZXh0cmE6IHtcclxuXHRcdFx0XHRcdFx0bGluZVN0eWxlOiAnc3RyYWlnaHQnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdHNob3dDb2x1bW4xKGNhbnZhc0lkLCBjaGFydERhdGEpIHtcclxuXHRcdFx0XHRjYW52YUNvbHVtbiA9IG5ldyB1Q2hhcnRzKHtcclxuXHRcdFx0XHRcdCR0aGlzOiBfc2VsZixcclxuXHRcdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcclxuXHRcdFx0XHRcdHR5cGU6ICdsaW5lJyxcclxuXHRcdFx0XHRcdGxlZ2VuZDogdHJ1ZSxcclxuXHRcdFx0XHRcdGZvbnRTaXplOiA4LFxyXG5cdFx0XHRcdFx0Ly8gYmFja2dyb3VuZDogJyM1NWZmMDAnLFxyXG5cdFx0XHRcdFx0Ly8gcGl4ZWxSYXRpbzogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdC8vIGFuaW1hdGlvbjogdHJ1ZSxcclxuXHRcdFx0XHRcdHJvdGF0ZTogdHJ1ZSxcclxuXHRcdFx0XHRcdGxlZ2VuZDoge1xyXG5cdFx0XHRcdFx0XHRzaG93OiBmYWxzZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGVuYWJsZVNjcm9sbDogdHJ1ZSxcclxuXHRcdFx0XHRcdC8vIHJvdGF0ZUxhYmVsOiB0cnVlLFxyXG5cdFx0XHRcdFx0Y2F0ZWdvcmllczogY2hhcnREYXRhLmNhdGVnb3JpZXMsXHJcblx0XHRcdFx0XHRzZXJpZXM6IGNoYXJ0RGF0YS5zZXJpZXMsXHJcblx0XHRcdFx0XHQvLyBsZWdlbmQ6IHtcclxuXHRcdFx0XHRcdC8vIFx0c2hvdzogdHJ1ZSxcclxuXHRcdFx0XHRcdC8vIFx0cGFkZGluZzogNSxcclxuXHRcdFx0XHRcdC8vIFx0bGluZUhlaWdodDogMTEsXHJcblx0XHRcdFx0XHQvLyBcdG1hcmdpbjogNSxcclxuXHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHR4QXhpczoge1xyXG5cdFx0XHRcdFx0XHRyb3RhdGVMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6IHRydWUsXHJcblx0XHRcdFx0XHRcdC8vIGl0ZW1Db3VudDogY2hhcnREYXRhLmxlbmd0aCxcclxuXHRcdFx0XHRcdFx0aXRlbUNvdW50OjMwLFxyXG5cdFx0XHRcdFx0XHRncmlkVHlwZTogJ2Rhc2gnLFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHlBeGlzOiB7XHJcblx0XHRcdFx0XHRcdC8vZGlzYWJsZWQ6dHJ1ZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGRhdGFMYWJlbDogdHJ1ZSxcclxuXHRcdFx0XHRcdHdpZHRoOiBfc2VsZi5jV2lkdGggKiBfc2VsZi5waXhlbFJhdGlvLFxyXG5cdFx0XHRcdFx0aGVpZ2h0OiBfc2VsZi5jSGVpZ2h0ICogX3NlbGYucGl4ZWxSYXRpbyxcclxuXHRcdFx0XHRcdC8vIGV4dHJhOiB7XHJcblx0XHRcdFx0XHQvLyBcdGNvbHVtbjoge1xyXG5cdFx0XHRcdFx0Ly8gXHRcdHR5cGU6ICdncm91cCcsXHJcblx0XHRcdFx0XHQvLyBcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8gKiAwLjQ1IC8gY2hhcnREYXRhLmNhdGVnb3JpZXMubGVuZ3RoXHJcblx0XHRcdFx0XHQvLyBcdH1cclxuXHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHRleHRyYToge1xyXG5cdFx0XHRcdFx0XHRsaW5lU3R5bGU6ICdzdHJhaWdodCdcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dG91Y2hDb2x1bW4oZSkge1xyXG5cdFx0XHRcdGNhbnZhQ29sdW1uLnNob3dUb29sVGlwKGUsIHtcclxuXHRcdFx0XHRcdGZvcm1hdDogZnVuY3Rpb24oaXRlbSwgY2F0ZWdvcnkpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHR5cGVvZiBpdGVtLmRhdGEgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhLnZhbHVlXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG48c3R5bGU+XHJcblx0LyogXHR0b3A6IDEwJTsgKi9cclxuXHQuYmFja3tcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTcwdXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAzMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMzR1cHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiA5OTk5OTtcclxuXHRcdGJvdHRvbTogNTAlO1xyXG5cdFx0cmlnaHQ6IC0xMiU7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogSW50ZXJuZXQgRXhwbG9yZXIgOSovXHJcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIEZpcmVmb3ggKi9cclxuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogU2FmYXJpIOWSjCBDaHJvbWUgKi9cclxuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIE9wZXJhICovXHJcblx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpO1xyXG5cdH1cclxuXHQuc2VsZWN0IHtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogMTcwdXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAzMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMzR1cHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiA5OTk5OTtcclxuXHRcdGJvdHRvbTogMTAlO1xyXG5cdFx0cmlnaHQ6IC0xMiU7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogSW50ZXJuZXQgRXhwbG9yZXIgOSovXHJcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIEZpcmVmb3ggKi9cclxuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogU2FmYXJpIOWSjCBDaHJvbWUgKi9cclxuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIE9wZXJhICovXHJcblx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpO1xyXG5cdH1cclxuXHJcblx0LmFsbEFyZWEgaW1hZ2Uge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHVweDtcclxuXHRcdGhlaWdodDogNDB1cHg7XHJcblx0XHR3aWR0aDogNDB1cHg7XHJcblx0fVxyXG5cclxuXHQucWl1bi1jaGFydHMtcm90YXRlIHtcclxuXHRcdHdpZHRoOiAxMDAwdXB4O1xyXG5cdFx0aGVpZ2h0OiAyNDAwdXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuXHRcdHBhZGRpbmc6IDI1dXB4O1xyXG5cdH1cclxuXHJcblx0LmNoYXJ0cy1yb3RhdGUge1xyXG5cdFx0d2lkdGg6IDUwMHVweDtcclxuXHRcdHBhZGRpbmc6MTV1cHg7XHJcblx0XHRoZWlnaHQ6IDE0MDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0cGFnZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRjJGMkYyO1xyXG5cdFx0d2lkdGg6IDc1MHVweDtcclxuXHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0fVxyXG5cclxuXHQuYnQge1xyXG5cdFx0d2lkdGg6IDIwJTtcclxuXHRcdC8qIFx0bWFyZ2luLXRvcDogMjEldXB4OyAqL1xyXG5cdH1cclxuXHJcblx0LmJ0MSB7XHJcblx0XHRoZWlnaHQ6IDUwdXB4O1xyXG5cdFx0d2lkdGg6IDE4MHVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHVweDtcclxuXHR9XHJcbi5idHtcclxuXHRwYWRkaW5nLWxlZnQ6IDMwdXB4O1xyXG5cdHBhZGRpbmctdG9wOiA1MCU7XHJcblx0LyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xyXG59XHJcblx0LmJ0IGJ1dHRvbiB7XHJcblx0XHRmb250LXNpemU6IDI0dXB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuXHRcdGhlaWdodDo3MHVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA3MHVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDdBRkY7XHJcblx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdHdpZHRoOiA3MHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0XHQvKiBtYXJnaW4tbGVmdDogMjB1cHg7ICovXHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0LyogXHRsaW5lLWhlaWdodDogNzB1cHg7ICovXHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRcclxuXHRcdG1hcmdpbi10b3A6MjB1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHVweDtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQvKiBJbnRlcm5ldCBFeHBsb3JlciA5Ki9cclxuXHRcdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogRmlyZWZveCAqL1xyXG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQvKiBTYWZhcmkg5ZKMIENocm9tZSAqL1xyXG5cdFx0LW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogT3BlcmEgKi9cclxuXHRcdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSk7XHJcblx0fVxyXG5cclxuXHQuLmJ0IGJ1dHRvbjpmaXJzdC1jaGlsZCB7XHJcblx0XHQvKiBcdG1hcmdpbi10b3A6IDMwMHVweDsgKi9cclxuXHR9XHJcblx0LmJ0IGJ1dHRvbjo6YWZ0ZXJ7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQudGV4dCB7XHJcblx0XHRmb250LXNpemU6IDM2dXB4O1xyXG5cdFx0aGVpZ2h0OiAyMHVweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1NTA7XHJcblx0XHRsaW5lLWhlaWdodDogMjgwdXB4O1xyXG5cdFx0d2lkdGg6IDM1MHVweDtcclxuXHQvKiBcdGJvcmRlci10b3A6IHNvbGlkIDJ1cHggIzAwNEZCNjsgKi9cclxuXHJcblx0XHRtYXJnaW4tdG9wOiAyMSU7XHJcblx0XHQvKiBcdGhlaWdodDogNjAwdXB4O1xyXG5cdFx0XHR3aWR0aDogMjAwdXB4OyAqL1xyXG5cdFx0LyogYmFja2dyb3VuZC1jb2xvcjogIzAwNEZCNjsgKi9cclxuXHRcdGNvbG9yOiAjMDA0RkI2ICFpbXBvcnRhbnQ7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcblx0XHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogSW50ZXJuZXQgRXhwbG9yZXIgOSovXHJcblx0XHQtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIEZpcmVmb3ggKi9cclxuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG5cdFx0LyogU2FmYXJpIOWSjCBDaHJvbWUgKi9cclxuXHRcdC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuXHRcdC8qIE9wZXJhICovXHJcblx0XHRmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpO1xyXG5cdH1cclxuXHJcblxyXG5cdC8qIC5xaXVuLXBhZGRpbmcge1xyXG5cdFx0cGFkZGluZzogMiU7XHJcblx0XHR3aWR0aDogOTYlO1xyXG5cdH1cclxuXHJcblx0LnFpdW4td3JhcCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0LnFpdW4tcm93cyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LnFpdW4tY29sdW1ucyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LnFpdW4tY29tbW9uLW10IHtcclxuXHRcdG1hcmdpbi10b3A6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LnFpdW4tYmctd2hpdGUge1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXHR9XHJcblxyXG5cdC5xaXVuLXRpdGxlLWJhciB7XHJcblx0XHR3aWR0aDogOTYlO1xyXG5cdFx0cGFkZGluZzogMTB1cHggMiU7XHJcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHR9XHJcblxyXG5cdC5xaXVuLXRpdGxlLWRvdC1saWdodCB7XHJcblx0XHRib3JkZXItbGVmdDogMTB1cHggc29saWQgIzBlYTM5MTtcclxuXHRcdHBhZGRpbmctbGVmdDogMTB1cHg7XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0Y29sb3I6ICMwMDAwMDBcclxuXHR9XHJcblxyXG5cdC5xaXVuLWNoYXJ0cyB7XHJcblx0XHR3aWR0aDogNzUwdXB4O1xyXG5cdFx0aGVpZ2h0OiA1MDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH1cclxuXHJcblx0LmNoYXJ0cyB7XHJcblx0XHR3aWR0aDogNzUwdXB4O1xyXG5cdFx0aGVpZ2h0OiA1MDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdH0gKi9cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///335\n");
  32169. /***/ }),
  32170. /* 336 */
  32171. /*!*****************************************************************!*\
  32172. !*** C:/Users/001/Desktop/运维端/pages/mine/chart.vue?mpType=page ***!
  32173. \*****************************************************************/
  32174. =======
  32175. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _uCharts3 = _interopRequireDefault(__webpack_require__(/*! @/pages/mine/uchart/u-charts.js */ 19));\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));\nvar _checker = __webpack_require__(/*! @/pages/mine/uchart/checker.js */ 25);function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;}\n\n\nvar _self;\nvar canvaColumn = null;\nvar app = getApp();\nvar canvasObj = {};var _default =\n{\n data: function data() {\n return {\n swiperTabIdx: 2,\n // cWidth:'',\n // cHeight:'',\n cWidth2: '', //横屏图表\n cHeight2: '', //横屏图表\n pixelRatio: 1,\n serverData: '',\n indexList: \"\", //默认显示日期\n dayIndex: \"\",\n dayTabIndex: 0, //默认显示第一个按钮的日期数据\n list: [{ //所有区域选项\n areaID: '',\n text: '全部区域',\n value: -1 }],\n //骑行区域选择列表\n value1: 0, //骑行区与第一个显示什么\n curVal: uni.getStorageSync('curVal') ? uni.getStorageSync('curVal') : 0 //骑行区与第一个下标\n };\n },\n onLoad: function onLoad() {var _this = this;\n var arr = uni.getStorageSync('allArea');\n this.list = this.list.concat(arr);\n __f__(\"log\", this.list, \" at pages/mine/lineChart.vue:122\");\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", res, \"这是屏幕信息\", \" at pages/mine/lineChart.vue:125\");\n _this.mainHeight = res.windowHeight;\n } });\n\n __f__(\"log\", 12344, \" at pages/mine/lineChart.vue:129\");\n _self = this;\n this.cWidth = uni.upx2px(700);\n this.cHeight = uni.upx2px(1100);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n this.dayDate();\n this.userDate();\n this.getServerData(); //收益数据\n },\n methods: {\n back: function back() {\n uni.navigateBack({});\n\n\n },\n tanKuang: function tanKuang() {\n var that = this;\n var arr = [];\n for (var i = 0; i < this.list.length; i++) {\n arr = arr.concat(this.list[i].text);\n }\n __f__(\"log\", arr, \" at pages/mine/lineChart.vue:151\");\n uni.showActionSheet({\n itemList: arr,\n success: function success(res) {\n var index = res.tapIndex;\n that.areaID = that.list[index].areaID;\n that.curVal = res.tapIndex;\n __f__(\"log\", that.list[index].areaID, \"66666\", \" at pages/mine/lineChart.vue:158\");\n __f__(\"log\", '选中了第' + res.tapIndex + '个按钮', \" at pages/mine/lineChart.vue:159\");\n that.dayDate();\n that.userDate();\n that.getServerData(); //收益数据\n\n },\n fail: function fail(res) {} });\n\n },\n childMess: function childMess(e) {\n __f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/lineChart.vue:169\");\n this.areaID = e.areaID;\n this.getServerData();\n // this.getFeed()\n },\n changeDate: function changeDate(e) {\n this.dayTabIndex = e;\n __f__(\"log\", e, \"3333\", \" at pages/mine/lineChart.vue:176\");\n this.dayDate();\n\n },\n getServerData: function getServerData() {\n var date = {\n area_id: this.areaID,\n days: 'thirtyDays' };\n\n app.request('order/profitChart', date, 'GET').then(function (res) {\n var LineA = {\n categories: [],\n series: [] };\n\n\n __f__(\"log\", res, '这是所有数据999999999', \" at pages/mine/lineChart.vue:191\");\n var arr = new Array();\n arr = res.data;\n var data = new Array();\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n // console.log(\"for循环\", arr[i]);\n // console.log(arr[i].data, \"数组\")\n\n var aa = arr[i].data;\n // console.log(aa, \"这是第\" + i)\n LineA.series.push({\n name: arr[i].name,\n data: arr[i].data });\n\n\n\n }\n for (var k = 0, leng = aa.length; k < leng; k++) {\n // \tconsole.log(aa[k].value,'666666')\n\n // console.log(aa[k].date,\"这是横坐标\")\n LineA.categories.push(aa[k].date);\n\n // console.log(this.lineData2.categories,\"这是横坐标\")\n\n\n // console.log(this.lineData2.series,\"这是最终数据\")\n }\n __f__(\"log\", res.data.data, \"333\", \" at pages/mine/lineChart.vue:219\");\n // LineA.categories=res.data.data.LineA.categories;\n // LineA.series=res.data.data.LineA.series;\n\n //第二根线为虚线的设置\n // LineA.series[1].lineType='dash';\n // LineA.series[1].dashLength=10;\n _self.textarea = JSON.stringify(LineA);\n _self.showLineA(\"canvasLineA\", LineA);\n\n });\n },\n //日新增订单\n dayDate: function dayDate() {\n _self = this;\n this.cWidth = uni.upx2px(500);\n this.cHeight = uni.upx2px(1400);\n // this.cWidth2 = uni.upx2px(700);\n // this.cHeight2 = uni.upx2px(1100);\n\n var date = {\n area_id: this.areaID,\n days: 'thirtyDays' };\n\n app.request('order/hourOrderNumber', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n // _self.serverData=res;\n __f__(\"log\", res, '22222', \" at pages/mine/lineChart.vue:250\");\n // console.log(res, 'disanzu这是所有数据')\n var aa = res.data.date;\n var aa1 = [];\n for (var i = 0, len = aa.length; i < len; i++) {\n\n aa1.push(aa[i].substring(aa[i].length - 2));\n __f__(\"log\", aa1, \"5555555555\", \" at pages/mine/lineChart.vue:257\");\n }\n\n __f__(\"log\", \"00000000000000000000000000\", \" at pages/mine/lineChart.vue:260\");\n\n _self.indexList = aa1;\n\n Column.categories = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\",\n \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", '23', \"24\"];\n\n var arr = [];\n\n var day = res.data.date[_self.dayTabIndex];\n __f__(\"log\", day, \"444444555555555\", \" at pages/mine/lineChart.vue:270\");\n arr.push({\n name: day,\n data: res.data.data[day] });\n\n __f__(\"log\", arr, \"444\", \" at pages/mine/lineChart.vue:275\");\n\n Column.series = arr;\n\n // Column.series=res.data.data\n __f__(\"log\", Column, \"6666\", \" at pages/mine/lineChart.vue:280\");\n\n _self.showColumn(\"canvasColumn\", Column);\n });\n },\n //用户数据统计\n userDate: function userDate() {\n var date = {\n area_id: this.areaID,\n days: 'thirtyDays' };\n\n app.request('user/newUsersChart', date, 'GET').then(function (res) {\n\n var Column = {\n categories: [],\n series: [] };\n\n\n\n __f__(\"log\", res.data, \"88888888\", \" at pages/mine/lineChart.vue:299\");\n var arr = [];\n for (var i = 0, len = res.data.length; i < len; i++) {// 编程式\n // console.log(\"for循环\", res.data[i]);\n Column.categories.push(res.data[i].date);\n\n arr.push(res.data[i].value);\n\n Column.series.push({\n name: res.data[i].date,\n data: arr,\n color: '#55ff00' });\n\n }\n __f__(\"log\", arr, \"898988989898\", \" at pages/mine/lineChart.vue:313\");\n __f__(\"log\", Column, \"数组5656565655\", \" at pages/mine/lineChart.vue:314\");\n\n // _self.indexList = res.data.date\n\n _self.showColumn1(\"canvasColumnA\", Column);\n });\n },\n showColumn: function showColumn(canvasId, chartData) {\n canvaColumn = new _uCharts3.default({\n $this: _self,\n canvasId: canvasId,\n type: 'column',\n legend: true,\n fontSize: 11,\n background: '#55ff00',\n pixelRatio: _self.pixelRatio,\n animation: true,\n rotate: true,\n\n categories: chartData.categories,\n series: chartData.series,\n\n xAxis: {\n disableGrid: true },\n\n yAxis: {\n //disabled:true\n },\n dataLabel: true,\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio,\n extra: {\n column: {\n type: 'group',\n width: _self.cWidth * _self.pixelRatio * 0.45 / chartData.categories.length } } });\n\n\n\n },\n changeGaugeData: function changeGaugeData() {\n var series = [{\n name: \"完成率\",\n data: Math.random() }];\n //这里是随机数据,生产环境请从服务器获取,注意series数据类型为数组\n //这里我借用之前的categories数据,判断一下新数据的title.color,没有写死在程序里,以便于自定义\n var newTitleColor;\n for (var i = 0; i < _self.serverData.Gauge.categories.length; i++) {\n if (series[0].data <= _self.serverData.Gauge.categories[i].value) {\n newTitleColor = _self.serverData.Gauge.categories[i].color;\n break;\n }\n }\n\n canvasObj['canvasGauge'].updateData({\n series: series, //这里给了新数值\n categories: _self.serverData.Gauge.categories,\n title: {\n name: Math.round(series[0].data * 100) + '%',\n color: newTitleColor,\n fontSize: 25 * _self.pixelRatio,\n offsetY: 50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n },\n subtitle: {\n name: '更新数据',\n color: '#666666',\n fontSize: 15 * _self.pixelRatio,\n offsetY: -50 * _self.pixelRatio //新增参数,自定义调整Y轴文案距离\n } });\n\n },\n touchLineA: function touchLineA(e) {\n canvasObj['canvasLineA'].scrollStart(e);\n },\n moveLineA: function moveLineA(e) {\n canvasObj['canvasLineA'].scroll(e);\n },\n touchEndLineA: function touchEndLineA(e) {\n __f__(\"log\", e, \"00\", \" at pages/mine/lineChart.vue:391\");\n canvasObj['canvasLineA'].scrollEnd(e);\n //下面是toolTip事件,如果滚动后不需要显示,可不填写\n canvasObj['canvasLineA'].showToolTip(e, {\n format: function format(item, category) {\n return category + ' ' + item.name + ':' + item.data;\n } });\n\n },\n touchIt: function touchIt(e, id) {\n canvasObj['canvasLineA'].scrollStart(e);\n // canvasObj[id].touchLegend(e, {\n // \tanimation: false\n // });\n // canvasObj[id].showToolTip(e, {\n // \tformat: function(item, category) {\n // \t\tif (typeof item.data === 'object') {\n // \t\t\treturn category + ' ' + item.name + ':' + item.data.value\n // \t\t} else {\n // \t\t\treturn category + ' ' + item.name + ':' + item.data\n // \t\t}\n // \t}\n // });\n },\n\n touchMix: function touchMix(e) {\n canvasObj['canvasMix'].scrollStart(e);\n },\n moveMix: function moveMix(e) {\n canvasObj['canvasMix'].scroll(e);\n },\n\n showLineA: function showLineA(canvasId, chartData) {var _uCharts;\n canvasObj[canvasId] = new _uCharts3.default((_uCharts = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n fontSize: 8,\n rotate: true,\n dataLabel: false,\n // dataLabel: false,\n padding: [15, 15, 0, 15],\n legend: {\n show: true,\n padding: 5,\n lineHeight: 11,\n margin: 5 },\n\n // dataLabel: false,\n dataPointShape: false,\n background: '#FFFFFF',\n pixelRatio: _self.pixelRatio,\n categories: chartData.categories,\n series: chartData.series,\n animation: false,\n enableScroll: true, //开启图表拖拽功能\n dataZoom: [\n {\n show: true,\n realtime: true,\n start: 0,\n end: 50 }\n\n // {\n // type: 'outside',\n // realtime: true,\n // start: 0,\n // end: 50\n // }\n ],\n xAxis: {\n // rotateLabel: true,\n // disableGrid: true,\n // itemCount: chartData.length,\n // labelCount: 30,\n // gridType: 'dash',\n disableGrid: true,\n type: 'grid',\n rotateLabel: true,\n // gridType: 'dash',\n itemCount: 25,\n // scrollShow: true,\n scrollAlign: 'left'\n //scrollBackgroundColor:'#F7F7FF',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条背景颜色,默认为 #EFEBEF\n //scrollColor:'#DEE7F7',//可不填写,配合enableScroll图表拖拽功能使用,X轴滚动条颜色,默认为 #A6A6A6\n },\n yAxis: {\n //disabled:true\n gridType: 'dash',\n splitNumber: 8,\n min: 10,\n max: 180,\n format: function format(val) {\n return val.toFixed(0);\n } //如不写此方法,Y轴刻度默认保留两位小数\n },\n width: _self.cWidth * _self.pixelRatio,\n height: _self.cHeight * _self.pixelRatio }, _defineProperty(_uCharts, \"dataLabel\",\n true), _defineProperty(_uCharts, \"dataPointShape\",\n true), _defineProperty(_uCharts, \"extra\",\n {\n lineStyle: 'straight' }), _uCharts));\n\n\n\n },\n\n showColumn1: function showColumn1(canvasId, chartData) {var _uCharts2;\n canvaColumn = new _uCharts3.default((_uCharts2 = {\n $this: _self,\n canvasId: canvasId,\n type: 'line',\n legend: true,\n fontSize: 8,\n // background: '#55ff00',\n // pixelRatio: _self.pixelRatio,\n // animation: true,\n rotate: true }, _defineProperty(_uCharts2, \"legend\",\n {\n show: false }), _defineProperty(_uCharts2, \"enableScroll\",\n\n true), _defineProperty(_uCharts2, \"categories\",\n\n chartData.categories), _defineProperty(_uCharts2, \"series\",\n chartData.series), _defineProperty(_uCharts2, \"xAxis\",\n\n\n\n\n\n\n {\n rotateLabel: true,\n disableGrid: true,\n // itemCount: chartData.length,\n itemCount: 30,\n gridType: 'dash' }), _defineProperty(_uCharts2, \"yAxis\",\n\n {\n //disabled:true\n }), _defineProperty(_uCharts2, \"dataLabel\",\n true), _defineProperty(_uCharts2, \"width\",\n _self.cWidth * _self.pixelRatio), _defineProperty(_uCharts2, \"height\",\n _self.cHeight * _self.pixelRatio), _defineProperty(_uCharts2, \"extra\",\n\n\n\n\n\n\n {\n lineStyle: 'straight' }), _uCharts2));\n\n\n },\n touchColumn: function touchColumn(e) {\n canvaColumn.showToolTip(e, {\n format: function format(item, category) {\n if (typeof item.data === 'object') {\n return category + ' ' + item.name + ':' + item.data.value;\n } else {\n return category + ' ' + item.name + ':' + item.data;\n }\n } });\n\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9saW5lQ2hhcnQudnVlIl0sIm5hbWVzIjpbIl9zZWxmIiwiY2FudmFDb2x1bW4iLCJhcHAiLCJnZXRBcHAiLCJjYW52YXNPYmoiLCJkYXRhIiwic3dpcGVyVGFiSWR4IiwiY1dpZHRoMiIsImNIZWlnaHQyIiwicGl4ZWxSYXRpbyIsInNlcnZlckRhdGEiLCJpbmRleExpc3QiLCJkYXlJbmRleCIsImRheVRhYkluZGV4IiwibGlzdCIsImFyZWFJRCIsInRleHQiLCJ2YWx1ZSIsInZhbHVlMSIsImN1clZhbCIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwib25Mb2FkIiwiYXJyIiwiY29uY2F0IiwiZ2V0U3lzdGVtSW5mbyIsInN1Y2Nlc3MiLCJyZXMiLCJtYWluSGVpZ2h0Iiwid2luZG93SGVpZ2h0IiwiY1dpZHRoIiwidXB4MnB4IiwiY0hlaWdodCIsImRheURhdGUiLCJ1c2VyRGF0ZSIsImdldFNlcnZlckRhdGEiLCJtZXRob2RzIiwiYmFjayIsIm5hdmlnYXRlQmFjayIsInRhbkt1YW5nIiwidGhhdCIsImkiLCJsZW5ndGgiLCJzaG93QWN0aW9uU2hlZXQiLCJpdGVtTGlzdCIsImluZGV4IiwidGFwSW5kZXgiLCJmYWlsIiwiY2hpbGRNZXNzIiwiZSIsImNoYW5nZURhdGUiLCJkYXRlIiwiYXJlYV9pZCIsImRheXMiLCJyZXF1ZXN0IiwidGhlbiIsIkxpbmVBIiwiY2F0ZWdvcmllcyIsInNlcmllcyIsIkFycmF5IiwibGVuIiwiYWEiLCJwdXNoIiwibmFtZSIsImsiLCJsZW5nIiwidGV4dGFyZWEiLCJKU09OIiwic3RyaW5naWZ5Iiwic2hvd0xpbmVBIiwiQ29sdW1uIiwiYWExIiwic3Vic3RyaW5nIiwiZGF5Iiwic2hvd0NvbHVtbiIsImNvbG9yIiwic2hvd0NvbHVtbjEiLCJjYW52YXNJZCIsImNoYXJ0RGF0YSIsInVDaGFydHMiLCIkdGhpcyIsInR5cGUiLCJsZWdlbmQiLCJmb250U2l6ZSIsImJhY2tncm91bmQiLCJhbmltYXRpb24iLCJyb3RhdGUiLCJ4QXhpcyIsImRpc2FibGVHcmlkIiwieUF4aXMiLCJkYXRhTGFiZWwiLCJ3aWR0aCIsImhlaWdodCIsImV4dHJhIiwiY29sdW1uIiwiY2hhbmdlR2F1Z2VEYXRhIiwiTWF0aCIsInJhbmRvbSIsIm5ld1RpdGxlQ29sb3IiLCJHYXVnZSIsInVwZGF0ZURhdGEiLCJ0aXRsZSIsInJvdW5kIiwib2Zmc2V0WSIsInN1YnRpdGxlIiwidG91Y2hMaW5lQSIsInNjcm9sbFN0YXJ0IiwibW92ZUxpbmVBIiwic2Nyb2xsIiwidG91Y2hFbmRMaW5lQSIsInNjcm9sbEVuZCIsInNob3dUb29sVGlwIiwiZm9ybWF0IiwiaXRlbSIsImNhdGVnb3J5IiwidG91Y2hJdCIsImlkIiwidG91Y2hNaXgiLCJtb3ZlTWl4IiwicGFkZGluZyIsInNob3ciLCJsaW5lSGVpZ2h0IiwibWFyZ2luIiwiZGF0YVBvaW50U2hhcGUiLCJlbmFibGVTY3JvbGwiLCJkYXRhWm9vbSIsInJlYWx0aW1lIiwic3RhcnQiLCJlbmQiLCJyb3RhdGVMYWJlbCIsIml0ZW1Db3VudCIsInNjcm9sbEFsaWduIiwiZ3JpZFR5cGUiLCJzcGxpdE51bWJlciIsIm1pbiIsIm1heCIsInZhbCIsInRvRml4ZWQiLCJsaW5lU3R5bGUiLCJ0b3VjaENvbHVtbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBdUZBO0FBQ0E7QUFDQSw2RTs7O0FBR0EsSUFBSUEsS0FBSjtBQUNBLElBQUlDLFdBQVcsR0FBRyxJQUFsQjtBQUNBLElBQUlDLEdBQUcsR0FBR0MsTUFBTSxFQUFoQjtBQUNBLElBQUlDLFNBQVMsR0FBRyxFQUFoQixDO0FBQ2U7QUFDZEMsTUFEYyxrQkFDUDtBQUNOLFdBQU87QUFDTkMsa0JBQVksRUFBRSxDQURSO0FBRU47QUFDQTtBQUNBQyxhQUFPLEVBQUUsRUFKSCxFQUlP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LGlCQUFXLENBQUM4RyxXQUFaLENBQXdCOUQsQ0FBeEIsRUFBMkI7QUFDMUIrRCxjQUFNLEVBQUUsZ0JBQVNDLElBQVQsRUFBZUMsUUFBZixFQUF5QjtBQUNoQyxjQUFJLE9BQU9ELElBQUksQ0FBQzVHLElBQVosS0FBcUIsUUFBekIsRUFBbUM7QUFDbEMsbUJBQU82RyxRQUFRLEdBQUcsR0FBWCxHQUFpQkQsSUFBSSxDQUFDbEQsSUFBdEIsR0FBNkIsR0FBN0IsR0FBbUNrRCxJQUFJLENBQUM1RyxJQUFMLENBQVVZLEtBQXBEO0FBQ0EsV0FGRCxNQUVPO0FBQ04sbUJBQU9pRyxRQUFRLEdBQUcsR0FBWCxHQUFpQkQsSUFBSSxDQUFDbEQsSUFBdEIsR0FBNkIsR0FBN0IsR0FBbUNrRCxJQUFJLENBQUM1RyxJQUEvQztBQUNBO0FBQ0QsU0FQeUIsRUFBM0I7O0FBU0EsS0FqYU8sRUExQ0ssRSIsImZpbGUiOiIxNjkuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuaW1wb3J0IHVDaGFydHMgZnJvbSAnQC9wYWdlcy9taW5lL3VjaGFydC91LWNoYXJ0cy5qcyc7XG5pbXBvcnQgYWxsQXJlYSBmcm9tICcuLi8uLi9jb21wb25lbnQvYWxsQXJlYS9hbGxBcmVhLnZ1ZSdcbmltcG9ydCB7XG5cdGlzSlNPTlxufSBmcm9tICdAL3BhZ2VzL21pbmUvdWNoYXJ0L2NoZWNrZXIuanMnO1xudmFyIF9zZWxmO1xudmFyIGNhbnZhQ29sdW1uID0gbnVsbDtcbnZhciBhcHAgPSBnZXRBcHAoKVxudmFyIGNhbnZhc09iaiA9IHt9O1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzd2lwZXJUYWJJZHg6IDIsXG5cdFx0XHQvLyBjV2lkdGg6JycsXG5cdFx0XHQvLyBjSGVpZ2h0OicnLFxuXHRcdFx0Y1dpZHRoMjogJycsIC8v5qiq5bGP5Zu+6KGoXG5cdFx0XHRjSGVpZ2h0MjogJycsIC8v5qiq5bGP5Zu+6KGoXG5cdFx0XHRwaXhlbFJhdGlvOiAxLFxuXHRcdFx0c2VydmVyRGF0YTogJycsXG5cdFx0XHRpbmRleExpc3Q6IFwiXCIsIC8v6buY6K6k5pi+56S65pel5pyfXG5cdFx0XHRkYXlJbmRleDogXCJcIixcblx0XHRcdGRheVRhYkluZGV4OiAwLCAvL+m7mOiupOaYvuekuuesrOS4gOS4quaMiemSrueahOaXpeacn+aVsOaNrlxuXHRcdFx0bGlzdDogW3sgLy/miYDmnInljLrln5/pgInpoblcblx0XHRcdFx0YXJlYUlEOiAnJyxcblx0XHRcdFx0dGV4dDogJ+WFqOmDqOWMuuWfnycsXG5cdFx0XHRcdHZhbHVlOiAtMSxcblx0XHRcdH1dLCAvL+mqkeihjOWMuuWfn+mAieaLqeWIl+ihqFxuXHRcdFx0dmFsdWUxOiAwLCAvL+mqkeihjOWMuuS4juesrOS4gOS4quaYvuekuuS7gOS5iFxuXHRcdFx0Y3VyVmFsOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpID8gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSA6IDAsIC8v6aqR6KGM5Yy65LiO56ys5LiA5Liq5LiL5qCHXG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQoKSB7XG5cdFx0dmFyIGFyciA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xuXHRcdHRoaXMubGlzdCA9IHRoaXMubGlzdC5jb25jYXQoYXJyKTtcblx0XHRjb25zb2xlLmxvZyh0aGlzLmxpc3QpXG5cdFx0dW5pLmdldFN5c3RlbUluZm8oe1xuXHRcdFx0c3VjY2VzczogcmVzID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCBcIui/meaYr+Wxj+W5leS/oeaBr1wiKVxuXHRcdFx0XHR0aGlzLm1haW5IZWlnaHQgPSByZXMud2luZG93SGVpZ2h0O1xuXHRcdFx0fVxuXHRcdH0pXG5cdFx0Y29uc29sZS5sb2coMTIzNDQpXG5cdFx0X3NlbGYgPSB0aGlzO1xuXHRcdHRoaXMuY1dpZHRoID0gdW5pLnVweDJweCg3MDApO1xuXHRcdHRoaXMuY0hlaWdodCA9IHVuaS51cHgycHgoMTEwMCk7XG5cdFx0Ly8gdGhpcy5jV2lkdGgyID0gdW5pLnVweDJweCg3MDApO1xuXHRcdC8vIHRoaXMuY0hlaWdodDIgPSB1bmkudXB4MnB4KDExMDApO1xuXHRcdHRoaXMuZGF5RGF0ZSgpO1xuXHRcdHRoaXMudXNlckRhdGUoKTtcblx0XHR0aGlzLmdldFNlcnZlckRhdGEoKTsgLy/mlLbnm4rmlbDmja5cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdGJhY2s6ZnVuY3Rpb24oKXtcblx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soe1xuXHRcdFx0XHRcblx0XHRcdH0pXG5cdFx0fSxcblx0XHR0YW5LdWFuZzogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR2YXIgYXJyID0gW11cblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5saXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdGFyciA9IGFyci5jb25jYXQodGhpcy5saXN0W2ldLnRleHQpXG5cdFx0XHR9XG5cdFx0XHRjb25zb2xlLmxvZyhhcnIpXG5cdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcblx0XHRcdFx0aXRlbUxpc3Q6IGFycixcblx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnRhcEluZGV4XG5cdFx0XHRcdFx0dGhhdC5hcmVhSUQgPSB0aGF0Lmxpc3RbaW5kZXhdLmFyZWFJRDtcblx0XHRcdFx0XHR0aGF0LmN1clZhbCA9IHJlcy50YXBJbmRleFxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQubGlzdFtpbmRleF0uYXJlYUlELCBcIjY2NjY2XCIpO1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCfpgInkuK3kuobnrKwnICsgcmVzLnRhcEluZGV4ICsgJ+S4quaMiemSricpO1xuXHRcdFx0XHRcdHRoYXQuZGF5RGF0ZSgpO1xuXHRcdFx0XHRcdHRoYXQudXNlckRhdGUoKTtcblx0XHRcdFx0XHR0aGF0LmdldFNlcnZlckRhdGEoKTsgLy/mlLbnm4rmlbDmja5cblxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmYWlsOiBmdW5jdGlvbihyZXMpIHt9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Y2hpbGRNZXNzOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlLCAn6L+Z5piv5a2Q57uE5Lu256m/6L+H5p2l55qE5YC8Jylcblx0XHRcdHRoaXMuYXJlYUlEID0gZS5hcmVhSURcblx0XHRcdHRoaXMuZ2V0U2VydmVyRGF0YSgpO1xuXHRcdFx0Ly8gdGhpcy5nZXRGZWVkKClcblx0XHR9LFxuXHRcdGNoYW5nZURhdGU6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdHRoaXMuZGF5VGFiSW5kZXggPSBlXG5cdFx0XHRjb25zb2xlLmxvZyhlLCBcIjMzMzNcIilcblx0XHRcdHRoaXMuZGF5RGF0ZSgpO1xuXG5cdFx0fSxcblx0XHRnZXRTZXJ2ZXJEYXRhKCkge1xuXHRcdFx0bGV0IGRhdGUgPSB7XG5cdFx0XHRcdGFyZWFfaWQ6IHRoaXMuYXJlYUlELFxuXHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9wcm9maXRDaGFydCcsIGRhdGUsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGxldCBMaW5lQSA9IHtcblx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbXSxcblx0XHRcdFx0XHRzZXJpZXM6IFtdXG5cdFx0XHRcdH07XG5cblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6L+Z5piv5omA5pyJ5pWw5o2uOTk5OTk5OTk5Jylcblx0XHRcdFx0dmFyIGFyciA9IG5ldyBBcnJheVxuXHRcdFx0XHRhcnIgPSByZXMuZGF0YVxuXHRcdFx0XHR2YXIgZGF0YSA9IG5ldyBBcnJheVxuXHRcdFx0XHRmb3IgKGxldCBpID0gMCwgbGVuID0gcmVzLmRhdGEubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsgLy8g57yW56iL5byPXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCJmb3Llvqrnjq9cIiwgYXJyW2ldKTtcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhhcnJbaV0uZGF0YSwgXCLmlbDnu4RcIilcblxuXHRcdFx0XHRcdHZhciBhYSA9IGFycltpXS5kYXRhXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coYWEsIFwi6L+Z5piv56ysXCIgKyBpKVxuXHRcdFx0XHRcdExpbmVBLnNlcmllcy5wdXNoKHtcblx0XHRcdFx0XHRcdG5hbWU6IGFycltpXS5uYW1lLFxuXHRcdFx0XHRcdFx0ZGF0YTogYXJyW2ldLmRhdGFcblx0XHRcdFx0XHR9KVxuXG5cblx0XHRcdFx0fVxuXHRcdFx0XHRmb3IgKGxldCBrID0gMCwgbGVuZyA9IGFhLmxlbmd0aDsgayA8IGxlbmc7IGsrKykge1xuXHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coYWFba10udmFsdWUsJzY2NjY2NicpXG5cblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhhYVtrXS5kYXRlLFwi6L+Z5piv5qiq5Z2Q5qCHXCIpXG5cdFx0XHRcdFx0TGluZUEuY2F0ZWdvcmllcy5wdXNoKGFhW2tdLmRhdGUpXG5cblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmxpbmVEYXRhMi5jYXRlZ29yaWVzLFwi6L+Z5piv5qiq5Z2Q5qCHXCIpXG5cblxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMubGluZURhdGEyLnNlcmllcyxcIui/meaYr+acgOe7iOaVsOaNrlwiKVxuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLmRhdGEsIFwiMzMzXCIpXG5cdFx0XHRcdC8vIExpbmVBLmNhdGVnb3JpZXM9cmVzLmRhdGEuZGF0YS5MaW5lQS5jYXRlZ29yaWVzO1xuXHRcdFx0XHQvLyBMaW5lQS5zZXJpZXM9cmVzLmRhdGEuZGF0YS5MaW5lQS5zZXJpZXM7XG5cblx0XHRcdFx0Ly/nrKzkuozmoLnnur/kuLromZrnur/nmoTorr7nva5cblx0XHRcdFx0Ly8gTGluZUEuc2VyaWVzWzFdLmxpbmVUeXBlPSdkYXNoJztcblx0XHRcdFx0Ly8gTGluZUEuc2VyaWVzWzFdLmRhc2hMZW5ndGg9MTA7XG5cdFx0XHRcdF9zZWxmLnRleHRhcmVhID0gSlNPTi5zdHJpbmdpZnkoTGluZUEpO1xuXHRcdFx0XHRfc2VsZi5zaG93TGluZUEoXCJjYW52YXNMaW5lQVwiLCBMaW5lQSk7XG5cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+aXpeaWsOWinuiuouWNlVxuXHRcdGRheURhdGUoKSB7XG5cdFx0XHRfc2VsZiA9IHRoaXM7XG5cdFx0XHR0aGlzLmNXaWR0aCA9IHVuaS51cHgycHgoNTAwKTtcblx0XHRcdHRoaXMuY0hlaWdodCA9IHVuaS51cHgycHgoMTQwMCk7XG5cdFx0XHQvLyB0aGlzLmNXaWR0aDIgPSB1bmkudXB4MnB4KDcwMCk7XG5cdFx0XHQvLyB0aGlzLmNIZWlnaHQyID0gdW5pLnVweDJweCgxMTAwKTtcblxuXHRcdFx0bGV0IGRhdGUgPSB7XG5cdFx0XHRcdGFyZWFfaWQ6IHRoaXMuYXJlYUlELFxuXHRcdFx0XHRkYXlzOiAndGhpcnR5RGF5cydcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCdvcmRlci9ob3VyT3JkZXJOdW1iZXInLCBkYXRlLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXG5cdFx0XHRcdGxldCBDb2x1bW4gPSB7XG5cdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXG5cdFx0XHRcdFx0c2VyaWVzOiBbXVxuXHRcdFx0XHR9O1xuXHRcdFx0XHQvLyBfc2VsZi5zZXJ2ZXJEYXRhPXJlcztcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAnMjIyMjInKVxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMsICdkaXNhbnp16L+Z5piv5omA5pyJ5pWw5o2uJylcblx0XHRcdHZhciBhYT1yZXMuZGF0YS5kYXRlXG5cdFx0XHR2YXIgYWExPVtdXG5cdFx0XHRmb3IobGV0IGk9MCxsZW49YWEubGVuZ3RoO2k8bGVuO2krKyl7XG5cdFx0XHRcdFxuXHRcdFx0XHRhYTEucHVzaChhYVtpXS5zdWJzdHJpbmcoYWFbaV0ubGVuZ3RoLTIpKVxuXHRcdFx0XHQgIGNvbnNvbGUubG9nKGFhMSxcIjU1NTU1NTU1NTVcIilcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Y29uc29sZS5sb2coXCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiKVxuXHRcdFx0XG5cdFx0XHRcdF9zZWxmLmluZGV4TGlzdCA9IGFhMVxuXG5cdFx0XHRcdENvbHVtbi5jYXRlZ29yaWVzID0gW1wiMFwiLCBcIjFcIiwgXCIyXCIsIFwiM1wiLCBcIjRcIiwgXCI1XCIsIFwiNlwiLCBcIjdcIiwgXCI4XCIsIFwiOVwiLCBcIjEwXCIsIFwiMTFcIiwgXCIxMlwiLCBcIjEzXCIsIFwiMTRcIiwgXCIxNVwiLCBcIjE2XCIsXG5cdFx0XHRcdFx0XCIxN1wiLCBcIjE4XCIsIFwiMTlcIiwgXCIyMFwiLCBcIjIxXCIsIFwiMjJcIiwgJzIzJywgXCIyNFwiXG5cdFx0XHRcdF1cblx0XHRcdFx0dmFyIGFyciA9IFtdXG5cblx0XHRcdFx0dmFyIGRheSA9IHJlcy5kYXRhLmRhdGVbX3NlbGYuZGF5VGFiSW5kZXhdXG5cdFx0XHRcdGNvbnNvbGUubG9nKGRheSwgXCI0NDQ0NDQ1NTU1NTU1NTVcIilcblx0XHRcdFx0YXJyLnB1c2goe1xuXHRcdFx0XHRcdG5hbWU6IGRheSxcblx0XHRcdFx0XHRkYXRhOiByZXMuZGF0YS5kYXRhW2RheV1cblx0XHRcdFx0fSlcblx0XHRcdFx0Y29uc29sZS5sb2coYXJyLCBcIjQ0NFwiKVxuXG5cdFx0XHRcdENvbHVtbi5zZXJpZXMgPSBhcnJcblxuXHRcdFx0XHQvLyBDb2x1bW4uc2VyaWVzPXJlcy5kYXRhLmRhdGFcblx0XHRcdFx0Y29uc29sZS5sb2coQ29sdW1uLCBcIjY2NjZcIilcblxuXHRcdFx0XHRfc2VsZi5zaG93Q29sdW1uKFwiY2FudmFzQ29sdW1uXCIsIENvbHVtbik7XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/nlKjmiLfmlbDmja7nu5/orqFcblx0XHR1c2VyRGF0ZSgpIHtcblx0XHRcdGxldCBkYXRlID0ge1xuXHRcdFx0XHRhcmVhX2lkOiB0aGlzLmFyZWFJRCxcblx0XHRcdFx0ZGF5czogJ3RoaXJ0eURheXMnXG5cdFx0XHR9XG5cdFx0XHRhcHAucmVxdWVzdCgndXNlci9uZXdVc2Vyc0NoYXJ0JywgZGF0ZSwgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblxuXHRcdFx0XHRsZXQgQ29sdW1uID0ge1xuXHRcdFx0XHRcdGNhdGVnb3JpZXM6IFtdLFxuXHRcdFx0XHRcdHNlcmllczogW1xuXG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgXCI4ODg4ODg4OFwiKVxuXHRcdFx0XHR2YXIgYXJyID0gW11cblx0XHRcdFx0Zm9yIChsZXQgaSA9IDAsIGxlbiA9IHJlcy5kYXRhLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7IC8vIOe8lueoi+W8j1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKFwiZm9y5b6q546vXCIsIHJlcy5kYXRhW2ldKTtcblx0XHRcdFx0XHRDb2x1bW4uY2F0ZWdvcmllcy5wdXNoKHJlcy5kYXRhW2ldLmRhdGUpIFxuXG5cdFx0XHRcdFx0YXJyLnB1c2gocmVzLmRhdGFbaV0udmFsdWUpXG5cblx0XHRcdFx0XHRDb2x1bW4uc2VyaWVzLnB1c2goe1xuXHRcdFx0XHRcdFx0bmFtZTogcmVzLmRhdGFbaV0uZGF0ZSxcblx0XHRcdFx0XHRcdGRhdGE6IGFycixcblx0XHRcdFx0XHRcdGNvbG9yOiAnIzU1ZmYwMCdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnNvbGUubG9nKGFyciwgXCI4OTg5ODg5ODk4OThcIilcblx0XHRcdFx0Y29uc29sZS5sb2coQ29sdW1uLCBcIuaVsOe7hDU2NTY1NjU2NTVcIilcblxuXHRcdFx0XHQvLyBfc2VsZi5pbmRleExpc3QgPSByZXMuZGF0YS5kYXRlXG5cblx0XHRcdFx0X3NlbGYuc2hvd0NvbHVtbjEoXCJjYW52YXNDb2x1bW5BXCIsIENvbHVtbik7XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0c2hvd0NvbHVtbihjYW52YXNJZCwgY2hhcnREYXRhKSB7XG5cdFx0XHRjYW52YUNvbHVtbiA9IG5ldyB1Q2hhcnRzKHtcblx0XHRcdFx0JHRoaXM6IF9zZWxmLFxuXHRcdFx0XHRjYW52YXNJZDogY2FudmFzSWQsXG5cdFx0XHRcdHR5cGU6ICdjb2x1bW4nLFxuXHRcdFx0XHRsZWdlbmQ6IHRydWUsXG5cdFx0XHRcdGZvbnRTaXplOiAxMSxcblx0XHRcdFx0YmFja2dyb3VuZDogJyM1NWZmMDAnLFxuXHRcdFx0XHRwaXhlbFJhdGlvOiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRhbmltYXRpb246IHRydWUsXG5cdFx0XHRcdHJvdGF0ZTogdHJ1ZSxcblxuXHRcdFx0XHRjYXRlZ29yaWVzOiBjaGFydERhdGEuY2F0ZWdvcmllcyxcblx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxuXHRcdFx0XHRcblx0XHRcdFx0eEF4aXM6IHtcblx0XHRcdFx0XHRkaXNhYmxlR3JpZDogdHJ1ZSxcblx0XHRcdFx0fSxcblx0XHRcdFx0eUF4aXM6IHtcblx0XHRcdFx0XHQvL2Rpc2FibGVkOnRydWVcblx0XHRcdFx0fSxcblx0XHRcdFx0ZGF0YUxhYmVsOiB0cnVlLFxuXHRcdFx0XHR3aWR0aDogX3NlbGYuY1dpZHRoICogX3NlbGYucGl4ZWxSYXRpbyxcblx0XHRcdFx0aGVpZ2h0OiBfc2VsZi5jSGVpZ2h0ICogX3NlbGYucGl4ZWxSYXRpbyxcblx0XHRcdFx0ZXh0cmE6IHtcblx0XHRcdFx0XHRjb2x1bW46IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdncm91cCcsXG5cdFx0XHRcdFx0XHR3aWR0aDogX3NlbGYuY1dpZHRoICogX3NlbGYucGl4ZWxSYXRpbyAqIDAuNDUgLyBjaGFydERhdGEuY2F0ZWdvcmllcy5sZW5ndGhcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0Y2hhbmdlR2F1Z2VEYXRhKCkge1xuXHRcdFx0bGV0IHNlcmllcyA9IFt7XG5cdFx0XHRcdG5hbWU6IFwi5a6M5oiQ546HXCIsXG5cdFx0XHRcdGRhdGE6IE1hdGgucmFuZG9tKClcblx0XHRcdH1dOyAvL+i/memHjOaYr+maj+acuuaVsOaNru+8jOeUn+S6p+eOr+Wig+ivt+S7juacjeWKoeWZqOiOt+WPlu+8jOazqOaEj3Nlcmllc+aVsOaNruexu+Wei+S4uuaVsOe7hFxuXHRcdFx0Ly/ov5nph4zmiJHlgJ/nlKjkuYvliY3nmoRjYXRlZ29yaWVz5pWw5o2u77yM5Yik5pat5LiA5LiL5paw5pWw5o2u55qEdGl0bGUuY29sb3LvvIzmsqHmnInlhpnmrbvlnKjnqIvluo/ph4zvvIzku6Xkvr/kuo7oh6rlrprkuYlcblx0XHRcdGxldCBuZXdUaXRsZUNvbG9yO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0aWYgKHNlcmllc1swXS5kYXRhIDw9IF9zZWxmLnNlcnZlckRhdGEuR2F1Z2UuY2F0ZWdvcmllc1tpXS52YWx1ZSkge1xuXHRcdFx0XHRcdG5ld1RpdGxlQ29sb3IgPSBfc2VsZi5zZXJ2ZXJEYXRhLkdhdWdlLmNhdGVnb3JpZXNbaV0uY29sb3I7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNHYXVnZSddLnVwZGF0ZURhdGEoe1xuXHRcdFx0XHRzZXJpZXM6IHNlcmllcywgLy/ov5nph4znu5nkuobmlrDmlbDlgLxcblx0XHRcdFx0Y2F0ZWdvcmllczogX3NlbGYuc2VydmVyRGF0YS5HYXVnZS5jYXRlZ29yaWVzLFxuXHRcdFx0XHR0aXRsZToge1xuXHRcdFx0XHRcdG5hbWU6IE1hdGgucm91bmQoc2VyaWVzWzBdLmRhdGEgKiAxMDApICsgJyUnLFxuXHRcdFx0XHRcdGNvbG9yOiBuZXdUaXRsZUNvbG9yLFxuXHRcdFx0XHRcdGZvbnRTaXplOiAyNSAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdFx0b2Zmc2V0WTogNTAgKiBfc2VsZi5waXhlbFJhdGlvLCAvL+aWsOWinuWPguaVsO+8jOiHquWumuS5ieiwg+aVtFnovbTmlofmoYjot53nprtcblx0XHRcdFx0fSxcblx0XHRcdFx0c3VidGl0bGU6IHtcblx0XHRcdFx0XHRuYW1lOiAn5pu05paw5pWw5o2uJyxcblx0XHRcdFx0XHRjb2xvcjogJyM2NjY2NjYnLFxuXHRcdFx0XHRcdGZvbnRTaXplOiAxNSAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdFx0b2Zmc2V0WTogLTUwICogX3NlbGYucGl4ZWxSYXRpbywgLy/mlrDlop7lj4LmlbDvvIzoh6rlrprkuYnosIPmlbRZ6L205paH5qGI6Led56a7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0dG91Y2hMaW5lQShlKSB7XG5cdFx0XHRjYW52YXNPYmpbJ2NhbnZhc0xpbmVBJ10uc2Nyb2xsU3RhcnQoZSk7XG5cdFx0fSxcblx0XHRtb3ZlTGluZUEoZSkge1xuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNMaW5lQSddLnNjcm9sbChlKTtcblx0XHR9LFxuXHRcdHRvdWNoRW5kTGluZUEoZSkge1xuXHRcdFx0Y29uc29sZS5sb2coZSwgXCIwMFwiKVxuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNMaW5lQSddLnNjcm9sbEVuZChlKTtcblx0XHRcdC8v5LiL6Z2i5pivdG9vbFRpcOS6i+S7tu+8jOWmguaenOa7muWKqOWQjuS4jemcgOimgeaYvuekuu+8jOWPr+S4jeWhq+WGmVxuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNMaW5lQSddLnNob3dUb29sVGlwKGUsIHtcblx0XHRcdFx0Zm9ybWF0OiBmdW5jdGlvbihpdGVtLCBjYXRlZ29yeSkge1xuXHRcdFx0XHRcdHJldHVybiBjYXRlZ29yeSArICcgJyArIGl0ZW0ubmFtZSArICc6JyArIGl0ZW0uZGF0YVxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9LFxuXHRcdHRvdWNoSXQoZSwgaWQpIHtcblx0XHRcdGNhbnZhc09ialsnY2FudmFzTGluZUEnXS5zY3JvbGxTdGFydChlKTtcblx0XHRcdC8vIGNhbnZhc09ialtpZF0udG91Y2hMZWdlbmQoZSwge1xuXHRcdFx0Ly8gXHRhbmltYXRpb246IGZhbHNlXG5cdFx0XHQvLyB9KTtcblx0XHRcdC8vIGNhbnZhc09ialtpZF0uc2hvd1Rvb2xUaXAoZSwge1xuXHRcdFx0Ly8gXHRmb3JtYXQ6IGZ1bmN0aW9uKGl0ZW0sIGNhdGVnb3J5KSB7XG5cdFx0XHQvLyBcdFx0aWYgKHR5cGVvZiBpdGVtLmRhdGEgPT09ICdvYmplY3QnKSB7XG5cdFx0XHQvLyBcdFx0XHRyZXR1cm4gY2F0ZWdvcnkgKyAnICcgKyBpdGVtLm5hbWUgKyAnOicgKyBpdGVtLmRhdGEudmFsdWVcblx0XHRcdC8vIFx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gXHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhXG5cdFx0XHQvLyBcdFx0fVxuXHRcdFx0Ly8gXHR9XG5cdFx0XHQvLyB9KTtcblx0XHR9LFxuXG5cdFx0dG91Y2hNaXgoZSkge1xuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNNaXgnXS5zY3JvbGxTdGFydChlKTtcblx0XHR9LFxuXHRcdG1vdmVNaXgoZSkge1xuXHRcdFx0Y2FudmFzT2JqWydjYW52YXNNaXgnXS5zY3JvbGwoZSk7XG5cdFx0fSxcblxuXHRcdHNob3dMaW5lQShjYW52YXNJZCwgY2hhcnREYXRhKSB7XG5cdFx0XHRjYW52YXNPYmpbY2FudmFzSWRdID0gbmV3IHVDaGFydHMoe1xuXHRcdFx0XHQkdGhpczogX3NlbGYsXG5cdFx0XHRcdGNhbnZhc0lkOiBjYW52YXNJZCxcblx0XHRcdFx0dHlwZTogJ2xpbmUnLFxuXHRcdFx0XHRmb250U2l6ZTogOCxcblx0XHRcdFx0cm90YXRlOiB0cnVlLFxuXHRcdFx0XHRkYXRhTGFiZWw6IGZhbHNlLFxuXHRcdFx0XHQvLyBkYXRhTGFiZWw6IGZhbHNlLFxuXHRcdFx0XHRwYWRkaW5nOiBbMTUsIDE1LCAwLCAxNV0sXG5cdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdFx0cGFkZGluZzogNSxcblx0XHRcdFx0XHRsaW5lSGVpZ2h0OiAxMSxcblx0XHRcdFx0XHRtYXJnaW46IDUsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdC8vIGRhdGFMYWJlbDogZmFsc2UsXG5cdFx0XHRcdGRhdGFQb2ludFNoYXBlOiBmYWxzZSxcblx0XHRcdFx0YmFja2dyb3VuZDogJyNGRkZGRkYnLFxuXHRcdFx0XHRwaXhlbFJhdGlvOiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHRjYXRlZ29yaWVzOiBjaGFydERhdGEuY2F0ZWdvcmllcyxcblx0XHRcdFx0c2VyaWVzOiBjaGFydERhdGEuc2VyaWVzLFxuXHRcdFx0XHRhbmltYXRpb246IGZhbHNlLFxuXHRcdFx0XHRlbmFibGVTY3JvbGw6IHRydWUsIC8v5byA5ZCv5Zu+6KGo5ouW5ou95Yqf6IO9XG5cdFx0XHRcdGRhdGFab29tOiBbXG5cdFx0XHRcdCAgICB7XG5cdFx0XHRcdCAgICAgICAgc2hvdzogdHJ1ZSxcblx0XHRcdFx0ICAgICAgICByZWFsdGltZTogdHJ1ZSxcblx0XHRcdFx0ICAgICAgICBzdGFydDogMCxcblx0XHRcdFx0ICAgICAgICBlbmQ6IDUwXG5cdFx0XHRcdCAgICB9LFxuXHRcdFx0XHQgICAgLy8ge1xuXHRcdFx0XHQgICAgLy8gICAgIHR5cGU6ICdvdXRzaWRlJyxcblx0XHRcdFx0ICAgIC8vICAgICByZWFsdGltZTogdHJ1ZSxcblx0XHRcdFx0ICAgIC8vICAgICBzdGFydDogMCxcblx0XHRcdFx0ICAgIC8vICAgICBlbmQ6IDUwXG5cdFx0XHRcdCAgICAvLyB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdHhBeGlzOiB7XG5cdFx0XHRcdFx0Ly8gcm90YXRlTGFiZWw6IHRydWUsXG5cdFx0XHRcdFx0Ly8gZGlzYWJsZUdyaWQ6IHRydWUsXG5cdFx0XHRcdFx0Ly8gaXRlbUNvdW50OiBjaGFydERhdGEubGVuZ3RoLFxuXHRcdFx0XHRcdC8vIGxhYmVsQ291bnQ6IDMwLFxuXHRcdFx0XHRcdC8vIGdyaWRUeXBlOiAnZGFzaCcsXG5cdFx0XHRcdFx0ZGlzYWJsZUdyaWQ6IHRydWUsXG5cdFx0XHRcdFx0dHlwZTogJ2dyaWQnLFxuXHRcdFx0XHRcdHJvdGF0ZUxhYmVsOiB0cnVlLFxuXHRcdFx0XHRcdC8vIGdyaWRUeXBlOiAnZGFzaCcsXG5cdFx0XHRcdFx0aXRlbUNvdW50OjI1LFxuXHRcdFx0XHRcdC8vIHNjcm9sbFNob3c6IHRydWUsXG5cdFx0XHRcdFx0c2Nyb2xsQWxpZ246ICdsZWZ0Jyxcblx0XHRcdFx0XHQvL3Njcm9sbEJhY2tncm91bmRDb2xvcjonI0Y3RjdGRicsLy/lj6/kuI3loavlhpnvvIzphY3lkIhlbmFibGVTY3JvbGzlm77ooajmi5bmi73lip/og73kvb/nlKjvvIxY6L205rua5Yqo5p2h6IOM5pmv6aKc6ImyLOm7mOiupOS4uiAjRUZFQkVGXG5cdFx0XHRcdFx0Ly9zY3JvbGxDb2xvcjonI0RFRTdGNycsLy/lj6/kuI3loavlhpnvvIzphY3lkIhlbmFibGVTY3JvbGzlm77ooajmi5bmi73lip/og73kvb/nlKjvvIxY6L205rua5Yqo5p2h6aKc6ImyLOm7mOiupOS4uiAjQTZBNkE2XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHlBeGlzOiB7XG5cdFx0XHRcdFx0Ly9kaXNhYmxlZDp0cnVlXG5cdFx0XHRcdFx0Z3JpZFR5cGU6ICdkYXNoJyxcblx0XHRcdFx0XHRzcGxpdE51bWJlcjogOCxcblx0XHRcdFx0XHRtaW46IDEwLFxuXHRcdFx0XHRcdG1heDogMTgwLFxuXHRcdFx0XHRcdGZvcm1hdDogKHZhbCkgPT4ge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHZhbC50b0ZpeGVkKDApXG5cdFx0XHRcdFx0fSAvL+WmguS4jeWGmeatpOaWueazle+8jFnovbTliLvluqbpu5jorqTkv53nlZnkuKTkvY3lsI/mlbBcblx0XHRcdFx0fSxcblx0XHRcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdGhlaWdodDogX3NlbGYuY0hlaWdodCAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdGRhdGFMYWJlbDogdHJ1ZSxcblx0XHRcdFx0ZGF0YVBvaW50U2hhcGU6IHRydWUsXG5cdFx0XHRcdGV4dHJhOiB7XG5cdFx0XHRcdFx0bGluZVN0eWxlOiAnc3RyYWlnaHQnXG5cdFx0XHRcdH0sXG5cdFx0XHR9KTtcblxuXHRcdH0sXG5cblx0XHRzaG93Q29sdW1uMShjYW52YXNJZCwgY2hhcnREYXRhKSB7XG5cdFx0XHRjYW52YUNvbHVtbiA9IG5ldyB1Q2hhcnRzKHtcblx0XHRcdFx0JHRoaXM6IF9zZWxmLFxuXHRcdFx0XHRjYW52YXNJZDogY2FudmFzSWQsXG5cdFx0XHRcdHR5cGU6ICdsaW5lJyxcblx0XHRcdFx0bGVnZW5kOiB0cnVlLFxuXHRcdFx0XHRmb250U2l6ZTogOCxcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogJyM1NWZmMDAnLFxuXHRcdFx0XHQvLyBwaXhlbFJhdGlvOiBfc2VsZi5waXhlbFJhdGlvLFxuXHRcdFx0XHQvLyBhbmltYXRpb246IHRydWUsXG5cdFx0XHRcdHJvdGF0ZTogdHJ1ZSxcblx0XHRcdFx0bGVnZW5kOiB7XG5cdFx0XHRcdFx0c2hvdzogZmFsc2Vcblx0XHRcdFx0fSxcblx0XHRcdFx0ZW5hYmxlU2Nyb2xsOiB0cnVlLFxuXHRcdFx0XHQvLyByb3RhdGVMYWJlbDogdHJ1ZSxcblx0XHRcdFx0Y2F0ZWdvcmllczogY2hhcnREYXRhLmNhdGVnb3JpZXMsXG5cdFx0XHRcdHNlcmllczogY2hhcnREYXRhLnNlcmllcyxcblx0XHRcdFx0Ly8gbGVnZW5kOiB7XG5cdFx0XHRcdC8vIFx0c2hvdzogdHJ1ZSxcblx0XHRcdFx0Ly8gXHRwYWRkaW5nOiA1LFxuXHRcdFx0XHQvLyBcdGxpbmVIZWlnaHQ6IDExLFxuXHRcdFx0XHQvLyBcdG1hcmdpbjogNSxcblx0XHRcdFx0Ly8gfSxcblx0XHRcdFx0eEF4aXM6IHtcblx0XHRcdFx0XHRyb3RhdGVMYWJlbDogdHJ1ZSxcblx0XHRcdFx0XHRkaXNhYmxlR3JpZDogdHJ1ZSxcblx0XHRcdFx0XHQvLyBpdGVtQ291bnQ6IGNoYXJ0RGF0YS5sZW5ndGgsXG5cdFx0XHRcdFx0aXRlbUNvdW50OjMwLFxuXHRcdFx0XHRcdGdyaWRUeXBlOiAnZGFzaCcsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHlBeGlzOiB7XG5cdFx0XHRcdFx0Ly9kaXNhYmxlZDp0cnVlXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGRhdGFMYWJlbDogdHJ1ZSxcblx0XHRcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdGhlaWdodDogX3NlbGYuY0hlaWdodCAqIF9zZWxmLnBpeGVsUmF0aW8sXG5cdFx0XHRcdC8vIGV4dHJhOiB7XG5cdFx0XHRcdC8vIFx0Y29sdW1uOiB7XG5cdFx0XHRcdC8vIFx0XHR0eXBlOiAnZ3JvdXAnLFxuXHRcdFx0XHQvLyBcdFx0d2lkdGg6IF9zZWxmLmNXaWR0aCAqIF9zZWxmLnBpeGVsUmF0aW8gKiAwLjQ1IC8gY2hhcnREYXRhLmNhdGVnb3JpZXMubGVuZ3RoXG5cdFx0XHRcdC8vIFx0fVxuXHRcdFx0XHQvLyB9LFxuXHRcdFx0XHRleHRyYToge1xuXHRcdFx0XHRcdGxpbmVTdHlsZTogJ3N0cmFpZ2h0J1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9LFxuXHRcdHRvdWNoQ29sdW1uKGUpIHtcblx0XHRcdGNhbnZhQ29sdW1uLnNob3dUb29sVGlwKGUsIHtcblx0XHRcdFx0Zm9ybWF0OiBmdW5jdGlvbihpdGVtLCBjYXRlZ29yeSkge1xuXHRcdFx0XHRcdGlmICh0eXBlb2YgaXRlbS5kYXRhID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGNhdGVnb3J5ICsgJyAnICsgaXRlbS5uYW1lICsgJzonICsgaXRlbS5kYXRhLnZhbHVlXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiBjYXRlZ29yeSArICcgJyArIGl0ZW0ubmFtZSArICc6JyArIGl0ZW0uZGF0YVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSxcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///169\n");
  32176. /***/ }),
  32177. /* 170 */
  32178. /*!******************************************************************************!*\
  32179. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/chart.vue?mpType=page ***!
  32180. \******************************************************************************/
  32181. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32182. /*! no static exports found */
  32183. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32184. "use strict";
  32185. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chart.vue?vue&type=template&id=806627aa&mpType=page */ 337);\n/* harmony import */ var _chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chart.vue?vue&type=script&lang=js&mpType=page */ 339);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/chart.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNkg7QUFDN0g7QUFDb0U7QUFDTDs7O0FBRy9EO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHNGQUFNO0FBQ1IsRUFBRSwyRkFBTTtBQUNSLEVBQUUsb0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsK0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzM2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9jaGFydC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ODA2NjI3YWEmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2NoYXJ0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jaGFydC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL2NoYXJ0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///336\n");
  32186. /***/ }),
  32187. <<<<<<< HEAD
  32188. /* 337 */
  32189. /*!***********************************************************************************************!*\
  32190. !*** C:/Users/001/Desktop/运维端/pages/mine/chart.vue?vue&type=template&id=806627aa&mpType=page ***!
  32191. \***********************************************************************************************/
  32192. =======
  32193. /* 171 */
  32194. /*!************************************************************************************************************!*\
  32195. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/chart.vue?vue&type=template&id=806627aa&mpType=page ***!
  32196. \************************************************************************************************************/
  32197. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32198. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32199. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32200. "use strict";
  32201. __webpack_require__.r(__webpack_exports__);
  32202. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./chart.vue?vue&type=template&id=806627aa&mpType=page */ 338);
  32203. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  32204. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  32205. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  32206. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_template_id_806627aa_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  32207. /***/ }),
  32208. <<<<<<< HEAD
  32209. /* 338 */
  32210. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32211. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/chart.vue?vue&type=template&id=806627aa&mpType=page ***!
  32212. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32213. =======
  32214. /* 172 */
  32215. /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32216. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/chart.vue?vue&type=template&id=806627aa&mpType=page ***!
  32217. \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32218. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32219. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32220. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32221. "use strict";
  32222. __webpack_require__.r(__webpack_exports__);
  32223. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  32224. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  32225. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  32226. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  32227. var components
  32228. var render = function() {
  32229. var _vm = this
  32230. var _h = _vm.$createElement
  32231. var _c = _vm._self._c || _h
  32232. return _c("view", [
  32233. _c("web-view", { attrs: { src: _vm._$s(1, "a-src", _vm.url), _i: 1 } })
  32234. ])
  32235. }
  32236. var recyclableRender = false
  32237. var staticRenderFns = []
  32238. render._withStripped = true
  32239. /***/ }),
  32240. <<<<<<< HEAD
  32241. /* 339 */
  32242. /*!*****************************************************************************************!*\
  32243. !*** C:/Users/001/Desktop/运维端/pages/mine/chart.vue?vue&type=script&lang=js&mpType=page ***!
  32244. \*****************************************************************************************/
  32245. =======
  32246. /* 173 */
  32247. /*!******************************************************************************************************!*\
  32248. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/chart.vue?vue&type=script&lang=js&mpType=page ***!
  32249. \******************************************************************************************************/
  32250. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32251. /*! no static exports found */
  32252. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32253. "use strict";
  32254. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./chart.vue?vue&type=script&lang=js&mpType=page */ 340);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chart_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQiw4a0JBQUcsRUFBQyIsImZpbGUiOiIzMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jaGFydC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vY2hhcnQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///339\n");
  32255. /***/ }),
  32256. <<<<<<< HEAD
  32257. /* 340 */
  32258. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32259. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/chart.vue?vue&type=script&lang=js&mpType=page ***!
  32260. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32261. =======
  32262. /* 174 */
  32263. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32264. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/chart.vue?vue&type=script&lang=js&mpType=page ***!
  32265. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32266. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32267. /*! no static exports found */
  32268. /***/ (function(module, exports, __webpack_require__) {
  32269. "use strict";
  32270. <<<<<<< HEAD
  32271. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n url: '' };\n\n },\n onLoad: function onLoad(options) {\n var url = \"https://trace.weilaibike.com/hot.html?a=1&token=\" + uni.getStorageSync('token').token;\n\n this.url = url;\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jaGFydC52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU9BO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0EsYUFEQTs7QUFHQSxHQUxBO0FBTUEsUUFOQSxrQkFNQSxPQU5BLEVBTUE7QUFDQTs7QUFFQTtBQUNBLEdBVkEsRSIsImZpbGUiOiIzNDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXc+XHJcblx0XHQ8d2ViLXZpZXcgOnNyYz1cInVybFwiPjwvd2ViLXZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHVybDogJydcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdGxldCB1cmwgPSBcImh0dHBzOi8vdHJhY2Uud2VpbGFpYmlrZS5jb20vaG90Lmh0bWw/YT0xJnRva2VuPVwiICsgdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLnRva2VuXHJcblxyXG5cdFx0XHR0aGlzLnVybCA9IHVybFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///340\n");
  32272. /***/ }),
  32273. /* 341 */
  32274. /*!****************************************************************!*\
  32275. !*** C:/Users/001/Desktop/运维端/pages/mine/park.vue?mpType=page ***!
  32276. \****************************************************************/
  32277. =======
  32278. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\nvar _default =\n{\n data: function data() {\n return {\n url: '' };\n\n },\n onLoad: function onLoad(options) {\n var url = \"https://trace.weilaibike.com/hot.html?a=1&token=\" + uni.getStorageSync('token').token;\n\n this.url = url;\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9jaGFydC52dWUiXSwibmFtZXMiOlsiZGF0YSIsInVybCIsIm9uTG9hZCIsIm9wdGlvbnMiLCJ1bmkiLCJnZXRTdG9yYWdlU3luYyIsInRva2VuIl0sIm1hcHBpbmdzIjoid0ZBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2RBLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ05DLFNBQUcsRUFBRSxFQURDLEVBQVA7O0FBR0EsR0FMYTtBQU1kQyxRQU5jLGtCQU1QQyxPQU5PLEVBTUU7QUFDZixRQUFJRixHQUFHLEdBQUcscURBQXFERyxHQUFHLENBQUNDLGNBQUosQ0FBbUIsT0FBbkIsRUFBNEJDLEtBQTNGOztBQUVBLFNBQUtMLEdBQUwsR0FBV0EsR0FBWDtBQUNBLEdBVmEsRSIsImZpbGUiOiIxNzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dXJsOiAnJ1xuXHRcdH1cblx0fSxcblx0b25Mb2FkKG9wdGlvbnMpIHtcblx0XHRsZXQgdXJsID0gXCJodHRwczovL3RyYWNlLndlaWxhaWJpa2UuY29tL2hvdC5odG1sP2E9MSZ0b2tlbj1cIiArIHVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKS50b2tlblxuXG5cdFx0dGhpcy51cmwgPSB1cmxcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///174\n");
  32279. /***/ }),
  32280. /* 175 */
  32281. /*!*****************************************************************************!*\
  32282. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/park.vue?mpType=page ***!
  32283. \*****************************************************************************/
  32284. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32285. /*! no static exports found */
  32286. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32287. "use strict";
  32288. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./park.vue?vue&type=template&id=18a45266&mpType=page */ 342);\n/* harmony import */ var _park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./park.vue?vue&type=script&lang=js&mpType=page */ 344);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/park.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzQxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9wYXJrLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xOGE0NTI2NiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vcGFyay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vcGFyay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL3BhcmsudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///341\n");
  32289. /***/ }),
  32290. <<<<<<< HEAD
  32291. /* 342 */
  32292. /*!**********************************************************************************************!*\
  32293. !*** C:/Users/001/Desktop/运维端/pages/mine/park.vue?vue&type=template&id=18a45266&mpType=page ***!
  32294. \**********************************************************************************************/
  32295. =======
  32296. /* 176 */
  32297. /*!***********************************************************************************************************!*\
  32298. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/park.vue?vue&type=template&id=18a45266&mpType=page ***!
  32299. \***********************************************************************************************************/
  32300. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32301. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32302. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32303. "use strict";
  32304. __webpack_require__.r(__webpack_exports__);
  32305. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./park.vue?vue&type=template&id=18a45266&mpType=page */ 343);
  32306. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  32307. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  32308. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  32309. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_template_id_18a45266_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  32310. /***/ }),
  32311. <<<<<<< HEAD
  32312. /* 343 */
  32313. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32314. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/park.vue?vue&type=template&id=18a45266&mpType=page ***!
  32315. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32316. =======
  32317. /* 177 */
  32318. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32319. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/park.vue?vue&type=template&id=18a45266&mpType=page ***!
  32320. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32321. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32322. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32323. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32324. "use strict";
  32325. __webpack_require__.r(__webpack_exports__);
  32326. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  32327. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  32328. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  32329. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  32330. var components
  32331. var render = function() {
  32332. var _vm = this
  32333. var _h = _vm.$createElement
  32334. var _c = _vm._self._c || _h
  32335. return _c("view", [
  32336. _c(
  32337. "map",
  32338. {
  32339. attrs: {
  32340. id: "map",
  32341. longitude: _vm._$s(1, "a-longitude", _vm.longitude),
  32342. latitude: _vm._$s(1, "a-latitude", _vm.latitude),
  32343. polyline: _vm._$s(1, "a-polyline", _vm.polyline),
  32344. polygons: _vm._$s(1, "a-polygons", _vm.polygons),
  32345. markers: _vm._$s(1, "a-markers", _vm.markers),
  32346. "data-markers": _vm._$s(1, "a-data-markers", _vm.markers),
  32347. "enable-satellite": _vm._$s(1, "a-enable-satellite", _vm.satellite),
  32348. controls: _vm._$s(1, "a-controls", _vm.controls),
  32349. _i: 1
  32350. },
  32351. on: { markertap: _vm.markertap, controltap: _vm.controltap }
  32352. },
  32353. [
  32354. _vm._$s(2, "i", _vm.mapclick)
  32355. ? _c("cover-view", {
  32356. staticClass: _vm._$s(2, "sc", "again"),
  32357. attrs: { _i: 2 },
  32358. on: { click: _vm.again }
  32359. })
  32360. : _vm._e(),
  32361. _vm._$s(3, "i", _vm.mapclick)
  32362. ? _c("cover-view", {
  32363. staticClass: _vm._$s(3, "sc", "cancelBtn"),
  32364. attrs: { _i: 3 },
  32365. on: { click: _vm.cancelBtn }
  32366. })
  32367. : _vm._e(),
  32368. _vm._$s(4, "i", _vm.mapclick)
  32369. ? _c("cover-view", {
  32370. staticClass: _vm._$s(4, "sc", "finish"),
  32371. attrs: { _i: 4 },
  32372. on: { click: _vm.finish }
  32373. })
  32374. : _vm._e(),
  32375. _vm._$s(5, "i", _vm.markShow)
  32376. ? _c(
  32377. "view",
  32378. { staticClass: _vm._$s(5, "sc", "info"), attrs: { _i: 5 } },
  32379. [
  32380. _c(
  32381. "view",
  32382. {
  32383. staticClass: _vm._$s(6, "sc", "infoCon"),
  32384. attrs: { _i: 6 }
  32385. },
  32386. [
  32387. _c(
  32388. "view",
  32389. {
  32390. staticClass: _vm._$s(7, "sc", "flexB"),
  32391. attrs: { _i: 7 }
  32392. },
  32393. [
  32394. _c("view", [
  32395. _vm._v(_vm._$s(8, "t0-0", _vm._s(_vm.detail.name)))
  32396. ]),
  32397. _c(
  32398. "view",
  32399. {
  32400. staticClass: _vm._$s(9, "sc", "flex"),
  32401. attrs: { _i: 9 }
  32402. },
  32403. [
  32404. _c("text", [
  32405. _vm._v(
  32406. _vm._$s(
  32407. 10,
  32408. "t0-0",
  32409. _vm._s(
  32410. _vm.detail.status == 1 ? "已开启" : "已禁用"
  32411. )
  32412. )
  32413. )
  32414. ])
  32415. ]
  32416. )
  32417. ]
  32418. ),
  32419. _c(
  32420. "view",
  32421. {
  32422. staticClass: _vm._$s(11, "sc", "deleted"),
  32423. attrs: {
  32424. "data-detail": _vm._$s(
  32425. 11,
  32426. "a-data-detail",
  32427. _vm.detail
  32428. ),
  32429. _i: 11
  32430. },
  32431. on: { click: _vm.remove }
  32432. },
  32433. [_c("text")]
  32434. )
  32435. ]
  32436. )
  32437. ]
  32438. )
  32439. : _vm._e(),
  32440. _c("cover-image", {
  32441. staticClass: _vm._$s(13, "sc", "ref"),
  32442. attrs: { _i: 13 },
  32443. on: { click: _vm.refresh }
  32444. }),
  32445. _c("cover-image", {
  32446. staticClass: _vm._$s(14, "sc", "satellite flexCC"),
  32447. attrs: { _i: 14 },
  32448. on: { click: _vm.sateposi }
  32449. }),
  32450. _vm._$s(15, "i", !_vm.mapclick)
  32451. ? _c("cover-view", {
  32452. attrs: { id: "top", _i: 15 },
  32453. on: { click: _vm.push }
  32454. })
  32455. : _vm._e(),
  32456. _c("cover-image", {
  32457. staticClass: _vm._$s(16, "sc", "position"),
  32458. attrs: { _i: 16 },
  32459. on: { click: _vm.posi }
  32460. })
  32461. ]
  32462. )
  32463. ])
  32464. }
  32465. var recyclableRender = false
  32466. var staticRenderFns = []
  32467. render._withStripped = true
  32468. /***/ }),
  32469. <<<<<<< HEAD
  32470. /* 344 */
  32471. /*!****************************************************************************************!*\
  32472. !*** C:/Users/001/Desktop/运维端/pages/mine/park.vue?vue&type=script&lang=js&mpType=page ***!
  32473. \****************************************************************************************/
  32474. =======
  32475. /* 178 */
  32476. /*!*****************************************************************************************************!*\
  32477. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/park.vue?vue&type=script&lang=js&mpType=page ***!
  32478. \*****************************************************************************************************/
  32479. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32480. /*! no static exports found */
  32481. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32482. "use strict";
  32483. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./park.vue?vue&type=script&lang=js&mpType=page */ 345);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBpQixDQUFnQiw2a0JBQUcsRUFBQyIsImZpbGUiOiIzNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9wYXJrLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9wYXJrLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///344\n");
  32484. /***/ }),
  32485. <<<<<<< HEAD
  32486. /* 345 */
  32487. /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32488. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/park.vue?vue&type=script&lang=js&mpType=page ***!
  32489. \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32490. =======
  32491. /* 179 */
  32492. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32493. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/park.vue?vue&type=script&lang=js&mpType=page ***!
  32494. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32495. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32496. /*! no static exports found */
  32497. /***/ (function(module, exports, __webpack_require__) {
  32498. "use strict";
  32499. <<<<<<< HEAD
  32500. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n latitude: \"\",\n longitude: \"\",\n markers: [], //点\n polyline: [], //线\n polygons: [], //区域\n controls: [],\n list: [],\n fence: [], //点击地图获取的经纬度\n type: '', //停车区类型\n parkName: '', //停车区名称\n markShow: false, //是否显示停车点名称\n parkId: '', //停车点/禁停区id\n detail: [],\n showPop: false, //是否显示弹窗\n areaList: [], //选择所属大区列表\n typeList: [{ //区域类型选项\n type: 1,\n name: '禁停区' },\n {\n type: 2,\n name: '停车区' }],\n\n options: '',\n parkNum: 0, //停车上限\n mapclick: false, //是否执行地图点击事件\n areaChecked: true, //弹窗区域的状态\n areaId: '', //区域id\n btnShow: false, //重绘 取消\n pushShow: true,\n areaName: '',\n satellite: false, //是否显示卫星地图\n newArea: {}, // 新添加的停车点或者禁停区\n areaID: 0,\n value1: 0, //第一个显示什么\n option1: [],\n rideArea: [], //骑行区\n screenHeight: '', //屏幕可视高度\n showArea: '',\n showType: '' };\n\n },\n methods: {\n //重绘\n again: function again() {\n __f__(\"log\", '重绘', \" at pages/mine/park.vue:81\");\n this.getArea();\n this.polygons = [];\n this.markers = [];\n this.polyline = [];\n this.list = [];\n this.btnShow = false;\n this.park();\n },\n cancelBtn: function cancelBtn() {\n __f__(\"log\", '取消', \" at pages/mine/park.vue:91\");\n this.mapclick = false;\n this.markers = [];\n this.pushShow = true;\n this.controls = [];\n this.polygons = [];\n this.polyline = [];\n this.list = [];\n this.park();\n },\n //完成\n finish: function finish() {\n var that = this;\n if (that.fence.length >= 3) {\n var state = JSON.parse(that.areaChecked);\n var parking_fence = [];\n that.fence.map(function (i) {\n parking_fence.push({\n lat: i.latitude,\n lng: i.longitude });\n\n });\n if (state) {\n state = 1;\n } else {\n state = 0;\n }\n var data = {\n parking_fence: JSON.stringify(parking_fence),\n area_id: that.areaId,\n max_number: that.parkNum,\n name: that.parkName,\n status: state,\n type: that.type };\n\n app.request('parking', data, 'POST').then(function (res) {\n if (res.statusCode == 201) {\n __f__(\"log\", that.type, 555, \" at pages/mine/park.vue:128\");\n __f__(\"log\", res, '添加', \" at pages/mine/park.vue:129\");\n uni.showToast({\n title: '添加成功',\n icon: 'none',\n duration: 3000,\n success: function success() {\n that.mapclick = false;\n that.pushShow = true;\n that.controls = [];\n that.list = [];\n that.polygons = [];\n that.polyline = [];\n that.markers = [];\n that.park();\n } });\n\n }\n });\n } else {\n uni.showToast({\n title: '请至少选择三个点',\n icon: 'none' });\n\n }\n\n },\n\n //添加还车点、禁停区\n push: function push() {\n // this.showPop = true;\n // this.parkName = '';\n // this.parkNum = 0;\n // this.areaChecked = true;\n // this.markShow = false;\n // this.areaName = this.option1[0].text;\n // this.typeName = this.typeList[1].name;\n // this.type = this.typeList[1].type;\n // this.areaId = this.option1[0].areaID;\n uni.navigateTo({\n url: \"./add_park\" });\n\n },\n posi: function posi() {var _this = this;\n //点击定位 \n __f__(\"log\", 12, \" at pages/mine/park.vue:173\");\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n __f__(\"log\", res, \" at pages/mine/park.vue:177\");\n _this.longitude = res.longitude;\n _this.latitude = res.latitude;\n } });\n\n },\n refresh: function refresh() {\n uni.showLoading({\n title: '刷新中...' });\n\n this.markShow = false;\n this.park();\n },\n sateposi: function sateposi() {\n this.satellite = !this.satellite;\n },\n //选择区域类型\n choiceType: function choiceType() {\n this.showType = !this.showType;\n },\n // 改变区域状态\n changeState: function changeState() {\n this.areaChecked = !this.areaChecked;\n },\n //绘制围栏\n draw: function draw() {var _this2 = this;\n var that = this;\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", 1111, \" at pages/mine/park.vue:206\");\n _this2.controls = [{\n id: 1,\n iconPath: '/static/img/lock.png', // 中心点图片\n position: {\n left: res.windowWidth / 2 - 9,\n top: res.windowHeight / 2 - 27,\n width: 45,\n height: 45 },\n\n clickable: true }];\n\n } });\n\n this.showPop = false;\n this.mapclick = true;\n this.pushShow = false;\n uni.showToast({\n title: '请点击地图进行绘制',\n icon: 'none' });\n\n },\n //地图上绘制停车区\n controltap: function controltap(e) {\n var that = this;\n var mapCtx = uni.createMapContext(\"map\");\n var arr = that.list;\n mapCtx.getCenterLocation({\n success: function success(res) {\n __f__(\"log\", res.latitude, '经纬度', \" at pages/mine/park.vue:235\");\n var latitude = res.latitude;\n var longitude = res.longitude;\n var color = '';\n var bgColor = '';\n var iconPath = '';\n if (that.type == 1) {//禁停区\n iconPath = \"http://resource.weilaibike.com/redStop.png\";\n color = \"#FF0000\";\n bgColor = \"#FF000002\";\n } else if (that.type == 2) {//停车区\n iconPath = \"http://resource.weilaibike.com/stop1.png\";\n color = \"#ff00ff\";\n bgColor = \"#ff00ff02\";\n }\n var obj = {\n latitude: latitude,\n longitude: longitude };\n\n arr.push(obj);\n __f__(\"log\", arr, 'arr', \" at pages/mine/park.vue:255\");\n if (arr.length == 1) {\n __f__(\"log\", '1', \" at pages/mine/park.vue:257\");\n var dot = {};\n dot.latitude = arr[0].latitude;\n dot.longitude = arr[0].longitude;\n dot.width = 28;\n dot.height = 28;\n dot.iconPath = iconPath;\n var dotArr = [];\n dotArr.push(dot);\n that.markers = that.markers.concat(dotArr);\n }\n if (arr.length == 2) {\n __f__(\"log\", '2', \" at pages/mine/park.vue:269\");\n var line = {};\n line.points = arr;\n line.width = 4;\n line.borderWidth = 3;\n line.borderColor = color;\n line.color = color;\n var lineArr = [];\n lineArr.push(line);\n that.markers.splice(that.markers.length - 1, 1);\n that.polyline = lineArr;\n that.markers = that.markers;\n // console.log(lineArr)\n }\n if (arr.length >= 3) {\n __f__(\"log\", '>=3', \" at pages/mine/park.vue:284\");\n var area = {};\n that.fence = arr;\n that.btnShow = true;\n area.points = arr;\n area.fillColor = bgColor;\n area.strokeColor = color;\n area.strokeWidth = 4;\n area.zIndex = 1;\n var areaArr = [];\n areaArr.push(area);\n that.polygons = that.polygons.concat(areaArr);\n that.polyline = that.polygons;\n __f__(\"log\", that.polygons, \" at pages/mine/park.vue:297\");\n }\n } });\n\n },\n //停车点和禁停点\n park: function park() {\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n __f__(\"log\", that.areaID, \" at pages/mine/park.vue:308\");\n var url = 'parking?area_id=1';\n that.getArea();\n app.request(url, '', 'GET').then(function (res) {\n uni.hideLoading();\n // console.log(res)\n var polygons = res.data.parking_area.concat(that.rideArea);\n that.markers = res.data.point;\n that.polygons = polygons;\n that.polyline = that.polygons;\n __f__(\"log\", that.polygons, '停车区和禁停区', \" at pages/mine/park.vue:318\");\n __f__(\"log\", that.markers, 'markers', \" at pages/mine/park.vue:319\");\n });\n },\n // 获取骑行区\n getArea: function getArea() {\n var that = this;\n var url = 'getAreas?put_area_id=' + that.areaID + \"&&is_with_parking=\" + 0;\n app.request(url, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/mine/park.vue:327\");\n that.rideArea = res.data.ridding_area;\n });\n },\n //停车(禁停)图标点击事件\n markertap: function markertap(e) {\n __f__(\"log\", e, \" at pages/mine/park.vue:333\");\n this.getPark_info(e.detail.markerId);\n this.parkId = e.detail.markerId;\n },\n //获取停车(禁停)点信息\n getPark_info: function getPark_info(parkId) {var _this3 = this;\n var that = this;\n uni.showLoading({\n title: '加载中...' });\n\n __f__(\"log\", parkId, \" at pages/mine/park.vue:343\");\n app.request('parking/' + parkId.slice(1), '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res.data, \" at pages/mine/park.vue:346\");\n _this3.detail = res.data;\n _this3.markShow = true;\n var status = '';\n if (res.data.status == 1) {\n status = '已启用';\n } else {\n status = '已禁用';\n }\n __f__(\"log\", status, 'status', \" at pages/mine/park.vue:355\");\n uni.showActionSheet({\n itemList: ['禁用/启用,当前' + status, '删除', '取消'],\n success: function success(res) {\n __f__(\"log\", '选中了第' + (res.tapIndex + 1) + '个按钮', \" at pages/mine/park.vue:359\");\n if (res.tapIndex + 1 == 2) {\n //删除\n that.remove();\n }\n if (res.tapIndex + 1 == 1) {\n //禁用或者启用\n that.switchCon();\n }\n },\n fail: function fail(res) {\n __f__(\"log\", res.errMsg, \" at pages/mine/park.vue:370\");\n } });\n\n });\n },\n //删除当前停车(禁停点)\n remove: function remove(e) {\n __f__(\"log\", e, \" at pages/mine/park.vue:377\");\n var that = this;\n __f__(\"log\", that.parkId, 'parkId', \" at pages/mine/park.vue:379\");\n uni.showModal({\n title: '提示',\n content: '确定删除该区域吗?',\n success: function success(res) {\n if (res.confirm) {\n app.request('parking/' + that.parkId.slice(1), '', 'DELETE').then(function (res) {\n if (res.statusCode == 204) {\n that.park();\n uni.showToast({\n title: '删除成功',\n icon: 'none',\n duration: 2000 });\n\n that.markShow = false;\n }\n });\n }\n } });\n\n },\n //停车区状态\n switchCon: function switchCon() {\n uni.showLoading({\n title: '修改中...' });\n\n var that = this;\n __f__(\"log\", that, \" at pages/mine/park.vue:406\");\n var detail = that.detail;\n detail.status = !detail.status;\n var status = '';\n if (detail.status == true) {\n status = 1;\n } else {\n status = 0;\n }\n that.detail = detail;\n var data = {\n status: status,\n id: that.parkId };\n\n app.request('parking/status', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '修改成功',\n icon: 'none' });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n this.park(); // 获取停车区\n this.getArea(); //获取骑行区\n // this.controltap()\n\n },\n onShow: function onShow() {var _this4 = this;\n __f__(\"log\", this.areaId, \" at pages/mine/park.vue:438\");\n __f__(\"log\", this.parkName, \" at pages/mine/park.vue:439\");\n __f__(\"log\", this.parkNum, \" at pages/mine/park.vue:440\");\n __f__(\"log\", this.type, \" at pages/mine/park.vue:441\");\n if (this.mapclick) {\n this.draw();\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n __f__(\"log\", res, \" at pages/mine/park.vue:448\");\n _this4.longitude = res.longitude;\n _this4.latitude = res.latitude;\n } });\n\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9wYXJrLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQSxtQjtBQUNBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0Esa0JBREE7QUFFQSxtQkFGQTtBQUdBLGlCQUhBLEVBR0E7QUFDQSxrQkFKQSxFQUlBO0FBQ0Esa0JBTEEsRUFLQTtBQUNBLGtCQU5BO0FBT0EsY0FQQTtBQVFBLGVBUkEsRUFRQTtBQUNBLGNBVEEsRUFTQTtBQUNBLGtCQVZBLEVBVUE7QUFDQSxxQkFYQSxFQVdBO0FBQ0EsZ0JBWkEsRUFZQTtBQUNBLGdCQWJBO0FBY0Esb0JBZEEsRUFjQTtBQUNBLGtCQWZBLEVBZUE7QUFDQTtBQUNBLGVBREE7QUFFQSxtQkFGQTtBQUdBO0FBQ0EsZUFEQTtBQUVBLG1CQUZBLEVBSEEsQ0FoQkE7O0FBdUJBLGlCQXZCQTtBQXdCQSxnQkF4QkEsRUF3QkE7QUFDQSxxQkF6QkEsRUF5QkE7QUFDQSx1QkExQkEsRUEwQkE7QUFDQSxnQkEzQkEsRUEyQkE7QUFDQSxvQkE1QkEsRUE0QkE7QUFDQSxvQkE3QkE7QUE4QkEsa0JBOUJBO0FBK0JBLHNCQS9CQSxFQStCQTtBQUNBLGlCQWhDQSxFQWdDQTtBQUNBLGVBakNBO0FBa0NBLGVBbENBLEVBa0NBO0FBQ0EsaUJBbkNBO0FBb0NBLGtCQXBDQSxFQW9DQTtBQUNBLHNCQXJDQSxFQXFDQTtBQUNBLGtCQXRDQTtBQXVDQSxrQkF2Q0E7O0FBeUNBLEdBM0NBO0FBNENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQVhBO0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXRCQTtBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBREE7QUFFQSw0QkFGQTs7QUFJ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QUNBLHVCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFEQTtBQUVBLHVCQUZBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBREE7QUFFQSx3QkFGQTs7QUFJQTtBQUNBLE9BUkE7QUFTQSxLQS9WQSxFQTVDQTs7QUE2WUEsUUE3WUEsa0JBNllBLE9BN1lBLEVBNllBO0FBQ0EsZ0JBREEsQ0FDQTtBQUNBLG1CQUZBLENBRUE7QUFDQTs7QUFFQSxHQWxaQTtBQW1aQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FOQTs7QUFRQSxHQW5hQSxFIiwiZmlsZSI6IjM0NS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDxtYXAgaWQ9XCJtYXBcIiA6bG9uZ2l0dWRlPVwibG9uZ2l0dWRlXCIgOmxhdGl0dWRlPVwibGF0aXR1ZGVcIiA6cG9seWxpbmU9XCJwb2x5bGluZVwiIHNjYWxlPVwiMTRcIiA6cG9seWdvbnM9XCJwb2x5Z29uc1wiXHJcblx0XHQgc2hvdy1sb2NhdGlvbiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6MTAwdmg7XCIgOm1hcmtlcnM9XCJtYXJrZXJzXCIgQG1hcmtlcnRhcD1cIm1hcmtlcnRhcFwiIDpkYXRhLW1hcmtlcnM9XCJtYXJrZXJzXCJcclxuXHRcdCA6ZW5hYmxlLXNhdGVsbGl0ZT1cInNhdGVsbGl0ZVwiIEBjb250cm9sdGFwPVwiY29udHJvbHRhcFwiIDpjb250cm9scz1cImNvbnRyb2xzXCI+XHJcblx0XHRcdDxjb3Zlci12aWV3IEBjbGljaz1cImFnYWluXCIgdi1pZj1cIm1hcGNsaWNrXCIgY2xhc3M9XCJhZ2FpblwiIHN0eWxlPVwibGVmdDogNSU7XCI+6YeN57uYPC9jb3Zlci12aWV3PlxyXG5cdFx0XHQ8Y292ZXItdmlldyBAY2xpY2s9XCJjYW5jZWxCdG5cIiB2LWlmPVwibWFwY2xpY2tcIiBjbGFzcz1cImNhbmNlbEJ0biBhZ2FpblwiPuWPlua2iDwvY292ZXItdmlldz5cclxuXHRcdFx0PGNvdmVyLXZpZXcgQGNsaWNrPVwiZmluaXNoXCIgdi1pZj1cIm1hcGNsaWNrXCIgY2xhc3M9XCJmaW5pc2ggYWdhaW5cIj7lrozmiJA8L2NvdmVyLXZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1wiIHYtaWY9XCJtYXJrU2hvd1wiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb0NvblwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9J2ZsZXhCJz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJmb250LXNpemU6MzJ1cHg7XCI+5Yy65Z+f5ZCN56ew77yae3tkZXRhaWwubmFtZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhcIiBzdHlsZT1cIm1hcmdpbi10b3A6MTV1cHg7YWxpZ24taXRlbXM6Y2VudGVyO1wiPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHZhbi1zd2l0Y2ggc3R5bGU9XCJtYXJnaW46MCAxNXVweDtcIiBjaGVja2VkPVwiZGV0YWlsLnN0YXR1cz09MSA/IHRydWU6ZmFsc2UgXCIgc2l6ZT1cIjE4cHhcIiBiaW5kOmNoYW5nZT1cInN3aXRjaENvblwiXHJcblx0XHRcdFx0XHRcdCBhY3RpdmUtY29sb3I9XCIjMDdjMTYwXCIgaW5hY3RpdmUtY29sb3I9XCIjZjAwXCIgLz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW4tYm90dG9tOjd1cHg7XCI+e3tkZXRhaWwuc3RhdHVzPT0xID8gJ+W3suW8gOWQryc6J+W3suemgeeUqCd9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkZWxldGVkXCIgQGNsaWNrPVwicmVtb3ZlXCIgOmRhdGEtZGV0YWlsPVwiZGV0YWlsXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0PuWIoOmZpDwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PGNvdmVyLWltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9yZWYucG5nXCIgQGNsaWNrPVwicmVmcmVzaFwiIGNsYXNzPVwicmVmXCIgc3R5bGU9XCJib3R0b206IDE3JTtcIj48L2NvdmVyLWltYWdlPlxyXG5cdFx0XHQ8Y292ZXItaW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NoYW5nZS5wbmdcIiBAY2xpY2s9XCJzYXRlcG9zaVwiIGNsYXNzPVwic2F0ZWxsaXRlIGZsZXhDQ1wiPjwvY292ZXItaW1hZ2U+XHJcblx0XHRcdDxjb3Zlci12aWV3IGNsYXNzPVwidG9wXCIgQGNsaWNrPVwicHVzaFwiIHYtaWY9XCIhbWFwY2xpY2tcIiBzdHlsZT1cImJhY2tncm91bmQ6ICMxOGQ1YjlcIj7mt7vliqDljLrln588L2NvdmVyLXZpZXc+XHJcblx0XHRcdDxjb3Zlci1pbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vYmlrZV95dW53ZWkvbG9jYXRpb24ucG5nXCIgQGNsaWNrPVwicG9zaVwiIGNsYXNzPVwicG9zaXRpb25cIj48L2NvdmVyLWltYWdlPlxyXG5cdFx0PC9tYXA+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRjb25zdCBhcHAgPSBnZXRBcHAoKTtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxhdGl0dWRlOiBcIlwiLFxyXG5cdFx0XHRcdGxvbmdpdHVkZTogXCJcIixcclxuXHRcdFx0XHRtYXJrZXJzOiBbXSwgLy/ngrlcclxuXHRcdFx0XHRwb2x5bGluZTogW10sIC8v57q/XHJcblx0XHRcdFx0cG9seWdvbnM6IFtdLCAvL+WMuuWfn1xyXG5cdFx0XHRcdGNvbnRyb2xzOiBbXSxcclxuXHRcdFx0XHRsaXN0OiBbXSxcclxuXHRcdFx0XHRmZW5jZTogW10sIC8v54K55Ye75Zyw5Zu+6I635Y+W55qE57uP57qs5bqmXHJcblx0XHRcdFx0dHlwZTogJycsIC8v5YGc6L2m5Yy657G75Z6LXHJcblx0XHRcdFx0cGFya05hbWU6ICcnLCAvL+WBnOi9puWMuuWQjeensFxyXG5cdFx0XHRcdG1hcmtTaG93OiBmYWxzZSwgLy/mmK/lkKbmmL7npLrlgZzovabngrnlkI3np7BcclxuXHRcdFx0XHRwYXJrSWQ6ICcnLCAvL+WBnOi9pueCuS/npoHlgZzljLppZFxyXG5cdFx0XHRcdGRldGFpbDogW10sXHJcblx0XHRcdFx0c2hvd1BvcDogZmFsc2UsIC8v5piv5ZCm5pi+56S65by556qXXHJcblx0XHRcdFx0YXJlYUxpc3Q6IFtdLCAvL+mAieaLqeaJgOWxnuWkp+WMuuWIl+ihqFxyXG5cdFx0XHRcdHR5cGVMaXN0OiBbeyAvL+WMuuWfn+exu+Wei+mAiemhuVxyXG5cdFx0XHRcdFx0dHlwZTogMSxcclxuXHRcdFx0XHRcdG5hbWU6ICfnpoHlgZzljLonXHJcblx0XHRcdFx0fSwge1xyXG5cdFx0XHRcdFx0dHlwZTogMixcclxuXHRcdFx0XHRcdG5hbWU6ICflgZzovabljLonXHJcblx0XHRcdFx0fV0sXHJcblx0XHRcdFx0b3B0aW9uczogJycsXHJcblx0XHRcdFx0cGFya051bTogMCwgLy/lgZzovabkuIrpmZBcclxuXHRcdFx0XHRtYXBjbGljazogZmFsc2UsIC8v5piv5ZCm5omn6KGM5Zyw5Zu+54K55Ye75LqL5Lu2XHJcblx0XHRcdFx0YXJlYUNoZWNrZWQ6IHRydWUsIC8v5by556qX5Yy65Z+f55qE54q25oCBXHJcblx0XHRcdFx0YXJlYUlkOiAnJywgLy/ljLrln59pZFxyXG5cdFx0XHRcdGJ0blNob3c6IGZhbHNlLCAvL+mHjee7mCAg5Y+W5raIXHJcblx0XHRcdFx0cHVzaFNob3c6IHRydWUsXHJcblx0XHRcdFx0YXJlYU5hbWU6ICcnLFxyXG5cdFx0XHRcdHNhdGVsbGl0ZTogZmFsc2UsIC8v5piv5ZCm5pi+56S65Y2r5pif5Zyw5Zu+XHJcblx0XHRcdFx0bmV3QXJlYToge30sIC8vIOaWsOa3u+WKoOeahOWBnOi9pueCueaIluiAheemgeWBnOWMulxyXG5cdFx0XHRcdGFyZWFJRDogMCxcclxuXHRcdFx0XHR2YWx1ZTE6IDAsIC8v56ys5LiA5Liq5pi+56S65LuA5LmIXHJcblx0XHRcdFx0b3B0aW9uMTogW10sXHJcblx0XHRcdFx0cmlkZUFyZWE6IFtdLCAvL+mqkeihjOWMulxyXG5cdFx0XHRcdHNjcmVlbkhlaWdodDogJycsIC8v5bGP5bmV5Y+v6KeG6auY5bqmXHJcblx0XHRcdFx0c2hvd0FyZWE6ICcnLFxyXG5cdFx0XHRcdHNob3dUeXBlOiAnJ1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvL+mHjee7mFxyXG5cdFx0XHRhZ2FpbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ+mHjee7mCcpXHJcblx0XHRcdFx0dGhpcy5nZXRBcmVhKCk7XHJcblx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IFtdO1xyXG5cdFx0XHRcdHRoaXMubWFya2VycyA9IFtdO1xyXG5cdFx0XHRcdHRoaXMucG9seWxpbmUgPSBbXTtcclxuXHRcdFx0XHR0aGlzLmxpc3QgPSBbXTtcclxuXHRcdFx0XHR0aGlzLmJ0blNob3cgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLnBhcmsoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2FuY2VsQnRuOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygn5Y+W5raIJylcclxuXHRcdFx0XHR0aGlzLm1hcGNsaWNrID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5tYXJrZXJzID0gW107XHJcblx0XHRcdFx0dGhpcy5wdXNoU2hvdyA9IHRydWU7XHJcblx0XHRcdFx0dGhpcy5jb250cm9scyA9IFtdXHJcblx0XHRcdFx0dGhpcy5wb2x5Z29ucyA9IFtdXHJcblx0XHRcdFx0dGhpcy5wb2x5bGluZSA9IFtdXHJcblx0XHRcdFx0dGhpcy5saXN0ID0gW11cclxuXHRcdFx0XHR0aGlzLnBhcmsoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lrozmiJBcclxuXHRcdFx0ZmluaXNoOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKHRoYXQuZmVuY2UubGVuZ3RoID49IDMpIHtcclxuXHRcdFx0XHRcdGxldCBzdGF0ZSA9IEpTT04ucGFyc2UodGhhdC5hcmVhQ2hlY2tlZCk7XHJcblx0XHRcdFx0XHRsZXQgcGFya2luZ19mZW5jZSA9IFtdXHJcblx0XHRcdFx0XHR0aGF0LmZlbmNlLm1hcChpID0+IHtcclxuXHRcdFx0XHRcdFx0cGFya2luZ19mZW5jZS5wdXNoKHtcclxuXHRcdFx0XHRcdFx0XHRsYXQ6IGkubGF0aXR1ZGUsXHJcblx0XHRcdFx0XHRcdFx0bG5nOiBpLmxvbmdpdHVkZVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGlmIChzdGF0ZSkge1xyXG5cdFx0XHRcdFx0XHRzdGF0ZSA9IDFcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHN0YXRlID0gMFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRcdHBhcmtpbmdfZmVuY2U6IEpTT04uc3RyaW5naWZ5KHBhcmtpbmdfZmVuY2UpLFxyXG5cdFx0XHRcdFx0XHRhcmVhX2lkOiB0aGF0LmFyZWFJZCxcclxuXHRcdFx0XHRcdFx0bWF4X251bWJlcjogdGhhdC5wYXJrTnVtLFxyXG5cdFx0XHRcdFx0XHRuYW1lOiB0aGF0LnBhcmtOYW1lLFxyXG5cdFx0XHRcdFx0XHRzdGF0dXM6IHN0YXRlLFxyXG5cdFx0XHRcdFx0XHR0eXBlOiB0aGF0LnR5cGUsXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgncGFya2luZycsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAxKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC50eXBlLCA1NTUpXHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn5re75YqgJyk7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+a3u+WKoOaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZScsXHJcblx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMzAwMCxcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1hcGNsaWNrID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQucHVzaFNob3cgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmNvbnRyb2xzID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnBvbHlnb25zID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQucG9seWxpbmUgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQucGFyaygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+iHs+WwkemAieaLqeS4ieS4queCuScsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly/mt7vliqDov5jovabngrnjgIHnpoHlgZzljLpcclxuXHRcdFx0cHVzaDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5zaG93UG9wID0gdHJ1ZTtcclxuXHRcdFx0XHQvLyB0aGlzLnBhcmtOYW1lID0gJyc7XHJcblx0XHRcdFx0Ly8gdGhpcy5wYXJrTnVtID0gMDtcclxuXHRcdFx0XHQvLyB0aGlzLmFyZWFDaGVja2VkID0gdHJ1ZTtcclxuXHRcdFx0XHQvLyB0aGlzLm1hcmtTaG93ID0gZmFsc2U7XHJcblx0XHRcdFx0Ly8gdGhpcy5hcmVhTmFtZSA9IHRoaXMub3B0aW9uMVswXS50ZXh0O1xyXG5cdFx0XHRcdC8vIHRoaXMudHlwZU5hbWUgPSB0aGlzLnR5cGVMaXN0WzFdLm5hbWU7XHJcblx0XHRcdFx0Ly8gdGhpcy50eXBlID0gdGhpcy50eXBlTGlzdFsxXS50eXBlO1xyXG5cdFx0XHRcdC8vIHRoaXMuYXJlYUlkID0gdGhpcy5vcHRpb24xWzBdLmFyZWFJRDtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IFwiLi9hZGRfcGFya1wiXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cG9zaTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly/ngrnlh7vlrprkvY0gIFxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKDEyKVxyXG5cdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XHJcblx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRcdHRoaXMubG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5sYXRpdHVkZSA9IHJlcy5sYXRpdHVkZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZWZyZXNoOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliLfmlrDkuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5tYXJrU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMucGFyaygpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzYXRlcG9zaTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5zYXRlbGxpdGUgPSAhdGhpcy5zYXRlbGxpdGVcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/pgInmi6nljLrln5/nsbvlnotcclxuXHRcdFx0Y2hvaWNlVHlwZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5zaG93VHlwZSA9ICF0aGlzLnNob3dUeXBlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmlLnlj5jljLrln5/nirbmgIFcclxuXHRcdFx0Y2hhbmdlU3RhdGU6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHRoaXMuYXJlYUNoZWNrZWQgPSAhdGhpcy5hcmVhQ2hlY2tlZDtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/nu5jliLblm7TmoI9cclxuXHRcdFx0ZHJhdzogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coMTExMSlcclxuXHRcdFx0XHRcdFx0dGhpcy5jb250cm9scyA9IFt7XHJcblx0XHRcdFx0XHRcdFx0aWQ6IDEsXHJcblx0XHRcdFx0XHRcdFx0aWNvblBhdGg6ICcvc3RhdGljL2ltZy9sb2NrLnBuZycsIC8vICDkuK3lv4Pngrnlm77niYdcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogcmVzLndpbmRvd1dpZHRoIC8gMiAtIDksXHJcblx0XHRcdFx0XHRcdFx0XHR0b3A6IHJlcy53aW5kb3dIZWlnaHQgLyAyIC0gMjcsXHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNDUsXHJcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDQ1XHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRjbGlja2FibGU6IHRydWVcclxuXHRcdFx0XHRcdFx0fV1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMuc2hvd1BvcCA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMubWFwY2xpY2sgPSB0cnVlO1xyXG5cdFx0XHRcdHRoaXMucHVzaFNob3cgPSBmYWxzZTtcclxuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn6K+354K55Ye75Zyw5Zu+6L+b6KGM57uY5Yi2JyxcclxuXHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5Zyw5Zu+5LiK57uY5Yi25YGc6L2m5Yy6XHJcblx0XHRcdGNvbnRyb2x0YXA6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0bGV0IG1hcEN0eCA9IHVuaS5jcmVhdGVNYXBDb250ZXh0KFwibWFwXCIpO1xyXG5cdFx0XHRcdGxldCBhcnIgPSB0aGF0Lmxpc3Q7XHJcblx0XHRcdFx0bWFwQ3R4LmdldENlbnRlckxvY2F0aW9uKHtcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMubGF0aXR1ZGUsICfnu4/nuqzluqYnKVxyXG5cdFx0XHRcdFx0XHR2YXIgbGF0aXR1ZGUgPSByZXMubGF0aXR1ZGVcclxuXHRcdFx0XHRcdFx0dmFyIGxvbmdpdHVkZSA9IHJlcy5sb25naXR1ZGVcclxuXHRcdFx0XHRcdFx0dmFyIGNvbG9yID0gJyc7XHJcblx0XHRcdFx0XHRcdHZhciBiZ0NvbG9yID0gJyc7XHJcblx0XHRcdFx0XHRcdHZhciBpY29uUGF0aCA9ICcnO1xyXG5cdFx0XHRcdFx0XHRpZiAodGhhdC50eXBlID09IDEpIHsgLy/npoHlgZzljLpcclxuXHRcdFx0XHRcdFx0XHRpY29uUGF0aCA9IFwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3JlZFN0b3AucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3IgPSBcIiNGRjAwMDBcIjtcclxuXHRcdFx0XHRcdFx0XHRiZ0NvbG9yID0gXCIjRkYwMDAwMDJcIjtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIGlmICh0aGF0LnR5cGUgPT0gMikgeyAvL+WBnOi9puWMulxyXG5cdFx0XHRcdFx0XHRcdGljb25QYXRoID0gXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vc3RvcDEucG5nXCI7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3IgPSBcIiNmZjAwZmZcIjtcclxuXHRcdFx0XHRcdFx0XHRiZ0NvbG9yID0gXCIjZmYwMGZmMDJcIlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGxldCBvYmogPSB7XHJcblx0XHRcdFx0XHRcdFx0bGF0aXR1ZGUsXHJcblx0XHRcdFx0XHRcdFx0bG9uZ2l0dWRlXHJcblx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdGFyci5wdXNoKG9iaik7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFyciwgJ2FycicpXHJcblx0XHRcdFx0XHRcdGlmIChhcnIubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnMScpXHJcblx0XHRcdFx0XHRcdFx0bGV0IGRvdCA9IHt9XHJcblx0XHRcdFx0XHRcdFx0ZG90LmxhdGl0dWRlID0gYXJyWzBdLmxhdGl0dWRlO1xyXG5cdFx0XHRcdFx0XHRcdGRvdC5sb25naXR1ZGUgPSBhcnJbMF0ubG9uZ2l0dWRlO1xyXG5cdFx0XHRcdFx0XHRcdGRvdC53aWR0aCA9IDI4O1xyXG5cdFx0XHRcdFx0XHRcdGRvdC5oZWlnaHQgPSAyODtcclxuXHRcdFx0XHRcdFx0XHRkb3QuaWNvblBhdGggPSBpY29uUGF0aDtcclxuXHRcdFx0XHRcdFx0XHRsZXQgZG90QXJyID0gW107XHJcblx0XHRcdFx0XHRcdFx0ZG90QXJyLnB1c2goZG90KVxyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWFya2VycyA9IHRoYXQubWFya2Vycy5jb25jYXQoZG90QXJyKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmIChhcnIubGVuZ3RoID09IDIpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnMicpXHJcblx0XHRcdFx0XHRcdFx0bGV0IGxpbmUgPSB7fTtcclxuXHRcdFx0XHRcdFx0XHRsaW5lLnBvaW50cyA9IGFycjtcclxuXHRcdFx0XHRcdFx0XHRsaW5lLndpZHRoID0gNDtcclxuXHRcdFx0XHRcdFx0XHRsaW5lLmJvcmRlcldpZHRoID0gMztcclxuXHRcdFx0XHRcdFx0XHRsaW5lLmJvcmRlckNvbG9yID0gY29sb3I7XHJcblx0XHRcdFx0XHRcdFx0bGluZS5jb2xvciA9IGNvbG9yO1xyXG5cdFx0XHRcdFx0XHRcdGxldCBsaW5lQXJyID0gW107XHJcblx0XHRcdFx0XHRcdFx0bGluZUFyci5wdXNoKGxpbmUpO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubWFya2Vycy5zcGxpY2UodGhhdC5tYXJrZXJzLmxlbmd0aCAtIDEsIDEpXHJcblx0XHRcdFx0XHRcdFx0dGhhdC5wb2x5bGluZSA9IGxpbmVBcnI7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gdGhhdC5tYXJrZXJzO1xyXG5cdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGxpbmVBcnIpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKGFyci5sZW5ndGggPj0gMykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCc+PTMnKVxyXG5cdFx0XHRcdFx0XHRcdGxldCBhcmVhID0ge307XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5mZW5jZSA9IGFycjtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmJ0blNob3cgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdGFyZWEucG9pbnRzID0gYXJyO1xyXG5cdFx0XHRcdFx0XHRcdGFyZWEuZmlsbENvbG9yID0gYmdDb2xvcjtcclxuXHRcdFx0XHRcdFx0XHRhcmVhLnN0cm9rZUNvbG9yID0gY29sb3I7XHJcblx0XHRcdFx0XHRcdFx0YXJlYS5zdHJva2VXaWR0aCA9IDQ7XHJcblx0XHRcdFx0XHRcdFx0YXJlYS56SW5kZXggPSAxO1xyXG5cdFx0XHRcdFx0XHRcdGxldCBhcmVhQXJyID0gW11cclxuXHRcdFx0XHRcdFx0XHRhcmVhQXJyLnB1c2goYXJlYSlcclxuXHRcdFx0XHRcdFx0XHR0aGF0LnBvbHlnb25zID0gdGhhdC5wb2x5Z29ucy5jb25jYXQoYXJlYUFycik7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5wb2x5bGluZSA9IHRoYXQucG9seWdvbnM7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5wb2x5Z29ucylcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5YGc6L2m54K55ZKM56aB5YGc54K5XHJcblx0XHRcdHBhcms6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5hcmVhSUQpXHJcblx0XHRcdFx0bGV0IHVybCA9ICdwYXJraW5nP2FyZWFfaWQ9MSdcclxuXHRcdFx0XHR0aGF0LmdldEFyZWEoKTtcclxuXHRcdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRsZXQgcG9seWdvbnMgPSByZXMuZGF0YS5wYXJraW5nX2FyZWEuY29uY2F0KHRoYXQucmlkZUFyZWEpO1xyXG5cdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gcmVzLmRhdGEucG9pbnQ7XHJcblx0XHRcdFx0XHR0aGF0LnBvbHlnb25zID0gcG9seWdvbnM7XHJcblx0XHRcdFx0XHR0aGF0LnBvbHlsaW5lID0gdGhhdC5wb2x5Z29ucztcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQucG9seWdvbnMsICflgZzovabljLrlkoznpoHlgZzljLonKVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5tYXJrZXJzLCAnbWFya2VycycpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6I635Y+W6aqR6KGM5Yy6XHJcblx0XHRcdGdldEFyZWE6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRsZXQgdXJsID0gJ2dldEFyZWFzP3B1dF9hcmVhX2lkPScgKyB0aGF0LmFyZWFJRCArIFwiJiZpc193aXRoX3Bhcmtpbmc9XCIgKyAwXHJcblx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHR0aGF0LnJpZGVBcmVhID0gcmVzLmRhdGEucmlkZGluZ19hcmVhXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lgZzovabvvIjnpoHlgZzvvInlm77moIfngrnlh7vkuovku7ZcclxuXHRcdFx0bWFya2VydGFwOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHR0aGlzLmdldFBhcmtfaW5mbyhlLmRldGFpbC5tYXJrZXJJZClcclxuXHRcdFx0XHR0aGlzLnBhcmtJZCA9IGUuZGV0YWlsLm1hcmtlcklkO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluWBnOi9pu+8iOemgeWBnO+8ieeCueS/oeaBr1xyXG5cdFx0XHRnZXRQYXJrX2luZm86IGZ1bmN0aW9uKHBhcmtJZCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Y29uc29sZS5sb2cocGFya0lkKVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdwYXJraW5nLycgKyBwYXJrSWQuc2xpY2UoMSksICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcclxuXHRcdFx0XHRcdHRoaXMuZGV0YWlsID0gcmVzLmRhdGE7XHJcblx0XHRcdFx0XHR0aGlzLm1hcmtTaG93ID0gdHJ1ZTtcclxuXHRcdFx0XHRcdHZhciBzdGF0dXMgPSAnJ1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhLnN0YXR1cyA9PSAxKSB7XHJcblx0XHRcdFx0XHRcdHN0YXR1cyA9ICflt7LlkK/nlKgnXHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRzdGF0dXMgPSAn5bey56aB55SoJ1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coc3RhdHVzLCAnc3RhdHVzJylcclxuXHRcdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xyXG5cdFx0XHRcdFx0XHRpdGVtTGlzdDogWyfnpoHnlKgv5ZCv55So77yM5b2T5YmNJyArIHN0YXR1cywgJ+WIoOmZpCcsICflj5bmtognXSxcclxuXHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+mAieS4reS6huesrCcgKyAocmVzLnRhcEluZGV4ICsgMSkgKyAn5Liq5oyJ6ZKuJyk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy50YXBJbmRleCArIDEgPT0gMikge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/liKDpmaRcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQucmVtb3ZlKClcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy50YXBJbmRleCArIDEgPT0gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/npoHnlKjmiJbogIXlkK/nlKhcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuc3dpdGNoQ29uKClcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdGZhaWw6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5lcnJNc2cpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIoOmZpOW9k+WJjeWBnOi9pu+8iOemgeWBnOeCue+8iVxyXG5cdFx0XHRyZW1vdmU6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlKTtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5wYXJrSWQsICdwYXJrSWQnKVxyXG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0Y29udGVudDogJ+ehruWumuWIoOmZpOivpeWMuuWfn+WQl++8nycsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb25maXJtKSB7XHJcblx0XHRcdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ3BhcmtpbmcvJyArIHRoYXQucGFya0lkLnNsaWNlKDEpLCAnJywgJ0RFTEVURScpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5wYXJrKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5Yig6Zmk5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZScsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDIwMDAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQubWFya1Nob3cgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lgZzovabljLrnirbmgIFcclxuXHRcdFx0c3dpdGNoQ29uOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfkv67mlLnkuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQpXHJcblx0XHRcdFx0bGV0IGRldGFpbCA9IHRoYXQuZGV0YWlsXHJcblx0XHRcdFx0ZGV0YWlsLnN0YXR1cyA9ICFkZXRhaWwuc3RhdHVzO1xyXG5cdFx0XHRcdGxldCBzdGF0dXMgPSAnJztcclxuXHRcdFx0XHRpZiAoZGV0YWlsLnN0YXR1cyA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRzdGF0dXMgPSAxXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHN0YXR1cyA9IDBcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhhdC5kZXRhaWwgPSBkZXRhaWw7XHJcblx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRzdGF0dXMsXHJcblx0XHRcdFx0XHRpZDogdGhhdC5wYXJrSWRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ3Bhcmtpbmcvc3RhdHVzJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfkv67mlLnmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0dGhpcy5wYXJrKCk7IC8vIOiOt+WPluWBnOi9puWMulxyXG5cdFx0XHR0aGlzLmdldEFyZWEoKTsgLy/ojrflj5bpqpHooYzljLpcclxuXHRcdFx0Ly8gdGhpcy5jb250cm9sdGFwKClcclxuXHJcblx0XHR9LFxyXG5cdFx0b25TaG93OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0Y29uc29sZS5sb2codGhpcy5hcmVhSWQpXHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMucGFya05hbWUpXHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMucGFya051bSlcclxuXHRcdFx0Y29uc29sZS5sb2codGhpcy50eXBlKVxyXG5cdFx0XHRpZiAodGhpcy5tYXBjbGljaykge1xyXG5cdFx0XHRcdHRoaXMuZHJhdygpXHJcblx0XHRcdH1cclxuXHRcdFx0dW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxyXG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdHRoaXMubG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZTtcclxuXHRcdFx0XHRcdHRoaXMubGF0aXR1ZGUgPSByZXMubGF0aXR1ZGU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0LmluZm8ge1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA3NnVweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR0b3A6IDEyJTtcclxuXHR9XHJcblxyXG5cdC5pbmZvIC5pbmZvQ29uIHtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRwYWRkaW5nOiAxMHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuaW5mbyAuaW5mb0NvbiAuZmxleEIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHR9XHJcblxyXG5cdC5pbmZvIC5kZWxldGVkIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZjAwO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDI2dXB4O1xyXG5cdFx0cGFkZGluZzogMTB1cHggMzB1cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyNXVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTV1cHg7XHJcblx0XHRoZWlnaHQ6IDM1dXB4O1xyXG5cdH1cclxuXHJcblx0LnRvcCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMzAwdXB4O1xyXG5cdFx0aGVpZ2h0OiA3MHVweDtcclxuXHRcdHotaW5kZXg6IDk5OTtcclxuXHRcdGJvdHRvbTogMTclO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0xNTB1cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzNXVweDtcclxuXHRcdGJhY2tncm91bmQ6ICMxOGQ1Yjk7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRsaW5lLWhlaWdodDogNjB1cHg7XHJcblx0fVxyXG5cclxuXHQucG9zaXRpb24sXHJcblx0LnJlZiB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiAxMCU7XHJcblx0XHRib3R0b206IDI3JTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDcydXB4O1xyXG5cdFx0d2lkdGg6IDcydXB4O1xyXG5cdH1cclxuXHJcblx0LnNhdGVsbGl0ZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRsZWZ0OiA4MCU7XHJcblx0XHRib3R0b206IDE3JTtcclxuXHRcdGhlaWdodDogNDB1cHg7XHJcblx0XHR3aWR0aDogNDB1cHg7XHJcblx0fVxyXG5cclxuXHQuYWdhaW4ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAxMDB1cHg7XHJcblx0XHR3aWR0aDogMzAlO1xyXG5cdFx0aGVpZ2h0OiA4MHVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4MHVweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQ6ICMwMDdBRkY7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRmb250LXNpemU6IDMwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjB1cHg7XHJcblx0XHR6LWluZGV4OiA5OTk7XHJcblx0fVxyXG5cclxuXHQuY2FuY2VsQnRuIHtcclxuXHRcdGxlZnQ6IDM1JSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LmZpbmlzaCB7XHJcblx0XHRyaWdodDogNSUgIWltcG9ydGFudDtcclxuXHR9XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///345\n");
  32501. /***/ }),
  32502. /* 346 */
  32503. /*!********************************************************************!*\
  32504. !*** C:/Users/001/Desktop/运维端/pages/mine/feedback.vue?mpType=page ***!
  32505. \********************************************************************/
  32506. =======
  32507. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n latitude: \"\",\n longitude: \"\",\n markers: [], //点\n polyline: [], //线\n polygons: [], //区域\n controls: [],\n list: [],\n fence: [], //点击地图获取的经纬度\n type: '', //停车区类型\n parkName: '', //停车区名称\n markShow: false, //是否显示停车点名称\n parkId: '', //停车点/禁停区id\n detail: [],\n showPop: false, //是否显示弹窗\n areaList: [], //选择所属大区列表\n typeList: [{ //区域类型选项\n type: 1,\n name: '禁停区' },\n {\n type: 2,\n name: '停车区' }],\n\n options: '',\n parkNum: 0, //停车上限\n mapclick: false, //是否执行地图点击事件\n areaChecked: true, //弹窗区域的状态\n areaId: '', //区域id\n btnShow: false, //重绘 取消\n pushShow: true,\n areaName: '',\n satellite: false, //是否显示卫星地图\n newArea: {}, // 新添加的停车点或者禁停区\n areaID: 0,\n value1: 0, //第一个显示什么\n option1: [],\n rideArea: [], //骑行区\n screenHeight: '', //屏幕可视高度\n showArea: '',\n showType: '' };\n\n },\n methods: {\n //重绘\n again: function again() {\n __f__(\"log\", '重绘', \" at pages/mine/park.vue:83\");\n this.getArea();\n this.polygons = [];\n this.markers = [];\n this.polyline = [];\n this.list = [];\n this.btnShow = false;\n this.park();\n },\n cancelBtn: function cancelBtn() {\n __f__(\"log\", '取消', \" at pages/mine/park.vue:93\");\n this.mapclick = false;\n this.markers = [];\n this.pushShow = true;\n this.controls = [];\n this.polygons = [];\n this.polyline = [];\n this.list = [];\n this.park();\n },\n //完成\n finish: function finish() {\n var that = this;\n if (that.fence.length >= 3) {\n var state = JSON.parse(that.areaChecked);\n var parking_fence = [];\n that.fence.map(function (i) {\n parking_fence.push({\n lat: i.latitude,\n lng: i.longitude });\n\n });\n if (state) {\n state = 1;\n } else {\n state = 0;\n }\n var data = {\n parking_fence: JSON.stringify(parking_fence),\n area_id: that.areaId,\n max_number: that.parkNum,\n name: that.parkName,\n status: state,\n type: that.type };\n\n app.request('parking', data, 'POST').then(function (res) {\n if (res.statusCode == 201) {\n __f__(\"log\", that.type, 555, \" at pages/mine/park.vue:130\");\n __f__(\"log\", res, '添加', \" at pages/mine/park.vue:131\");\n uni.showToast({\n title: '添加成功',\n icon: 'none',\n duration: 3000,\n success: function success() {\n that.mapclick = false;\n that.pushShow = true;\n that.controls = [];\n that.list = [];\n that.polygons = [];\n that.polyline = [];\n that.markers = [];\n that.park();\n } });\n\n }\n });\n } else {\n uni.showToast({\n title: '请至少选择三个点',\n icon: 'none' });\n\n }\n\n },\n\n //添加还车点、禁停区\n push: function push() {\n // this.showPop = true;\n // this.parkName = '';\n // this.parkNum = 0;\n // this.areaChecked = true;\n // this.markShow = false;\n // this.areaName = this.option1[0].text;\n // this.typeName = this.typeList[1].name;\n // this.type = this.typeList[1].type;\n // this.areaId = this.option1[0].areaID;\n uni.navigateTo({\n url: \"./add_park\" });\n\n },\n posi: function posi() {var _this = this;\n //点击定位 \n __f__(\"log\", 12, \" at pages/mine/park.vue:175\");\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n __f__(\"log\", res, \" at pages/mine/park.vue:179\");\n _this.longitude = res.longitude;\n _this.latitude = res.latitude;\n } });\n\n },\n refresh: function refresh() {\n uni.showLoading({\n title: '刷新中...' });\n\n this.markShow = false;\n this.park();\n },\n sateposi: function sateposi() {\n this.satellite = !this.satellite;\n },\n //选择区域类型\n choiceType: function choiceType() {\n this.showType = !this.showType;\n },\n // 改变区域状态\n changeState: function changeState() {\n this.areaChecked = !this.areaChecked;\n },\n //绘制围栏\n draw: function draw() {var _this2 = this;\n var that = this;\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", 1111, \" at pages/mine/park.vue:208\");\n _this2.controls = [{\n id: 1,\n iconPath: '/static/img/lock.png', // 中心点图片\n position: {\n left: res.windowWidth / 2 - 9,\n top: res.windowHeight / 2 - 27,\n width: 45,\n height: 45 },\n\n clickable: true }];\n\n } });\n\n this.showPop = false;\n this.mapclick = true;\n this.pushShow = false;\n uni.showToast({\n title: '请点击地图进行绘制',\n icon: 'none' });\n\n },\n //地图上绘制停车区\n controltap: function controltap(e) {\n var that = this;\n var mapCtx = uni.createMapContext(\"map\");\n var arr = that.list;\n mapCtx.getCenterLocation({\n success: function success(res) {\n __f__(\"log\", res.latitude, '经纬度', \" at pages/mine/park.vue:237\");\n var latitude = res.latitude;\n var longitude = res.longitude;\n var color = '';\n var bgColor = '';\n var iconPath = '';\n if (that.type == 1) {//禁停区\n iconPath = \"http://resource.weilaibike.com/redStop.png\";\n color = \"#FF0000\";\n bgColor = \"#FF000002\";\n } else if (that.type == 2) {//停车区\n iconPath = \"http://resource.weilaibike.com/stop1.png\";\n color = \"#ff00ff\";\n bgColor = \"#ff00ff02\";\n }\n var obj = {\n latitude: latitude,\n longitude: longitude };\n\n arr.push(obj);\n __f__(\"log\", arr, 'arr', \" at pages/mine/park.vue:257\");\n if (arr.length == 1) {\n __f__(\"log\", '1', \" at pages/mine/park.vue:259\");\n var dot = {};\n dot.latitude = arr[0].latitude;\n dot.longitude = arr[0].longitude;\n dot.width = 28;\n dot.height = 28;\n dot.iconPath = iconPath;\n var dotArr = [];\n dotArr.push(dot);\n that.markers = that.markers.concat(dotArr);\n }\n if (arr.length == 2) {\n __f__(\"log\", '2', \" at pages/mine/park.vue:271\");\n var line = {};\n line.points = arr;\n line.width = 4;\n line.borderWidth = 3;\n line.borderColor = color;\n line.color = color;\n var lineArr = [];\n lineArr.push(line);\n __f__(\"log\", lineArr, \" at pages/mine/park.vue:280\");\n that.markers.splice(that.markers.length - 1, 1);\n that.polyline = lineArr;\n that.markers = that.markers;\n // console.log(lineArr)\n }\n if (arr.length == 3) {\n __f__(\"log\", '==3', \" at pages/mine/park.vue:287\");\n var _line = {};\n _line.points = arr;\n var _lineArr = [];\n _lineArr.push(_line);\n var area = {};\n that.fence = arr;\n that.btnShow = true;\n area.points = arr;\n var areaArr = [];\n areaArr.push(area);\n __f__(\"log\", areaArr, \" at pages/mine/park.vue:298\");\n var areaPoly = areaArr[0].points[0];\n var areaPons = areaArr[0].points.concat(areaPoly);\n __f__(\"log\", areaPons, \" at pages/mine/park.vue:301\");\n var obj2 = {\n 'points': areaPons,\n 'fillColor': bgColor,\n 'strokeColor': color,\n 'strokeWidth': 4,\n 'zIndex': 1,\n 'id': 99 };\n\n that.polygons = that.polygons.concat(obj2);\n var poly = _lineArr[0].points[0];\n var polylines = _lineArr[0].points.concat(poly);\n var obj1 = {\n 'points': polylines,\n 'width': 4,\n 'borderWidth': 3,\n 'borderColor': color,\n 'color': color };\n\n var arr1 = [];\n arr1.push(obj1);\n that.polyline = arr1;\n __f__(\"log\", that.polyline, \" at pages/mine/park.vue:323\");\n __f__(\"log\", that.polygons, \" at pages/mine/park.vue:324\");\n }\n if (arr.length >= 4) {\n __f__(\"log\", that.polygons, \" at pages/mine/park.vue:327\");\n var arr5 = that.polygons[0].points;\n var arr6 = that.deWeight(arr5);\n that.polygons[0].points = arr6;\n __f__(\"log\", that.polygons, \" at pages/mine/park.vue:331\");\n var _line2 = {};\n _line2.points = arr;\n var _lineArr2 = [];\n _lineArr2.push(_line2);\n var _area = {};\n that.fence = arr;\n that.btnShow = true;\n _area.points = arr;\n var _areaArr = [];\n _areaArr.push(_area);\n __f__(\"log\", _areaArr, \" at pages/mine/park.vue:342\");\n var areaPoly = _areaArr[0].points[0];\n var areaPons = _areaArr[0].points.concat(areaPoly);\n __f__(\"log\", areaPons, \" at pages/mine/park.vue:345\");\n var obj2 = {\n 'points': areaPons,\n 'fillColor': bgColor,\n 'strokeColor': color,\n 'strokeWidth': 4,\n 'zIndex': 1,\n 'id': 99 };\n\n var poly2 = that.polygons.concat(obj2);\n that.polygons = poly2;\n var poly = _lineArr2[0].points[0];\n var polylines = _lineArr2[0].points.concat(poly);\n var obj1 = {\n 'points': polylines,\n 'width': 4,\n 'borderWidth': 3,\n 'borderColor': color,\n 'color': color };\n\n var arr1 = [];\n arr1.push(obj1);\n that.polyline = arr1;\n __f__(\"log\", that.polyline, \" at pages/mine/park.vue:368\");\n __f__(\"log\", that.polygons, \" at pages/mine/park.vue:369\");\n }\n } });\n\n },\n //停车点和禁停点\n park: function park() {\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n __f__(\"log\", that.areaID, \" at pages/mine/park.vue:380\");\n var url = 'parking?area_id=1';\n that.getArea();\n app.request(url, '', 'GET').then(function (res) {\n uni.hideLoading();\n // console.log(res)\n var polygons = res.data.parking_area.concat(that.rideArea);\n that.markers = res.data.point;\n that.polygons = polygons;\n that.polyline = that.polygons;\n __f__(\"log\", that.polygons, '停车区和禁停区', \" at pages/mine/park.vue:390\");\n __f__(\"log\", that.markers, 'markers', \" at pages/mine/park.vue:391\");\n });\n },\n deWeight: function deWeight(arr) {\n for (var i = 0; i < arr.length - 1; i++) {\n for (var j = i + 1; j < arr.length; j++) {\n if (arr[i].longitude == arr[j].longitude) {\n arr.splice(j, 1);\n //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--\n j--;\n }\n }\n }\n return arr;\n },\n // 获取骑行区\n getArea: function getArea() {\n var that = this;\n var url = 'getAreas?put_area_id=' + that.areaID + \"&&is_with_parking=\" + 0;\n app.request(url, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/mine/park.vue:411\");\n that.rideArea = res.data.ridding_area;\n });\n },\n //停车(禁停)图标点击事件\n markertap: function markertap(e) {\n __f__(\"log\", e, \" at pages/mine/park.vue:417\");\n this.getPark_info(e.detail.markerId);\n this.parkId = e.detail.markerId;\n },\n //获取停车(禁停)点信息\n getPark_info: function getPark_info(parkId) {var _this3 = this;\n var that = this;\n uni.showLoading({\n title: '加载中...' });\n\n __f__(\"log\", parkId, \" at pages/mine/park.vue:427\");\n app.request('parking/' + parkId.slice(1), '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res.data, \" at pages/mine/park.vue:430\");\n _this3.detail = res.data;\n _this3.markShow = true;\n var status = '';\n if (res.data.status == 1) {\n status = '已启用';\n } else {\n status = '已禁用';\n }\n __f__(\"log\", status, 'status', \" at pages/mine/park.vue:439\");\n uni.showActionSheet({\n itemList: ['禁用/启用,当前' + status, '删除', '取消'],\n success: function success(res) {\n __f__(\"log\", '选中了第' + (res.tapIndex + 1) + '个按钮', \" at pages/mine/park.vue:443\");\n if (res.tapIndex + 1 == 2) {\n //删除\n that.remove();\n }\n if (res.tapIndex + 1 == 1) {\n //禁用或者启用\n that.switchCon();\n }\n },\n fail: function fail(res) {\n __f__(\"log\", res.errMsg, \" at pages/mine/park.vue:454\");\n } });\n\n });\n },\n //删除当前停车(禁停点)\n remove: function remove(e) {\n __f__(\"log\", e, \" at pages/mine/park.vue:461\");\n var that = this;\n __f__(\"log\", that.parkId, 'parkId', \" at pages/mine/park.vue:463\");\n uni.showModal({\n title: '提示',\n content: '确定删除该区域吗?',\n success: function success(res) {\n if (res.confirm) {\n app.request('parking/' + that.parkId.slice(1), '', 'DELETE').then(function (res) {\n if (res.statusCode == 204) {\n that.park();\n uni.showToast({\n title: '删除成功',\n icon: 'none',\n duration: 2000 });\n\n that.markShow = false;\n }\n });\n }\n } });\n\n },\n //停车区状态\n switchCon: function switchCon() {\n uni.showLoading({\n title: '修改中...' });\n\n var that = this;\n __f__(\"log\", that, \" at pages/mine/park.vue:490\");\n var detail = that.detail;\n detail.status = !detail.status;\n var status = '';\n if (detail.status == true) {\n status = 1;\n } else {\n status = 0;\n }\n that.detail = detail;\n var data = {\n status: status,\n id: that.parkId };\n\n app.request('parking/status', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '修改成功',\n icon: 'none' });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n this.park(); // 获取停车区\n this.getArea(); //获取骑行区\n // this.controltap()\n\n },\n onShow: function onShow() {var _this4 = this;\n __f__(\"log\", this.areaId, \" at pages/mine/park.vue:522\");\n __f__(\"log\", this.parkName, \" at pages/mine/park.vue:523\");\n __f__(\"log\", this.parkNum, \" at pages/mine/park.vue:524\");\n __f__(\"log\", this.type, \" at pages/mine/park.vue:525\");\n if (this.mapclick) {\n this.draw();\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n __f__(\"log\", res, \" at pages/mine/park.vue:532\");\n _this4.longitude = res.longitude;\n _this4.latitude = res.latitude;\n } });\n\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9wYXJrLnZ1ZSJdLCJuYW1lcyI6WyJhcHAiLCJnZXRBcHAiLCJkYXRhIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJtYXJrZXJzIiwicG9seWxpbmUiLCJwb2x5Z29ucyIsImNvbnRyb2xzIiwibGlzdCIsImZlbmNlIiwidHlwZSIsInBhcmtOYW1lIiwibWFya1Nob3ciLCJwYXJrSWQiLCJkZXRhaWwiLCJzaG93UG9wIiwiYXJlYUxpc3QiLCJ0eXBlTGlzdCIsIm5hbWUiLCJvcHRpb25zIiwicGFya051bSIsIm1hcGNsaWNrIiwiYXJlYUNoZWNrZWQiLCJhcmVhSWQiLCJidG5TaG93IiwicHVzaFNob3ciLCJhcmVhTmFtZSIsInNhdGVsbGl0ZSIsIm5ld0FyZWEiLCJhcmVhSUQiLCJ2YWx1ZTEiLCJvcHRpb24xIiwicmlkZUFyZWEiLCJzY3JlZW5IZWlnaHQiLCJzaG93QXJlYSIsInNob3dUeXBlIiwibWV0aG9kcyIsImFnYWluIiwiZ2V0QXJlYSIsInBhcmsiLCJjYW5jZWxCdG4iLCJmaW5pc2giLCJ0aGF0IiwibGVuZ3RoIiwic3RhdGUiLCJKU09OIiwicGFyc2UiLCJwYXJraW5nX2ZlbmNlIiwibWFwIiwiaSIsInB1c2giLCJsYXQiLCJsbmciLCJzdHJpbmdpZnkiLCJhcmVhX2lkIiwibWF4X251bWJlciIsInN0YXR1cyIsInJlcXVlc3QiLCJ0aGVuIiwicmVzIiwic3RhdHVzQ29kZSIsInVuaSIsInNob3dUb2FzdCIsInRpdGxlIiwiaWNvbiIsImR1cmF0aW9uIiwic3VjY2VzcyIsIm5hdmlnYXRlVG8iLCJ1cmwiLCJwb3NpIiwiZ2V0TG9jYXRpb24iLCJyZWZyZXNoIiwic2hvd0xvYWRpbmciLCJzYXRlcG9zaSIsImNob2ljZVR5cGUiLCJjaGFuZ2VTdGF0ZSIsImRyYXciLCJnZXRTeXN0ZW1JbmZvIiwiaWQiLCJpY29uUGF0aCIsInBvc2l0aW9uIiwibGVmdCIsIndpbmRvd1dpZHRoIiwidG9wIiwid2luZG93SGVpZ2h0Iiwid2lkdGgiLCJoZWlnaHQiLCJjbGlja2FibGUiLCJjb250cm9sdGFwIiwiZSIsIm1hcEN0eCIsImNyZWF0ZU1hcENvbnRleHQiLCJhcnIiLCJnZXRDZW50ZXJMb2NhdGlvbiIsImNvbG9yIiwiYmdDb2xvciIsIm9iaiIsImRvdCIsImRvdEFyciIsImNvbmNhdCIsImxpbmUiLCJwb2ludHMiLCJib3JkZXJXaWR0aCIsImJvcmRlckNvbG9yIiwibGluZUFyciIsInNwbGljZSIsImFyZWEiLCJhcmVhQXJyIiwiYXJlYVBvbHkiLCJhcmVhUG9ucyIsIm9iajIiLCJwb2x5IiwicG9seWxpbmVzIiwib2JqMSIsImFycjEiLCJhcnI1IiwiYXJyNiIsImRlV2VpZ2h0IiwicG9seTIiLCJoaWRlTG9hZGluZyIsInBhcmtpbmdfYXJlYSIsInBvaW50IiwiaiIsInJpZGRpbmdfYXJlYSIsIm1hcmtlcnRhcCIsImdldFBhcmtfaW5mbyIsIm1hcmtlcklkIiwic2xpY2UiLCJzaG93QWN0aW9uU2hlZXQiLCJpdGVtTGlzdCIsInRhcEluZGV4IiwicmVtb3ZlIiwic3dpdGNoQ29uIiwiZmFpbCIsImVyck1zZyIsInNob3dNb2RhbCIsImNvbnRlbnQiLCJjb25maXJtIiwib25Mb2FkIiwib25TaG93Il0sIm1hcHBpbmdzIjoicUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQU1BLEdBQUcsR0FBR0MsTUFBTSxFQUFsQixDO0FBQ2U7QUFDZEMsTUFEYyxrQkFDUDtBQUNOLFdBQU87QUFDTkMsY0FBUSxFQUFFLEVBREo7QUFFTkMsZUFBUyxFQUFFLEVBRkw7QUFHTkMsYUFBTyxFQUFFLEVBSEgsRUFHTztBQUNiQyxjQUFRLEVBQUUsRUFKSixFQUlR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Ly9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmNvbnN0IGFwcCA9IGdldEFwcCgpO1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRsYXRpdHVkZTogXCJcIixcblx0XHRcdGxvbmdpdHVkZTogXCJcIixcblx0XHRcdG1hcmtlcnM6IFtdLCAvL+eCuVxuXHRcdFx0cG9seWxpbmU6IFtdLCAvL+e6v1xuXHRcdFx0cG9seWdvbnM6IFtdLCAvL+WMuuWfn1xuXHRcdFx0Y29udHJvbHM6IFtdLFxuXHRcdFx0bGlzdDogW10sXG5cdFx0XHRmZW5jZTogW10sIC8v54K55Ye75Zyw5Zu+6I635Y+W55qE57uP57qs5bqmXG5cdFx0XHR0eXBlOiAnJywgLy/lgZzovabljLrnsbvlnotcblx0XHRcdHBhcmtOYW1lOiAnJywgLy/lgZzovabljLrlkI3np7Bcblx0XHRcdG1hcmtTaG93OiBmYWxzZSwgLy/mmK/lkKbmmL7npLrlgZzovabngrnlkI3np7Bcblx0XHRcdHBhcmtJZDogJycsIC8v5YGc6L2m54K5L+emgeWBnOWMumlkXG5cdFx0XHRkZXRhaWw6IFtdLFxuXHRcdFx0c2hvd1BvcDogZmFsc2UsIC8v5piv5ZCm5pi+56S65by556qXXG5cdFx0XHRhcmVhTGlzdDogW10sIC8v6YCJ5oup5omA5bGe5aSn5Yy65YiX6KGoXG5cdFx0XHR0eXBlTGlzdDogW3sgLy/ljLrln5/nsbvlnovpgInpoblcblx0XHRcdFx0dHlwZTogMSxcblx0XHRcdFx0bmFtZTogJ+emgeWBnOWMuidcblx0XHRcdH0sIHtcblx0XHRcdFx0dHlwZTogMixcblx0XHRcdFx0bmFtZTogJ+WBnOi9puWMuidcblx0XHRcdH1dLFxuXHRcdFx0b3B0aW9uczogJycsXG5cdFx0XHRwYXJrTnVtOiAwLCAvL+WBnOi9puS4iumZkFxuXHRcdFx0bWFwY2xpY2s6IGZhbHNlLCAvL+aYr+WQpuaJp+ihjOWcsOWbvueCueWHu+S6i+S7tlxuXHRcdFx0YXJlYUNoZWNrZWQ6IHRydWUsIC8v5by556qX5Yy65Z+f55qE54q25oCBXG5cdFx0XHRhcmVhSWQ6ICcnLCAvL+WMuuWfn2lkXG5cdFx0XHRidG5TaG93OiBmYWxzZSwgLy/ph43nu5ggIOWPlua2iFxuXHRcdFx0cHVzaFNob3c6IHRydWUsXG5cdFx0XHRhcmVhTmFtZTogJycsXG5cdFx0XHRzYXRlbGxpdGU6IGZhbHNlLCAvL+aYr+WQpuaYvuekuuWNq+aYn+WcsOWbvlxuXHRcdFx0bmV3QXJlYToge30sIC8vIOaWsOa3u+WKoOeahOWBnOi9pueCueaIluiAheemgeWBnOWMulxuXHRcdFx0YXJlYUlEOiAwLFxuXHRcdFx0dmFsdWUxOiAwLCAvL+esrOS4gOS4quaYvuekuuS7gOS5iFxuXHRcdFx0b3B0aW9uMTogW10sXG5cdFx0XHRyaWRlQXJlYTogW10sIC8v6aqR6KGM5Yy6XG5cdFx0XHRzY3JlZW5IZWlnaHQ6ICcnLCAvL+Wxj+W5leWPr+inhumrmOW6plxuXHRcdFx0c2hvd0FyZWE6ICcnLFxuXHRcdFx0c2hvd1R5cGU6ICcnXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Ly/ph43nu5hcblx0XHRhZ2FpbjogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb25zb2xlLmxvZygn6YeN57uYJylcblx0XHRcdHRoaXMuZ2V0QXJlYSgpO1xuXHRcdFx0dGhpcy5wb2x5Z29ucyA9IFtdO1xuXHRcdFx0dGhpcy5tYXJrZXJzID0gW107XG5cdFx0XHR0aGlzLnBvbHlsaW5lID0gW107XG5cdFx0XHR0aGlzLmxpc3QgPSBbXTtcblx0XHRcdHRoaXMuYnRuU2hvdyA9IGZhbHNlO1xuXHRcdFx0dGhpcy5wYXJrKCk7XG5cdFx0fSxcblx0XHRjYW5jZWxCdG46IGZ1bmN0aW9uKCkge1xuXHRcdFx0Y29uc29sZS5sb2coJ+WPlua2iCcpXG5cdFx0XHR0aGlzLm1hcGNsaWNrID0gZmFsc2U7XG5cdFx0XHR0aGlzLm1hcmtlcnMgPSBbXTtcblx0XHRcdHRoaXMucHVzaFNob3cgPSB0cnVlO1xuXHRcdFx0dGhpcy5jb250cm9scyA9IFtdXG5cdFx0XHR0aGlzLnBvbHlnb25zID0gW11cblx0XHRcdHRoaXMucG9seWxpbmUgPSBbXVxuXHRcdFx0dGhpcy5saXN0ID0gW11cblx0XHRcdHRoaXMucGFyaygpO1xuXHRcdH0sXG5cdFx0Ly/lrozmiJBcblx0XHRmaW5pc2g6IGZ1bmN0aW9uKCkge1xuXHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKHRoYXQuZmVuY2UubGVuZ3RoID49IDMpIHtcblx0XHRcdFx0bGV0IHN0YXRlID0gSlNPTi5wYXJzZSh0aGF0LmFyZWFDaGVja2VkKTtcblx0XHRcdFx0bGV0IHBhcmtpbmdfZmVuY2UgPSBbXVxuXHRcdFx0XHR0aGF0LmZlbmNlLm1hcChpID0+IHtcblx0XHRcdFx0XHRwYXJraW5nX2ZlbmNlLnB1c2goe1xuXHRcdFx0XHRcdFx0bGF0OiBpLmxhdGl0dWRlLFxuXHRcdFx0XHRcdFx0bG5nOiBpLmxvbmdpdHVkZVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGlmIChzdGF0ZSkge1xuXHRcdFx0XHRcdHN0YXRlID0gMVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHN0YXRlID0gMFxuXHRcdFx0XHR9XG5cdFx0XHRcdGxldCBkYXRhID0ge1xuXHRcdFx0XHRcdHBhcmtpbmdfZmVuY2U6IEpTT04uc3RyaW5naWZ5KHBhcmtpbmdfZmVuY2UpLFxuXHRcdFx0XHRcdGFyZWFfaWQ6IHRoYXQuYXJlYUlkLFxuXHRcdFx0XHRcdG1heF9udW1iZXI6IHRoYXQucGFya051bSxcblx0XHRcdFx0XHRuYW1lOiB0aGF0LnBhcmtOYW1lLFxuXHRcdFx0XHRcdHN0YXR1czogc3RhdGUsXG5cdFx0XHRcdFx0dHlwZTogdGhhdC50eXBlLFxuXHRcdFx0XHR9XG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdwYXJraW5nJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMSkge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC50eXBlLCA1NTUpXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICfmt7vliqAnKTtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+a3u+WKoOaIkOWKnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJyxcblx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDMwMDAsXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQubWFwY2xpY2sgPSBmYWxzZTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LnB1c2hTaG93ID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmNvbnRyb2xzID0gW107XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5saXN0ID0gW107XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5wb2x5Z29ucyA9IFtdO1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQucG9seWxpbmUgPSBbXTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1hcmtlcnMgPSBbXTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LnBhcmsoKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+ivt+iHs+WwkemAieaLqeS4ieS4queCuScsXG5cdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cblx0XHR9LFxuXG5cdFx0Ly/mt7vliqDov5jovabngrnjgIHnpoHlgZzljLpcblx0XHRwdXNoOiBmdW5jdGlvbigpIHtcblx0XHRcdC8vIHRoaXMuc2hvd1BvcCA9IHRydWU7XG5cdFx0XHQvLyB0aGlzLnBhcmtOYW1lID0gJyc7XG5cdFx0XHQvLyB0aGlzLnBhcmtOdW0gPSAwO1xuXHRcdFx0Ly8gdGhpcy5hcmVhQ2hlY2tlZCA9IHRydWU7XG5cdFx0XHQvLyB0aGlzLm1hcmtTaG93ID0gZmFsc2U7XG5cdFx0XHQvLyB0aGlzLmFyZWFOYW1lID0gdGhpcy5vcHRpb24xWzBdLnRleHQ7XG5cdFx0XHQvLyB0aGlzLnR5cGVOYW1lID0gdGhpcy50eXBlTGlzdFsxXS5uYW1lO1xuXHRcdFx0Ly8gdGhpcy50eXBlID0gdGhpcy50eXBlTGlzdFsxXS50eXBlO1xuXHRcdFx0Ly8gdGhpcy5hcmVhSWQgPSB0aGlzLm9wdGlvbjFbMF0uYXJlYUlEO1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6IFwiLi9hZGRfcGFya1wiXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0cG9zaTogZnVuY3Rpb24oKSB7XG5cdFx0XHQvL+eCueWHu+WumuS9jSAgXG5cdFx0XHRjb25zb2xlLmxvZygxMilcblx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdHR5cGU6ICdnY2owMicsXG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0dGhpcy5sb25naXR1ZGUgPSByZXMubG9uZ2l0dWRlO1xuXHRcdFx0XHRcdHRoaXMubGF0aXR1ZGUgPSByZXMubGF0aXR1ZGU7XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRyZWZyZXNoOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yi35paw5LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHR0aGlzLm1hcmtTaG93ID0gZmFsc2U7XG5cdFx0XHR0aGlzLnBhcmsoKTtcblx0XHR9LFxuXHRcdHNhdGVwb3NpOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMuc2F0ZWxsaXRlID0gIXRoaXMuc2F0ZWxsaXRlXG5cdFx0fSxcblx0XHQvL+mAieaLqeWMuuWfn+exu+Wei1xuXHRcdGNob2ljZVR5cGU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zaG93VHlwZSA9ICF0aGlzLnNob3dUeXBlO1xuXHRcdH0sXG5cdFx0Ly8g5pS55Y+Y5Yy65Z+f54q25oCBXG5cdFx0Y2hhbmdlU3RhdGU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5hcmVhQ2hlY2tlZCA9ICF0aGlzLmFyZWFDaGVja2VkO1xuXHRcdH0sXG5cdFx0Ly/nu5jliLblm7TmoI9cblx0XHRkcmF3OiBmdW5jdGlvbigpIHtcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcblx0XHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcblx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKDExMTEpXG5cdFx0XHRcdFx0dGhpcy5jb250cm9scyA9IFt7XG5cdFx0XHRcdFx0XHRpZDogMSxcblx0XHRcdFx0XHRcdGljb25QYXRoOiAnL3N0YXRpYy9pbWcvbG9jay5wbmcnLCAvLyAg5Lit5b+D54K55Zu+54mHXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjoge1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiByZXMud2luZG93V2lkdGggLyAyIC0gOSxcblx0XHRcdFx0XHRcdFx0dG9wOiByZXMud2luZG93SGVpZ2h0IC8gMiAtIDI3LFxuXHRcdFx0XHRcdFx0XHR3aWR0aDogNDUsXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNDVcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRjbGlja2FibGU6IHRydWVcblx0XHRcdFx0XHR9XVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdFx0dGhpcy5zaG93UG9wID0gZmFsc2U7XG5cdFx0XHR0aGlzLm1hcGNsaWNrID0gdHJ1ZTtcblx0XHRcdHRoaXMucHVzaFNob3cgPSBmYWxzZTtcblx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHR0aXRsZTogJ+ivt+eCueWHu+WcsOWbvui/m+ihjOe7mOWIticsXG5cdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5Zyw5Zu+5LiK57uY5Yi25YGc6L2m5Yy6XG5cdFx0Y29udHJvbHRhcDogZnVuY3Rpb24oZSkge1xuXHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0bGV0IG1hcEN0eCA9IHVuaS5jcmVhdGVNYXBDb250ZXh0KFwibWFwXCIpO1xuXHRcdFx0bGV0IGFyciA9IHRoYXQubGlzdDtcblx0XHRcdG1hcEN0eC5nZXRDZW50ZXJMb2NhdGlvbih7XG5cdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5sYXRpdHVkZSwgJ+e7j+e6rOW6picpXG5cdFx0XHRcdFx0dmFyIGxhdGl0dWRlID0gcmVzLmxhdGl0dWRlXG5cdFx0XHRcdFx0dmFyIGxvbmdpdHVkZSA9IHJlcy5sb25naXR1ZGVcblx0XHRcdFx0XHR2YXIgY29sb3IgPSAnJztcblx0XHRcdFx0XHR2YXIgYmdDb2xvciA9ICcnO1xuXHRcdFx0XHRcdHZhciBpY29uUGF0aCA9ICcnO1xuXHRcdFx0XHRcdGlmICh0aGF0LnR5cGUgPT0gMSkgeyAvL+emgeWBnOWMulxuXHRcdFx0XHRcdFx0aWNvblBhdGggPSBcImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9yZWRTdG9wLnBuZ1wiO1xuXHRcdFx0XHRcdFx0Y29sb3IgPSBcIiNGRjAwMDBcIjtcblx0XHRcdFx0XHRcdGJnQ29sb3IgPSBcIiNGRjAwMDAwMlwiO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAodGhhdC50eXBlID09IDIpIHsgLy/lgZzovabljLpcblx0XHRcdFx0XHRcdGljb25QYXRoID0gXCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vc3RvcDEucG5nXCI7XG5cdFx0XHRcdFx0XHRjb2xvciA9IFwiI2ZmMDBmZlwiO1xuXHRcdFx0XHRcdFx0YmdDb2xvciA9IFwiI2ZmMDBmZjAyXCJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0bGV0IG9iaiA9IHtcblx0XHRcdFx0XHRcdGxhdGl0dWRlLFxuXHRcdFx0XHRcdFx0bG9uZ2l0dWRlXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRhcnIucHVzaChvYmopO1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGFyciwgJ2FycicpXG5cdFx0XHRcdFx0aWYgKGFyci5sZW5ndGggPT0gMSkge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJzEnKVxuXHRcdFx0XHRcdFx0bGV0IGRvdCA9IHt9XG5cdFx0XHRcdFx0XHRkb3QubGF0aXR1ZGUgPSBhcnJbMF0ubGF0aXR1ZGU7XG5cdFx0XHRcdFx0XHRkb3QubG9uZ2l0dWRlID0gYXJyWzBdLmxvbmdpdHVkZTtcblx0XHRcdFx0XHRcdGRvdC53aWR0aCA9IDI4O1xuXHRcdFx0XHRcdFx0ZG90LmhlaWdodCA9IDI4O1xuXHRcdFx0XHRcdFx0ZG90Lmljb25QYXRoID0gaWNvblBhdGg7XG5cdFx0XHRcdFx0XHRsZXQgZG90QXJyID0gW107XG5cdFx0XHRcdFx0XHRkb3RBcnIucHVzaChkb3QpXG5cdFx0XHRcdFx0XHR0aGF0Lm1hcmtlcnMgPSB0aGF0Lm1hcmtlcnMuY29uY2F0KGRvdEFycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGFyci5sZW5ndGggPT0gMikge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJzInKVxuXHRcdFx0XHRcdFx0bGV0IGxpbmUgPSB7fTtcblx0XHRcdFx0XHRcdGxpbmUucG9pbnRzID0gYXJyO1xuXHRcdFx0XHRcdFx0bGluZS53aWR0aCA9IDQ7XG5cdFx0XHRcdFx0XHRsaW5lLmJvcmRlcldpZHRoID0gMztcblx0XHRcdFx0XHRcdGxpbmUuYm9yZGVyQ29sb3IgPSBjb2xvcjtcblx0XHRcdFx0XHRcdGxpbmUuY29sb3IgPSBjb2xvcjtcblx0XHRcdFx0XHRcdGxldCBsaW5lQXJyID0gW107XG5cdFx0XHRcdFx0XHRsaW5lQXJyLnB1c2gobGluZSk7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhsaW5lQXJyKVxuXHRcdFx0XHRcdFx0dGhhdC5tYXJrZXJzLnNwbGljZSh0aGF0Lm1hcmtlcnMubGVuZ3RoIC0gMSwgMSlcblx0XHRcdFx0XHRcdHRoYXQucG9seWxpbmUgPSBsaW5lQXJyO1xuXHRcdFx0XHRcdFx0dGhhdC5tYXJrZXJzID0gdGhhdC5tYXJrZXJzO1xuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cobGluZUFycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYgKGFyci5sZW5ndGggPT0gMykge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJz09MycpXG5cdFx0XHRcdFx0XHRsZXQgbGluZSA9IHt9O1xuXHRcdFx0XHRcdFx0bGluZS5wb2ludHMgPSBhcnI7XG5cdFx0XHRcdFx0XHRsZXQgbGluZUFyciA9IFtdO1xuXHRcdFx0XHRcdFx0bGluZUFyci5wdXNoKGxpbmUpO1xuXHRcdFx0XHRcdFx0bGV0IGFyZWEgPSB7fTtcblx0XHRcdFx0XHRcdHRoYXQuZmVuY2UgPSBhcnI7XG5cdFx0XHRcdFx0XHR0aGF0LmJ0blNob3cgPSB0cnVlO1xuXHRcdFx0XHRcdFx0YXJlYS5wb2ludHMgPSBhcnI7XG5cdFx0XHRcdFx0XHRsZXQgYXJlYUFyciA9IFtdO1xuXHRcdFx0XHRcdFx0YXJlYUFyci5wdXNoKGFyZWEpXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcmVhQXJyKVxuXHRcdFx0XHRcdFx0dmFyIGFyZWFQb2x5ID0gYXJlYUFyclswXS5wb2ludHNbMF07XG5cdFx0XHRcdFx0XHR2YXIgYXJlYVBvbnMgPSBhcmVhQXJyWzBdLnBvaW50cy5jb25jYXQoYXJlYVBvbHkpO1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYXJlYVBvbnMpXG5cdFx0XHRcdFx0XHR2YXIgb2JqMiA9IHtcblx0XHRcdFx0XHRcdFx0J3BvaW50cyc6YXJlYVBvbnMsXG5cdFx0XHRcdFx0XHRcdCdmaWxsQ29sb3InOmJnQ29sb3IsXG5cdFx0XHRcdFx0XHRcdCdzdHJva2VDb2xvcic6Y29sb3IsXG5cdFx0XHRcdFx0XHRcdCdzdHJva2VXaWR0aCc6NCxcblx0XHRcdFx0XHRcdFx0J3pJbmRleCc6MSxcblx0XHRcdFx0XHRcdFx0J2lkJzo5OVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dGhhdC5wb2x5Z29ucyA9IHRoYXQucG9seWdvbnMuY29uY2F0KG9iajIpO1xuXHRcdFx0XHRcdFx0dmFyIHBvbHkgPSBsaW5lQXJyWzBdLnBvaW50c1swXTtcblx0XHRcdFx0XHRcdHZhciBwb2x5bGluZXMgPSBsaW5lQXJyWzBdLnBvaW50cy5jb25jYXQocG9seSk7XG5cdFx0XHRcdFx0XHR2YXIgb2JqMSA9IHtcblx0XHRcdFx0XHRcdFx0J3BvaW50cyc6cG9seWxpbmVzLFxuXHRcdFx0XHRcdFx0XHQnd2lkdGgnOjQsXG5cdFx0XHRcdFx0XHRcdCdib3JkZXJXaWR0aCc6Myxcblx0XHRcdFx0XHRcdFx0J2JvcmRlckNvbG9yJzpjb2xvcixcblx0XHRcdFx0XHRcdFx0J2NvbG9yJzpjb2xvclxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dmFyIGFycjEgPSBbXVxuXHRcdFx0XHRcdFx0YXJyMS5wdXNoKG9iajEpXG5cdFx0XHRcdFx0XHR0aGF0LnBvbHlsaW5lID0gYXJyMTtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQucG9seWxpbmUpXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LnBvbHlnb25zKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZihhcnIubGVuZ3RoPj00KXtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQucG9seWdvbnMpXG5cdFx0XHRcdFx0XHR2YXIgYXJyNSA9IHRoYXQucG9seWdvbnNbMF0ucG9pbnRzO1xuXHRcdFx0XHRcdFx0dmFyIGFycjYgPSB0aGF0LmRlV2VpZ2h0KGFycjUpXG5cdFx0XHRcdFx0XHR0aGF0LnBvbHlnb25zWzBdLnBvaW50cyA9IGFycjZcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQucG9seWdvbnMpXG5cdFx0XHRcdFx0XHRsZXQgbGluZSA9IHt9O1xuXHRcdFx0XHRcdFx0bGluZS5wb2ludHMgPSBhcnI7XG5cdFx0XHRcdFx0XHRsZXQgbGluZUFyciA9IFtdO1xuXHRcdFx0XHRcdFx0bGluZUFyci5wdXNoKGxpbmUpO1xuXHRcdFx0XHRcdFx0bGV0IGFyZWEgPSB7fTtcblx0XHRcdFx0XHRcdHRoYXQuZmVuY2UgPSBhcnI7XG5cdFx0XHRcdFx0XHR0aGF0LmJ0blNob3cgPSB0cnVlO1xuXHRcdFx0XHRcdFx0YXJlYS5wb2ludHMgPSBhcnI7XG5cdFx0XHRcdFx0XHRsZXQgYXJlYUFyciA9IFtdO1xuXHRcdFx0XHRcdFx0YXJlYUFyci5wdXNoKGFyZWEpXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhhcmVhQXJyKVxuXHRcdFx0XHRcdFx0dmFyIGFyZWFQb2x5ID0gYXJlYUFyclswXS5wb2ludHNbMF07XG5cdFx0XHRcdFx0XHR2YXIgYXJlYVBvbnMgPSBhcmVhQXJyWzBdLnBvaW50cy5jb25jYXQoYXJlYVBvbHkpO1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYXJlYVBvbnMpXG5cdFx0XHRcdFx0XHR2YXIgb2JqMiA9IHtcblx0XHRcdFx0XHRcdFx0J3BvaW50cyc6YXJlYVBvbnMsXG5cdFx0XHRcdFx0XHRcdCdmaWxsQ29sb3InOmJnQ29sb3IsXG5cdFx0XHRcdFx0XHRcdCdzdHJva2VDb2xvcic6Y29sb3IsXG5cdFx0XHRcdFx0XHRcdCdzdHJva2VXaWR0aCc6NCxcblx0XHRcdFx0XHRcdFx0J3pJbmRleCc6MSxcblx0XHRcdFx0XHRcdFx0J2lkJzo5OVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dmFyIHBvbHkyID0gdGhhdC5wb2x5Z29ucy5jb25jYXQob2JqMilcblx0XHRcdFx0XHRcdHRoYXQucG9seWdvbnMgPSBwb2x5Mjtcblx0XHRcdFx0XHRcdHZhciBwb2x5ID0gbGluZUFyclswXS5wb2ludHNbMF07XG5cdFx0XHRcdFx0XHR2YXIgcG9seWxpbmVzID0gbGluZUFyclswXS5wb2ludHMuY29uY2F0KHBvbHkpO1xuXHRcdFx0XHRcdFx0dmFyIG9iajEgPSB7XG5cdFx0XHRcdFx0XHRcdCdwb2ludHMnOnBvbHlsaW5lcyxcblx0XHRcdFx0XHRcdFx0J3dpZHRoJzo0LFxuXHRcdFx0XHRcdFx0XHQnYm9yZGVyV2lkdGgnOjMsXG5cdFx0XHRcdFx0XHRcdCdib3JkZXJDb2xvcic6Y29sb3IsXG5cdFx0XHRcdFx0XHRcdCdjb2xvcic6Y29sb3Jcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHZhciBhcnIxID0gW11cblx0XHRcdFx0XHRcdGFycjEucHVzaChvYmoxKVxuXHRcdFx0XHRcdFx0dGhhdC5wb2x5bGluZSA9IGFycjE7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LnBvbHlsaW5lKVxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5wb2x5Z29ucylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+WBnOi9pueCueWSjOemgeWBnOeCuVxuXHRcdHBhcms6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYXJlYUlEKVxuXHRcdFx0bGV0IHVybCA9ICdwYXJraW5nP2FyZWFfaWQ9MSdcblx0XHRcdHRoYXQuZ2V0QXJlYSgpO1xuXHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0bGV0IHBvbHlnb25zID0gcmVzLmRhdGEucGFya2luZ19hcmVhLmNvbmNhdCh0aGF0LnJpZGVBcmVhKTtcblx0XHRcdFx0dGhhdC5tYXJrZXJzID0gcmVzLmRhdGEucG9pbnQ7XG5cdFx0XHRcdHRoYXQucG9seWdvbnMgPSBwb2x5Z29ucztcblx0XHRcdFx0dGhhdC5wb2x5bGluZSA9IHRoYXQucG9seWdvbnM7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQucG9seWdvbnMsICflgZzovabljLrlkoznpoHlgZzljLonKVxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0Lm1hcmtlcnMsICdtYXJrZXJzJylcblx0XHRcdH0pXG5cdFx0fSxcblx0XHQgZGVXZWlnaHQ6ZnVuY3Rpb24oYXJyKSB7XG5cdFx0ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJyLmxlbmd0aCAtIDE7IGkrKykge1xuXHRcdCAgICAgICAgZm9yICh2YXIgaiA9IGkgKyAxOyBqIDwgYXJyLmxlbmd0aDsgaisrKSB7XG5cdFx0ICAgICAgICAgICAgaWYgKGFycltpXS5sb25naXR1ZGUgPT0gYXJyW2pdLmxvbmdpdHVkZSkge1xuXHRcdCAgICAgICAgICAgICAgICBhcnIuc3BsaWNlKGosIDEpO1xuXHRcdCAgICAgICAgICAgICAgICAvL+WboOS4uuaVsOe7hOmVv+W6puWHj+WwjzHvvIzmiYDku6Xnm7TmjqUgaisrIOS8mua8j+aOieS4gOS4quWFg+e0oO+8jOaJgOS7peimgSBqLS1cblx0XHQgICAgICAgICAgICAgICAgai0tO1xuXHRcdCAgICAgICAgICAgIH1cblx0XHQgICAgICAgIH1cblx0XHQgICAgfVxuXHRcdCAgICByZXR1cm4gYXJyO1xuXHRcdH0sXG5cdFx0Ly8g6I635Y+W6aqR6KGM5Yy6XG5cdFx0Z2V0QXJlYTogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRsZXQgdXJsID0gJ2dldEFyZWFzP3B1dF9hcmVhX2lkPScgKyB0aGF0LmFyZWFJRCArIFwiJiZpc193aXRoX3Bhcmtpbmc9XCIgKyAwXG5cdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xuXHRcdFx0XHR0aGF0LnJpZGVBcmVhID0gcmVzLmRhdGEucmlkZGluZ19hcmVhXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/lgZzovabvvIjnpoHlgZzvvInlm77moIfngrnlh7vkuovku7Zcblx0XHRtYXJrZXJ0YXA6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUpXG5cdFx0XHR0aGlzLmdldFBhcmtfaW5mbyhlLmRldGFpbC5tYXJrZXJJZClcblx0XHRcdHRoaXMucGFya0lkID0gZS5kZXRhaWwubWFya2VySWQ7XG5cdFx0fSxcblx0XHQvL+iOt+WPluWBnOi9pu+8iOemgeWBnO+8ieeCueS/oeaBr1xuXHRcdGdldFBhcmtfaW5mbzogZnVuY3Rpb24ocGFya0lkKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0Y29uc29sZS5sb2cocGFya0lkKVxuXHRcdFx0YXBwLnJlcXVlc3QoJ3BhcmtpbmcvJyArIHBhcmtJZC5zbGljZSgxKSwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0dGhpcy5kZXRhaWwgPSByZXMuZGF0YTtcblx0XHRcdFx0dGhpcy5tYXJrU2hvdyA9IHRydWU7XG5cdFx0XHRcdHZhciBzdGF0dXMgPSAnJ1xuXHRcdFx0XHRpZiAocmVzLmRhdGEuc3RhdHVzID09IDEpIHtcblx0XHRcdFx0XHRzdGF0dXMgPSAn5bey5ZCv55SoJ1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHN0YXR1cyA9ICflt7LnpoHnlKgnXG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc29sZS5sb2coc3RhdHVzLCAnc3RhdHVzJylcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XG5cdFx0XHRcdFx0aXRlbUxpc3Q6IFsn56aB55SoL+WQr+eUqO+8jOW9k+WJjScgKyBzdGF0dXMsICfliKDpmaQnLCAn5Y+W5raIJ10sXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6YCJ5Lit5LqG56ysJyArIChyZXMudGFwSW5kZXggKyAxKSArICfkuKrmjInpkq4nKTtcblx0XHRcdFx0XHRcdGlmIChyZXMudGFwSW5kZXggKyAxID09IDIpIHtcblx0XHRcdFx0XHRcdFx0Ly/liKDpmaRcblx0XHRcdFx0XHRcdFx0dGhhdC5yZW1vdmUoKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aWYgKHJlcy50YXBJbmRleCArIDEgPT0gMSkge1xuXHRcdFx0XHRcdFx0XHQvL+emgeeUqOaIluiAheWQr+eUqFxuXHRcdFx0XHRcdFx0XHR0aGF0LnN3aXRjaENvbigpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5lcnJNc2cpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/liKDpmaTlvZPliY3lgZzovabvvIjnpoHlgZzngrnvvIlcblx0XHRyZW1vdmU6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUpO1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0Y29uc29sZS5sb2codGhhdC5wYXJrSWQsICdwYXJrSWQnKVxuXHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdHRpdGxlOiAn5o+Q56S6Jyxcblx0XHRcdFx0Y29udGVudDogJ+ehruWumuWIoOmZpOivpeWMuuWfn+WQl++8nycsXG5cdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xuXHRcdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ3BhcmtpbmcvJyArIHRoYXQucGFya0lkLnNsaWNlKDEpLCAnJywgJ0RFTEVURScpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwNCkge1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQucGFyaygpO1xuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfliKDpmaTmiJDlip8nLFxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxuXHRcdFx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDIwMDAsXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHR0aGF0Lm1hcmtTaG93ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/lgZzovabljLrnirbmgIFcblx0XHRzd2l0Y2hDb246IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfkv67mlLnkuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGNvbnNvbGUubG9nKHRoYXQpXG5cdFx0XHRsZXQgZGV0YWlsID0gdGhhdC5kZXRhaWxcblx0XHRcdGRldGFpbC5zdGF0dXMgPSAhZGV0YWlsLnN0YXR1cztcblx0XHRcdGxldCBzdGF0dXMgPSAnJztcblx0XHRcdGlmIChkZXRhaWwuc3RhdHVzID09IHRydWUpIHtcblx0XHRcdFx0c3RhdHVzID0gMVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0c3RhdHVzID0gMFxuXHRcdFx0fVxuXHRcdFx0dGhhdC5kZXRhaWwgPSBkZXRhaWw7XG5cdFx0XHRsZXQgZGF0YSA9IHtcblx0XHRcdFx0c3RhdHVzLFxuXHRcdFx0XHRpZDogdGhhdC5wYXJrSWRcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCdwYXJraW5nL3N0YXR1cycsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfkv67mlLnmiJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdHRoaXMucGFyaygpOyAvLyDojrflj5blgZzovabljLpcblx0XHR0aGlzLmdldEFyZWEoKTsgLy/ojrflj5bpqpHooYzljLpcblx0XHQvLyB0aGlzLmNvbnRyb2x0YXAoKVxuXG5cdH0sXG5cdG9uU2hvdzogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2codGhpcy5hcmVhSWQpXG5cdFx0Y29uc29sZS5sb2codGhpcy5wYXJrTmFtZSlcblx0XHRjb25zb2xlLmxvZyh0aGlzLnBhcmtOdW0pXG5cdFx0Y29uc29sZS5sb2codGhpcy50eXBlKVxuXHRcdGlmICh0aGlzLm1hcGNsaWNrKSB7XG5cdFx0XHR0aGlzLmRyYXcoKVxuXHRcdH1cblx0XHR1bmkuZ2V0TG9jYXRpb24oe1xuXHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxuXHRcdFx0XHR0aGlzLmxvbmdpdHVkZSA9IHJlcy5sb25naXR1ZGU7XG5cdFx0XHRcdHRoaXMubGF0aXR1ZGUgPSByZXMubGF0aXR1ZGU7XG5cdFx0XHR9XG5cdFx0fSlcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///179\n");
  32508. /***/ }),
  32509. /* 180 */
  32510. /*!*********************************************************************************!*\
  32511. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/feedback.vue?mpType=page ***!
  32512. \*********************************************************************************/
  32513. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32514. /*! no static exports found */
  32515. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32516. "use strict";
  32517. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./feedback.vue?vue&type=template&id=08e6d2e8&mpType=page */ 347);\n/* harmony import */ var _feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./feedback.vue?vue&type=script&lang=js&mpType=page */ 349);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/feedback.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzQ2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9mZWVkYmFjay52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MDhlNmQyZTgmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2ZlZWRiYWNrLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9mZWVkYmFjay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL2ZlZWRiYWNrLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///346\n");
  32518. /***/ }),
  32519. <<<<<<< HEAD
  32520. /* 347 */
  32521. /*!**************************************************************************************************!*\
  32522. !*** C:/Users/001/Desktop/运维端/pages/mine/feedback.vue?vue&type=template&id=08e6d2e8&mpType=page ***!
  32523. \**************************************************************************************************/
  32524. =======
  32525. /* 181 */
  32526. /*!***************************************************************************************************************!*\
  32527. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/feedback.vue?vue&type=template&id=08e6d2e8&mpType=page ***!
  32528. \***************************************************************************************************************/
  32529. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32530. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32531. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32532. "use strict";
  32533. __webpack_require__.r(__webpack_exports__);
  32534. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./feedback.vue?vue&type=template&id=08e6d2e8&mpType=page */ 348);
  32535. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  32536. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  32537. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  32538. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_template_id_08e6d2e8_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  32539. /***/ }),
  32540. <<<<<<< HEAD
  32541. /* 348 */
  32542. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32543. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/feedback.vue?vue&type=template&id=08e6d2e8&mpType=page ***!
  32544. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32545. =======
  32546. /* 182 */
  32547. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32548. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/feedback.vue?vue&type=template&id=08e6d2e8&mpType=page ***!
  32549. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32550. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32551. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32552. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32553. "use strict";
  32554. __webpack_require__.r(__webpack_exports__);
  32555. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  32556. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  32557. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  32558. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  32559. var components
  32560. var render = function() {
  32561. var _vm = this
  32562. var _h = _vm.$createElement
  32563. var _c = _vm._self._c || _h
  32564. return _c(
  32565. "view",
  32566. [
  32567. _c("allArea", { attrs: { _i: 1 }, on: { getChild: _vm.childMess } }),
  32568. _c("view", { staticClass: _vm._$s(2, "sc", "feed"), attrs: { _i: 2 } }, [
  32569. _c("view", { staticClass: _vm._$s(3, "sc", "cut"), attrs: { _i: 3 } }, [
  32570. _c("text", {
  32571. class: _vm._$s(4, "c", _vm.curPage == 0 ? "cur" : ""),
  32572. attrs: { _i: 4 },
  32573. on: { click: _vm.choose }
  32574. }),
  32575. _c("text", {
  32576. class: _vm._$s(5, "c", _vm.curPage == 1 ? "cur" : ""),
  32577. attrs: { _i: 5 },
  32578. on: { click: _vm.choose }
  32579. })
  32580. ]),
  32581. _c(
  32582. "view",
  32583. { staticClass: _vm._$s(6, "sc", "box"), attrs: { _i: 6 } },
  32584. [
  32585. _vm._l(_vm._$s(7, "f", { forItems: _vm.feedList }), function(
  32586. item,
  32587. index,
  32588. $20,
  32589. $30
  32590. ) {
  32591. return _c(
  32592. "view",
  32593. {
  32594. key: _vm._$s(7, "f", { forIndex: $20, key: index }),
  32595. staticClass: _vm._$s("7-" + $30, "sc", "list"),
  32596. attrs: { _i: "7-" + $30 }
  32597. },
  32598. [
  32599. _c(
  32600. "view",
  32601. {
  32602. staticClass: _vm._$s("8-" + $30, "sc", "info"),
  32603. attrs: { _i: "8-" + $30 }
  32604. },
  32605. [
  32606. _c("view", [
  32607. _c("image", {
  32608. attrs: {
  32609. src: _vm._$s("10-" + $30, "a-src", item.avatar),
  32610. _i: "10-" + $30
  32611. }
  32612. })
  32613. ]),
  32614. _c(
  32615. "view",
  32616. {
  32617. staticClass: _vm._$s("11-" + $30, "sc", "quest"),
  32618. attrs: { _i: "11-" + $30 }
  32619. },
  32620. [
  32621. _c(
  32622. "view",
  32623. {
  32624. staticClass: _vm._$s("12-" + $30, "sc", "user"),
  32625. attrs: { _i: "12-" + $30 }
  32626. },
  32627. [
  32628. _c("text", [
  32629. _vm._v(
  32630. _vm._$s(
  32631. "13-" + $30,
  32632. "t0-0",
  32633. _vm._s(item.nickname)
  32634. )
  32635. )
  32636. ])
  32637. ]
  32638. ),
  32639. _c("view", [
  32640. _c("text", [
  32641. _vm._v(
  32642. _vm._$s(
  32643. "15-" + $30,
  32644. "t0-0",
  32645. _vm._s(item.mobile)
  32646. )
  32647. )
  32648. ])
  32649. ]),
  32650. _c("view", [
  32651. _c("text", [
  32652. _vm._v(
  32653. _vm._$s(
  32654. "17-" + $30,
  32655. "t0-0",
  32656. _vm._s(item.question)
  32657. )
  32658. )
  32659. ])
  32660. ])
  32661. ]
  32662. ),
  32663. _vm._$s("18-" + $30, "i", _vm.curPage == 0)
  32664. ? _c(
  32665. "view",
  32666. {
  32667. staticClass: _vm._$s("18-" + $30, "sc", "read"),
  32668. attrs: { _i: "18-" + $30 }
  32669. },
  32670. [
  32671. _c("view", {
  32672. attrs: { _i: "19-" + $30 },
  32673. on: {
  32674. click: function($event) {
  32675. return _vm.markRead(item.id)
  32676. }
  32677. }
  32678. }),
  32679. _c("view", {
  32680. attrs: { _i: "20-" + $30 },
  32681. on: {
  32682. click: function($event) {
  32683. return _vm.markRead(item.id)
  32684. }
  32685. }
  32686. })
  32687. ]
  32688. )
  32689. : _vm._e()
  32690. ]
  32691. ),
  32692. _c(
  32693. "view",
  32694. {
  32695. staticClass: _vm._$s("21-" + $30, "sc", "time"),
  32696. attrs: { _i: "21-" + $30 }
  32697. },
  32698. [
  32699. _c("text", [
  32700. _vm._v(
  32701. _vm._$s("22-" + $30, "t0-0", _vm._s(item.created_at))
  32702. )
  32703. ])
  32704. ]
  32705. )
  32706. ]
  32707. )
  32708. }),
  32709. _vm._$s(23, "i", _vm.feedList.length == 0)
  32710. ? _c(
  32711. "view",
  32712. {
  32713. staticClass: _vm._$s(23, "sc", "noData"),
  32714. attrs: { _i: 23 }
  32715. },
  32716. [_c("image", { attrs: { _i: 24 } }), _c("view")]
  32717. )
  32718. : _vm._e()
  32719. ],
  32720. 2
  32721. )
  32722. ])
  32723. ],
  32724. 1
  32725. )
  32726. }
  32727. var recyclableRender = false
  32728. var staticRenderFns = []
  32729. render._withStripped = true
  32730. /***/ }),
  32731. <<<<<<< HEAD
  32732. /* 349 */
  32733. /*!********************************************************************************************!*\
  32734. !*** C:/Users/001/Desktop/运维端/pages/mine/feedback.vue?vue&type=script&lang=js&mpType=page ***!
  32735. \********************************************************************************************/
  32736. =======
  32737. /* 183 */
  32738. /*!*********************************************************************************************************!*\
  32739. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/feedback.vue?vue&type=script&lang=js&mpType=page ***!
  32740. \*********************************************************************************************************/
  32741. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32742. /*! no static exports found */
  32743. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32744. "use strict";
  32745. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./feedback.vue?vue&type=script&lang=js&mpType=page */ 350);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_feedback_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIzNDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9mZWVkYmFjay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vZmVlZGJhY2sudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///349\n");
  32746. /***/ }),
  32747. <<<<<<< HEAD
  32748. /* 350 */
  32749. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32750. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/feedback.vue?vue&type=script&lang=js&mpType=page ***!
  32751. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32752. =======
  32753. /* 184 */
  32754. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32755. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/feedback.vue?vue&type=script&lang=js&mpType=page ***!
  32756. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32757. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32758. /*! no static exports found */
  32759. /***/ (function(module, exports, __webpack_require__) {
  32760. "use strict";
  32761. <<<<<<< HEAD
  32762. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var _default = { data: function data() {var _ref;return _ref = { screenHeight: '', //屏幕可视高度\n option1: [], curPage: 0, //tab切换 【1 已读 0未读】\n feedList: [], //用户反馈列表\n page: 1 }, _defineProperty(_ref, \"option1\", []), _defineProperty(_ref, \"isShow\", false), _defineProperty(_ref, \"areaID\", uni.getStorageSync('curId')), _defineProperty(_ref, \"list\", uni.getStorageSync('allArea')), _defineProperty(_ref, \"value1\", 0), _defineProperty(_ref, \"animationData\", {}), _ref;}, created: function created() {this.getFeed();}, onLoad: function onLoad() {if (uni.getStorageSync('curVal')) {this.getFeed();} else {this.areaID = this.list[0].areaID;__f__(\"log\", this.areaID, '12345678', \" at pages/mine/feedback.vue:72\");this.getFeed();}}, methods: { childMess: function childMess(e) {__f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/feedback.vue:78\");this.areaID = e.areaID;this.getFeed();}, getFeed: function getFeed() {var _this = this;uni.showLoading({ title: '加载中' });var areaID = this.areaID;var is_read = this.curPage;app.request('user/feedback?is_read=' + is_read + '&area_id=' + areaID, '', 'GET').then(function (res) {uni.hideLoading();__f__(\"log\", res.data.data, \" at pages/mine/feedback.vue:90\");var feed = res.data.data;if (feed) {_this.feedList = res.data.data;} else {\n // uni.showToast({\n // title: '暂无反馈信息~',\n // icon: 'none'\n // })\n }\n\n });\n },\n choose: function choose(e) {\n var idx = e.currentTarget.dataset.idx;\n this.curPage = idx;\n this.getFeed();\n __f__(\"log\", idx, \"这是点击之后的按钮\", \" at pages/mine/feedback.vue:107\");\n },\n // 标为已读未读\n markRead: function markRead(e) {var _this2 = this;\n var id = e;\n app.request('user/feedback/read?id=' + id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/mine/feedback.vue:113\");\n if (res.statusCode == 200) {\n _this2.getFeed();\n }\n });\n } },\n\n components: {\n allArea: _allArea.default } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9mZWVkYmFjay52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThDQSwwRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEQSxtQixlQUVBLEVBQ0EsSUFEQSxrQkFDQSxVQUNBLGdCQUNBLGdCQURBLEVBQ0E7QUFDQSxpQkFGQSxFQUdBLFVBSEEsRUFHQTtBQUNBLGtCQUpBLEVBSUE7QUFDQSxhQUxBLHFDQU1BLEVBTkEsbUNBT0EsS0FQQSxtQ0FRQSwyQkFSQSxpQ0FTQSw2QkFUQSxtQ0FVQSxDQVZBLDBDQVdBLEVBWEEsUUFhQSxDQWZBLEVBZ0JBLE9BaEJBLHFCQWdCQSxDQUNBLGVBQ0EsQ0FsQkEsRUFtQkEsTUFuQkEsb0JBbUJBLENBQ0EsbUNBQ0EsZUFDQSxDQUZBLE1BRUEsQ0FDQSxrQ0FDQSx3RUFDQSxlQUNBLENBQ0EsQ0EzQkEsRUE0QkEsV0FDQSxrQ0FDQSxnRUFDQSx1QkFDQSxlQUNBLENBTEEsRUFNQSw4Q0FDQSxrQkFDQSxZQURBLElBR0EseUJBQ0EsMkJBQ0EsdUdBQ0Esa0JBQ0EsOERBQ0EseUJBQ0EsV0FDQSwrQkFDQSxDQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BYkE7QUFjQSxLQTFCQTtBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FoQ0E7QUFpQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BTEE7QUFNQSxLQTFDQSxFQTVCQTs7QUF3RUE7QUFDQSw2QkFEQSxFQXhFQSxFIiwiZmlsZSI6IjM1MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDxhbGxBcmVhIEBnZXRDaGlsZD1cImNoaWxkTWVzc1wiPjwvYWxsQXJlYT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZmVlZFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImN1dFwiPlxyXG5cdFx0XHRcdDx0ZXh0IEBjbGljaz1cImNob29zZVwiIDpjbGFzcz1cImN1clBhZ2U9PTA/J2N1cic6JydcIiA6ZGF0YS1pZHg9XCIwXCI+5pyq6K+7PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IEBjbGljaz1cImNob29zZVwiIDpjbGFzcz1cImN1clBhZ2U9PTE/J2N1cic6JydcIiA6ZGF0YS1pZHg9XCIxXCI+5bey6K+7PC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gZmVlZExpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cIml0ZW0uYXZhdGFyXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInF1ZXN0XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZToyOHJweFwiPueUqOaIt++8mnt7aXRlbS5uaWNrbmFtZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuaJi+acuuWPt++8mnt7aXRlbS5tb2JpbGV9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiMyODI4Mjg7b3BhY2l0eTogMC43O21hcmdpbi1ib3R0b206IDE1cnB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztcIj7pl67popjmj4/ov7DvvJp7e2l0ZW0ucXVlc3Rpb259fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFkXCIgdi1pZj1cImN1clBhZ2UgPT0gMFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IEBjbGljaz1cIm1hcmtSZWFkKGl0ZW0uaWQpXCI+5qCH5Li6PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IEBjbGljaz1cIm1hcmtSZWFkKGl0ZW0uaWQpXCI+5bey6K+7PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpbWVcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJjb2xvcjojOTk5OTk5O2ZvbnQtc2l6ZToyNHJweDtcIj7lj43ppojml7bpl7TvvJp7e2l0ZW0uY3JlYXRlZF9hdH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5vRGF0YVwiIHYtaWY9XCJmZWVkTGlzdC5sZW5ndGg9PTBcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vbm9uZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXc+5pqC5peg55u45YWz5pWw5o2ufjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcblxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwPWdldEFwcCgpXHJcblx0aW1wb3J0IGFsbEFyZWEgZnJvbSAnLi4vLi4vY29tcG9uZW50L2FsbEFyZWEvYWxsQXJlYS52dWUnXHJcblx0ZXhwb3J0IGRlZmF1bHR7XHJcblx0XHRkYXRhKCl7XHJcblx0XHRcdHJldHVybntcclxuXHRcdFx0XHQgICAgc2NyZWVuSGVpZ2h0OiAnJywgLy/lsY/luZXlj6/op4bpq5jluqZcclxuXHRcdFx0XHQgICAgb3B0aW9uMTogW10sXHJcblx0XHRcdFx0ICAgIGN1clBhZ2U6IDAsIC8vdGFi5YiH5o2iIOOAkDEg5bey6K+7ICAw5pyq6K+744CRXHJcblx0XHRcdFx0ICAgIGZlZWRMaXN0OiBbXSwgLy/nlKjmiLflj43ppojliJfooahcclxuXHRcdFx0XHQgICAgcGFnZTogMSxcclxuXHRcdFx0XHQgICAgb3B0aW9uMTpbXSxcclxuXHRcdFx0XHRcdGlzU2hvdzpmYWxzZSxcclxuXHRcdFx0XHRcdGFyZWFJRDogdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJJZCcpLCAvL+WMuuWfn2lkXHJcblx0XHRcdFx0XHRsaXN0OnVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpLC8v6aqR6KGM5Yy65Z+f6YCJ5oup5YiX6KGoXHJcblx0XHRcdFx0XHR2YWx1ZTE6IDAsIC8v6aqR6KGM5Yy65LiO56ys5LiA5Liq5pi+56S65LuA5LmIXHJcblx0XHRcdFx0XHRhbmltYXRpb25EYXRhOnt9LFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y3JlYXRlZCgpIHtcclxuXHRcdFx0dGhpcy5nZXRGZWVkKCk7XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHRpZiAodW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSkge1xyXG5cdFx0XHRcdHRoaXMuZ2V0RmVlZCgpXHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5hcmVhSUQgPSB0aGlzLmxpc3RbMF0uYXJlYUlEO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYUlELCAnMTIzNDU2NzgnKVxyXG5cdFx0XHRcdHRoaXMuZ2V0RmVlZCgpXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGNoaWxkTWVzczogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUsICfov5nmmK/lrZDnu4Tku7bnqb/ov4fmnaXnmoTlgLwnKVxyXG5cdFx0XHRcdHRoaXMuYXJlYUlEID0gZS5hcmVhSURcclxuXHRcdFx0XHR0aGlzLmdldEZlZWQoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRGZWVkOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0bGV0IGFyZWFJRCA9IHRoaXMuYXJlYUlEO1xyXG5cdFx0XHRcdGxldCBpc19yZWFkID0gdGhpcy5jdXJQYWdlO1xyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL2ZlZWRiYWNrP2lzX3JlYWQ9JyArIGlzX3JlYWQgKyAnJmFyZWFfaWQ9JyArIGFyZWFJRCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLmRhdGEuZGF0YSk7XHJcblx0XHRcdFx0XHRsZXQgZmVlZCA9IHJlcy5kYXRhLmRhdGE7XHJcblx0XHRcdFx0XHRpZiAoZmVlZCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZlZWRMaXN0ID0gcmVzLmRhdGEuZGF0YVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdC8vICAgdGl0bGU6ICfmmoLml6Dlj43ppojkv6Hmga9+JyxcclxuXHRcdFx0XHRcdFx0Ly8gICBpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0Ly8gfSlcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2hvb3NlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0bGV0IGlkeCA9IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LmlkeDtcclxuXHRcdFx0XHR0aGlzLmN1clBhZ2UgPSBpZHhcclxuXHRcdFx0XHR0aGlzLmdldEZlZWQoKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGlkeCwgXCLov5nmmK/ngrnlh7vkuYvlkI7nmoTmjInpkq5cIilcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5qCH5Li65bey6K+75pyq6K+7XHJcblx0XHRcdG1hcmtSZWFkOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0bGV0IGlkID0gZTtcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgndXNlci9mZWVkYmFjay9yZWFkP2lkPScgKyBpZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmdldEZlZWQoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHRhbGxBcmVhXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHRAaW1wb3J0IHVybChcIi9zdGF0aWMvY3NzL2Jhc2UuY3NzXCIpO1xyXG5cdC5leGFtcGxlLWJvZHkge1xyXG5cdFx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdC8qICNlbmRpZiAqL1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3RhdHVzLWJhci1oZWlnaHQpO1xyXG5cdFx0LyogcGFkZGluZzogMjhycHggMDsgKi9cclxuXHRcdHBhZGRpbmctYm90dG9tOiAyOHJweDtcclxuXHRcdHotaW5kZXg6IDEwMDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdC8qIG92ZXJmbG93OiBoaWRkZW47ICovXHJcblx0fVxyXG5cclxuXHRwYWdlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblxyXG5cdEBpbXBvcnQgdXJsKFwiL3N0YXRpYy9jc3MvYmFzZS5jc3NcIik7XHJcblxyXG5cdC8qIHBhZ2VzL2ZlZWRiYWNrL2ZlZWRiYWNrLnd4c3MgKi9cclxuXHQuaWNvbmZvbnQge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdHdpZHRoOiA1MHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDE0cnB4IDA7XHJcblxyXG5cdH1cclxuXHJcblx0LnN0YXR1c19iYXIge1xyXG5cdFx0aGVpZ2h0OiB2YXIoLS1zdGF0dXMtYmFyLWhlaWdodCk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5tZW51cy1iZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC5tZW51cyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHotaW5kZXg6IDEwMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHotaW5kZXg6IDk5OTk5O1xyXG5cdH1cclxuXHJcblx0Lm1lbnUge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRsZWZ0OiA3MHJweDtcclxuXHRcdHRvcDogMHJweDtcclxuXHRcdHotaW5kZXg6IDg4ODtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDEyOXJweCAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy10b3A6IDE4cnB4O1xyXG5cdFx0ei1pbmRleDogOTk5OTk7XHJcblx0fVxyXG5cclxuXHQubWVudTEgLnZhbi1kcm9wZG93bi1tZW51IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0bGVmdDogNzBycHg7XHJcblx0XHR0b3A6IDBycHg7XHJcblx0XHR6LWluZGV4OiA4ODg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiAxMDBycHggIWltcG9ydGFudDtcclxuXHRcdHBhZGRpbmctdG9wOiA3NXJweDtcclxuXHRcdHotaW5kZXg6IDk5OTk5O1xyXG5cdH1cclxuXHJcblx0LnZhbi1kcm9wZG93bi1tZW51X19pdGVtIHtcclxuXHRcdGZsZXg6IDAuMjUgIWltcG9ydGFudDtcclxuXHRcdHotaW5kZXg6IDk5OTk5O1xyXG5cdH1cclxuXHJcblx0Lm1lbnVzIHRleHQge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAzNXJweDtcclxuXHR9XHJcblxyXG5cdC5mZWVkIHtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdG1hcmdpbi10b3A6IDEwMHJweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZjAwMDAyMjtcclxuXHR9XHJcblxyXG5cdC5mZWVkLFxyXG5cdC5jdXQge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHJweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0XHRwYWRkaW5nOiAzMHJweCAwO1xyXG5cdFx0ei1pbmRleDogOTk5O1xyXG5cclxuXHR9XHJcblxyXG5cdC5hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZDogIzE4RDVCOTtcclxuXHR9XHJcblxyXG5cdC5xdWVzdD52aWV3IHtcclxuXHRcdG1hcmdpbi10b3A6IDEwcnB4O1xyXG5cdH1cclxuXHJcblx0LnF1ZXN0IC51c2VyIHtcclxuXHRcdG1hcmdpbi10b3A6IDE1cnB4O1xyXG5cdH1cclxuXHJcblx0LmJveCB7XHJcblxyXG5cdFx0aGVpZ2h0OiA4MCU7XHJcblx0XHRtYXJnaW46IDEzMHJweCAwIDQwcnB4IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC50aW1lIHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDIwcnB4O1xyXG5cdFx0cGFkZGluZzogMjBycHggMDtcclxuXHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2VmZWZlZjtcclxuXHRcdHdpZHRoOiA5MiU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9XHJcblxyXG5cdC5saXN0IHtcclxuXHRcdC8qICBiYWNrZ3JvdW5kOiAjZmZmOyAqL1xyXG5cdFx0bWFyZ2luLXRvcDogNzBycHg7XHJcblx0XHR3aWR0aDogOTIlO1xyXG5cdFx0bWFyZ2luOiAxNXJweCBhdXRvIDA7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDhkOGQ4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgNnJweCAwIHJnYmEoMjE2LCAyMTYsIDIxNiwgMSk7XHJcblx0fVxyXG5cclxuXHQubGlzdCAuaW5mbyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0cGFkZGluZzogMTVycHggMDtcclxuXHR9XHJcblxyXG5cdC5saXN0IC5xdWVzdCB7XHJcblx0XHR3aWR0aDogNzAlO1xyXG5cdH1cclxuXHJcblx0Lmxpc3QgdGV4dCB7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3QgLnJlYWQge1xyXG5cdFx0bWFyZ2luLXRvcDogMTVycHg7XHJcblx0fVxyXG5cclxuXHQubGlzdCAucmVhZCB2aWV3IHtcclxuXHRcdGNvbG9yOiAjRkU1QzI4O1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHR9XHJcblxyXG5cdC5saXN0IGltYWdlIHtcclxuXHRcdHdpZHRoOiA4MHJweDtcclxuXHRcdGhlaWdodDogODBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0bWFyZ2luOiA1cnB4IDE1cnB4IDAgMjBycHg7XHJcblx0fVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///350\n");
  32763. /***/ }),
  32764. /* 351 */
  32765. /*!*******************************************************************!*\
  32766. !*** C:/Users/001/Desktop/运维端/pages/mine/repairs.vue?mpType=page ***!
  32767. \*******************************************************************/
  32768. =======
  32769. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var _default = { data: function data() {var _ref;return _ref = { screenHeight: '', //屏幕可视高度\n option1: [], curPage: 0, //tab切换 【1 已读 0未读】\n feedList: [], //用户反馈列表\n page: 1 }, _defineProperty(_ref, \"option1\", []), _defineProperty(_ref, \"isShow\", false), _defineProperty(_ref, \"areaID\", uni.getStorageSync('curId')), _defineProperty(_ref, \"list\", uni.getStorageSync('allArea')), _defineProperty(_ref, \"value1\", 0), _defineProperty(_ref, \"animationData\", {}), _ref;}, created: function created() {this.getFeed();}, onLoad: function onLoad() {if (uni.getStorageSync('curVal')) {this.getFeed();} else {this.areaID = this.list[0].areaID;__f__(\"log\", this.areaID, '12345678', \" at pages/mine/feedback.vue:72\");this.getFeed();}}, methods: { childMess: function childMess(e) {__f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/feedback.vue:78\");this.areaID = e.areaID;this.getFeed();}, getFeed: function getFeed() {var _this = this;uni.showLoading({ title: '加载中' });var areaID = this.areaID;var is_read = this.curPage;app.request('user/feedback?is_read=' + is_read + '&area_id=' + areaID, '', 'GET').then(function (res) {uni.hideLoading();__f__(\"log\", res.data.data, \" at pages/mine/feedback.vue:90\");var feed = res.data.data;if (feed) {_this.feedList = res.data.data;} else {\n // uni.showToast({\n // title: '暂无反馈信息~',\n // icon: 'none'\n // })\n }\n\n });\n },\n choose: function choose(e) {\n var idx = e.currentTarget.dataset.idx;\n this.curPage = idx;\n this.getFeed();\n __f__(\"log\", idx, \"这是点击之后的按钮\", \" at pages/mine/feedback.vue:107\");\n },\n // 标为已读未读\n markRead: function markRead(e) {var _this2 = this;\n var id = e;\n app.request('user/feedback/read?id=' + id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/mine/feedback.vue:113\");\n if (res.statusCode == 200) {\n _this2.getFeed();\n }\n });\n } },\n\n components: {\n allArea: _allArea.default } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9mZWVkYmFjay52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsInNjcmVlbkhlaWdodCIsIm9wdGlvbjEiLCJjdXJQYWdlIiwiZmVlZExpc3QiLCJwYWdlIiwidW5pIiwiZ2V0U3RvcmFnZVN5bmMiLCJjcmVhdGVkIiwiZ2V0RmVlZCIsIm9uTG9hZCIsImFyZWFJRCIsImxpc3QiLCJtZXRob2RzIiwiY2hpbGRNZXNzIiwiZSIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJpc19yZWFkIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJoaWRlTG9hZGluZyIsImZlZWQiLCJjaG9vc2UiLCJpZHgiLCJjdXJyZW50VGFyZ2V0IiwiZGF0YXNldCIsIm1hcmtSZWFkIiwiaWQiLCJzdGF0dXNDb2RlIiwiY29tcG9uZW50cyIsImFsbEFyZWEiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4Q0EsMEcsd1NBOUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxHQUFHLEdBQUNDLE1BQU0sRUFBZCxDLGVBRWMsRUFDYkMsSUFEYSxrQkFDUCxVQUNMLGdCQUNLQyxZQUFZLEVBQUUsRUFEbkIsRUFDdUI7QUFDbEJDLGFBQU8sRUFBRSxFQUZkLEVBR0tDLE9BQU8sRUFBRSxDQUhkLEVBR2lCO0FBQ1pDLGNBQVEsRUFBRSxFQUpmLEVBSW1CO0FBQ2RDLFVBQUksRUFBRSxDQUxYLHFDQU1hLEVBTmIsbUNBT1MsS0FQVCxtQ0FRVUMsR0FBRyxDQUFDQyxjQUFKLENBQW1CLE9BQW5CLENBUlYsaUNBU09ELEdBQUcsQ0FBQ0MsY0FBSixDQUFtQixTQUFuQixDQVRQLG1DQVVVLENBVlYsMENBV2dCLEVBWGhCLFFBYUEsQ0FmWSxFQWdCYkMsT0FoQmEscUJBZ0JILENBQ1QsS0FBS0MsT0FBTCxHQUNBLENBbEJZLEVBbUJiQyxNQW5CYSxvQkFtQkosQ0FDUixJQUFJSixHQUFHLENBQUNDLGNBQUosQ0FBbUIsUUFBbkIsQ0FBSixFQUFrQyxDQUNqQyxLQUFLRSxPQUFMLEdBQ0EsQ0FGRCxNQUVPLENBQ04sS0FBS0UsTUFBTCxHQUFjLEtBQUtDLElBQUwsQ0FBVSxDQUFWLEVBQWFELE1BQTNCLENBQ0EsYUFBWSxLQUFLQSxNQUFqQixFQUF5QixVQUF6QixvQ0FDQSxLQUFLRixPQUFMLEdBQ0EsQ0FDRCxDQTNCWSxFQTRCYkksT0FBTyxFQUFFLEVBQ1JDLFNBQVMsRUFBRSxtQkFBU0MsQ0FBVCxFQUFZLENBQ3RCLGFBQVlBLENBQVosRUFBZSxZQUFmLG9DQUNBLEtBQUtKLE1BQUwsR0FBY0ksQ0FBQyxDQUFDSixNQUFoQixDQUNBLEtBQUtGLE9BQUwsR0FDQSxDQUxPLEVBTVJBLE9BQU8sRUFBRSxtQkFBVyxrQkFDbkJILEdBQUcsQ0FBQ1UsV0FBSixDQUFnQixFQUNmQyxLQUFLLEVBQUUsS0FEUSxFQUFoQixFQUdBLElBQUlOLE1BQU0sR0FBRyxLQUFLQSxNQUFsQixDQUNBLElBQUlPLE9BQU8sR0FBRyxLQUFLZixPQUFuQixDQUNBTCxHQUFHLENBQUNxQixPQUFKLENBQVksMkJBQTJCRCxPQUEzQixHQUFxQyxXQUFyQyxHQUFtRFAsTUFBL0QsRUFBdUUsRUFBdkUsRUFBMkUsS0FBM0UsRUFBa0ZTLElBQWxGLENBQXVGLFVBQUFDLEdBQUcsRUFBSSxDQUM3RmYsR0FBRyxDQUFDZ0IsV0FBSixHQUNBLGFBQVlELEdBQUcsQ0FBQ3JCLElBQUosQ0FBU0EsSUFBckIsb0NBQ0EsSUFBSXVCLElBQUksR0FBR0YsR0FBRyxDQUFDckIsSUFBSixDQUFTQSxJQUFwQixDQUNBLElBQUl1QixJQUFKLEVBQVUsQ0FDVCxLQUFJLENBQUNuQixRQUFMLEdBQWdCaUIsR0FBRyxDQUFDckIsSUFBSixDQUFTQSxJQUF6QixDQUNBLENBRkQsTUFFTztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUQsT0FiRDtBQWNBLEtBMUJPO0FBMkJSd0IsVUFBTSxFQUFFLGdCQUFTVCxDQUFULEVBQVk7QUFDbkIsVUFBSVUsR0FBRyxHQUFHVixDQUFDLENBQUNXLGFBQUYsQ0FBZ0JDLE9BQWhCLENBQXdCRixHQUFsQztBQUNBLFdBQUt0QixPQUFMLEdBQWVzQixHQUFmO0FBQ0EsV0FBS2hCLE9BQUw7QUFDQSxtQkFBWWdCLEdBQVosRUFBaUIsV0FBakI7QUFDQSxLQWhDTztBQWlDUjtBQUNBRyxZQUFRLEVBQUUsa0JBQVNiLENBQVQsRUFBWTtBQUNyQixVQUFJYyxFQUFFLEdBQUdkLENBQVQ7QUFDQWpCLFNBQUcsQ0FBQ3FCLE9BQUosQ0FBWSwyQkFBMkJVLEVBQXZDLEVBQTJDLEVBQTNDLEVBQStDLEtBQS9DLEVBQXNEVCxJQUF0RCxDQUEyRCxVQUFBQyxHQUFHLEVBQUk7QUFDakUscUJBQVlBLEdBQVo7QUFDQSxZQUFJQSxHQUFHLENBQUNTLFVBQUosSUFBa0IsR0FBdEIsRUFBMkI7QUFDMUIsZ0JBQUksQ0FBQ3JCLE9BQUw7QUFDQTtBQUNELE9BTEQ7QUFNQSxLQTFDTyxFQTVCSTs7QUF3RWJzQixZQUFVLEVBQUU7QUFDWEMsV0FBTyxFQUFQQSxnQkFEVyxFQXhFQyxFIiwiZmlsZSI6IjE4NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwPWdldEFwcCgpXG5pbXBvcnQgYWxsQXJlYSBmcm9tICcuLi8uLi9jb21wb25lbnQvYWxsQXJlYS9hbGxBcmVhLnZ1ZSdcbmV4cG9ydCBkZWZhdWx0e1xuXHRkYXRhKCl7XG5cdFx0cmV0dXJue1xuXHRcdFx0ICAgIHNjcmVlbkhlaWdodDogJycsIC8v5bGP5bmV5Y+v6KeG6auY5bqmXG5cdFx0XHQgICAgb3B0aW9uMTogW10sXG5cdFx0XHQgICAgY3VyUGFnZTogMCwgLy90YWLliIfmjaIg44CQMSDlt7Lor7sgIDDmnKror7vjgJFcblx0XHRcdCAgICBmZWVkTGlzdDogW10sIC8v55So5oi35Y+N6aaI5YiX6KGoXG5cdFx0XHQgICAgcGFnZTogMSxcblx0XHRcdCAgICBvcHRpb24xOltdLFxuXHRcdFx0XHRpc1Nob3c6ZmFsc2UsXG5cdFx0XHRcdGFyZWFJRDogdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJJZCcpLCAvL+WMuuWfn2lkXG5cdFx0XHRcdGxpc3Q6dW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyksLy/pqpHooYzljLrln5/pgInmi6nliJfooahcblx0XHRcdFx0dmFsdWUxOiAwLCAvL+mqkeihjOWMuuS4juesrOS4gOS4quaYvuekuuS7gOS5iFxuXHRcdFx0XHRhbmltYXRpb25EYXRhOnt9LFxuXHRcdH1cblx0fSxcblx0Y3JlYXRlZCgpIHtcblx0XHR0aGlzLmdldEZlZWQoKTtcblx0fSxcblx0b25Mb2FkKCkge1xuXHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcpKSB7XG5cdFx0XHR0aGlzLmdldEZlZWQoKVxuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmFyZWFJRCA9IHRoaXMubGlzdFswXS5hcmVhSUQ7XG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFJRCwgJzEyMzQ1Njc4Jylcblx0XHRcdHRoaXMuZ2V0RmVlZCgpXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0Y2hpbGRNZXNzOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlLCAn6L+Z5piv5a2Q57uE5Lu256m/6L+H5p2l55qE5YC8Jylcblx0XHRcdHRoaXMuYXJlYUlEID0gZS5hcmVhSURcblx0XHRcdHRoaXMuZ2V0RmVlZCgpXG5cdFx0fSxcblx0XHRnZXRGZWVkOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitJyxcblx0XHRcdH0pXG5cdFx0XHRsZXQgYXJlYUlEID0gdGhpcy5hcmVhSUQ7XG5cdFx0XHRsZXQgaXNfcmVhZCA9IHRoaXMuY3VyUGFnZTtcblx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL2ZlZWRiYWNrP2lzX3JlYWQ9JyArIGlzX3JlYWQgKyAnJmFyZWFfaWQ9JyArIGFyZWFJRCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhLmRhdGEpO1xuXHRcdFx0XHRsZXQgZmVlZCA9IHJlcy5kYXRhLmRhdGE7XG5cdFx0XHRcdGlmIChmZWVkKSB7XG5cdFx0XHRcdFx0dGhpcy5mZWVkTGlzdCA9IHJlcy5kYXRhLmRhdGFcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQvLyB1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHQvLyAgIHRpdGxlOiAn5pqC5peg5Y+N6aaI5L+h5oGvficsXG5cdFx0XHRcdFx0Ly8gICBpY29uOiAnbm9uZSdcblx0XHRcdFx0XHQvLyB9KVxuXHRcdFx0XHR9XG5cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRjaG9vc2U6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGxldCBpZHggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pZHg7XG5cdFx0XHR0aGlzLmN1clBhZ2UgPSBpZHhcblx0XHRcdHRoaXMuZ2V0RmVlZCgpXG5cdFx0XHRjb25zb2xlLmxvZyhpZHgsIFwi6L+Z5piv54K55Ye75LmL5ZCO55qE5oyJ6ZKuXCIpXG5cdFx0fSxcblx0XHQvLyDmoIfkuLrlt7Lor7vmnKror7tcblx0XHRtYXJrUmVhZDogZnVuY3Rpb24oZSkge1xuXHRcdFx0bGV0IGlkID0gZTtcblx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL2ZlZWRiYWNrL3JlYWQ/aWQ9JyArIGlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHRoaXMuZ2V0RmVlZCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH1cblx0fSxcblx0Y29tcG9uZW50czoge1xuXHRcdGFsbEFyZWFcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///184\n");
  32770. /***/ }),
  32771. /* 185 */
  32772. /*!********************************************************************************!*\
  32773. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/repairs.vue?mpType=page ***!
  32774. \********************************************************************************/
  32775. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32776. /*! no static exports found */
  32777. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32778. "use strict";
  32779. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./repairs.vue?vue&type=template&id=03e9dcda&mpType=page */ 352);\n/* harmony import */ var _repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./repairs.vue?vue&type=script&lang=js&mpType=page */ 354);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/repairs.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK0g7QUFDL0g7QUFDc0U7QUFDTDs7O0FBR2pFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHdGQUFNO0FBQ1IsRUFBRSw2RkFBTTtBQUNSLEVBQUUsc0dBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsaUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzUxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9yZXBhaXJzLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0wM2U5ZGNkYSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vcmVwYWlycy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vcmVwYWlycy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL3JlcGFpcnMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///351\n");
  32780. /***/ }),
  32781. <<<<<<< HEAD
  32782. /* 352 */
  32783. /*!*************************************************************************************************!*\
  32784. !*** C:/Users/001/Desktop/运维端/pages/mine/repairs.vue?vue&type=template&id=03e9dcda&mpType=page ***!
  32785. \*************************************************************************************************/
  32786. =======
  32787. /* 186 */
  32788. /*!**************************************************************************************************************!*\
  32789. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/repairs.vue?vue&type=template&id=03e9dcda&mpType=page ***!
  32790. \**************************************************************************************************************/
  32791. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32792. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32793. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32794. "use strict";
  32795. __webpack_require__.r(__webpack_exports__);
  32796. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./repairs.vue?vue&type=template&id=03e9dcda&mpType=page */ 353);
  32797. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  32798. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  32799. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  32800. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_template_id_03e9dcda_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  32801. /***/ }),
  32802. <<<<<<< HEAD
  32803. /* 353 */
  32804. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32805. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/repairs.vue?vue&type=template&id=03e9dcda&mpType=page ***!
  32806. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32807. =======
  32808. /* 187 */
  32809. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  32810. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/repairs.vue?vue&type=template&id=03e9dcda&mpType=page ***!
  32811. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  32812. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  32813. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  32814. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  32815. "use strict";
  32816. __webpack_require__.r(__webpack_exports__);
  32817. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  32818. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  32819. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  32820. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  32821. var components
  32822. var render = function() {
  32823. var _vm = this
  32824. var _h = _vm.$createElement
  32825. var _c = _vm._self._c || _h
  32826. return _c(
  32827. "view",
  32828. [
  32829. _c("allArea", { attrs: { _i: 1 }, on: { getChild: _vm.childMess } }),
  32830. _c("view", { staticClass: _vm._$s(2, "sc", "feed"), attrs: { _i: 2 } }, [
  32831. _c("view", { staticClass: _vm._$s(3, "sc", "cut"), attrs: { _i: 3 } }, [
  32832. _c("text", {
  32833. class: _vm._$s(4, "c", _vm.curPage == 0 ? "cur" : ""),
  32834. attrs: { _i: 4 },
  32835. on: { click: _vm.choose }
  32836. }),
  32837. _c("text", {
  32838. class: _vm._$s(5, "c", _vm.curPage == 1 ? "cur" : ""),
  32839. attrs: { _i: 5 },
  32840. on: { click: _vm.choose }
  32841. })
  32842. ]),
  32843. _c(
  32844. "view",
  32845. { staticClass: _vm._$s(6, "sc", "box"), attrs: { _i: 6 } },
  32846. [
  32847. _vm._l(_vm._$s(7, "f", { forItems: _vm.repairsList }), function(
  32848. item,
  32849. index,
  32850. $20,
  32851. $30
  32852. ) {
  32853. return _c(
  32854. "view",
  32855. {
  32856. key: _vm._$s(7, "f", { forIndex: $20, key: index }),
  32857. staticClass: _vm._$s("7-" + $30, "sc", "list"),
  32858. attrs: { _i: "7-" + $30 }
  32859. },
  32860. [
  32861. _c(
  32862. "view",
  32863. {
  32864. staticClass: _vm._$s("8-" + $30, "sc", "content"),
  32865. attrs: { _i: "8-" + $30 }
  32866. },
  32867. [
  32868. _c(
  32869. "view",
  32870. {
  32871. staticClass: _vm._$s("9-" + $30, "sc", "title"),
  32872. attrs: { _i: "9-" + $30 }
  32873. },
  32874. [
  32875. _c(
  32876. "view",
  32877. {
  32878. staticClass: _vm._$s(
  32879. "10-" + $30,
  32880. "sc",
  32881. "title-left"
  32882. ),
  32883. attrs: { _i: "10-" + $30 }
  32884. },
  32885. [
  32886. _c("text", [
  32887. _vm._v(
  32888. _vm._$s(
  32889. "11-" + $30,
  32890. "t0-0",
  32891. _vm._s(item.trouble_part)
  32892. )
  32893. )
  32894. ]),
  32895. _c("text", [
  32896. _vm._v(
  32897. _vm._$s(
  32898. "12-" + $30,
  32899. "t0-0",
  32900. _vm._s(item.bike_no)
  32901. )
  32902. )
  32903. ])
  32904. ]
  32905. ),
  32906. _vm._$s("13-" + $30, "i", _vm.curPage == 0)
  32907. ? _c("view", {
  32908. staticClass: _vm._$s(
  32909. "13-" + $30,
  32910. "sc",
  32911. "title-right"
  32912. ),
  32913. attrs: { _i: "13-" + $30 },
  32914. on: {
  32915. click: function($event) {
  32916. return _vm.markRead(item.id)
  32917. }
  32918. }
  32919. })
  32920. : _vm._e()
  32921. ]
  32922. ),
  32923. _c(
  32924. "view",
  32925. {
  32926. staticClass: _vm._$s("14-" + $30, "sc", "body"),
  32927. attrs: { _i: "14-" + $30 }
  32928. },
  32929. [
  32930. _c(
  32931. "view",
  32932. {
  32933. staticClass: _vm._$s(
  32934. "15-" + $30,
  32935. "sc",
  32936. "body-left"
  32937. ),
  32938. attrs: { _i: "15-" + $30 }
  32939. },
  32940. [
  32941. _vm._$s(
  32942. "16-" + $30,
  32943. "i",
  32944. item.trouble_part == "刹车"
  32945. )
  32946. ? _c("image", { attrs: { _i: "16-" + $30 } })
  32947. : _vm._e(),
  32948. _vm._$s(
  32949. "17-" + $30,
  32950. "i",
  32951. item.trouble_part == "车胎"
  32952. )
  32953. ? _c("image", { attrs: { _i: "17-" + $30 } })
  32954. : _vm._e(),
  32955. _vm._$s(
  32956. "18-" + $30,
  32957. "i",
  32958. item.trouble_part == "链条"
  32959. )
  32960. ? _c("image", { attrs: { _i: "18-" + $30 } })
  32961. : _vm._e(),
  32962. _vm._$s(
  32963. "19-" + $30,
  32964. "i",
  32965. item.trouble_part == "车座"
  32966. )
  32967. ? _c("image", { attrs: { _i: "19-" + $30 } })
  32968. : _vm._e(),
  32969. _vm._$s(
  32970. "20-" + $30,
  32971. "i",
  32972. item.trouble_part == "二维码"
  32973. )
  32974. ? _c("image", { attrs: { _i: "20-" + $30 } })
  32975. : _vm._e(),
  32976. _vm._$s(
  32977. "21-" + $30,
  32978. "i",
  32979. item.trouble_part == "其他"
  32980. )
  32981. ? _c("image", { attrs: { _i: "21-" + $30 } })
  32982. : _vm._e()
  32983. ]
  32984. ),
  32985. _c(
  32986. "view",
  32987. {
  32988. staticClass: _vm._$s(
  32989. "22-" + $30,
  32990. "sc",
  32991. "body-right"
  32992. ),
  32993. attrs: { _i: "22-" + $30 }
  32994. },
  32995. [
  32996. _c(
  32997. "view",
  32998. {
  32999. staticClass: _vm._$s(
  33000. "23-" + $30,
  33001. "sc",
  33002. "describe"
  33003. ),
  33004. attrs: { _i: "23-" + $30 }
  33005. },
  33006. [
  33007. _vm._v(
  33008. _vm._$s(
  33009. "23-" + $30,
  33010. "t0-0",
  33011. _vm._s(item.trouble_description)
  33012. )
  33013. )
  33014. ]
  33015. )
  33016. ]
  33017. )
  33018. ]
  33019. ),
  33020. _c(
  33021. "view",
  33022. {
  33023. staticClass: _vm._$s("24-" + $30, "sc", "time flexB"),
  33024. attrs: { _i: "24-" + $30 }
  33025. },
  33026. [
  33027. _c("text", [
  33028. _vm._v(
  33029. _vm._$s(
  33030. "25-" + $30,
  33031. "t0-0",
  33032. _vm._s(item.created_at)
  33033. )
  33034. )
  33035. ]),
  33036. _c("text", [
  33037. _vm._v(
  33038. _vm._$s(
  33039. "26-" + $30,
  33040. "t0-0",
  33041. _vm._s(item.users.mobile)
  33042. )
  33043. )
  33044. ])
  33045. ]
  33046. )
  33047. ]
  33048. )
  33049. ]
  33050. )
  33051. }),
  33052. _vm._$s(27, "i", _vm.repairsList.length == 0)
  33053. ? _c(
  33054. "view",
  33055. {
  33056. staticClass: _vm._$s(27, "sc", "noData"),
  33057. attrs: { _i: 27 }
  33058. },
  33059. [_c("image", { attrs: { _i: 28 } }), _c("view")]
  33060. )
  33061. : _vm._e()
  33062. ],
  33063. 2
  33064. )
  33065. ])
  33066. ],
  33067. 1
  33068. )
  33069. }
  33070. var recyclableRender = false
  33071. var staticRenderFns = []
  33072. render._withStripped = true
  33073. /***/ }),
  33074. <<<<<<< HEAD
  33075. /* 354 */
  33076. /*!*******************************************************************************************!*\
  33077. !*** C:/Users/001/Desktop/运维端/pages/mine/repairs.vue?vue&type=script&lang=js&mpType=page ***!
  33078. \*******************************************************************************************/
  33079. =======
  33080. /* 188 */
  33081. /*!********************************************************************************************************!*\
  33082. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/repairs.vue?vue&type=script&lang=js&mpType=page ***!
  33083. \********************************************************************************************************/
  33084. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  33085. /*! no static exports found */
  33086. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  33087. "use strict";
  33088. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./repairs.vue?vue&type=script&lang=js&mpType=page */ 355);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_repairs_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZpQixDQUFnQixnbEJBQUcsRUFBQyIsImZpbGUiOiIzNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXBhaXJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXBhaXJzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///354\n");
  33089. /***/ }),
  33090. <<<<<<< HEAD
  33091. /* 355 */
  33092. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  33093. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/repairs.vue?vue&type=script&lang=js&mpType=page ***!
  33094. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  33095. =======
  33096. /* 189 */
  33097. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  33098. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/repairs.vue?vue&type=script&lang=js&mpType=page ***!
  33099. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  33100. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  33101. /*! no static exports found */
  33102. /***/ (function(module, exports, __webpack_require__) {
  33103. "use strict";
  33104. <<<<<<< HEAD
  33105. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var _default = { data: function data() {return _defineProperty({ screenHeight: '', //屏幕可视高度\n value1: 0, //第一个显示什么\n option1: [], curPage: 0, //tab切换 【1 已读 0未读】\n repairsList: [], //用户反馈列表\n page: 1, areaID: uni.getStorageSync('curId'), //区域id\n list: uni.getStorageSync('allArea') }, \"value1\", 0);}, created: function created() {}, onLoad: function onLoad() {if (uni.getStorageSync('curVal')) {this.lookRepairs();} else {this.areaID = this.list[0].areaID;__f__(\"log\", this.areaID, '12345678', \" at pages/mine/repairs.vue:82\");this.lookRepairs();}}, methods: { childMess: function childMess(e) {__f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/repairs.vue:88\");this.areaID = e.areaID;this.lookRepairs();}, //获取保修列表\n lookRepairs: function lookRepairs() {var _this = this;uni.showLoading({ title: '加载中...' });var cur = this.curPage;var areaID = this.areaID;app.request('user/userRepaired?status=' + cur + '&area_id=' + areaID, '', 'GET').then(function (res) {uni.hideLoading();if (res.statusCode == 200) {__f__(\"log\", res, '报修列表', \" at pages/mine/repairs.vue:102\");var list = res.data.data;if (list.length == 0) {_this.repairsList = [];} else {_this.repairsList = res.data.data; // bgColor: '#efefef'\n }}});}, choose: function choose(e) {//已读未读切换\n var idx = e.currentTarget.dataset.idx;\n this.curPage = idx,\n this.lookRepairs();\n // this.goTop();\n },\n //标记为已读\n markRead: function markRead(e) {var _this2 = this; //标记为已读\n var id = e.currentTarget.dataset.id;\n app.request('user/userRepaired/status?id=' + id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n _this2.lookRepairs();\n }\n });\n }\n // back: function() {\n // \tuni.navigateBack({\n // \t\tdelta: 1\n // \t})\n // }\n },\n components: {\n allArea: _allArea.default } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9yZXBhaXJzLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdEQSwwRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBREEsbUIsZUFFQSxFQUNBLElBREEsa0JBQ0EsQ0FDQSx5QkFDQSxnQkFEQSxFQUNBO0FBRUEsZUFIQSxFQUdBO0FBQ0EsaUJBSkEsRUFLQSxVQUxBLEVBS0E7QUFDQSxxQkFOQSxFQU1BO0FBQ0EsYUFQQSxFQVFBLG1DQVJBLEVBUUE7QUFDQSx5Q0FUQSxjQVVBLENBVkEsRUFZQSxDQWRBLEVBZUEsT0FmQSxxQkFlQSxDQUVBLENBakJBLEVBa0JBLE1BbEJBLG9CQWtCQSxDQUNBLG1DQUNBLG1CQUNBLENBRkEsTUFHQSxDQUNBLGtDQUNBLHVFQUNBLG1CQUNBLENBQ0EsQ0EzQkEsRUE0QkEsV0FDQSxrQ0FDQSwrREFDQSx1QkFDQSxtQkFDQSxDQUxBLEVBTUE7QUFDQSwwREFDQSxrQkFDQSxlQURBLElBR0EsdUJBQ0EseUJBQ0Esc0dBQ0Esa0JBQ0EsNEJBQ0EsNERBQ0EseUJBQ0EsdUJBRUEsdUJBR0EsQ0FMQSxNQUtBLENBRUEsa0NBRkEsQ0FHQTtBQUVBLFdBQ0EsQ0FDQSxDQWpCQSxFQWtCQSxDQS9CQSxFQWdDQTtBQUNBO0FBQ0E7QUFDQSx3QkFEQTtBQUVBO0FBQ0EsS0FyQ0E7QUFzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUpBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbkRBLEdBNUJBO0FBaUZBO0FBQ0EsNkJBREEsRUFqRkEsRSIsImZpbGUiOiIzNTUuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXc+XHJcblxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cIm1lbnVzXCIgPiAtLT5cclxuXHJcblx0XHQ8YWxsQXJlYSBAZ2V0Q2hpbGQ9XCJjaGlsZE1lc3NcIj48L2FsbEFyZWE+XHJcblxyXG5cdFx0PCEtLSA8L3ZpZXc+IC0tPlxyXG5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cImZlZWRcIiBzdHlsZT1cIlwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImN1dFwiPlxyXG5cdFx0XHRcdDx0ZXh0IEBjbGljaz1cImNob29zZVwiIDpjbGFzcz1cImN1clBhZ2U9PTA/J2N1cic6JydcIiA6ZGF0YS1pZHg9XCIwXCI+5pyq6K+7PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IEBjbGljaz1cImNob29zZVwiIDpjbGFzcz1cImN1clBhZ2U9PTE/J2N1cic6JydcIiA6ZGF0YS1pZHg9XCIxXCI+5bey6K+7PC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcmVwYWlyc0xpc3RcIiA6a2V5PSdpbmRleCc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJmb250LXNpemU6MjhycHg7XCIgY2xhc3M9XCJ0aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUtbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQ+IHt7aXRlbS50cm91YmxlX3BhcnR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLWxlZnQ6MTVycHg7XCI+KHt7aXRlbS5iaWtlX25vfX0pPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlLXJpZ2h0XCIgdi1pZj1cImN1clBhZ2U9PTBcIiBAY2xpY2s9XCJtYXJrUmVhZChpdGVtLmlkKVwiID7moIfkuLrlt7Lor7s8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJib2R5XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJib2R5LWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cImhlaWdodDo1MHJweDt3aWR0aDoxMTJycHhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL3JlcDQucG5nXCIgdi1pZj1cIml0ZW0udHJvdWJsZV9wYXJ0PT0n5Yi56L2mJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJoZWlnaHQ6OTZycHg7d2lkdGg6OTZycHhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL3JlcDYucG5nXCIgdi1pZj1cIml0ZW0udHJvdWJsZV9wYXJ0PT0n6L2m6IOOJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJoZWlnaHQ6NThycHg7d2lkdGg6MTE2cnB4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9yZXA1LnBuZ1wiIHYtaWY9XCJpdGVtLnRyb3VibGVfcGFydD09J+mTvuadoSdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OjY2cnB4O3dpZHRoOjExNnJweFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVwMS5wbmdcIiB2LWlmPVwiaXRlbS50cm91YmxlX3BhcnQ9PSfovabluqcnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cImhlaWdodDo4MHJweDt3aWR0aDo2MHJweFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVwMi5wbmdcIiB2LWlmPVwiaXRlbS50cm91YmxlX3BhcnQ9PSfkuoznu7TnoIEnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cImhlaWdodDo3MnJweDt3aWR0aDo2NHJweFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVwMy5wbmdcIiB2LWlmPVwiaXRlbS50cm91YmxlX3BhcnQ9PSflhbbku5YnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJib2R5LXJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRlc2NyaWJlXCI+6Zeu6aKY5o+P6L+w77yae3tpdGVtLnRyb3VibGVfZGVzY3JpcHRpb259fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aW1lIGZsZXhCXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQ+5Yib5bu65pe26Ze077yae3tpdGVtLmNyZWF0ZWRfYXR9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dD7miYvmnLrlj7fvvJp7e2l0ZW0udXNlcnMubW9iaWxlfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJub0RhdGFcIiB2LWlmPVwicmVwYWlyc0xpc3QubGVuZ3RoID09IDBcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vbm9uZS5wbmdcIiA+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDx2aWV3PuaaguaXoOebuOWFs+aVsOaNrn48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpXHJcblx0aW1wb3J0IGFsbEFyZWEgZnJvbSAnLi4vLi4vY29tcG9uZW50L2FsbEFyZWEvYWxsQXJlYS52dWUnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzY3JlZW5IZWlnaHQ6ICcnLCAvL+Wxj+W5leWPr+inhumrmOW6plxyXG5cdFx0XHRcclxuXHRcdFx0XHR2YWx1ZTE6IDAsIC8v56ys5LiA5Liq5pi+56S65LuA5LmIXHJcblx0XHRcdFx0b3B0aW9uMTogW10sXHJcblx0XHRcdFx0Y3VyUGFnZTogMCwgLy90YWLliIfmjaIg44CQMSDlt7Lor7sgIDDmnKror7vjgJFcclxuXHRcdFx0XHRyZXBhaXJzTGlzdDogW10sIC8v55So5oi35Y+N6aaI5YiX6KGoXHJcblx0XHRcdFx0cGFnZTogMSxcclxuXHRcdFx0XHRhcmVhSUQ6IHVuaS5nZXRTdG9yYWdlU3luYygnY3VySWQnKSwgLy/ljLrln59pZFxyXG5cdFx0XHRcdGxpc3Q6IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpLCAvL+mqkeihjOWMuuWfn+mAieaLqeWIl+ihqFxyXG5cdFx0XHRcdHZhbHVlMTogMCwgLy/pqpHooYzljLrkuI7nrKzkuIDkuKrmmL7npLrku4DkuYhcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNyZWF0ZWQoKSB7XHJcblx0XHRcdFxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKSl7XHJcblx0XHRcdFx0dGhpcy5sb29rUmVwYWlycygpXHJcblx0XHRcdH1cclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5hcmVhSUQ9dGhpcy5saXN0WzBdLmFyZWFJRDtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLmFyZWFJRCwnMTIzNDU2NzgnKVxyXG5cdFx0XHRcdHRoaXMubG9va1JlcGFpcnMoKVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRjaGlsZE1lc3M6ZnVuY3Rpb24oZSl7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSwn6L+Z5piv5a2Q57uE5Lu256m/6L+H5p2l55qE5YC8JylcclxuXHRcdFx0XHR0aGlzLmFyZWFJRD1lLmFyZWFJRFxyXG5cdFx0XHRcdHRoaXMubG9va1JlcGFpcnMoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluS/neS/ruWIl+ihqFxyXG5cdFx0XHRsb29rUmVwYWlyczpmdW5jdGlvbigpe1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0ICAgICAgdGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdCAgICB9KVxyXG5cdFx0XHRcdCAgICBsZXQgY3VyID0gdGhpcy5jdXJQYWdlO1xyXG5cdFx0XHRcdCAgICBsZXQgYXJlYUlEID0gdGhpcy5hcmVhSUQ7XHJcblx0XHRcdFx0ICAgIGFwcC5yZXF1ZXN0KCd1c2VyL3VzZXJSZXBhaXJlZD9zdGF0dXM9JyArIGN1ciArICcmYXJlYV9pZD0nICsgYXJlYUlELCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHQgICAgIHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdCAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHQgICAgICAgIGNvbnNvbGUubG9nKHJlcywgJ+aKpeS/ruWIl+ihqCcpXHJcblx0XHRcdFx0ICAgICAgICBsZXQgbGlzdCA9IHJlcy5kYXRhLmRhdGE7XHJcblx0XHRcdFx0ICAgICAgICBpZiAobGlzdC5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRcdCAgICAgICAgIFxyXG5cdFx0XHRcdCAgICAgICAgICAgIHRoaXMucmVwYWlyc0xpc3Q9W11cclxuXHRcdFx0XHQgICAgICAgICAgICBcclxuXHRcdFx0XHQgICAgICAgIFxyXG5cdFx0XHRcdCAgICAgICAgfSBlbHNlIHtcclxuXHRcdFx0XHQgICAgICAgXHJcblx0XHRcdFx0ICAgICAgICAgICAgdGhpcy5yZXBhaXJzTGlzdD0gcmVzLmRhdGEuZGF0YVxyXG5cdFx0XHRcdCAgICAgICAgICAgIC8vIGJnQ29sb3I6ICcjZWZlZmVmJ1xyXG5cdFx0XHRcdCAgICAgICAgIFxyXG5cdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdCAgICAgIH1cclxuXHRcdFx0XHQgICAgfSlcclxuXHRcdFx0fSxcclxuXHRcdFx0ICBjaG9vc2U6ZnVuY3Rpb24oZSkgeyAvL+W3suivu+acquivu+WIh+aNolxyXG5cdFx0XHQgICAgbGV0IGlkeCA9IGUuY3VycmVudFRhcmdldC5kYXRhc2V0LmlkeDtcclxuXHRcdFx0ICAgICAgdGhpcy5jdXJQYWdlPWlkeCxcclxuXHRcdFx0ICAgIHRoaXMubG9va1JlcGFpcnMoKTtcclxuXHRcdFx0ICAgIC8vIHRoaXMuZ29Ub3AoKTtcclxuXHRcdFx0ICB9LFxyXG5cdFx0XHQgIC8v5qCH6K6w5Li65bey6K+7XHJcblx0XHRcdCAgIG1hcmtSZWFkOmZ1bmN0aW9uKGUpIHsgLy/moIforrDkuLrlt7Lor7tcclxuXHRcdFx0ICAgICAgbGV0IGlkID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWRcclxuXHRcdFx0ICAgICAgYXBwLnJlcXVlc3QoJ3VzZXIvdXNlclJlcGFpcmVkL3N0YXR1cz9pZD0nICsgaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHQgICAgICAgIGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0ICAgICAgICAgIHRoaXMubG9va1JlcGFpcnMoKTtcclxuXHRcdFx0ICAgICAgICB9XHJcblx0XHRcdCAgICAgIH0pXHJcblx0XHRcdCAgICB9LFxyXG5cdFx0XHQvLyBiYWNrOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0Ly8gXHR1bmkubmF2aWdhdGVCYWNrKHtcclxuXHRcdFx0Ly8gXHRcdGRlbHRhOiAxXHJcblx0XHRcdC8vIFx0fSlcclxuXHRcdFx0Ly8gfVxyXG5cdFx0fSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0YWxsQXJlYVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0QGltcG9ydCB1cmwoXCIvc3RhdGljL2Nzcy9iYXNlLmNzc1wiKTtcclxuXHJcblx0LyogcGFnZXMvZmVlZGJhY2svZmVlZGJhY2sud3hzcyAqL1xyXG5cdC5pY29uZm9udCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0d2lkdGg6IDUwcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMTRycHggMDtcclxuXHR9XHJcblxyXG5cdC50aXRsZSB7XHJcblx0XHRoZWlnaHQ6IDUwcnB4O1xyXG4vKiBcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwN0FGRjsgKi9cclxuXHJcblx0fVxyXG5cclxuXHQudGl0bGUtcmlnaHQge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0Y29sb3I6IHJlZDtcclxuXHR9XHJcblxyXG5cdC50aXRsZS1sZWZ0LFxyXG5cdC50aXRsZS1yaWdodCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cclxuXHQuYm9keS1sZWZ0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAyMCU7XHJcblxyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmJvZHktcmlnaHQge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6IDcwJTtcclxuXHRcdHBhZGRpbmctbGVmdDogMzBycHg7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdH1cclxuXHJcblx0LmJvZHkgLnJpZ2h0IC5kZXNjcmliZSB7XHJcblx0XHRsaW5lLWhlaWdodDogMS44O1xyXG5cdH1cclxuXHJcblx0LmJvZHksXHJcblx0LnRpdGxlLFxyXG5cdC50aW1lIHtcclxuXHRcdHBhZGRpbmc6IDE1cnB4IDIwcnB4O1xyXG5cclxuXHR9XHJcblxyXG5cclxuXHQudGltZSB7XHJcblx0XHRjb2xvcjogIzk5OTtcclxuXHRcdC8qIHBhZGRpbmc6IDAgMjBycHg7ICovXHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXJweCBzb2xpZCAjZWZlZmVmO1xyXG5cdH1cclxuXHJcblx0LnN0YXR1c19iYXIge1xyXG5cdFx0aGVpZ2h0OiB2YXIoLS1zdGF0dXMtYmFyLWhlaWdodCk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcblx0fVxyXG5cclxuXHQubWVudXMtYmcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQubWVudXMge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR6LWluZGV4OiAxMDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHR6LWluZGV4OiA5OTk5OTtcclxuXHR9XHJcblxyXG5cdC5tZW51IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0bGVmdDogNzBycHg7XHJcblx0XHR0b3A6IDBycHg7XHJcblx0XHR6LWluZGV4OiA4ODg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiAxMjlycHggIWltcG9ydGFudDtcclxuXHRcdHBhZGRpbmctdG9wOiAxOHJweDtcclxuXHRcdHotaW5kZXg6IDk5OTk5O1xyXG5cdH1cclxuXHJcblx0Lm1lbnUxIC52YW4tZHJvcGRvd24tbWVudSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGxlZnQ6IDcwcnB4O1xyXG5cdFx0dG9wOiAwcnB4O1xyXG5cdFx0ei1pbmRleDogODg4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGhlaWdodDogMTAwcnB4ICFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nLXRvcDogNzVycHg7XHJcblx0XHR6LWluZGV4OiA5OTk5OTtcclxuXHR9XHJcblxyXG5cdC52YW4tZHJvcGRvd24tbWVudV9faXRlbSB7XHJcblx0XHRmbGV4OiAwLjI1ICFpbXBvcnRhbnQ7XHJcblx0XHR6LWluZGV4OiA5OTk5OTtcclxuXHR9XHJcblxyXG5cdC5tZW51cyB0ZXh0IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMzVycHg7XHJcblx0fVxyXG5cclxuXHQuZmVlZCB7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmYwMDAwMjI7XHJcblx0XHRtYXJnaW4tdG9wOiAxMDBycHg7XHJcblx0fVxyXG5cclxuXHQuZmVlZCxcclxuXHQuY3V0IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBycHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMzBycHggMDtcclxuXHRcdHotaW5kZXg6IDk5OTtcclxuXHJcblx0fVxyXG5cclxuXHQucXVlc3Q+dmlldyB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHR9XHJcblxyXG5cdC5xdWVzdCAudXNlciB7XHJcblx0XHRtYXJnaW4tdG9wOiAxNXJweDtcclxuXHR9XHJcblxyXG5cdC5ib3gge1xyXG5cclxuXHRcdGhlaWdodDogODAlO1xyXG5cdFx0bWFyZ2luOiAxMzBycHggMCA0MHJweCAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQudGltZSB7XHJcblx0XHRwYWRkaW5nOiAyMHJweCAyMHJweDtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDA7XHJcblx0XHRib3JkZXItdG9wOiAxcnB4IHNvbGlkICNlZmVmZWY7XHJcblx0XHR3aWR0aDogOTIlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cclxuXHQubGlzdCB7XHJcblx0XHQvKiAgYmFja2dyb3VuZDogI2ZmZjsgKi9cclxuXHRcdG1hcmdpbi10b3A6IDcwcnB4O1xyXG5cdFx0d2lkdGg6IDkyJTtcclxuXHRcdG1hcmdpbjogMTVycHggYXV0byAwO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2Q4ZDhkODtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDZycHggMCByZ2JhKDIxNiwgMjE2LCAyMTYsIDEpO1xyXG5cdH1cclxuXHJcblx0Lmxpc3QgLmluZm8ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHBhZGRpbmc6IDE1cnB4IDA7XHJcblx0fVxyXG5cclxuXHQubGlzdCAucXVlc3Qge1xyXG5cdFx0d2lkdGg6IDcwJTtcclxuXHR9XHJcblxyXG5cdC5saXN0IHRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHR9XHJcblxyXG5cdC5saXN0IC5yZWFkIHtcclxuXHRcdG1hcmdpbi10b3A6IDE1cnB4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3QgLnJlYWQgdmlldyB7XHJcblx0XHRjb2xvcjogI0ZFNUMyODtcclxuXHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0fVxyXG5cclxuXHQubGlzdCBpbWFnZSB7XHJcblx0XHR3aWR0aDogODBycHg7XHJcblx0XHRoZWlnaHQ6IDgwcnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbjogNXJweCAxNXJweCAwIDIwcnB4O1xyXG5cdH1cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///355\n");
  33106. /***/ }),
  33107. /* 356 */
  33108. /*!************************************************************************!*\
  33109. !*** C:/Users/001/Desktop/运维端/pages/index/bike_detail.vue?mpType=page ***!
  33110. \************************************************************************/
  33111. =======
  33112. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _allArea = _interopRequireDefault(__webpack_require__(/*! ../../component/allArea/allArea.vue */ 20));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}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;} //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var _default = { data: function data() {return _defineProperty({ screenHeight: '', //屏幕可视高度\n value1: 0, //第一个显示什么\n option1: [], curPage: 0, //tab切换 【1 已读 0未读】\n repairsList: [], //用户反馈列表\n page: 1, areaID: uni.getStorageSync('curId'), //区域id\n list: uni.getStorageSync('allArea') }, \"value1\", 0);}, created: function created() {}, onLoad: function onLoad() {if (uni.getStorageSync('curVal')) {this.lookRepairs();} else {this.areaID = this.list[0].areaID;__f__(\"log\", this.areaID, '12345678', \" at pages/mine/repairs.vue:82\");this.lookRepairs();}}, methods: { childMess: function childMess(e) {__f__(\"log\", e, '这是子组件穿过来的值', \" at pages/mine/repairs.vue:88\");this.areaID = e.areaID;this.lookRepairs();}, //获取保修列表\n lookRepairs: function lookRepairs() {var _this = this;uni.showLoading({ title: '加载中...' });var cur = this.curPage;var areaID = this.areaID;app.request('user/userRepaired?status=' + cur + '&area_id=' + areaID, '', 'GET').then(function (res) {uni.hideLoading();if (res.statusCode == 200) {__f__(\"log\", res, '报修列表', \" at pages/mine/repairs.vue:102\");var list = res.data.data;if (list.length == 0) {_this.repairsList = [];} else {_this.repairsList = res.data.data; // bgColor: '#efefef'\n }}});}, choose: function choose(e) {//已读未读切换\n var idx = e.currentTarget.dataset.idx;\n this.curPage = idx,\n this.lookRepairs();\n // this.goTop();\n },\n //标记为已读\n markRead: function markRead(e) {var _this2 = this; //标记为已读\n var id = e.currentTarget.dataset.id;\n app.request('user/userRepaired/status?id=' + id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n _this2.lookRepairs();\n }\n });\n }\n // back: function() {\n // \tuni.navigateBack({\n // \t\tdelta: 1\n // \t})\n // }\n },\n components: {\n allArea: _allArea.default } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9yZXBhaXJzLnZ1ZSJdLCJuYW1lcyI6WyJhcHAiLCJnZXRBcHAiLCJkYXRhIiwic2NyZWVuSGVpZ2h0IiwidmFsdWUxIiwib3B0aW9uMSIsImN1clBhZ2UiLCJyZXBhaXJzTGlzdCIsInBhZ2UiLCJhcmVhSUQiLCJ1bmkiLCJnZXRTdG9yYWdlU3luYyIsImxpc3QiLCJjcmVhdGVkIiwib25Mb2FkIiwibG9va1JlcGFpcnMiLCJtZXRob2RzIiwiY2hpbGRNZXNzIiwiZSIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJjdXIiLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsImhpZGVMb2FkaW5nIiwic3RhdHVzQ29kZSIsImxlbmd0aCIsImNob29zZSIsImlkeCIsImN1cnJlbnRUYXJnZXQiLCJkYXRhc2V0IiwibWFya1JlYWQiLCJpZCIsImNvbXBvbmVudHMiLCJhbGxBcmVhIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdEQSwwRyx3U0F4REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUEsSUFBSUEsR0FBRyxHQUFHQyxNQUFNLEVBQWhCLEMsZUFFZSxFQUNkQyxJQURjLGtCQUNQLENBQ04seUJBQ0NDLFlBQVksRUFBRSxFQURmLEVBQ21CO0FBRWxCQyxZQUFNLEVBQUUsQ0FIVCxFQUdZO0FBQ1hDLGFBQU8s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LCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBhcHAgPSBnZXRBcHAoKVxuaW1wb3J0IGFsbEFyZWEgZnJvbSAnLi4vLi4vY29tcG9uZW50L2FsbEFyZWEvYWxsQXJlYS52dWUnXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHNjcmVlbkhlaWdodDogJycsIC8v5bGP5bmV5Y+v6KeG6auY5bqmXG5cdFx0XG5cdFx0XHR2YWx1ZTE6IDAsIC8v56ys5LiA5Liq5pi+56S65LuA5LmIXG5cdFx0XHRvcHRpb24xOiBbXSxcblx0XHRcdGN1clBhZ2U6IDAsIC8vdGFi5YiH5o2iIOOAkDEg5bey6K+7ICAw5pyq6K+744CRXG5cdFx0XHRyZXBhaXJzTGlzdDogW10sIC8v55So5oi35Y+N6aaI5YiX6KGoXG5cdFx0XHRwYWdlOiAxLFxuXHRcdFx0YXJlYUlEOiB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJyksIC8v5Yy65Z+faWRcblx0XHRcdGxpc3Q6IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpLCAvL+mqkeihjOWMuuWfn+mAieaLqeWIl+ihqFxuXHRcdFx0dmFsdWUxOiAwLCAvL+mqkeihjOWMuuS4juesrOS4gOS4quaYvuekuuS7gOS5iFxuXHRcdH1cblx0fSxcblx0Y3JlYXRlZCgpIHtcblx0XHRcblx0fSxcblx0b25Mb2FkKCkge1xuXHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJykpe1xuXHRcdFx0dGhpcy5sb29rUmVwYWlycygpXG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0dGhpcy5hcmVhSUQ9dGhpcy5saXN0WzBdLmFyZWFJRDtcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYUlELCcxMjM0NTY3OCcpXG5cdFx0XHR0aGlzLmxvb2tSZXBhaXJzKClcblx0XHR9XG5cdH0sXG5cdG1ldGhvZHM6IHtcblx0XHRjaGlsZE1lc3M6ZnVuY3Rpb24oZSl7XG5cdFx0XHRjb25zb2xlLmxvZyhlLCfov5nmmK/lrZDnu4Tku7bnqb/ov4fmnaXnmoTlgLwnKVxuXHRcdFx0dGhpcy5hcmVhSUQ9ZS5hcmVhSURcblx0XHRcdHRoaXMubG9va1JlcGFpcnMoKVxuXHRcdH0sXG5cdFx0Ly/ojrflj5bkv53kv67liJfooahcblx0XHRsb29rUmVwYWlyczpmdW5jdGlvbigpe1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdCAgICAgIHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdCAgICB9KVxuXHRcdFx0ICAgIGxldCBjdXIgPSB0aGlzLmN1clBhZ2U7XG5cdFx0XHQgICAgbGV0IGFyZWFJRCA9IHRoaXMuYXJlYUlEO1xuXHRcdFx0ICAgIGFwcC5yZXF1ZXN0KCd1c2VyL3VzZXJSZXBhaXJlZD9zdGF0dXM9JyArIGN1ciArICcmYXJlYV9pZD0nICsgYXJlYUlELCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdCAgICAgdW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHQgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHQgICAgICAgIGNvbnNvbGUubG9nKHJlcywgJ+aKpeS/ruWIl+ihqCcpXG5cdFx0XHQgICAgICAgIGxldCBsaXN0ID0gcmVzLmRhdGEuZGF0YTtcblx0XHRcdCAgICAgICAgaWYgKGxpc3QubGVuZ3RoID09IDApIHtcblx0XHRcdCAgICAgICAgIFxuXHRcdFx0ICAgICAgICAgICAgdGhpcy5yZXBhaXJzTGlzdD1bXVxuXHRcdFx0ICAgICAgICAgICAgXG5cdFx0XHQgICAgICAgIFxuXHRcdFx0ICAgICAgICB9IGVsc2Uge1xuXHRcdFx0ICAgICAgIFxuXHRcdFx0ICAgICAgICAgICAgdGhpcy5yZXBhaXJzTGlzdD0gcmVzLmRhdGEuZGF0YVxuXHRcdFx0ICAgICAgICAgICAgLy8gYmdDb2xvcjogJyNlZmVmZWYnXG5cdFx0XHQgICAgICAgICBcblx0XHRcdCAgICAgICAgfVxuXHRcdFx0ICAgICAgfVxuXHRcdFx0ICAgIH0pXG5cdFx0fSxcblx0XHQgIGNob29zZTpmdW5jdGlvbihlKSB7IC8v5bey6K+75pyq6K+75YiH5o2iXG5cdFx0ICAgIGxldCBpZHggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pZHg7XG5cdFx0ICAgICAgdGhpcy5jdXJQYWdlPWlkeCxcblx0XHQgICAgdGhpcy5sb29rUmVwYWlycygpO1xuXHRcdCAgICAvLyB0aGlzLmdvVG9wKCk7XG5cdFx0ICB9LFxuXHRcdCAgLy/moIforrDkuLrlt7Lor7tcblx0XHQgICBtYXJrUmVhZDpmdW5jdGlvbihlKSB7IC8v5qCH6K6w5Li65bey6K+7XG5cdFx0ICAgICAgbGV0IGlkID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWRcblx0XHQgICAgICBhcHAucmVxdWVzdCgndXNlci91c2VyUmVwYWlyZWQvc3RhdHVzP2lkPScgKyBpZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0ICAgICAgICBpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0ICAgICAgICAgIHRoaXMubG9va1JlcGFpcnMoKTtcblx0XHQgICAgICAgIH1cblx0XHQgICAgICB9KVxuXHRcdCAgICB9LFxuXHRcdC8vIGJhY2s6IGZ1bmN0aW9uKCkge1xuXHRcdC8vIFx0dW5pLm5hdmlnYXRlQmFjayh7XG5cdFx0Ly8gXHRcdGRlbHRhOiAxXG5cdFx0Ly8gXHR9KVxuXHRcdC8vIH1cblx0fSxcblx0Y29tcG9uZW50czoge1xuXHRcdGFsbEFyZWFcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///189\n");
  33113. /***/ }),
  33114. /* 190 */
  33115. /*!*************************************************************************************!*\
  33116. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bike_detail.vue?mpType=page ***!
  33117. \*************************************************************************************/
  33118. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  33119. /*! no static exports found */
  33120. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  33121. "use strict";
  33122. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./bike_detail.vue?vue&type=template&id=3326a059&mpType=page */ 357);\n/* harmony import */ var _bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./bike_detail.vue?vue&type=script&lang=js&mpType=page */ 365);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/bike_detail.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBbUk7QUFDbkk7QUFDMEU7QUFDTDs7O0FBR3JFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDRGQUFNO0FBQ1IsRUFBRSxpR0FBTTtBQUNSLEVBQUUsMEdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUscUdBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzU2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9iaWtlX2RldGFpbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MzMyNmEwNTkmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2Jpa2VfZGV0YWlsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9iaWtlX2RldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbmRleC9iaWtlX2RldGFpbC52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///356\n");
  33123. /***/ }),
  33124. <<<<<<< HEAD
  33125. /* 357 */
  33126. /*!******************************************************************************************************!*\
  33127. !*** C:/Users/001/Desktop/运维端/pages/index/bike_detail.vue?vue&type=template&id=3326a059&mpType=page ***!
  33128. \******************************************************************************************************/
  33129. =======
  33130. /* 191 */
  33131. /*!*******************************************************************************************************************!*\
  33132. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bike_detail.vue?vue&type=template&id=3326a059&mpType=page ***!
  33133. \*******************************************************************************************************************/
  33134. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  33135. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  33136. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  33137. "use strict";
  33138. __webpack_require__.r(__webpack_exports__);
  33139. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./bike_detail.vue?vue&type=template&id=3326a059&mpType=page */ 358);
  33140. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  33141. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  33142. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  33143. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_template_id_3326a059_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  33144. /***/ }),
  33145. <<<<<<< HEAD
  33146. /* 358 */
  33147. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  33148. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/bike_detail.vue?vue&type=template&id=3326a059&mpType=page ***!
  33149. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  33150. =======
  33151. /* 192 */
  33152. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  33153. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bike_detail.vue?vue&type=template&id=3326a059&mpType=page ***!
  33154. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  33155. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  33156. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  33157. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  33158. "use strict";
  33159. __webpack_require__.r(__webpack_exports__);
  33160. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  33161. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  33162. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  33163. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  33164. var components
  33165. var render = function() {
  33166. var _vm = this
  33167. var _h = _vm.$createElement
  33168. var _c = _vm._self._c || _h
  33169. return _c(
  33170. "view",
  33171. { staticClass: _vm._$s(0, "sc", "page"), attrs: { _i: 0 } },
  33172. [
  33173. _c("view", { staticClass: _vm._$s(1, "sc", "side"), attrs: { _i: 1 } }, [
  33174. _c(
  33175. "view",
  33176. { staticClass: _vm._$s(2, "sc", "bikeNo flexA"), attrs: { _i: 2 } },
  33177. [
  33178. _c("input", {
  33179. directives: [
  33180. {
  33181. name: "model",
  33182. rawName: "v-model",
  33183. value: _vm.bike_no,
  33184. expression: "bike_no"
  33185. }
  33186. ],
  33187. attrs: { _i: 3 },
  33188. domProps: { value: _vm._$s(3, "v-model", _vm.bike_no) },
  33189. on: {
  33190. input: [
  33191. function($event) {
  33192. if ($event.target.composing) {
  33193. return
  33194. }
  33195. _vm.bike_no = $event.target.value
  33196. },
  33197. _vm.bindKeyInput
  33198. ],
  33199. blur: _vm.bindKeyInput
  33200. }
  33201. }),
  33202. _c("text", {
  33203. staticClass: _vm._$s(4, "sc", "find"),
  33204. attrs: { _i: 4 },
  33205. on: {
  33206. click: function($event) {
  33207. return _vm.getBike_info(_vm.bike_no)
  33208. }
  33209. }
  33210. }),
  33211. _c("text", {
  33212. staticClass: _vm._$s(5, "sc", "saomiao"),
  33213. attrs: { _i: 5 },
  33214. on: { click: _vm.scanCode }
  33215. })
  33216. ]
  33217. ),
  33218. _c(
  33219. "view",
  33220. { staticClass: _vm._$s(6, "sc", "info"), attrs: { _i: 6 } },
  33221. [
  33222. _c(
  33223. "view",
  33224. { staticClass: _vm._$s(7, "sc", "infoCon"), attrs: { _i: 7 } },
  33225. [
  33226. _c("image", {
  33227. attrs: {
  33228. src: _vm._$s(
  33229. 8,
  33230. "a-src",
  33231. __webpack_require__(/*! ../../static/img/detail67.png */ 359)
  33232. ),
  33233. _i: 8
  33234. }
  33235. }),
  33236. _c(
  33237. "view",
  33238. {
  33239. staticClass: _vm._$s(9, "sc", "infoLeft"),
  33240. attrs: { _i: 9 }
  33241. },
  33242. [
  33243. _c("view"),
  33244. _vm._$s(11, "i", _vm.bikeDetail.bike_info)
  33245. ? _c("view", [
  33246. _vm._v(
  33247. _vm._$s(
  33248. 11,
  33249. "t0-0",
  33250. _vm._s(_vm.bikeDetail.bike_info.bike_no)
  33251. )
  33252. )
  33253. ])
  33254. : _vm._e(),
  33255. _vm._$s(12, "i", _vm.bikeDetail.bike_info)
  33256. ? _c("view", [
  33257. _c("text", [
  33258. _vm._v(
  33259. _vm._$s(
  33260. 13,
  33261. "t0-0",
  33262. _vm._s(_vm.bikeDetail.bike_info.battery_power)
  33263. )
  33264. )
  33265. ])
  33266. ])
  33267. : _vm._e(),
  33268. _vm._$s(14, "i", _vm.bikeDetail.bike_info)
  33269. ? _c("view", [
  33270. _c("text", [
  33271. _vm._v(
  33272. _vm._$s(
  33273. 15,
  33274. "t0-0",
  33275. _vm._s(_vm.bikeDetail.bike_info.tab_name)
  33276. )
  33277. )
  33278. ])
  33279. ])
  33280. : _vm._e()
  33281. ]
  33282. ),
  33283. _c(
  33284. "view",
  33285. {
  33286. staticClass: _vm._$s(16, "sc", "infoRight"),
  33287. attrs: { _i: 16 }
  33288. },
  33289. [
  33290. _c("image", {
  33291. attrs: {
  33292. src: _vm._$s(
  33293. 17,
  33294. "a-src",
  33295. __webpack_require__(/*! ../../static/img/shuaxin.png */ 360)
  33296. ),
  33297. _i: 17
  33298. },
  33299. on: { click: _vm.refresh_power }
  33300. })
  33301. ]
  33302. )
  33303. ]
  33304. )
  33305. ]
  33306. ),
  33307. _c(
  33308. "view",
  33309. {
  33310. staticClass: _vm._$s(18, "sc", "position flexB"),
  33311. attrs: { _i: 18 },
  33312. on: { click: _vm.bikePosition }
  33313. },
  33314. [
  33315. _c("view", [
  33316. _c("image", {
  33317. staticClass: _vm._$s(20, "sc", "weizhi"),
  33318. attrs: {
  33319. src: _vm._$s(
  33320. 20,
  33321. "a-src",
  33322. __webpack_require__(/*! ../../static/img/detail2.png */ 361)
  33323. ),
  33324. _i: 20
  33325. }
  33326. }),
  33327. _c("view", {
  33328. staticClass: _vm._$s(21, "sc", "weizhi1"),
  33329. attrs: { _i: 21 }
  33330. })
  33331. ]),
  33332. _c("view", [
  33333. _vm._$s(23, "i", _vm.bikeDetail.bike_info)
  33334. ? _c("text", [
  33335. _vm._v(
  33336. _vm._$s(
  33337. 23,
  33338. "t0-0",
  33339. _vm._s(_vm.bikeDetail.bike_info.last_time)
  33340. )
  33341. )
  33342. ])
  33343. : _vm._e(),
  33344. _c("image", {
  33345. staticClass: _vm._$s(24, "sc", "image"),
  33346. attrs: {
  33347. src: _vm._$s(
  33348. 24,
  33349. "a-src",
  33350. __webpack_require__(/*! ../../static/img/right-arrow.png */ 249)
  33351. ),
  33352. _i: 24
  33353. }
  33354. })
  33355. ])
  33356. ]
  33357. ),
  33358. _c(
  33359. "view",
  33360. { staticClass: _vm._$s(25, "sc", "middle-nav"), attrs: { _i: 25 } },
  33361. [
  33362. _c(
  33363. "view",
  33364. {
  33365. staticClass: _vm._$s(26, "sc", "nav-child"),
  33366. attrs: { _i: 26 },
  33367. on: { click: _vm.modify }
  33368. },
  33369. [
  33370. _c("image", {
  33371. attrs: {
  33372. src: _vm._$s(
  33373. 27,
  33374. "a-src",
  33375. __webpack_require__(/*! ../../static/img/detail3.png */ 362)
  33376. ),
  33377. _i: 27
  33378. }
  33379. }),
  33380. _c("view")
  33381. ]
  33382. ),
  33383. _c(
  33384. "view",
  33385. {
  33386. staticClass: _vm._$s(29, "sc", "nav-child"),
  33387. attrs: { _i: 29 },
  33388. on: { click: _vm.reqair }
  33389. },
  33390. [
  33391. _c("image", {
  33392. attrs: {
  33393. src: _vm._$s(
  33394. 30,
  33395. "a-src",
  33396. __webpack_require__(/*! ../../static/img/detail4.png */ 363)
  33397. ),
  33398. _i: 30
  33399. }
  33400. }),
  33401. _c("view")
  33402. ]
  33403. ),
  33404. _c(
  33405. "view",
  33406. {
  33407. staticClass: _vm._$s(32, "sc", "nav-child"),
  33408. attrs: { _i: 32 },
  33409. on: { click: _vm.bike_detail }
  33410. },
  33411. [
  33412. _c("image", {
  33413. attrs: {
  33414. src: _vm._$s(
  33415. 33,
  33416. "a-src",
  33417. __webpack_require__(/*! ../../static/img/detail5.png */ 364)
  33418. ),
  33419. _i: 33
  33420. }
  33421. }),
  33422. _c("view")
  33423. ]
  33424. )
  33425. ]
  33426. ),
  33427. _c(
  33428. "view",
  33429. {
  33430. staticClass: _vm._$s(35, "sc", "order "),
  33431. attrs: { _i: 35 },
  33432. on: { click: _vm.recentOrder }
  33433. },
  33434. [
  33435. _c(
  33436. "view",
  33437. {
  33438. staticClass: _vm._$s(36, "sc", "flexB recent"),
  33439. attrs: { _i: 36 }
  33440. },
  33441. [_c("view")]
  33442. ),
  33443. _vm._$s(38, "i", _vm.bikeDetail.bike_order != "")
  33444. ? _c(
  33445. "view",
  33446. { staticClass: _vm._$s(38, "sc", "flex"), attrs: { _i: 38 } },
  33447. [
  33448. _c("view", [
  33449. _vm._v(
  33450. _vm._$s(
  33451. 39,
  33452. "t0-0",
  33453. _vm._s(_vm.bikeDetail.bike_order[0].mobile)
  33454. )
  33455. )
  33456. ]),
  33457. _c("view", [
  33458. _vm._v(
  33459. _vm._$s(
  33460. 40,
  33461. "t0-0",
  33462. _vm._s(_vm.bikeDetail.bike_order[0].username)
  33463. )
  33464. )
  33465. ])
  33466. ]
  33467. )
  33468. : _vm._e(),
  33469. _vm._$s(41, "i", _vm.bikeDetail.bike_order == "")
  33470. ? _c("view")
  33471. : _vm._e(),
  33472. _vm._$s(42, "i", _vm.bikeDetail.bike_order != "")
  33473. ? _c("view", [
  33474. _c(
  33475. "view",
  33476. {
  33477. staticClass: _vm._$s(43, "sc", "middle-state"),
  33478. attrs: { _i: 43 }
  33479. },
  33480. [
  33481. _vm._v(
  33482. _vm._$s(
  33483. 43,
  33484. "t0-0",
  33485. _vm._s(_vm.bikeDetail.bike_order[0].order_status)
  33486. )
  33487. )
  33488. ]
  33489. ),
  33490. _c(
  33491. "view",
  33492. {
  33493. staticClass: _vm._$s(44, "sc", "middle-time"),
  33494. attrs: { _i: 44 }
  33495. },
  33496. [
  33497. _vm._v(
  33498. _vm._$s(
  33499. 44,
  33500. "t0-0",
  33501. _vm._s(
  33502. _vm.bikeDetail.bike_order[0].start_use_bike_time_app
  33503. )
  33504. ) +
  33505. _vm._$s(
  33506. 44,
  33507. "t0-1",
  33508. _vm._s(
  33509. _vm.bikeDetail.bike_order[0].end_use_bike_time_app
  33510. )
  33511. )
  33512. )
  33513. ]
  33514. )
  33515. ])
  33516. : _vm._e()
  33517. ]
  33518. ),
  33519. _c(
  33520. "view",
  33521. { staticClass: _vm._$s(45, "sc", "directive"), attrs: { _i: 45 } },
  33522. [
  33523. _c(
  33524. "view",
  33525. { staticClass: _vm._$s(46, "sc", "dire"), attrs: { _i: 46 } },
  33526. [
  33527. _c("text"),
  33528. _vm._$s(48, "i", _vm.checked == true)
  33529. ? _c("switch", {
  33530. attrs: { _i: 48 },
  33531. on: { change: _vm.switchChange }
  33532. })
  33533. : _vm._e(),
  33534. _vm._$s(49, "i", _vm.checked == false)
  33535. ? _c("switch", {
  33536. attrs: { _i: 49 },
  33537. on: { change: _vm.switchChange }
  33538. })
  33539. : _vm._e(),
  33540. _vm._$s(50, "i", _vm.bikeDetail.bike_info)
  33541. ? _c(
  33542. "view",
  33543. {
  33544. staticClass: _vm._$s(50, "sc", "flexA list"),
  33545. attrs: { _i: 50 }
  33546. },
  33547. [
  33548. _c(
  33549. "view",
  33550. { attrs: { _i: 51 }, on: { click: _vm.whistle } },
  33551. [_c("image", { attrs: { _i: 52 } }), _c("text")]
  33552. ),
  33553. _c(
  33554. "view",
  33555. { attrs: { _i: 54 }, on: { click: _vm.unlock } },
  33556. [_c("image", { attrs: { _i: 55 } }), _c("text")]
  33557. ),
  33558. _c(
  33559. "view",
  33560. { attrs: { _i: 57 }, on: { click: _vm.close_lock } },
  33561. [_c("image", { attrs: { _i: 58 } }), _c("text")]
  33562. ),
  33563. _c(
  33564. "view",
  33565. {
  33566. attrs: { _i: 60 },
  33567. on: { click: _vm.battery_load }
  33568. },
  33569. [_c("image", { attrs: { _i: 61 } }), _c("text")]
  33570. ),
  33571. _c(
  33572. "view",
  33573. {
  33574. attrs: { _i: 63 },
  33575. on: { click: _vm.renewalPower }
  33576. },
  33577. [_c("image", { attrs: { _i: 64 } }), _c("text")]
  33578. ),
  33579. _c(
  33580. "view",
  33581. { attrs: { _i: 66 }, on: { click: _vm.more } },
  33582. [_c("image", { attrs: { _i: 67 } }), _c("text")]
  33583. )
  33584. ]
  33585. )
  33586. : _vm._e()
  33587. ]
  33588. )
  33589. ]
  33590. ),
  33591. _c(
  33592. "view",
  33593. { staticClass: _vm._$s(69, "sc", "workBtn"), attrs: { _i: 69 } },
  33594. [
  33595. _c(
  33596. "view",
  33597. {
  33598. staticClass: _vm._$s(70, "sc", "shelters"),
  33599. class: _vm._$s(70, "c", _vm.typeName == 1 ? "changeWork" : ""),
  33600. attrs: { _i: 70 },
  33601. on: {
  33602. click: function($event) {
  33603. return _vm.showPop(1)
  33604. }
  33605. }
  33606. },
  33607. [
  33608. _c("text"),
  33609. _vm._$s(72, "i", _vm.workCount)
  33610. ? _c(
  33611. "view",
  33612. {
  33613. staticClass: _vm._$s(72, "sc", "count flexC"),
  33614. attrs: { _i: 72 }
  33615. },
  33616. [_vm._v(_vm._$s(72, "t0-0", _vm._s(_vm.workCount)))]
  33617. )
  33618. : _vm._e()
  33619. ]
  33620. ),
  33621. _c(
  33622. "view",
  33623. {
  33624. staticClass: _vm._$s(73, "sc", "has"),
  33625. class: _vm._$s(73, "c", _vm.typeName == 2 ? "changeWork" : ""),
  33626. attrs: { _i: 73 },
  33627. on: {
  33628. click: function($event) {
  33629. return _vm.showPop(2)
  33630. }
  33631. }
  33632. },
  33633. [
  33634. _c("text"),
  33635. _vm._$s(75, "i", _vm.repairsCount)
  33636. ? _c(
  33637. "view",
  33638. {
  33639. staticClass: _vm._$s(75, "sc", "count flexC"),
  33640. attrs: { _i: 75 }
  33641. },
  33642. [_vm._v(_vm._$s(75, "t0-0", _vm._s(_vm.repairsCount)))]
  33643. )
  33644. : _vm._e()
  33645. ]
  33646. )
  33647. ]
  33648. )
  33649. ]),
  33650. _vm._$s(76, "i", _vm.moreShow)
  33651. ? _c("view", {
  33652. staticClass: _vm._$s(76, "sc", "background"),
  33653. attrs: { _i: 76 },
  33654. on: {
  33655. click: function($event) {
  33656. return _vm.coverHidn(1)
  33657. }
  33658. }
  33659. })
  33660. : _vm._e(),
  33661. _vm._$s(77, "i", _vm.moreShow)
  33662. ? _c(
  33663. "view",
  33664. { staticClass: _vm._$s(77, "sc", "more"), attrs: { _i: 77 } },
  33665. [
  33666. _c("view", { attrs: { _i: 78 }, on: { click: _vm.Offline } }, [
  33667. _c("image", { attrs: { _i: 79 } }),
  33668. _c("view")
  33669. ]),
  33670. _c("view", { attrs: { _i: 81 }, on: { click: _vm.online } }, [
  33671. _c("image", { attrs: { _i: 82 } }),
  33672. _c("text")
  33673. ]),
  33674. _c(
  33675. "view",
  33676. { attrs: { _i: 84 }, on: { click: _vm.renewalLocation } },
  33677. [_c("image", { attrs: { _i: 85 } }), _c("text")]
  33678. ),
  33679. _c("view", { attrs: { _i: 87 }, on: { click: _vm.renewal } }, [
  33680. _c("image", { attrs: { _i: 88 } }),
  33681. _c("text")
  33682. ]),
  33683. _c("view", { attrs: { _i: 90 }, on: { click: _vm.recover } }, [
  33684. _c("image", { attrs: { _i: 91 } }),
  33685. _c("text")
  33686. ])
  33687. ]
  33688. )
  33689. : _vm._e(),
  33690. _vm._$s(93, "i", _vm.workShow)
  33691. ? _c("view", {
  33692. staticClass: _vm._$s(93, "sc", "background"),
  33693. attrs: { _i: 93 },
  33694. on: {
  33695. click: function($event) {
  33696. return _vm.coverHidn(2)
  33697. }
  33698. }
  33699. })
  33700. : _vm._e(),
  33701. _vm._$s(94, "i", _vm.workShow)
  33702. ? _c(
  33703. "view",
  33704. { staticClass: _vm._$s(94, "sc", "work"), attrs: { _i: 94 } },
  33705. [
  33706. _c(
  33707. "view",
  33708. {
  33709. staticClass: _vm._$s(95, "sc", "workTitle flexC"),
  33710. attrs: { _i: 95 }
  33711. },
  33712. [
  33713. _c("view", [_vm._v(_vm._$s(96, "t0-0", _vm._s(_vm.bikeId)))]),
  33714. _c("text")
  33715. ]
  33716. ),
  33717. _c(
  33718. "view",
  33719. {
  33720. staticClass: _vm._$s(98, "sc", "workTab flexC"),
  33721. attrs: { _i: 98 }
  33722. },
  33723. [
  33724. _c("view", {
  33725. class: _vm._$s(99, "c", _vm.workState == 1 ? "cur" : ""),
  33726. attrs: { _i: 99 },
  33727. on: {
  33728. click: function($event) {
  33729. return _vm.workChoose(1)
  33730. }
  33731. }
  33732. }),
  33733. _c("view", {
  33734. class: _vm._$s(100, "c", _vm.workState == 2 ? "cur" : ""),
  33735. attrs: { _i: 100 },
  33736. on: {
  33737. click: function($event) {
  33738. return _vm.workChoose(2)
  33739. }
  33740. }
  33741. })
  33742. ]
  33743. ),
  33744. _c(
  33745. "scroll-view",
  33746. {
  33747. staticClass: _vm._$s(101, "sc", "wait"),
  33748. style: _vm._$s(
  33749. 101,
  33750. "s",
  33751. _vm.list.length >= 2
  33752. ? "background:#efefef"
  33753. : "background:#fff"
  33754. ),
  33755. attrs: { _i: 101 },
  33756. on: { scrolltolower: _vm.moreWork }
  33757. },
  33758. [
  33759. _vm._l(_vm._$s(102, "f", { forItems: _vm.list }), function(
  33760. item,
  33761. index,
  33762. $20,
  33763. $30
  33764. ) {
  33765. return _c(
  33766. "view",
  33767. {
  33768. key: _vm._$s(102, "f", { forIndex: $20, key: index }),
  33769. staticClass: _vm._$s(
  33770. "102-" + $30,
  33771. "sc",
  33772. "waitCon mead"
  33773. ),
  33774. attrs: { _i: "102-" + $30 }
  33775. },
  33776. [
  33777. _c(
  33778. "view",
  33779. {
  33780. staticClass: _vm._$s("103-" + $30, "sc", "content"),
  33781. style: _vm._$s("103-" + $30, "s", item.txtStyle),
  33782. attrs: {
  33783. "data-index": _vm._$s(
  33784. "103-" + $30,
  33785. "a-data-index",
  33786. index
  33787. ),
  33788. _i: "103-" + $30
  33789. },
  33790. on: {
  33791. touchstart: _vm.touchS,
  33792. touchmove: _vm.touchM,
  33793. touchend: _vm.touchE
  33794. }
  33795. },
  33796. [
  33797. _c(
  33798. "view",
  33799. {
  33800. staticClass: _vm._$s(
  33801. "104-" + $30,
  33802. "sc",
  33803. "title"
  33804. ),
  33805. attrs: { _i: "104-" + $30 }
  33806. },
  33807. [
  33808. _c(
  33809. "view",
  33810. {
  33811. staticClass: _vm._$s(
  33812. "105-" + $30,
  33813. "sc",
  33814. "left"
  33815. ),
  33816. attrs: { _i: "105-" + $30 }
  33817. },
  33818. [
  33819. _vm._v(
  33820. _vm._$s(
  33821. "105-" + $30,
  33822. "t0-0",
  33823. _vm._s(item.type_name)
  33824. )
  33825. )
  33826. ]
  33827. ),
  33828. _c(
  33829. "view",
  33830. {
  33831. staticClass: _vm._$s(
  33832. "106-" + $30,
  33833. "sc",
  33834. "right"
  33835. ),
  33836. attrs: { _i: "106-" + $30 }
  33837. },
  33838. [
  33839. _vm._v(
  33840. _vm._$s(
  33841. "106-" + $30,
  33842. "t0-0",
  33843. _vm._s(item.planned)
  33844. )
  33845. )
  33846. ]
  33847. )
  33848. ]
  33849. ),
  33850. _c(
  33851. "view",
  33852. {
  33853. staticClass: _vm._$s(
  33854. "107-" + $30,
  33855. "sc",
  33856. "body"
  33857. ),
  33858. attrs: { _i: "107-" + $30 }
  33859. },
  33860. [
  33861. _c(
  33862. "view",
  33863. {
  33864. staticClass: _vm._$s(
  33865. "108-" + $30,
  33866. "sc",
  33867. "left"
  33868. ),
  33869. attrs: { _i: "108-" + $30 }
  33870. },
  33871. [
  33872. _vm._$s(
  33873. "109-" + $30,
  33874. "i",
  33875. item.type_name == "道路救援工单"
  33876. )
  33877. ? _c("image", {
  33878. attrs: { _i: "109-" + $30 }
  33879. })
  33880. : _vm._e(),
  33881. _vm._$s(
  33882. "110-" + $30,
  33883. "i",
  33884. item.type_name == "车辆定位出现问题"
  33885. )
  33886. ? _c("image", {
  33887. attrs: { _i: "110-" + $30 }
  33888. })
  33889. : _vm._e(),
  33890. _vm._$s(
  33891. "111-" + $30,
  33892. "i",
  33893. item.type_name == "离线工单"
  33894. )
  33895. ? _c("image", {
  33896. attrs: { _i: "111-" + $30 }
  33897. })
  33898. : _vm._e(),
  33899. _vm._$s(
  33900. "112-" + $30,
  33901. "i",
  33902. item.type_name == "故障工单"
  33903. )
  33904. ? _c("image", {
  33905. attrs: { _i: "112-" + $30 }
  33906. })
  33907. : _vm._e(),
  33908. _vm._$s(
  33909. "113-" + $30,
  33910. "i",
  33911. item.type_name == "充电工单"
  33912. )
  33913. ? _c("image", {
  33914. attrs: { _i: "113-" + $30 }
  33915. })
  33916. : _vm._e(),
  33917. _vm._$s(
  33918. "114-" + $30,
  33919. "i",
  33920. item.type_name == "偷盗工单"
  33921. )
  33922. ? _c("image", {
  33923. attrs: { _i: "114-" + $30 }
  33924. })
  33925. : _vm._e(),
  33926. _vm._$s(
  33927. "115-" + $30,
  33928. "i",
  33929. item.type_name == "查看工单"
  33930. )
  33931. ? _c("image", {
  33932. attrs: { _i: "115-" + $30 }
  33933. })
  33934. : _vm._e(),
  33935. _vm._$s(
  33936. "116-" + $30,
  33937. "i",
  33938. item.type_name == "其他工单"
  33939. )
  33940. ? _c("image", {
  33941. attrs: { _i: "116-" + $30 }
  33942. })
  33943. : _vm._e(),
  33944. _vm._$s(
  33945. "117-" + $30,
  33946. "i",
  33947. item.type_name == "警报工单"
  33948. )
  33949. ? _c("image", {
  33950. attrs: { _i: "117-" + $30 }
  33951. })
  33952. : _vm._e(),
  33953. _vm._$s(
  33954. "118-" + $30,
  33955. "i",
  33956. item.type_name == "组长工单"
  33957. )
  33958. ? _c("image", {
  33959. attrs: { _i: "118-" + $30 }
  33960. })
  33961. : _vm._e(),
  33962. _vm._$s(
  33963. "119-" + $30,
  33964. "i",
  33965. item.type_name == "备用电池电量低报警"
  33966. )
  33967. ? _c("image", {
  33968. attrs: { _i: "119-" + $30 }
  33969. })
  33970. : _vm._e(),
  33971. _vm._$s(
  33972. "120-" + $30,
  33973. "i",
  33974. item.type_name == "断电工单"
  33975. )
  33976. ? _c("image", {
  33977. attrs: { _i: "120-" + $30 }
  33978. })
  33979. : _vm._e()
  33980. ]
  33981. ),
  33982. _c(
  33983. "view",
  33984. {
  33985. staticClass: _vm._$s(
  33986. "121-" + $30,
  33987. "sc",
  33988. "right"
  33989. ),
  33990. attrs: { _i: "121-" + $30 }
  33991. },
  33992. [
  33993. _c(
  33994. "view",
  33995. {
  33996. staticClass: _vm._$s(
  33997. "122-" + $30,
  33998. "sc",
  33999. "reason"
  34000. ),
  34001. attrs: { _i: "122-" + $30 }
  34002. },
  34003. [
  34004. _vm._v(
  34005. _vm._$s(
  34006. "122-" + $30,
  34007. "t0-0",
  34008. _vm._s(
  34009. item.reason
  34010. ? item.reason
  34011. : item.type_name
  34012. )
  34013. )
  34014. )
  34015. ]
  34016. ),
  34017. _c(
  34018. "view",
  34019. {
  34020. staticClass: _vm._$s(
  34021. "123-" + $30,
  34022. "sc",
  34023. "reason"
  34024. ),
  34025. attrs: { _i: "123-" + $30 }
  34026. },
  34027. [
  34028. _vm._v(
  34029. _vm._$s(
  34030. "123-" + $30,
  34031. "t0-0",
  34032. _vm._s(item.source)
  34033. )
  34034. )
  34035. ]
  34036. )
  34037. ]
  34038. )
  34039. ]
  34040. ),
  34041. _c(
  34042. "view",
  34043. {
  34044. staticClass: _vm._$s(
  34045. "124-" + $30,
  34046. "sc",
  34047. "time"
  34048. ),
  34049. attrs: { _i: "124-" + $30 }
  34050. },
  34051. [
  34052. _vm._v(
  34053. _vm._$s(
  34054. "124-" + $30,
  34055. "t0-0",
  34056. _vm._s(item.updated_at)
  34057. )
  34058. )
  34059. ]
  34060. )
  34061. ]
  34062. ),
  34063. _c(
  34064. "view",
  34065. {
  34066. staticClass: _vm._$s("125-" + $30, "sc", "del"),
  34067. class: _vm._$s(
  34068. "125-" + $30,
  34069. "c",
  34070. _vm.workState == 1 ? "get" : "finish"
  34071. ),
  34072. attrs: { _i: "125-" + $30 },
  34073. on: {
  34074. click: function($event) {
  34075. _vm.workState == 1
  34076. ? "getWork(item.id)"
  34077. : "finishWork"
  34078. }
  34079. }
  34080. },
  34081. [
  34082. _vm._v(
  34083. _vm._$s(
  34084. "125-" + $30,
  34085. "t0-0",
  34086. _vm._s(_vm.workState == 1 ? "领取" : "完成")
  34087. )
  34088. )
  34089. ]
  34090. )
  34091. ]
  34092. )
  34093. }),
  34094. _vm._$s(126, "i", _vm.list.length == 0)
  34095. ? _c(
  34096. "view",
  34097. {
  34098. staticClass: _vm._$s(126, "sc", "no"),
  34099. attrs: { _i: 126 }
  34100. },
  34101. [_c("image", { attrs: { _i: 127 } }), _c("view")]
  34102. )
  34103. : _vm._e()
  34104. ],
  34105. 2
  34106. )
  34107. ]
  34108. )
  34109. : _vm._e(),
  34110. _vm._$s(129, "i", _vm.repairsShow)
  34111. ? _c("view", {
  34112. staticClass: _vm._$s(129, "sc", "background"),
  34113. attrs: { _i: 129 },
  34114. on: {
  34115. click: function($event) {
  34116. return _vm.coverHidn(3)
  34117. }
  34118. }
  34119. })
  34120. : _vm._e(),
  34121. _vm._$s(130, "i", _vm.repairsShow)
  34122. ? _c(
  34123. "view",
  34124. { staticClass: _vm._$s(130, "sc", "work"), attrs: { _i: 130 } },
  34125. [
  34126. _c(
  34127. "view",
  34128. {
  34129. staticClass: _vm._$s(131, "sc", "workTitle flexC"),
  34130. attrs: { _i: 131 }
  34131. },
  34132. [
  34133. _c("view", [
  34134. _vm._v(_vm._$s(132, "t0-0", _vm._s(_vm.bikeId)))
  34135. ]),
  34136. _c("view")
  34137. ]
  34138. ),
  34139. _c(
  34140. "view",
  34141. {
  34142. staticClass: _vm._$s(134, "sc", "workTab flexC"),
  34143. attrs: { _i: 134 }
  34144. },
  34145. [
  34146. _c("view", {
  34147. class: _vm._$s(
  34148. 135,
  34149. "c",
  34150. _vm.repairsState == 1 ? "cur" : ""
  34151. ),
  34152. attrs: { _i: 135 },
  34153. on: {
  34154. click: function($event) {
  34155. return _vm.repairsChoose(1)
  34156. }
  34157. }
  34158. }),
  34159. _c("view", {
  34160. class: _vm._$s(
  34161. 136,
  34162. "c",
  34163. _vm.repairsState == 2 ? "cur" : ""
  34164. ),
  34165. attrs: { _i: 136 },
  34166. on: {
  34167. click: function($event) {
  34168. return _vm.repairsChoose(2)
  34169. }
  34170. }
  34171. })
  34172. ]
  34173. ),
  34174. _c(
  34175. "scroll-view",
  34176. {
  34177. staticClass: _vm._$s(137, "sc", "wait"),
  34178. style: _vm._$s(
  34179. 137,
  34180. "s",
  34181. _vm.repairsList.length >= 2
  34182. ? "background:#efefef"
  34183. : "background:#fff"
  34184. ),
  34185. attrs: { _i: 137 },
  34186. on: { scrolltolower: _vm.morkRepairs }
  34187. },
  34188. [
  34189. _vm._l(
  34190. _vm._$s(138, "f", { forItems: _vm.repairsList }),
  34191. function(item, index, $21, $31) {
  34192. return _c(
  34193. "view",
  34194. {
  34195. key: _vm._$s(138, "f", { forIndex: $21, key: index }),
  34196. staticClass: _vm._$s(
  34197. "138-" + $31,
  34198. "sc",
  34199. "waitCon mead"
  34200. ),
  34201. attrs: { _i: "138-" + $31 }
  34202. },
  34203. [
  34204. _c(
  34205. "view",
  34206. {
  34207. staticClass: _vm._$s(
  34208. "139-" + $31,
  34209. "sc",
  34210. "content"
  34211. ),
  34212. attrs: { _i: "139-" + $31 }
  34213. },
  34214. [
  34215. _c(
  34216. "view",
  34217. {
  34218. staticClass: _vm._$s(
  34219. "140-" + $31,
  34220. "sc",
  34221. "title"
  34222. ),
  34223. attrs: { _i: "140-" + $31 }
  34224. },
  34225. [
  34226. _c(
  34227. "view",
  34228. {
  34229. staticClass: _vm._$s(
  34230. "141-" + $31,
  34231. "sc",
  34232. "left"
  34233. ),
  34234. attrs: { _i: "141-" + $31 }
  34235. },
  34236. [
  34237. _vm._v(
  34238. _vm._$s(
  34239. "141-" + $31,
  34240. "t0-0",
  34241. _vm._s(item.trouble_part)
  34242. )
  34243. )
  34244. ]
  34245. ),
  34246. _vm._$s(
  34247. "142-" + $31,
  34248. "i",
  34249. _vm.repairsState == 1
  34250. )
  34251. ? _c("view", {
  34252. staticClass: _vm._$s(
  34253. "142-" + $31,
  34254. "sc",
  34255. "right"
  34256. ),
  34257. attrs: { _i: "142-" + $31 },
  34258. on: {
  34259. click: function($event) {
  34260. return _vm.markRead(item.id)
  34261. }
  34262. }
  34263. })
  34264. : _vm._e()
  34265. ]
  34266. ),
  34267. _c(
  34268. "view",
  34269. {
  34270. staticClass: _vm._$s(
  34271. "143-" + $31,
  34272. "sc",
  34273. "body"
  34274. ),
  34275. attrs: { _i: "143-" + $31 }
  34276. },
  34277. [
  34278. _c(
  34279. "view",
  34280. {
  34281. staticClass: _vm._$s(
  34282. "144-" + $31,
  34283. "sc",
  34284. "left"
  34285. ),
  34286. attrs: { _i: "144-" + $31 }
  34287. },
  34288. [
  34289. _vm._$s(
  34290. "145-" + $31,
  34291. "i",
  34292. item.trouble_part == "刹车"
  34293. )
  34294. ? _c("image", {
  34295. attrs: { _i: "145-" + $31 }
  34296. })
  34297. : _vm._e(),
  34298. _vm._$s(
  34299. "146-" + $31,
  34300. "i",
  34301. item.trouble_part == "车胎"
  34302. )
  34303. ? _c("image", {
  34304. attrs: { _i: "146-" + $31 }
  34305. })
  34306. : _vm._e(),
  34307. _vm._$s(
  34308. "147-" + $31,
  34309. "i",
  34310. item.trouble_part == "链条"
  34311. )
  34312. ? _c("image", {
  34313. attrs: { _i: "147-" + $31 }
  34314. })
  34315. : _vm._e(),
  34316. _vm._$s(
  34317. "148-" + $31,
  34318. "i",
  34319. item.trouble_part == "车座"
  34320. )
  34321. ? _c("image", {
  34322. attrs: { _i: "148-" + $31 }
  34323. })
  34324. : _vm._e(),
  34325. _vm._$s(
  34326. "149-" + $31,
  34327. "i",
  34328. item.trouble_part == "二维码"
  34329. )
  34330. ? _c("image", {
  34331. attrs: { _i: "149-" + $31 }
  34332. })
  34333. : _vm._e(),
  34334. _vm._$s(
  34335. "150-" + $31,
  34336. "i",
  34337. item.trouble_part == "其他"
  34338. )
  34339. ? _c("image", {
  34340. attrs: { _i: "150-" + $31 }
  34341. })
  34342. : _vm._e()
  34343. ]
  34344. ),
  34345. _c(
  34346. "view",
  34347. {
  34348. staticClass: _vm._$s(
  34349. "151-" + $31,
  34350. "sc",
  34351. "right"
  34352. ),
  34353. attrs: { _i: "151-" + $31 }
  34354. },
  34355. [
  34356. _c(
  34357. "view",
  34358. {
  34359. staticClass: _vm._$s(
  34360. "152-" + $31,
  34361. "sc",
  34362. "describe"
  34363. ),
  34364. attrs: { _i: "152-" + $31 }
  34365. },
  34366. [
  34367. _vm._v(
  34368. _vm._$s(
  34369. "152-" + $31,
  34370. "t0-0",
  34371. _vm._s(item.trouble_description)
  34372. )
  34373. )
  34374. ]
  34375. )
  34376. ]
  34377. )
  34378. ]
  34379. ),
  34380. _c(
  34381. "view",
  34382. {
  34383. staticClass: _vm._$s(
  34384. "153-" + $31,
  34385. "sc",
  34386. "time"
  34387. ),
  34388. attrs: { _i: "153-" + $31 }
  34389. },
  34390. [
  34391. _c("view", [
  34392. _vm._v(
  34393. _vm._$s(
  34394. "154-" + $31,
  34395. "t0-0",
  34396. _vm._s(item.created_at)
  34397. )
  34398. )
  34399. ]),
  34400. _c(
  34401. "view",
  34402. {
  34403. attrs: { _i: "155-" + $31 },
  34404. on: { click: _vm.phone }
  34405. },
  34406. [
  34407. _vm._v(
  34408. _vm._$s(
  34409. "155-" + $31,
  34410. "t0-0",
  34411. _vm._s(item.users.mobile)
  34412. )
  34413. )
  34414. ]
  34415. )
  34416. ]
  34417. )
  34418. ]
  34419. )
  34420. ]
  34421. )
  34422. }
  34423. ),
  34424. _vm._$s(156, "i", _vm.repairsList.length == 0)
  34425. ? _c(
  34426. "view",
  34427. {
  34428. staticClass: _vm._$s(156, "sc", "no"),
  34429. attrs: { _i: 156 }
  34430. },
  34431. [_c("image", { attrs: { _i: 157 } }), _c("view")]
  34432. )
  34433. : _vm._e()
  34434. ],
  34435. 2
  34436. )
  34437. ]
  34438. )
  34439. : _vm._e()
  34440. ]
  34441. )
  34442. }
  34443. var recyclableRender = false
  34444. var staticRenderFns = []
  34445. render._withStripped = true
  34446. /***/ }),
  34447. <<<<<<< HEAD
  34448. /* 359 */
  34449. /*!********************************************************!*\
  34450. !*** C:/Users/001/Desktop/运维端/static/img/detail67.png ***!
  34451. \********************************************************/
  34452. =======
  34453. /* 193 */
  34454. /*!*********************************************************************!*\
  34455. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/detail67.png ***!
  34456. \*********************************************************************/
  34457. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34458. /*! no static exports found */
  34459. /***/ (function(module, exports) {
  34460. eval("module.exports = \"/static/img/detail67.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjM1OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9kZXRhaWw2Ny5wbmdcIjsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///359\n");
  34461. /***/ }),
  34462. <<<<<<< HEAD
  34463. /* 360 */
  34464. /*!*******************************************************!*\
  34465. !*** C:/Users/001/Desktop/运维端/static/img/shuaxin.png ***!
  34466. \*******************************************************/
  34467. =======
  34468. /* 194 */
  34469. /*!********************************************************************!*\
  34470. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/shuaxin.png ***!
  34471. \********************************************************************/
  34472. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34473. /*! no static exports found */
  34474. /***/ (function(module, exports) {
  34475. eval("module.exports = \"/static/img/shuaxin.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjM2MC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9zaHVheGluLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///360\n");
  34476. /***/ }),
  34477. <<<<<<< HEAD
  34478. /* 361 */
  34479. /*!*******************************************************!*\
  34480. !*** C:/Users/001/Desktop/运维端/static/img/detail2.png ***!
  34481. \*******************************************************/
  34482. =======
  34483. /* 195 */
  34484. /*!********************************************************************!*\
  34485. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/detail2.png ***!
  34486. \********************************************************************/
  34487. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34488. /*! no static exports found */
  34489. /***/ (function(module, exports) {
  34490. eval("module.exports = \"/static/img/detail2.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjM2MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9kZXRhaWwyLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///361\n");
  34491. /***/ }),
  34492. <<<<<<< HEAD
  34493. /* 362 */
  34494. /*!*******************************************************!*\
  34495. !*** C:/Users/001/Desktop/运维端/static/img/detail3.png ***!
  34496. \*******************************************************/
  34497. =======
  34498. /* 196 */
  34499. /*!********************************************************************!*\
  34500. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/detail3.png ***!
  34501. \********************************************************************/
  34502. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34503. /*! no static exports found */
  34504. /***/ (function(module, exports) {
  34505. eval("module.exports = \"/static/img/detail3.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjM2Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9kZXRhaWwzLnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///362\n");
  34506. /***/ }),
  34507. <<<<<<< HEAD
  34508. /* 363 */
  34509. /*!*******************************************************!*\
  34510. !*** C:/Users/001/Desktop/运维端/static/img/detail4.png ***!
  34511. \*******************************************************/
  34512. =======
  34513. /* 197 */
  34514. /*!********************************************************************!*\
  34515. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/detail4.png ***!
  34516. \********************************************************************/
  34517. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34518. /*! no static exports found */
  34519. /***/ (function(module, exports) {
  34520. eval("module.exports = \"/static/img/detail4.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjM2My5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9kZXRhaWw0LnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///363\n");
  34521. /***/ }),
  34522. <<<<<<< HEAD
  34523. /* 364 */
  34524. /*!*******************************************************!*\
  34525. !*** C:/Users/001/Desktop/运维端/static/img/detail5.png ***!
  34526. \*******************************************************/
  34527. =======
  34528. /* 198 */
  34529. /*!********************************************************************!*\
  34530. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/static/img/detail5.png ***!
  34531. \********************************************************************/
  34532. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34533. /*! no static exports found */
  34534. /***/ (function(module, exports) {
  34535. eval("module.exports = \"/static/img/detail5.png\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6IjM2NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gXCIvc3RhdGljL2ltZy9kZXRhaWw1LnBuZ1wiOyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///364\n");
  34536. /***/ }),
  34537. <<<<<<< HEAD
  34538. /* 365 */
  34539. /*!************************************************************************************************!*\
  34540. !*** C:/Users/001/Desktop/运维端/pages/index/bike_detail.vue?vue&type=script&lang=js&mpType=page ***!
  34541. \************************************************************************************************/
  34542. =======
  34543. /* 199 */
  34544. /*!*************************************************************************************************************!*\
  34545. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bike_detail.vue?vue&type=script&lang=js&mpType=page ***!
  34546. \*************************************************************************************************************/
  34547. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34548. /*! no static exports found */
  34549. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34550. "use strict";
  34551. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./bike_detail.vue?vue&type=script&lang=js&mpType=page */ 366);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_bike_detail_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWlqQixDQUFnQixvbEJBQUcsRUFBQyIsImZpbGUiOiIzNjUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9iaWtlX2RldGFpbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYmlrZV9kZXRhaWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///365\n");
  34552. /***/ }),
  34553. <<<<<<< HEAD
  34554. /* 366 */
  34555. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34556. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/bike_detail.vue?vue&type=script&lang=js&mpType=page ***!
  34557. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34558. =======
  34559. /* 200 */
  34560. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34561. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/bike_detail.vue?vue&type=script&lang=js&mpType=page ***!
  34562. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34563. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34564. /*! no static exports found */
  34565. /***/ (function(module, exports, __webpack_require__) {
  34566. "use strict";
  34567. <<<<<<< HEAD
  34568. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _bluWKM = __webpack_require__(/*! ../../static/js/bluWKM.js */ 44); //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var bluM = new _bluWKM.BluetoothManager();var _default = { data: function data() {return { bike_no: '', //车牌号\n footerShow: true, allArea: [], area: 0, ele: 0, status: 0, day: 0, show: false, //车子详情的布尔值\n id: '', //停车区域的ID\n stopP: false, //判断是否显示停车区域\n polygons1: [], //可骑行区域 先用这个变量代表\n controls: [], //地图上当前定位的箭头\n background: '', //弹窗的背景颜色\n over: '', //关闭图标\n location: '', //是否有位置权限\n bluetooth: false, //是否开启蓝牙 false开始 true未开启\n box_no: '', //中控编号\n bikeDetail: [], bikeId: '', areaID: '', low_power: '', state: '', use_state: '', parkAreaShow: false, //还车点是否显示\n noParkAreaShow: true, //禁停区是否显示\n ridding: true, moreShow: false, screenHeight: '', //屏幕可视高度\n areas: [], parking: [], parking_points: [], no_parking: [], no_parking_points: [], parkShow: '', switch1Checked: '', delBtnWidth: 200, //删除或完成 按钮宽度\n typeName: '', //1 待认领工单 2已领工单\n page: 1, //当前页面\n workShow: false, //工单弹窗\n workCount: '', //侧边栏报修数量(未读)\n list: [], //工单列表\n workState: 1, //工单列表状态【1 待领取 2已领】\n repairsList: [], //报修列表\n repairsCount: '', //侧边栏工单数量(未认领)\n repairsState: 1, //报修列表状态【1 未读 2已读】\n repairsShow: false, //是否显示报修弹窗 【false 不显示 true 显示】\n topNum: 0, checked: false //是否只开启蓝牙操控\n };}, methods: { touchS: function touchS(e) {// console.log(e)\n if (e.touches.length == 1) {this.startX = e.touches[0].clientX; //设置触摸起始点水平方向位置\n }}, touchM: function touchM(e) {// console.log(this.data.list[index].txtStyle)\n // console.log(e);\n if (e.touches.length == 1) {//手指移动时水平方向位置\n var moveX = e.touches[0].clientX; //手指起始点位置与移动期间的差值\n var disX = this.startX - moveX; // console.log(disX,'disX')\n var delBtnWidth = this.delBtnWidth;var txtStyle = \"\";if (disX == 0 || disX < 0) {//如果移动距离小于等于0,文本层位置不变\n txtStyle = \"left:0upx\";} else if (disX > 0) {} //移动距离大于0,文本层left值等于手指移动距离\n // txtStyle = \"left:-\" + disX + \"upx\";\n // if (disX >= delBtnWidth) {\n // \t//控制手指移动距离最大值为删除按钮的宽度\n // \ttxtStyle = \"left:-\" + delBtnWidth + \"upx\";\n // }\n //获取手指触摸的是哪一项\n var index = e.currentTarget.dataset.index;var list = this.list;list[index].txtStyle = txtStyle; // //更新列表的状态\n this.list = list;}}, touchE: function touchE(e) {// console.log(e)\n if (e.changedTouches.length == 1) {//手指移动结束后水平位置\n var endX = e.changedTouches[0].clientX; //触摸开始与结束,手指移动的距离\n var disX = this.startX - endX;var delBtnWidth = this.delBtnWidth; //如果距离小于删除按钮的1/2,不显示删除按钮\n var txtStyle = disX > delBtnWidth / 2 ? \"left:-\" + delBtnWidth + \"upx\" : \"left:0upx\"; //获取手指触摸的是哪一项\n var index = e.currentTarget.dataset.index;var list = this.list;list[index].txtStyle = txtStyle; // //更新列表的状态\n this.list = list;__f__(\"log\", txtStyle, \" at pages/index/bike_detail.vue:379\");}}, switchChange: function switchChange(e) {__f__(\"log\", 'switch1 发生 change 事件,携带值为', e.target.value, \" at pages/index/bike_detail.vue:383\");this.checked = e.target.value;}, goTop: function goTop(e) {// 一键回到顶部\n this.topNum = 0;}, coverHidn: function coverHidn(e) {if (e == 1) {this.moreShow = false;this.workState = 1;} else if (e == 2) {this.workShow = false;this.typeName = '';} else if (e == 3) {this.repairsShow = false;this.typeName = '';this.repairsState = 1;}}, phone: function phone(e) {__f__(\"log\", 1111, \" at pages/index/bike_detail.vue:403\");uni.makePhoneCall({ phoneNumber: e.currentTarget.dataset.phone });}, showPop: function showPop(e) {if (e == 1) {this.workShow = true;this.lookWork();} else if (e == 2) {this.repairsShow = true;this.lookRepairs();}}, workChoose: function workChoose(e) {uni.showLoading({ title: '加载中...' });this.workState = e;this.list = [];this.lookWork();this.goTop();}, //工单列表 \n lookWork: function lookWork() {var _this = this;uni.showLoading({ title: '加载中...' });var that = this;var planned = '';var url = \"\";var state = that.workState; // console.log(state, 'workState')\n __f__(\"log\", that.bikeId, 'bikeID', \" at pages/index/bike_detail.vue:436\");if (state == 1) {planned = 1;url = \"work_order/list?planned=\" + planned + \"&bike_no=\" + that.bike_no;} else {var _planned = 2;url = 'work_order/myWorkOrderList?planned=' + _planned + \"&bike_no=\" + that.bike_no;}app.request(url, '', 'GET').then(function (res) {uni.hideLoading();var work = res.data.data; // console.log(work, '工单列表')\n if (work.length == 0) {// uni.showToast({\n // title: '暂无工单~',\n // icon: 'none'\n // })\n _this.list = '';} else {work.map(function (i) {i.txtStyle = 'left:0upx';});_this.workShow = true;_this.list = work; // console.log(that.data.list, 'list')\n }});}, //接单\n getWork: function getWork(e) {var _this2 = this;uni.showLoading({ title: '领取中...' });__f__(\"log\", e, 'getWorkid', \" at pages/index/bike_detail.vue:469\");app.request('work_order/receive?work_order_id=' + e, '', 'GET').then(function (res) {uni.hideLoading();__f__(\"log\", res, \" at pages/index/bike_detail.vue:472\");if (res.statusCode == 200) {uni.showToast({ title: '接单成功', icon: \"none\" });var work = _this2.list;work.map(function (i, index) {if (i.id == id) {work.splice(index, 1);__f__(\"log\", i, \" at pages/index/bike_detail.vue:482\");}});var count = _this2.workCount;count = count - 1;_this2.list = work;_this2.workCount = count;if (work.length == 0) {uni.showToast({ title: '该车辆已无待领工单~', icon: 'none' });_this2.workShow = false;_this2.workCount = '';}}});}, //完成\n finishWork: function finishWork(e) {var _this3 = this;uni.showLoading({ title: '操作中...' }); // console.log('finishWork')\n var id = e.currentTarget.dataset.id;__f__(\"log\", id, 'finishWorkId', \" at pages/index/bike_detail.vue:507\");app.request('work_order/over?work_order_id=' + id, '', 'GET').then(function (res) {uni.hideLoading();if (res.statusCode == 200) {__f__(\"log\", res, \" at pages/index/bike_detail.vue:511\");uni.showToast({ title: '操作成功', icon: \"none\" });var list = _this3.list;list.map(function (i, index) {if (i.id == id) {__f__(\"log\", i, \" at pages/index/bike_detail.vue:519\");list.splice(index, 1);}});_this3.list = list;if (list.length == 0) {uni.showToast({ title: '已完成所有认领工单~', icon: 'none' });_this3.workShow = false;}}});}, //上拉加载\n moreWork: function moreWork() {var _this4 = this;uni.showLoading({ title: '加载中...' });var that = this;var page = that.page + 1;var planned = '';var url = \"\";if (that.workState == 1) {planned = 1;url = \"work_order/list?planned=\" + planned + \"&bike_no=\" + that.bike_no + '&page=' + page;} else {planned = 2;url = 'work_order/myWorkOrderList?planned=' + planned + \"&bike_no=\" + that.bike_no + '&page=' + page;}app.request(url, '', 'GET').then(function (res) {uni.hideLoading();if (res.data.data.length > 0) {var work = res.data.data;work.map(function (i) {i.txtStyle = 'left:0upx';});_this4.workShow = true;_this4.list = that.list.concat(work);_this4.page = page;} else {uni.showToast({ title: '没有更多数据了~', icon: 'none' });}});}, //报修列表\n lookRepairs: function lookRepairs() {var _this5 = this;uni.showLoading({ title: '加载中...' });var status = '';var state = this.repairsState;if (state == 1) {status = 0;} else if (state == 2) {status = 1;}app.request('user/userRepaired?bike_no=' + this.bike_no + '&status=' + status, '', 'GET').then(function (res) {if (res.statusCode == 200) {uni.hideLoading(); // console.log(res, '报修列表')\n var list = res.data.data;if (list.length == 0) {// uni.showToast({\n // title: '暂无报修记录~',\n // icon: 'none'\n // })\n _this5.repairsList = [];} else {var repairs = res.data.data;repairs.map(function (i) {i.txtStyle = 'left:0upx';});_this5.repairsList = repairs;}}});},\n repairsChoose: function repairsChoose(e) {\n this.repairsState = e;\n this.repairsList = [];\n this.lookRepairs();\n this.goTop();\n },\n markRead: function markRead(e) {var _this6 = this;\n __f__(\"log\", e, \" at pages/index/bike_detail.vue:608\");\n app.request('user/userRepaired/status?id=' + e, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n __f__(\"log\", res, \" at pages/index/bike_detail.vue:611\");\n _this6.lookRepairs();\n var list = _this6.repairsList;\n if (list.length == 0) {\n uni.showToast({\n title: '暂无报修~',\n icon: 'none' });\n\n _this6.repairsCount = '';\n } else {\n var count = _this6.repairsCount;\n count = count - 1;\n _this6.repairsCount = count;\n }\n }\n });\n },\n morkRepairs: function morkRepairs() {var _this7 = this;\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n var status = '';\n var page = that.page + 1;\n var state = this.repairsState;\n if (state == 1) {\n status = 0;\n } else if (state == 2) {\n status = 1;\n }\n app.request('user/userRepaired?bike_no=' + this.bike_no + '&status=' + status + '&page=' + page, '', 'GET').then(\n function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n var list = res.data.data;\n if (list.length > 0) {\n _this7.repairsList = that.repairsList.concat(list);\n _this7.page = page;\n } else {\n uni.showToast({\n title: '没有更多数据了~',\n icon: 'none' });\n\n }\n }\n });\n },\n more: function more() {\n this.moreShow = true;\n },\n scanCode: function scanCode() {\n var that = this;\n __f__(\"log\", 'scanCode', \" at pages/index/bike_detail.vue:663\");\n uni.scanCode({\n success: function success(res) {\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n that.bikeId = code;\n that.getBike_info(code);\n },\n fail: function fail() {\n uni.showModal({\n title: '提示',\n content: '手动输入车辆标号',\n success: function success(res) {\n if (res.confirm) {\n uni.navigateTo({\n url: '/pages/manualInp/manualInp' });\n\n }\n } });\n\n } });\n\n },\n // 获取车辆信息\n getBike_info: function getBike_info() {var _this8 = this;var bikeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var that = this;\n __f__(\"log\", bikeId, \" at pages/index/bike_detail.vue:689\");\n uni.showLoading({\n title: '加载中...' });\n\n if (typeof bikeId === 'object') {\n bikeId = this.bikeId;\n } else {\n // bikeId = this.bikeId\n }\n\n this.bike_no = bikeId;\n __f__(\"log\", this.bikeId, 'bikeId', \" at pages/index/bike_detail.vue:700\");\n app.request('bike/getBikeInfo?bike_no=' + this.bike_no, '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, '获取车辆信息', \" at pages/index/bike_detail.vue:703\");\n if (res.data.bike_info == '') {\n _this8.sideShow = false;\n uni.showToast({\n title: '暂无该车辆信息~' });\n\n } else {\n __f__(\"log\", res.data, '车辆信息', \" at pages/index/bike_detail.vue:710\");\n _this8.bikeDetail = res.data;\n _this8.sideShow = true;\n _this8.footerShow = false;\n }\n if (res.data.bike_info.tab_name == '中控离线') {\n __f__(\"log\", 1111, \" at pages/index/bike_detail.vue:716\");\n uni.openBluetoothAdapter({\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/bike_detail.vue:719\");\n that.checked = true;\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/index/bike_detail.vue:723\");\n uni.showModal({\n title: '提示',\n content: '当前车辆请开启蓝牙进行操作',\n showCancel: false });\n\n that.checked = false;\n } });\n\n }\n });\n app.request(\"work_order/list?planned=\" + 1 + \"&bike_no=\" + this.bike_no, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n // console.log(res.data.meta.total, '工单数量')\n _this8.workCount = res.data.meta.total;\n }\n });\n app.request('user/userRepaired?bike_no=' + this.bike_no + '&&status=' + 0, '', 'GET').then(function (res) {\n // console.log(res.data)\n // console.log(res.data.meta.total, '报修数量')\n _this8.repairsCount = res.data.meta.total;\n });\n },\n //获取输入框的值\n bindKeyInput: function bindKeyInput(e) {\n // console.log(e.detail.value, 11111)\n this.bikeId = e.detail.value;\n },\n refresh_power: function refresh_power() {\n this.getBike_info(this.bike_no);\n uni.showToast({\n title: '刷新完成',\n icon: 'none' });\n\n },\n bikePosition: function bikePosition() {\n uni.navigateTo({\n url: './car_position?id=' + this.bikeDetail.bike_info.id + '&bike_no=' + this.bike_no });\n\n },\n recentOrder: function recentOrder() {\n __f__(\"log\", 123, \" at pages/index/bike_detail.vue:764\");\n uni.navigateTo({\n url: '../manage/recentOrder?id=' + this.bikeDetail.bike_info.id });\n\n },\n modify: function modify() {\n //跳转修改车辆信息\n var bike = this.bikeDetail.bike_info;\n uni.navigateTo({\n url: './amendCar?id=' + bike.id + '&bike_no=' + this.bike_no + '&box_no=' + bike.box_no });\n\n },\n // 鸣笛\n whistle: function whistle() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.bell);\n } else {\n uni.showLoading({\n title: '响铃中...' });\n\n app.request('bike/bikeBell?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '响铃成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //开锁\n unlock: function unlock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.unlock);\n } else {\n uni.showLoading({\n title: '开锁中...' });\n\n app.request('bike/openBikeLock?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //关锁\n close_lock: function close_lock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.lock);\n } else {\n uni.showLoading({\n title: '关锁中...' });\n\n app.request('bike/closeBikeLock?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '关锁成功',\n icon: 'none' });\n\n }\n });\n }\n\n },\n bike_detail: function bike_detail() {\n //车辆详情页面 \n var bike = this.bikeDetail.bike_info;\n __f__(\"log\", bike, \" at pages/index/bike_detail.vue:837\");\n uni.navigateTo({\n url: '../manage/bikeDetail?bike_no=' + this.bike_no + '&id=' + bike.id });\n\n },\n reqair: function reqair() {\n uni.navigateTo({\n url: './reqair?bike_no=' + this.bike_no });\n\n },\n //开电池锁\n battery_load: function battery_load() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.batteryUnlock);\n } else {\n uni.showLoading({\n title: '开电池锁中...' });\n\n app.request('bike/openBatteryLock?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开电池锁成功',\n icon: 'none' });\n\n }\n });\n }\n\n },\n renewalPower: function renewalPower() {\n //更新电量\n uni.showLoading({\n title: '更新电量中...' });\n\n app.request('bike/newBikeBatteryMSG?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新电量成功',\n icon: 'none' });\n\n }\n });\n },\n renewalLocation: function renewalLocation() {\n //更新位置\n uni.showLoading({\n title: '更新位置中...' });\n\n app.request('bike/newBikeLocation?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新位置成功',\n icon: 'none' });\n\n }\n });\n },\n renewal: function renewal() {\n //重启中控\n var that = this;\n app.request('bike/rebootBox?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '重启中控成功',\n icon: 'none' });\n\n }\n });\n },\n // 设为停车区\n recover: function recover() {\n app.request('bike/repairInParking?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '操作成功',\n icon: 'none' });\n\n } else {\n uni.showToast({\n title: '操作失败',\n icon: 'none' });\n\n }\n });\n },\n //上线\n online: function online() {\n app.request('bike/login?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '上线成功',\n icon: 'none' });\n\n }\n });\n },\n //下线\n Offline: function Offline() {\n app.request('bike/logout?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/index/bike_detail.vue:940\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '下线成功',\n icon: 'none' });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n // console.log(app.request())\n __f__(\"log\", uni.getStorageSync('allArea'), 'allArea', \" at pages/index/bike_detail.vue:952\");\n var that = this;\n that.screenHeight = app.globalData.screenHeight;\n var timer = setTimeout(function () {\n if (uni.getStorageSync('allArea')) {\n that.allArea = uni.getStorageSync('allArea');\n that.allStatus = uni.getStorageSync('allState');\n }\n __f__(\"log\", that.allArea, \" at pages/index/bike_detail.vue:960\");\n var curVal = uni.getStorageSync('curVal');\n __f__(\"log\", curVal, 'log_curVal', \" at pages/index/bike_detail.vue:962\");\n if (curVal) {\n that.area = curVal;\n }\n var areaID = uni.getStorageSync('curId');\n __f__(\"log\", areaID, 'log_areaID', \" at pages/index/bike_detail.vue:967\");\n if (areaID) {\n that.areaID = areaID;\n } else {\n var _id = that.allArea[0].areaID;\n that.areaID = _id;\n }\n }, 500);\n if (options.bike_no) {\n that.getBike_info(options.bike_no);\n that.bike_no = options.bike_no;\n }\n if (options.scan == 1) {\n this.scanCode();\n }\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvYmlrZV9kZXRhaWwudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJRQSx1RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQURBLG1CQU1BLDBDLGVBQ0EsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxXQURBLEVBQ0E7QUFDQSxzQkFGQSxFQUdBLFdBSEEsRUFJQSxPQUpBLEVBS0EsTUFMQSxFQU1BLFNBTkEsRUFPQSxNQVBBLEVBUUEsV0FSQSxFQVFBO0FBQ0EsWUFUQSxFQVNBO0FBQ0Esa0JBVkEsRUFVQTtBQUNBLG1CQVhBLEVBV0E7QUFDQSxrQkFaQSxFQVlBO0FBQ0Esb0JBYkEsRUFhQTtBQUNBLGNBZEEsRUFjQTtBQUNBLGtCQWZBLEVBZUE7QUFDQSxzQkFoQkEsRUFnQkE7QUFDQSxnQkFqQkEs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cmxCQTtBQXNsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBREE7QUFFQSx3QkFGQTs7QUFJQTtBQUNBLE9BUkE7QUFTQSxLQWptQkE7QUFrbUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQURBO0FBRUEsd0JBRkE7O0FBSUE7QUFDQSxPQVJBO0FBU0EsS0E3bUJBLEVBckRBOztBQW9xQkEsUUFwcUJBLGtCQW9xQkEsT0FwcUJBLEVBb3FCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FuQkEsRUFtQkEsR0FuQkE7QUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQXBzQkEsRSIsImZpbGUiOiIzNjYuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJwYWdlXCI+XHJcblx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiY292ZXJcIiB2LWlmPVwic2lkZVNob3dcIiBAY2xpY2s9XCJjbG9zZVNpZGVcIj48L3ZpZXc+IC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJzaWRlXCI+XHJcblxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImJpa2VObyBmbGV4QVwiPlxyXG5cdFx0XHRcdDxpbnB1dCBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpei9pueJjOWPt1wiIHYtbW9kZWw9XCJiaWtlX25vXCIgQGlucHV0PVwiYmluZEtleUlucHV0XCIgQGJsdXI9XCJiaW5kS2V5SW5wdXRcIiBwbGFjZWhvbGRlci1jbGFzcz1cInBsYWNlXCJcclxuXHRcdFx0XHQgdHlwZT1cIm51bWJlclwiPjwvaW5wdXQ+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJmaW5kXCIgQGNsaWNrPVwiZ2V0QmlrZV9pbmZvKGJpa2Vfbm8pXCI+5p+l5om+PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwic2FvbWlhb1wiIEBjbGljaz1cInNjYW5Db2RlXCI+5omr5o+PPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1wiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb0NvblwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIi4uLy4uL3N0YXRpYy9pbWcvZGV0YWlsNjcucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9MZWZ0XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZm9udC1zaXplOiAzMHVweDtmb250LXdlaWdodDpib2xkO3BhZGRpbmc6MTB1cHggMDtcIj7ovabovobmo4DmtYvkv6Hmga88L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwibWFyZ2luLWJvdHRvbTpzY3JlZW5IZWlnaHQ9PSd4U2VyaWVzJyA/ICcxMnVweCcgOiAnN3VweCdcIiB2LWlmPVwiYmlrZURldGFpbC5iaWtlX2luZm9cIj7ovabniYzlj7fvvJp7e2Jpa2VEZXRhaWwuYmlrZV9pbmZvLmJpa2Vfbm99fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tYm90dG9tOnNjcmVlbkhlaWdodD09J3hTZXJpZXMnID8gJzEydXB4JyA6ICc3dXB4J1wiIHYtaWY9XCJiaWtlRGV0YWlsLmJpa2VfaW5mb1wiPuW9k+WJjeeUtemHj++8mjx0ZXh0XHJcblx0XHRcdFx0XHRcdFx0IHN0eWxlPVwiY29sb3I6I0VCNjIwMDtcIj4ge3tiaWtlRGV0YWlsLmJpa2VfaW5mby5iYXR0ZXJ5X3Bvd2VyfX0lPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tYm90dG9tOnNjcmVlbkhlaWdodD09J3hTZXJpZXMnID8gJzEydXB4JyA6ICc3dXB4J1wiIHYtaWY9XCJiaWtlRGV0YWlsLmJpa2VfaW5mb1wiPui9pui+hueKtuaAge+8mjx0ZXh0XHJcblx0XHRcdFx0XHRcdFx0IHN0eWxlPVwiY29sb3I6I0VCNjIwMDtcIj57e2Jpa2VEZXRhaWwuYmlrZV9pbmZvLnRhYl9uYW1lfX08L3RleHQ+IDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1JpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL3NodWF4aW4ucG5nXCIgQGNsaWNrPVwicmVmcmVzaF9wb3dlclwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwhLS0gPHZpZXcgc3R5bGU9XCJtYXJnaW4tYm90dG9tOnNjcmVlbkhlaWdodD09J3hTZXJpZXMnID8gJzEydXB4JyA6ICc3dXB4J1wiIGNsYXNzPVwibGFzdFwiIHYtaWY9XCJiaWtlRGV0YWlsLmJpa2VfaW5mb1wiPnt7YmlrZURldGFpbC5iaWtlX2luZm8udGFiX25hbWU9PVwi5Lit5o6n56a757q/XCI/J+emu+e6v+aXtumXtCc6J+acgOWQjuWumuS9jSd9fe+8mnt7YmlrZURldGFpbC5iaWtlX2luZm8ubGFzdF90aW1lfX08L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwicG9zaXRpb24gZmxleEJcIiBAY2xpY2s9XCJiaWtlUG9zaXRpb25cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwid2VpemhpXCIgc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9kZXRhaWwyLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ3ZWl6aGkxXCIgc3R5bGU9XCJmb250LXNpemU6IDM0dXB4O1wiPui9pui+huS9jee9rjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiY29sb3I6ICM1RjVGNUY7IGZvbnQtc2l6ZTogMjh1cHg7XCIgdi1pZj1cImJpa2VEZXRhaWwuYmlrZV9pbmZvXCI+XHJcblx0XHRcdFx0XHRcdHt7YmlrZURldGFpbC5iaWtlX2luZm8ubGFzdF90aW1lfX08L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9yaWdodC1hcnJvdy5wbmdcIiBjbGFzcz1cImltYWdlXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PCEtLSA8dmFuLWljb24gbmFtZT1cImFycm93XCIgY29sb3I9XCIjOEE4QThBXCIgLz4gLS0+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSBcdDx2aWV3IGNsYXNzPVwicmVjb3JkIGZsZXhBXCI+XHJcblx0XHRcdFx0PHZpZXcgQGNsaWNrPVwibW9kaWZ5XCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9hbWVuZC5wbmdcIiBzdHlsZT1cIndpZHRoOjQwdXB4O2hlaWdodDo0MHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHRleHQ+5L+u5pS5PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJyZXFhaXJcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL21haW50YWluLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dGV4dD7miqXkv648L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cImJpa2VfZGV0YWlsXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9iaWtlRGUucG5nXCIgc3R5bGU9XCJ3aWR0aDo0NXVweDtoZWlnaHQ6NDV1cHg7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDx0ZXh0PuivpuaDhTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwibWlkZGxlLW5hdlwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmF2LWNoaWxkXCIgQGNsaWNrPVwibW9kaWZ5XCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9kZXRhaWwzLnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx06L2m6L6G5L+u5pS5XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmF2LWNoaWxkXCIgQGNsaWNrPVwicmVxYWlyXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiLi4vLi4vc3RhdGljL2ltZy9kZXRhaWw0LnBuZ1wiIG1vZGU9XCJcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx05pWF6Zqc5oql5L+uXHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibmF2LWNoaWxkXCIgQGNsaWNrPVwiYmlrZV9kZXRhaWxcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIuLi8uLi9zdGF0aWMvaW1nL2RldGFpbDUucG5nXCIgbW9kZT1cIlwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHTovabovobor6bmg4VcclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlciBcIiBAY2xpY2s9XCJyZWNlbnRPcmRlclwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleEIgcmVjZW50XCI+XHJcblx0XHRcdFx0XHQ8dmlldz7mnIDov5HorqLljZU8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8IS0tIDx2YW4taWNvbiBuYW1lPVwiYXJyb3dcIiBjb2xvcj1cIiM4QThBOEFcIiBzaXplPVwiMTZweFwiIC8+IC0tPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhcIiBzdHlsZT1cImNvbG9yOiMyODI4Mjg3NztcIiB2LWlmPVwiYmlrZURldGFpbC5iaWtlX29yZGVyIT0nJ1wiPlxyXG5cdFx0XHRcdFx0PHZpZXc+e3tiaWtlRGV0YWlsLmJpa2Vfb3JkZXJbMF0ubW9iaWxlfX0gPC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ3aWR0aDoyODd1cHg7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOiBub3dyYXA7bWFyZ2luLWxlZnQ6MTV1cHg7XCI+XHJcblx0XHRcdFx0XHRcdHt7YmlrZURldGFpbC5iaWtlX29yZGVyWzBdLnVzZXJuYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHYtaWY9XCJiaWtlRGV0YWlsLmJpa2Vfb3JkZXI9PScnXCIgc3R5bGU9XCJjb2xvcjojMjgyODI4Nzc7XCI+5pqC5peg6K6i5Y2V5L+h5oGvPC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IHYtaWY9XCJiaWtlRGV0YWlsLmJpa2Vfb3JkZXIhPScnXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1pZGRsZS1zdGF0ZVwiIHN0eWxlPVwiY29sb3I6IzI4MjgyODc3O21hcmdpbi1yaWdodDoxMHVweDtcIj57e2Jpa2VEZXRhaWwuYmlrZV9vcmRlclswXS5vcmRlcl9zdGF0dXN9fTwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWlkZGxlLXRpbWVcIiBzdHlsZT1cImNvbG9yOiMyODI4Mjg3NztcIj57e2Jpa2VEZXRhaWwuYmlrZV9vcmRlclswXS5zdGFydF91c2VfYmlrZV90aW1lX2FwcH19LXt7YmlrZURldGFpbC5iaWtlX29yZGVyWzBdLmVuZF91c2VfYmlrZV90aW1lX2FwcH19PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImRpcmVjdGl2ZVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZGlyZVwiPlxyXG5cdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJmb250LXNpemU6MzJ1cHg7XCI+6L2m6L6G5qOA5rWL5oyH5LukPC90ZXh0PlxyXG5cdFx0XHRcdFx05Y+q5byA5ZCv6JOd54mZ5pON5o6nXHJcblx0XHRcdFx0XHQ8c3dpdGNoIEBjaGFuZ2U9XCJzd2l0Y2hDaGFuZ2VcIiBzdHlsZT1cInRyYW5zZm9ybTpzY2FsZSgwLjcpXCIgdi1pZj1cImNoZWNrZWQ9PXRydWVcIiBjaGVja2VkPVwiY2hlY2tlZFwiIC8+XHJcblx0XHRcdFx0XHQ8c3dpdGNoIEBjaGFuZ2U9XCJzd2l0Y2hDaGFuZ2VcIiBzdHlsZT1cInRyYW5zZm9ybTpzY2FsZSgwLjcpXCIgdi1pZj1cImNoZWNrZWQ9PWZhbHNlXCIgLz5cclxuXHRcdFx0XHRcdDwhLS0gPHZpZXc+XHJcblx0XHRcdFx0PHZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4QSBsaXN0XCIgc3R5bGU9XCJoZWlnaHQ6MTAwJTtcIiB2LWlmPVwiYmlrZURldGFpbC5iaWtlX2luZm9cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjEwdXB4O1wiIEBjbGljaz1cIndoaXN0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvd2hpc3RsZS5wbmdcIiBzdHlsZT1cIndpZHRoOjU4dXB4O2hlaWdodDo1OHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luOjE1dXB4IDA7XCI+6bij56ybPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDoxMHVweDtcIiBAY2xpY2s9XCJ1bmxvY2tcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvb3Blbi1sb2NrLnBuZ1wiIHN0eWxlPVwid2lkdGg6NTh1cHg7aGVpZ2h0OjU4dXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW46MTV1cHggMDtcIj7lvIDnlLXovabplIE8L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW4tdG9wOjEwdXB4O1wiIEBjbGljaz1cImNsb3NlX2xvY2tcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvY2xvc2UtbG9jay5wbmdcIiBzdHlsZT1cIndpZHRoOjU4dXB4O2hlaWdodDo1OHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luOjE1dXB4IDA7XCI+5YWz55S16L2m6ZSBPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7XCIgQGNsaWNrPVwiYmF0dGVyeV9sb2FkXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1nL2JhdHRlcnktbG9hZC5wbmdcIiBzdHlsZT1cIndpZHRoOjU4dXB4O2hlaWdodDo1OHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luOjE1dXB4IDA7XCI+5byA55S15rGg6ZSBPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7XCIgQGNsaWNrPVwicmVuZXdhbFBvd2VyXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1nL3JlbmV3YWxQb3dlci5wbmdcIiBzdHlsZT1cIndpZHRoOjYydXB4O2hlaWdodDo2MHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0PuabtOaWsOeUtemHjzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIiBAY2xpY2s9XCJtb3JlXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1nL21vcmUucG5nXCIgc3R5bGU9XCJ3aWR0aDo2MnVweDtoZWlnaHQ6NjB1cHg7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbjoxNXVweCAwO1wiPuabtOWkmjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIndvcmtCdG5cIj5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJzaG93UG9wKDEpXCIgOmNsYXNzPVwidHlwZU5hbWU9PTE/J2NoYW5nZVdvcmsnOicnXCIgY2xhc3M9XCJzaGVsdGVyc1wiPlxyXG5cdFx0XHRcdFx0PHRleHQ+5bel5Y2V6K6w5b2VPC90ZXh0PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb3VudCBmbGV4Q1wiIHYtaWY9XCJ3b3JrQ291bnRcIj57e3dvcmtDb3VudH19PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJzaG93UG9wKDIpXCIgOmNsYXNzPVwidHlwZU5hbWU9PTI/J2NoYW5nZVdvcmsnOicnXCIgY2xhc3M9XCJoYXNcIj5cclxuXHRcdFx0XHRcdDx0ZXh0PuaKpeS/ruiusOW9lTwvdGV4dD5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY291bnQgZmxleENcIiB2LWlmPVwicmVwYWlyc0NvdW50XCI+e3tyZXBhaXJzQ291bnR9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYmFja2dyb3VuZFwiIHYtaWY9XCJtb3JlU2hvd1wiIEBjbGljaz1cImNvdmVySGlkbigxKVwiIGNhdGNodG91Y2htb3ZlPVwidHJ1ZVwiPjwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwibW9yZVwiIHYtaWY9XCJtb3JlU2hvd1wiPlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJPZmZsaW5lXCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1nL29mZmxpbmUucG5nXCIgc3R5bGU9XCJ3aWR0aDo2MnVweDtoZWlnaHQ6NjB1cHg7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8dmlldz7kuIvnur88L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIiBAY2xpY2s9XCJvbmxpbmVcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvb25saW5lLnBuZ1wiIHN0eWxlPVwid2lkdGg6NjJ1cHg7aGVpZ2h0OjYwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW46MTV1cHggMDtcIj7kuIrnur88L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwhLS0gXHQ8dmlldyBAY2xpY2s9XCJyZW5ld2FsUG93ZXJcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvcmVuZXdhbFBvd2VyLnBuZ1wiIHN0eWxlPVwid2lkdGg6NjJ1cHg7aGVpZ2h0OjYwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHRleHQ+5pu05paw55S16YePPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJyZW5ld2FsTG9jYXRpb25cIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvcmVuZXdhbExvY2F0aW9uLnBuZ1wiIHN0eWxlPVwid2lkdGg6NjJ1cHg7aGVpZ2h0OjYwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHRleHQ+5pu05paw5L2N572uPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IEBjbGljaz1cInJlbmV3YWxcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvcmVuZXdhbC5wbmdcIiBzdHlsZT1cIndpZHRoOjYydXB4O2hlaWdodDo2MHVweDtcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDx0ZXh0PumHjeWQr+S4reaOpzwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBAY2xpY2s9XCJyZWNvdmVyXCI+XHJcblx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9wYXJrLnBuZ1wiIHN0eWxlPVwid2lkdGg6NTB1cHg7aGVpZ2h0OjUwdXB4O1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHRleHQ+6K6+5Li65YGc6L2m5Yy6PC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImJhY2tncm91bmRcIiB2LWlmPVwid29ya1Nob3dcIiBAY2xpY2s9XCJjb3ZlckhpZG4oMilcIiBjYXRjaHRvdWNobW92ZT1cInRydWVcIj48L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cIndvcmtcIiB2LWlmPVwid29ya1Nob3dcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ3b3JrVGl0bGUgZmxleENcIj5cclxuXHRcdFx0XHQ8dmlldz57e2Jpa2VJZH19PC92aWV3PlxyXG5cdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLWxlZnQ6MTV1cHg7XCI+5bel5Y2V6K6w5b2VPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwid29ya1RhYiBmbGV4Q1wiPlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cIndvcmtDaG9vc2UoMSlcIiA6Y2xhc3M9XCJ3b3JrU3RhdGU9PTE/J2N1cic6JydcIj7lvoXpooblt6XljZU8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgQGNsaWNrPVwid29ya0Nob29zZSgyKVwiIDpjbGFzcz1cIndvcmtTdGF0ZT09Mj8nY3VyJzonJ1wiPuW3sumihuW3peWNlTwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8c2Nyb2xsLXZpZXcgY2xhc3M9XCJ3YWl0XCIgc2Nyb2xsLXRvcD0ndG9wTnVtJyBzY3JvbGwteT1cInRydWVcIiBAc2Nyb2xsdG9sb3dlcj1cIm1vcmVXb3JrXCIgOnN0eWxlPVwibGlzdC5sZW5ndGg+PTIgPyAnYmFja2dyb3VuZDojZWZlZmVmJzonYmFja2dyb3VuZDojZmZmJ1wiPlxyXG5cdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIGxpc3RcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cIndhaXRDb24gbWVhZFwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgQHRvdWNoc3RhcnQ9XCJ0b3VjaFNcIiBAdG91Y2htb3ZlPVwidG91Y2hNXCIgQHRvdWNoZW5kPVwidG91Y2hFXCIgOnN0eWxlPVwiaXRlbS50eHRTdHlsZVwiIGNsYXNzPVwiY29udGVudFwiXHJcblx0XHRcdFx0XHQgOmRhdGEtaW5kZXg9XCJpbmRleFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImZvbnQtc2l6ZToyOHVweDtcIiBjbGFzcz1cInRpdGxlXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsZWZ0XCI+e3tpdGVtLnR5cGVfbmFtZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmlnaHRcIj57e2l0ZW0ucGxhbm5lZH19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9keVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwid2lkdGg6OTB1cHg7aGVpZ2h0OjkwdXB4O1wiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVzY3VlLnBuZ1wiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+mBk+i3r+aVkeaPtOW3peWNlSdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwid2lkdGg6ODB1cHg7aGVpZ2h0OjgwdXB4O1wiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcG9zaS5wbmdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfovabovoblrprkvY3lh7rnjrDpl67popgnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cIndpZHRoOjEwMHVweDtoZWlnaHQ6MTAwdXB4O1wiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9iaWtlX3l1bndlaS9vdXRMaS5wbmdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfnprvnur/lt6XljZUnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cIndpZHRoOjEwMHVweDtoZWlnaHQ6MTAwdXB4O1wiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvZmF1bHQucG5nXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5pWF6Zqc5bel5Y2VJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDo5MHVweDtoZWlnaHQ6OTB1cHg7XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9jaGFyZ2UucG5nXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5YWF55S15bel5Y2VJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDoxMDB1cHg7aGVpZ2h0OjEwMHVweDtcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL3N0ZWFsLnBuZ1wiIHYtaWY9XCJpdGVtLnR5cGVfbmFtZT09J+WBt+ebl+W3peWNlSdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwid2lkdGg6OTB1cHg7aGVpZ2h0OjkwdXB4O1wiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvbG9vazEucG5nXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5p+l55yL5bel5Y2VJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDo5MHVweDtoZWlnaHQ6OTB1cHg7XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9vdGhlcldvcmsucG5nXCIgdi1pZj1cIml0ZW0udHlwZV9uYW1lPT0n5YW25LuW5bel5Y2VJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJ3aWR0aDoxMDB1cHg7aGVpZ2h0OjEwMHVweDtcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2FsYXJtMS5wbmdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSforabmiqXlt6XljZUnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cIndpZHRoOjgwdXB4O2hlaWdodDo4MHVweDtcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL2xlYWRlci5wbmdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfnu4Tplb/lt6XljZUnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cIndpZHRoOjEwMHVweDtoZWlnaHQ6MTAwdXB4O1wiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcHJlcGFyZS5wbmdcIiB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSflpIfnlKjnlLXmsaDnlLXph4/kvY7miqXoraYnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cIndpZHRoOjkwdXB4O2hlaWdodDo5MHVweDtcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veGlhb2Jhbm1hX3l1bndlaS9sb3dQb3dlcl94Ym0ucG5nXCJcclxuXHRcdFx0XHRcdFx0XHRcdCB2LWlmPVwiaXRlbS50eXBlX25hbWU9PSfmlq3nlLXlt6XljZUnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyaWdodFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyZWFzb25cIiBzdHlsZT1cIndpZHRoOjEwMCU7Y29sb3I6IzU1NTtmb250LXNpemU6Mjh1cHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcIj7ljp/lm6DvvJp7e2l0ZW0ucmVhc29uP2l0ZW0ucmVhc29uOml0ZW0udHlwZV9uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJlYXNvblwiIHN0eWxlPVwiY29sb3I6Izk5OTk5OTtmbGV4LWdyb3c6MTtcIj7mnaXmupDvvJp7e2l0ZW0uc291cmNlfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGltZVwiPuabtOaWsOaXtumXtO+8mnt7aXRlbS51cGRhdGVkX2F0fX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyA6Y2xhc3M9XCJ3b3JrU3RhdGU9PTE/J2dldCc6J2ZpbmlzaCdcIiBjbGFzcz1cImRlbFwiIEBjbGljaz1cIndvcmtTdGF0ZT09MT8nZ2V0V29yayhpdGVtLmlkKSc6J2ZpbmlzaFdvcmsnXCI+e3t3b3JrU3RhdGUgPT0gMSA/ICfpooblj5YnOiflrozmiJAnfX1cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibm9cIiB2LWlmPVwibGlzdC5sZW5ndGggPT0gMFwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9ub25lLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8dmlldz7mmoLml6Dnm7jlhbPmlbDmja5+PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYmFja2dyb3VuZFwiIHYtaWY9XCJyZXBhaXJzU2hvd1wiIEBjbGljaz1cImNvdmVySGlkbigzKVwiIGNhdGNodG91Y2htb3ZlPVwidHJ1ZVwiPjwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwid29ya1wiIHYtaWY9XCJyZXBhaXJzU2hvd1wiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIndvcmtUaXRsZSBmbGV4Q1wiPlxyXG5cdFx0XHRcdDx2aWV3Pnt7YmlrZUlkfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXJnaW4tbGVmdDoxNXVweDtcIj7miqXkv67orrDlvZU8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ3b3JrVGFiIGZsZXhDXCI+XHJcblx0XHRcdFx0PHZpZXcgQGNsaWNrPVwicmVwYWlyc0Nob29zZSgxKVwiIDpjbGFzcz1cInJlcGFpcnNTdGF0ZT09MT8nY3VyJzonJ1wiPuacquivuzwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJyZXBhaXJzQ2hvb3NlKDIpXCIgOmNsYXNzPVwicmVwYWlyc1N0YXRlPT0yPydjdXInOicnXCI+5bey6K+7PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDxzY3JvbGwtdmlldyBjbGFzcz1cIndhaXRcIiBzY3JvbGwteT1cInRydWVcIiBAc2Nyb2xsdG9sb3dlcj1cIm1vcmtSZXBhaXJzXCIgOnN0eWxlPVwicmVwYWlyc0xpc3QubGVuZ3RoPj0yID8gJ2JhY2tncm91bmQ6I2VmZWZlZic6J2JhY2tncm91bmQ6I2ZmZidcIlxyXG5cdFx0XHQgc2Nyb2xsLXRvcD0ndG9wTnVtJz5cclxuXHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiByZXBhaXJzTGlzdFwiIDprZXk9XCJpbmRleFwiIGNsYXNzPVwid2FpdENvbiBtZWFkXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIml0ZW0udHh0U3R5bGVcIiBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJmb250LXNpemU6Mjh1cHg7XCIgY2xhc3M9XCJ0aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVmdFwiPnt7aXRlbS50cm91YmxlX3BhcnR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0XCIgdi1pZj1cInJlcGFpcnNTdGF0ZT09MVwiIEBjbGljaz1cIm1hcmtSZWFkKGl0ZW0uaWQpXCI+5qCH5Li65bey6K+7PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9keVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OjUwdXB4O3dpZHRoOjExMnVweFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVwNC5wbmdcIiB2LWlmPVwiaXRlbS50cm91YmxlX3BhcnQ9PSfliLnovaYnXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cImhlaWdodDo5NnVweDt3aWR0aDo5NnVweFwiIHNyYz1cImh0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS95dW53ZWkvcmVwNi5wbmdcIiB2LWlmPVwiaXRlbS50cm91YmxlX3BhcnQ9PSfovabog44nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzdHlsZT1cImhlaWdodDo1OHVweDt3aWR0aDoxMTZ1cHhcIiBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20veXVud2VpL3JlcDUucG5nXCIgdi1pZj1cIml0ZW0udHJvdWJsZV9wYXJ0PT0n6ZO+5p2hJ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3R5bGU9XCJoZWlnaHQ6NjZ1cHg7d2lkdGg6MTE2dXB4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9yZXAxLnBuZ1wiIHYtaWY9XCJpdGVtLnRyb3VibGVfcGFydD09J+i9puW6pydcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OjgwdXB4O3dpZHRoOjYwdXB4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9yZXAyLnBuZ1wiIHYtaWY9XCJpdGVtLnRyb3VibGVfcGFydD09J+S6jOe7tOeggSdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OjcydXB4O3dpZHRoOjY0dXB4XCIgc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL3l1bndlaS9yZXAzLnBuZ1wiIHYtaWY9XCJpdGVtLnRyb3VibGVfcGFydD09J+WFtuS7lidcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRlc2NyaWJlXCI+6Zeu6aKY5o+P6L+w77yae3tpdGVtLnRyb3VibGVfZGVzY3JpcHRpb259fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aW1lXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXc+5Yib5bu65pe26Ze077yae3tpdGVtLmNyZWF0ZWRfYXR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJwaG9uZVwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6NDB1cHg7XCI+5omL5py65Y+377yae3tpdGVtLnVzZXJzLm1vYmlsZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJibG9ja1wiPjwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwibm9cIiB2LWlmPVwicmVwYWlyc0xpc3QubGVuZ3RoID09IDBcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vbm9uZS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXc+5pqC5peg55u45YWz5pWw5o2ufjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIDxmb290ZXIgcGFyYW1zPVwiY3VycmVudFwiIHYtaWY9XCJmb290ZXJTaG93XCIgQDpzY2FuQ29kZT1cInNjYW5Db2RlXCI+PC9mb290ZXI+IC0tPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwID0gZ2V0QXBwKCk7XHJcblx0aW1wb3J0IHtcclxuXHRcdEJsdWV0b290aE1hbmFnZXIsXHJcblx0XHRCdEVycm9yQ29kZSxcclxuXHRcdENNRFxyXG5cdH0gZnJvbSAnLi4vLi4vc3RhdGljL2pzL2JsdVdLTS5qcyc7XHJcblx0Y29uc3QgYmx1TSA9IG5ldyBCbHVldG9vdGhNYW5hZ2VyO1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0YmlrZV9ubzogJycsIC8v6L2m54mM5Y+3XHJcblx0XHRcdFx0Zm9vdGVyU2hvdzogdHJ1ZSxcclxuXHRcdFx0XHRhbGxBcmVhOiBbXSxcclxuXHRcdFx0XHRhcmVhOiAwLFxyXG5cdFx0XHRcdGVsZTogMCxcclxuXHRcdFx0XHRzdGF0dXM6IDAsXHJcblx0XHRcdFx0ZGF5OiAwLFxyXG5cdFx0XHRcdHNob3c6IGZhbHNlLCAvL+i9puWtkOivpuaDheeahOW4g+WwlOWAvFxyXG5cdFx0XHRcdGlkOiAnJywgLy/lgZzovabljLrln5/nmoRJRFxyXG5cdFx0XHRcdHN0b3BQOiBmYWxzZSwgLy/liKTmlq3mmK/lkKbmmL7npLrlgZzovabljLrln59cclxuXHRcdFx0XHRwb2x5Z29uczE6IFtdLCAvL+WPr+mqkeihjOWMuuWfnyDlhYjnlKjov5nkuKrlj5jph4/ku6PooahcclxuXHRcdFx0XHRjb250cm9sczogW10sIC8v5Zyw5Zu+5LiK5b2T5YmN5a6a5L2N55qE566t5aS0XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJycsIC8v5by556qX55qE6IOM5pmv6aKc6ImyXHJcblx0XHRcdFx0b3ZlcjogJycsIC8v5YWz6Zet5Zu+5qCHXHJcblx0XHRcdFx0bG9jYXRpb246ICcnLCAvL+aYr+WQpuacieS9jee9ruadg+mZkFxyXG5cdFx0XHRcdGJsdWV0b290aDogZmFsc2UsIC8v5piv5ZCm5byA5ZCv6JOd54mZIGZhbHNl5byA5aeLIHRydWXmnKrlvIDlkK9cclxuXHRcdFx0XHRib3hfbm86ICcnLCAvL+S4reaOp+e8luWPt1xyXG5cdFx0XHRcdGJpa2VEZXRhaWw6IFtdLFxyXG5cdFx0XHRcdGJpa2VJZDogJycsXHJcblx0XHRcdFx0YXJlYUlEOiAnJyxcclxuXHRcdFx0XHRsb3dfcG93ZXI6ICcnLFxyXG5cdFx0XHRcdHN0YXRlOiAnJyxcclxuXHRcdFx0XHR1c2Vfc3RhdGU6ICcnLFxyXG5cdFx0XHRcdHBhcmtBcmVhU2hvdzogZmFsc2UsIC8v6L+Y6L2m54K55piv5ZCm5pi+56S6XHJcblx0XHRcdFx0bm9QYXJrQXJlYVNob3c6IHRydWUsIC8v56aB5YGc5Yy65piv5ZCm5pi+56S6XHJcblx0XHRcdFx0cmlkZGluZzogdHJ1ZSxcclxuXHRcdFx0XHRtb3JlU2hvdzogZmFsc2UsXHJcblx0XHRcdFx0c2NyZWVuSGVpZ2h0OiAnJywgLy/lsY/luZXlj6/op4bpq5jluqZcclxuXHRcdFx0XHRhcmVhczogW10sXHJcblx0XHRcdFx0cGFya2luZzogW10sXHJcblx0XHRcdFx0cGFya2luZ19wb2ludHM6IFtdLFxyXG5cdFx0XHRcdG5vX3Bhcmtpbmc6IFtdLFxyXG5cdFx0XHRcdG5vX3BhcmtpbmdfcG9pbnRzOiBbXSxcclxuXHRcdFx0XHRwYXJrU2hvdzogJycsXHJcblx0XHRcdFx0c3dpdGNoMUNoZWNrZWQ6ICcnLFxyXG5cdFx0XHRcdGRlbEJ0bldpZHRoOiAyMDAsIC8v5Yig6Zmk5oiW5a6M5oiQIOaMiemSruWuveW6plxyXG5cdFx0XHRcdHR5cGVOYW1lOiAnJywgLy8xIOW+heiupOmihuW3peWNlSAgMuW3sumihuW3peWNlVxyXG5cdFx0XHRcdHBhZ2U6IDEsIC8v5b2T5YmN6aG16Z2iXHJcblx0XHRcdFx0d29ya1Nob3c6IGZhbHNlLCAvL+W3peWNleW8ueeql1xyXG5cdFx0XHRcdHdvcmtDb3VudDogJycsIC8v5L6n6L655qCP5oql5L+u5pWw6YeP77yI5pyq6K+777yJXHJcblx0XHRcdFx0bGlzdDogW10sIC8v5bel5Y2V5YiX6KGoXHJcblx0XHRcdFx0d29ya1N0YXRlOiAxLCAvL+W3peWNleWIl+ihqOeKtuaAgeOAkDEg5b6F6aKG5Y+WICAy5bey6aKG44CRXHJcblx0XHRcdFx0cmVwYWlyc0xpc3Q6IFtdLCAvL+aKpeS/ruWIl+ihqFxyXG5cdFx0XHRcdHJlcGFpcnNDb3VudDogJycsIC8v5L6n6L655qCP5bel5Y2V5pWw6YeP77yI5pyq6K6k6aKG77yJXHJcblx0XHRcdFx0cmVwYWlyc1N0YXRlOiAxLCAvL+aKpeS/ruWIl+ihqOeKtuaAgeOAkDEg5pyq6K+7ICAy5bey6K+744CRXHJcblx0XHRcdFx0cmVwYWlyc1Nob3c6IGZhbHNlLCAvL+aYr+WQpuaYvuekuuaKpeS/ruW8ueeqlyDjgJBmYWxzZSDkuI3mmL7npLogIHRydWUg5pi+56S644CRXHJcblx0XHRcdFx0dG9wTnVtOiAwLFxyXG5cdFx0XHRcdGNoZWNrZWQ6IGZhbHNlLCAvL+aYr+WQpuWPquW8gOWQr+iTneeJmeaTjeaOp1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHR0b3VjaFM6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlKVxyXG5cdFx0XHRcdGlmIChlLnRvdWNoZXMubGVuZ3RoID09IDEpIHtcclxuXHRcdFx0XHRcdHRoaXMuc3RhcnRYID0gZS50b3VjaGVzWzBdLmNsaWVudFhcclxuXHRcdFx0XHRcdC8v6K6+572u6Kem5pG46LW35aeL54K55rC05bmz5pa55ZCR5L2N572uXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b3VjaE06IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEubGlzdFtpbmRleF0udHh0U3R5bGUpXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZSk7XHJcblx0XHRcdFx0aWYgKGUudG91Y2hlcy5sZW5ndGggPT0gMSkge1xyXG5cdFx0XHRcdFx0Ly/miYvmjIfnp7vliqjml7bmsLTlubPmlrnlkJHkvY3nva5cclxuXHRcdFx0XHRcdHZhciBtb3ZlWCA9IGUudG91Y2hlc1swXS5jbGllbnRYO1xyXG5cdFx0XHRcdFx0Ly/miYvmjIfotbflp4vngrnkvY3nva7kuI7np7vliqjmnJ/pl7TnmoTlt67lgLxcclxuXHRcdFx0XHRcdHZhciBkaXNYID0gdGhpcy5zdGFydFggLSBtb3ZlWDtcclxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGRpc1gsJ2Rpc1gnKVxyXG5cdFx0XHRcdFx0dmFyIGRlbEJ0bldpZHRoID0gdGhpcy5kZWxCdG5XaWR0aDtcclxuXHRcdFx0XHRcdHZhciB0eHRTdHlsZSA9IFwiXCI7XHJcblx0XHRcdFx0XHRpZiAoZGlzWCA9PSAwIHx8IGRpc1ggPCAwKSB7IC8v5aaC5p6c56e75Yqo6Led56a75bCP5LqO562J5LqOMO+8jOaWh+acrOWxguS9jee9ruS4jeWPmFxyXG5cdFx0XHRcdFx0XHR0eHRTdHlsZSA9IFwibGVmdDowdXB4XCI7XHJcblx0XHRcdFx0XHR9IGVsc2UgaWYgKGRpc1ggPiAwKSB7IC8v56e75Yqo6Led56a75aSn5LqOMO+8jOaWh+acrOWxgmxlZnTlgLznrYnkuo7miYvmjIfnp7vliqjot53nprtcclxuXHRcdFx0XHRcdFx0Ly8gdHh0U3R5bGUgPSBcImxlZnQ6LVwiICsgZGlzWCArIFwidXB4XCI7XHJcblx0XHRcdFx0XHRcdC8vIGlmIChkaXNYID49IGRlbEJ0bldpZHRoKSB7XHJcblx0XHRcdFx0XHRcdC8vIFx0Ly/mjqfliLbmiYvmjIfnp7vliqjot53nprvmnIDlpKflgLzkuLrliKDpmaTmjInpkq7nmoTlrr3luqZcclxuXHRcdFx0XHRcdFx0Ly8gXHR0eHRTdHlsZSA9IFwibGVmdDotXCIgKyBkZWxCdG5XaWR0aCArIFwidXB4XCI7XHJcblx0XHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8v6I635Y+W5omL5oyH6Kem5pG455qE5piv5ZOq5LiA6aG5XHJcblx0XHRcdFx0XHR2YXIgaW5kZXggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pbmRleDtcclxuXHRcdFx0XHRcdHZhciBsaXN0ID0gdGhpcy5saXN0O1xyXG5cdFx0XHRcdFx0bGlzdFtpbmRleF0udHh0U3R5bGUgPSB0eHRTdHlsZTtcclxuXHRcdFx0XHRcdC8vIC8v5pu05paw5YiX6KGo55qE54q25oCBXHJcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSBsaXN0XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b3VjaEU6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlKVxyXG5cdFx0XHRcdGlmIChlLmNoYW5nZWRUb3VjaGVzLmxlbmd0aCA9PSAxKSB7XHJcblx0XHRcdFx0XHQvL+aJi+aMh+enu+WKqOe7k+adn+WQjuawtOW5s+S9jee9rlxyXG5cdFx0XHRcdFx0dmFyIGVuZFggPSBlLmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFg7XHJcblx0XHRcdFx0XHQvL+inpuaRuOW8gOWni+S4jue7k+adn++8jOaJi+aMh+enu+WKqOeahOi3neemu1xyXG5cdFx0XHRcdFx0dmFyIGRpc1ggPSB0aGlzLnN0YXJ0WCAtIGVuZFg7XHJcblx0XHRcdFx0XHR2YXIgZGVsQnRuV2lkdGggPSB0aGlzLmRlbEJ0bldpZHRoO1xyXG5cdFx0XHRcdFx0Ly/lpoLmnpzot53nprvlsI/kuo7liKDpmaTmjInpkq7nmoQxLzLvvIzkuI3mmL7npLrliKDpmaTmjInpkq5cclxuXHRcdFx0XHRcdHZhciB0eHRTdHlsZSA9IGRpc1ggPiBkZWxCdG5XaWR0aCAvIDIgPyBcImxlZnQ6LVwiICsgZGVsQnRuV2lkdGggKyBcInVweFwiIDogXCJsZWZ0OjB1cHhcIjtcclxuXHRcdFx0XHRcdC8v6I635Y+W5omL5oyH6Kem5pG455qE5piv5ZOq5LiA6aG5XHJcblx0XHRcdFx0XHR2YXIgaW5kZXggPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pbmRleDtcclxuXHRcdFx0XHRcdHZhciBsaXN0ID0gdGhpcy5saXN0O1xyXG5cdFx0XHRcdFx0bGlzdFtpbmRleF0udHh0U3R5bGUgPSB0eHRTdHlsZTtcclxuXHRcdFx0XHRcdC8vIC8v5pu05paw5YiX6KGo55qE54q25oCBXHJcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSBsaXN0XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0eHRTdHlsZSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHN3aXRjaENoYW5nZTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdzd2l0Y2gxIOWPkeeUnyBjaGFuZ2Ug5LqL5Lu277yM5pC65bim5YC85Li6JywgZS50YXJnZXQudmFsdWUpXHJcblx0XHRcdFx0dGhpcy5jaGVja2VkID0gZS50YXJnZXQudmFsdWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvVG9wOiBmdW5jdGlvbihlKSB7IC8vIOS4gOmUruWbnuWIsOmhtumDqFxyXG5cdFx0XHRcdHRoaXMudG9wTnVtID0gMFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb3ZlckhpZG46IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRpZiAoZSA9PSAxKSB7XHJcblx0XHRcdFx0XHR0aGlzLm1vcmVTaG93ID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLndvcmtTdGF0ZSA9IDE7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChlID09IDIpIHtcclxuXHRcdFx0XHRcdHRoaXMud29ya1Nob3cgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMudHlwZU5hbWUgPSAnJztcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGUgPT0gMykge1xyXG5cdFx0XHRcdFx0dGhpcy5yZXBhaXJzU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy50eXBlTmFtZSA9ICcnO1xyXG5cdFx0XHRcdFx0dGhpcy5yZXBhaXJzU3RhdGUgPSAxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cGhvbmU6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygxMTExKVxyXG5cdFx0XHRcdHVuaS5tYWtlUGhvbmVDYWxsKHtcclxuXHRcdFx0XHRcdHBob25lTnVtYmVyOiBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5waG9uZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHNob3dQb3A6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRpZiAoZSA9PSAxKSB7XHJcblx0XHRcdFx0XHR0aGlzLndvcmtTaG93ID0gdHJ1ZTtcclxuXHRcdFx0XHRcdHRoaXMubG9va1dvcmsoKTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGUgPT0gMikge1xyXG5cdFx0XHRcdFx0dGhpcy5yZXBhaXJzU2hvdyA9IHRydWU7XHJcblx0XHRcdFx0XHR0aGlzLmxvb2tSZXBhaXJzKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR3b3JrQ2hvb3NlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMud29ya1N0YXRlID0gZTtcclxuXHRcdFx0XHR0aGlzLmxpc3QgPSBbXVxyXG5cdFx0XHRcdHRoaXMubG9va1dvcmsoKTtcclxuXHRcdFx0XHR0aGlzLmdvVG9wKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5bel5Y2V5YiX6KGoIFxyXG5cdFx0XHRsb29rV29yazogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRsZXQgcGxhbm5lZCA9ICcnO1xyXG5cdFx0XHRcdGxldCB1cmwgPSBcIlwiO1xyXG5cdFx0XHRcdGxldCBzdGF0ZSA9IHRoYXQud29ya1N0YXRlXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coc3RhdGUsICd3b3JrU3RhdGUnKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQuYmlrZUlkLCAnYmlrZUlEJylcclxuXHRcdFx0XHRpZiAoc3RhdGUgPT0gMSkge1xyXG5cdFx0XHRcdFx0cGxhbm5lZCA9IDFcclxuXHRcdFx0XHRcdHVybCA9IFwid29ya19vcmRlci9saXN0P3BsYW5uZWQ9XCIgKyBwbGFubmVkICsgXCImYmlrZV9ubz1cIiArIHRoYXQuYmlrZV9ub1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsZXQgcGxhbm5lZCA9IDI7XHJcblx0XHRcdFx0XHR1cmwgPSAnd29ya19vcmRlci9teVdvcmtPcmRlckxpc3Q/cGxhbm5lZD0nICsgcGxhbm5lZCArIFwiJmJpa2Vfbm89XCIgKyB0aGF0LmJpa2Vfbm9cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0bGV0IHdvcmsgPSByZXMuZGF0YS5kYXRhO1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cod29yaywgJ+W3peWNleWIl+ihqCcpXHJcblx0XHRcdFx0XHRpZiAod29yay5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRcdFx0XHQvLyB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0Ly8gICB0aXRsZTogJ+aaguaXoOW3peWNlX4nLFxyXG5cdFx0XHRcdFx0XHQvLyAgIGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSAnJ1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0d29yay5tYXAoaSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aS50eHRTdHlsZSA9ICdsZWZ0OjB1cHgnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdHRoaXMud29ya1Nob3cgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSB3b3JrO1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGF0LmRhdGEubGlzdCwgJ2xpc3QnKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5o6l5Y2VXHJcblx0XHRcdGdldFdvcms6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfpooblj5bkuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSwgJ2dldFdvcmtpZCcpO1xyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd3b3JrX29yZGVyL3JlY2VpdmU/d29ya19vcmRlcl9pZD0nICsgZSwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmjqXljZXmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdGxldCB3b3JrID0gdGhpcy5saXN0O1xyXG5cdFx0XHRcdFx0XHR3b3JrLm1hcCgoaSwgaW5kZXgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoaS5pZCA9PSBpZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0d29yay5zcGxpY2UoaW5kZXgsIDEpXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhpKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gdGhpcy53b3JrQ291bnRcclxuXHRcdFx0XHRcdFx0Y291bnQgPSBjb3VudCAtIDFcclxuXHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gd29yaztcclxuXHRcdFx0XHRcdFx0dGhpcy53b3JrQ291bnQgPSBjb3VudDtcclxuXHRcdFx0XHRcdFx0aWYgKHdvcmsubGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn6K+l6L2m6L6G5bey5peg5b6F6aKG5bel5Y2VficsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMud29ya1Nob3cgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLndvcmtDb3VudCA9ICcnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WujOaIkFxyXG5cdFx0XHRmaW5pc2hXb3JrOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCdmaW5pc2hXb3JrJylcclxuXHRcdFx0XHRsZXQgaWQgPSBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5pZFxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGlkLCAnZmluaXNoV29ya0lkJylcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci9vdmVyP3dvcmtfb3JkZXJfaWQ9JyArIGlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIlxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRsZXQgbGlzdCA9IHRoaXMubGlzdFxyXG5cdFx0XHRcdFx0XHRsaXN0Lm1hcCgoaSwgaW5kZXgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoaS5pZCA9PSBpZCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coaSlcclxuXHRcdFx0XHRcdFx0XHRcdGxpc3Quc3BsaWNlKGluZGV4LCAxKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0dGhpcy5saXN0ID0gbGlzdDtcclxuXHRcdFx0XHRcdFx0aWYgKGxpc3QubGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5bey5a6M5oiQ5omA5pyJ6K6k6aKG5bel5Y2VficsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMud29ya1Nob3cgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5LiK5ouJ5Yqg6L29XHJcblx0XHRcdG1vcmVXb3JrOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHZhciBwYWdlID0gdGhhdC5wYWdlICsgMTtcclxuXHRcdFx0XHRsZXQgcGxhbm5lZCA9ICcnO1xyXG5cdFx0XHRcdGxldCB1cmwgPSBcIlwiO1xyXG5cdFx0XHRcdGlmICh0aGF0LndvcmtTdGF0ZSA9PSAxKSB7XHJcblx0XHRcdFx0XHRwbGFubmVkID0gMVxyXG5cdFx0XHRcdFx0dXJsID0gXCJ3b3JrX29yZGVyL2xpc3Q/cGxhbm5lZD1cIiArIHBsYW5uZWQgKyBcIiZiaWtlX25vPVwiICsgdGhhdC5iaWtlX25vICsgJyZwYWdlPScgKyBwYWdlXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHBsYW5uZWQgPSAyXHJcblx0XHRcdFx0XHR1cmwgPSAnd29ya19vcmRlci9teVdvcmtPcmRlckxpc3Q/cGxhbm5lZD0nICsgcGxhbm5lZCArIFwiJmJpa2Vfbm89XCIgKyB0aGF0LmJpa2Vfbm8gKyAnJnBhZ2U9JyArIHBhZ2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmRhdGEubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0XHRsZXQgd29yayA9IHJlcy5kYXRhLmRhdGFcclxuXHRcdFx0XHRcdFx0d29yay5tYXAoaSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0aS50eHRTdHlsZSA9ICdsZWZ0OjB1cHgnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdHRoaXMud29ya1Nob3cgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxpc3QgPSB0aGF0Lmxpc3QuY29uY2F0KHdvcmspO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBhZ2UgPSBwYWdlO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmsqHmnInmm7TlpJrmlbDmja7kuoZ+JyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+aKpeS/ruWIl+ihqFxyXG5cdFx0XHRsb29rUmVwYWlyczogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGxldCBzdGF0dXMgPSAnJ1xyXG5cdFx0XHRcdGxldCBzdGF0ZSA9IHRoaXMucmVwYWlyc1N0YXRlXHJcblx0XHRcdFx0aWYgKHN0YXRlID09IDEpIHtcclxuXHRcdFx0XHRcdHN0YXR1cyA9IDBcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHN0YXRlID09IDIpIHtcclxuXHRcdFx0XHRcdHN0YXR1cyA9IDFcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ3VzZXIvdXNlclJlcGFpcmVkP2Jpa2Vfbm89JyArIHRoaXMuYmlrZV9ubyArICcmc3RhdHVzPScgKyBzdGF0dXMsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzLCAn5oql5L+u5YiX6KGoJylcclxuXHRcdFx0XHRcdFx0bGV0IGxpc3QgPSByZXMuZGF0YS5kYXRhO1xyXG5cdFx0XHRcdFx0XHRpZiAobGlzdC5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdC8vIHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdC8vICAgdGl0bGU6ICfmmoLml6DmiqXkv67orrDlvZV+JyxcclxuXHRcdFx0XHRcdFx0XHQvLyAgIGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdC8vIH0pXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5yZXBhaXJzTGlzdCA9IFtdXHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0bGV0IHJlcGFpcnMgPSByZXMuZGF0YS5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcdHJlcGFpcnMubWFwKGkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0aS50eHRTdHlsZSA9ICdsZWZ0OjB1cHgnXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnJlcGFpcnNMaXN0ID0gcmVwYWlycztcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHJlcGFpcnNDaG9vc2U6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR0aGlzLnJlcGFpcnNTdGF0ZSA9IGU7XHJcblx0XHRcdFx0dGhpcy5yZXBhaXJzTGlzdCA9IFtdO1xyXG5cdFx0XHRcdHRoaXMubG9va1JlcGFpcnMoKTtcclxuXHRcdFx0XHR0aGlzLmdvVG9wKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdG1hcmtSZWFkOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgndXNlci91c2VyUmVwYWlyZWQvc3RhdHVzP2lkPScgKyBlLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdFx0XHR0aGlzLmxvb2tSZXBhaXJzKCk7XHJcblx0XHRcdFx0XHRcdGxldCBsaXN0ID0gdGhpcy5yZXBhaXJzTGlzdDtcclxuXHRcdFx0XHRcdFx0aWYgKGxpc3QubGVuZ3RoID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg5oql5L+uficsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucmVwYWlyc0NvdW50ID0gJydcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRsZXQgY291bnQgPSB0aGlzLnJlcGFpcnNDb3VudDtcclxuXHRcdFx0XHRcdFx0XHRjb3VudCA9IGNvdW50IC0gMTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnJlcGFpcnNDb3VudCA9IGNvdW50O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0bW9ya1JlcGFpcnM6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0bGV0IHN0YXR1cyA9ICcnO1xyXG5cdFx0XHRcdHZhciBwYWdlID0gdGhhdC5wYWdlICsgMTtcclxuXHRcdFx0XHRsZXQgc3RhdGUgPSB0aGlzLnJlcGFpcnNTdGF0ZVxyXG5cdFx0XHRcdGlmIChzdGF0ZSA9PSAxKSB7XHJcblx0XHRcdFx0XHRzdGF0dXMgPSAwXHJcblx0XHRcdFx0fSBlbHNlIGlmIChzdGF0ZSA9PSAyKSB7XHJcblx0XHRcdFx0XHRzdGF0dXMgPSAxXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL3VzZXJSZXBhaXJlZD9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8gKyAnJnN0YXR1cz0nICsgc3RhdHVzICsgJyZwYWdlPScgKyBwYWdlLCAnJywgJ0dFVCcpLnRoZW4oXHJcblx0XHRcdFx0XHRyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBsaXN0ID0gcmVzLmRhdGEuZGF0YTtcclxuXHRcdFx0XHRcdFx0XHRpZiAobGlzdC5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnJlcGFpcnNMaXN0ID0gdGhhdC5yZXBhaXJzTGlzdC5jb25jYXQobGlzdCk7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnBhZ2UgPSBwYWdlO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmsqHmnInmm7TlpJrmlbDmja7kuoZ+JyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0bW9yZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dGhpcy5tb3JlU2hvdyA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNjYW5Db2RlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coJ3NjYW5Db2RlJylcclxuXHRcdFx0XHR1bmkuc2NhbkNvZGUoe1xyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGxldCBpbmRleCA9IHJlcy5yZXN1bHQubGFzdEluZGV4T2YoXCJcXD1cIik7XHJcblx0XHRcdFx0XHRcdHZhciBjb2RlID0gcmVzLnJlc3VsdC5zdWJzdHJpbmcoaW5kZXggKyAxLCByZXMucmVzdWx0Lmxlbmd0aCk7XHJcblx0XHRcdFx0XHRcdHRoYXQuYmlrZUlkID0gY29kZTtcclxuXHRcdFx0XHRcdFx0dGhhdC5nZXRCaWtlX2luZm8oY29kZSlcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6ICfmiYvliqjovpPlhaXovabovobmoIflj7cnLFxyXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5jb25maXJtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFudWFsSW5wL21hbnVhbElucCcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOiOt+WPlui9pui+huS/oeaBr1xyXG5cdFx0XHRnZXRCaWtlX2luZm86IGZ1bmN0aW9uKGJpa2VJZCA9IGZhbHNlKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGJpa2VJZClcclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0aWYgKHR5cGVvZiBiaWtlSWQgPT09ICdvYmplY3QnKSB7XHJcblx0XHRcdFx0XHRiaWtlSWQgPSB0aGlzLmJpa2VJZFxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHQvLyBiaWtlSWQgPSB0aGlzLmJpa2VJZFxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGhpcy5iaWtlX25vID0gYmlrZUlkO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYmlrZUlkLCAnYmlrZUlkJylcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9nZXRCaWtlSW5mbz9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8sICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICfojrflj5bovabovobkv6Hmga8nKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmJpa2VfaW5mbyA9PSAnJykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNpZGVTaG93ID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg6K+l6L2m6L6G5L+h5oGvficsXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgJ+i9pui+huS/oeaBrycpXHJcblx0XHRcdFx0XHRcdHRoaXMuYmlrZURldGFpbCA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNpZGVTaG93ID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5mb290ZXJTaG93ID0gZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAocmVzLmRhdGEuYmlrZV9pbmZvLnRhYl9uYW1lID09ICfkuK3mjqfnprvnur8nKSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKDExMTEpXHJcblx0XHRcdFx0XHRcdHVuaS5vcGVuQmx1ZXRvb3RoQWRhcHRlcih7XHJcblx0XHRcdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuY2hlY2tlZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRmYWlsKGVycikge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKVxyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5o+Q56S6JyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ+W9k+WJjei9pui+huivt+W8gOWQr+iTneeJmei/m+ihjOaTjeS9nCcsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5jaGVja2VkID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoXCJ3b3JrX29yZGVyL2xpc3Q/cGxhbm5lZD1cIiArIDEgKyBcIiZiaWtlX25vPVwiICsgdGhpcy5iaWtlX25vLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzLmRhdGEubWV0YS50b3RhbCwgJ+W3peWNleaVsOmHjycpXHJcblx0XHRcdFx0XHRcdHRoaXMud29ya0NvdW50ID0gcmVzLmRhdGEubWV0YS50b3RhbDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL3VzZXJSZXBhaXJlZD9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8gKyAnJiZzdGF0dXM9JyArIDAsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzLmRhdGEpXHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMuZGF0YS5tZXRhLnRvdGFsLCAn5oql5L+u5pWw6YePJylcclxuXHRcdFx0XHRcdHRoaXMucmVwYWlyc0NvdW50ID0gcmVzLmRhdGEubWV0YS50b3RhbFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v6I635Y+W6L6T5YWl5qGG55qE5YC8XHJcblx0XHRcdGJpbmRLZXlJbnB1dDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUuZGV0YWlsLnZhbHVlLCAxMTExMSlcclxuXHRcdFx0XHR0aGlzLmJpa2VJZCA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRyZWZyZXNoX3Bvd2VyOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLmdldEJpa2VfaW5mbyh0aGlzLmJpa2Vfbm8pXHJcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WIt+aWsOWujOaIkCcsXHJcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRiaWtlUG9zaXRpb246IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy4vY2FyX3Bvc2l0aW9uP2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkICsgJyZiaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8sXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVjZW50T3JkZXI6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKDEyMylcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcuLi9tYW5hZ2UvcmVjZW50T3JkZXI/aWQ9JyArIHRoaXMuYmlrZURldGFpbC5iaWtlX2luZm8uaWRcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRtb2RpZnk6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdC8v6Lez6L2s5L+u5pS56L2m6L6G5L+h5oGvXHJcblx0XHRcdFx0dmFyIGJpa2UgPSB0aGlzLmJpa2VEZXRhaWwuYmlrZV9pbmZvXHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiAnLi9hbWVuZENhcj9pZD0nICsgYmlrZS5pZCArICcmYmlrZV9ubz0nICsgdGhpcy5iaWtlX25vICsgJyZib3hfbm89JyArIGJpa2UuYm94X25vLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOm4o+esm1xyXG5cdFx0XHR3aGlzdGxlOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKHRoaXMuY2hlY2tlZCkge1xyXG5cdFx0XHRcdFx0Ymx1TS5jb25uZWN0RGVpdmVjZSh0aGF0LmJpa2VEZXRhaWwuYmlrZV9pbmZvLmJveF9ubywgQ01ELmJlbGwpO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WTjemTg+S4rS4uLidcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9iaWtlQmVsbD9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICflk43pk4PmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5byA6ZSBXHJcblx0XHRcdHVubG9jazogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGlzLmNoZWNrZWQpIHtcclxuXHRcdFx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5ib3hfbm8sIENNRC51bmxvY2spO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+W8gOmUgeS4rS4uLicsXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2Uvb3BlbkJpa2VMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5iaWtlX2luZm8uaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+W8gOmUgeaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/lhbPplIFcclxuXHRcdFx0Y2xvc2VfbG9jazogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGlzLmNoZWNrZWQpIHtcclxuXHRcdFx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5ib3hfbm8sIENNRC5sb2NrKTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICflhbPplIHkuK0uLi4nLFxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2Nsb3NlQmlrZUxvY2s/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5YWz6ZSB5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0YmlrZV9kZXRhaWw6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdC8v6L2m6L6G6K+m5oOF6aG16Z2iICBcclxuXHRcdFx0XHR2YXIgYmlrZSA9IHRoaXMuYmlrZURldGFpbC5iaWtlX2luZm87XHJcblx0XHRcdFx0Y29uc29sZS5sb2coYmlrZSlcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcuLi9tYW5hZ2UvYmlrZURldGFpbD9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8gKyAnJmlkPScgKyBiaWtlLmlkXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVxYWlyOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6ICcuL3JlcWFpcj9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm9cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+W8gOeUteaxoOmUgVxyXG5cdFx0XHRiYXR0ZXJ5X2xvYWQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XHJcblx0XHRcdFx0XHRibHVNLmNvbm5lY3REZWl2ZWNlKHRoYXQuYmlrZURldGFpbC5iaWtlX2luZm8uYm94X25vLCBDTUQuYmF0dGVyeVVubG9jayk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn5byA55S15rGg6ZSB5LitLi4uJyxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9vcGVuQmF0dGVyeUxvY2s/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5byA55S15rGg6ZSB5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0fSxcclxuXHRcdFx0cmVuZXdhbFBvd2VyOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHQvL+abtOaWsOeUtemHj1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+abtOaWsOeUtemHj+S4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9uZXdCaWtlQmF0dGVyeU1TRz9iaWtlX2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmm7TmlrDnlLXph4/miJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHJlbmV3YWxMb2NhdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly/mm7TmlrDkvY3nva5cclxuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdFx0dGl0bGU6ICfmm7TmlrDkvY3nva7kuK0uLi4nLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbmV3QmlrZUxvY2F0aW9uP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5iaWtlX2luZm8uaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+abtOaWsOS9jee9ruaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVuZXdhbDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0Ly/ph43lkK/kuK3mjqdcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVib290Qm94P2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5iaWtlX2luZm8uaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+mHjeWQr+S4reaOp+aIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6K6+5Li65YGc6L2m5Yy6XHJcblx0XHRcdHJlY292ZXI6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL3JlcGFpckluUGFya2luZz9iaWtlX2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmk43kvZzmiJDlip8nLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmk43kvZzlpLHotKUnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5LiK57q/XHJcblx0XHRcdG9ubGluZTogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbG9naW4/YmlrZV9pZD0nICsgdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5LiK57q/5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+S4i+e6v1xyXG5cdFx0XHRPZmZsaW5lOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9sb2dvdXQ/YmlrZV9pZD0nICsgdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXHJcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5LiL57q/5oiQ5YqfJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKGFwcC5yZXF1ZXN0KCkpXHJcblx0XHRcdGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpLCAnYWxsQXJlYScpXHJcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0dGhhdC5zY3JlZW5IZWlnaHQgPSBhcHAuZ2xvYmFsRGF0YS5zY3JlZW5IZWlnaHQ7XHJcblx0XHRcdGxldCB0aW1lciA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0aWYgKHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpKSB7XHJcblx0XHRcdFx0XHR0aGF0LmFsbEFyZWEgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcclxuXHRcdFx0XHRcdHRoYXQuYWxsU3RhdHVzID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxTdGF0ZScpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LmFsbEFyZWEpXHJcblx0XHRcdFx0bGV0IGN1clZhbCA9IHVuaS5nZXRTdG9yYWdlU3luYygnY3VyVmFsJylcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhjdXJWYWwsICdsb2dfY3VyVmFsJylcclxuXHRcdFx0XHRpZiAoY3VyVmFsKSB7XHJcblx0XHRcdFx0XHR0aGF0LmFyZWEgPSBjdXJWYWw7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBhcmVhSUQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJylcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhhcmVhSUQsICdsb2dfYXJlYUlEJylcclxuXHRcdFx0XHRpZiAoYXJlYUlEKSB7XHJcblx0XHRcdFx0XHR0aGF0LmFyZWFJRCA9IGFyZWFJRDtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0bGV0IGlkID0gdGhhdC5hbGxBcmVhWzBdLmFyZWFJRFxyXG5cdFx0XHRcdFx0dGhhdC5hcmVhSUQgPSBpZFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSwgNTAwKVxyXG5cdFx0XHRpZiAob3B0aW9ucy5iaWtlX25vKSB7XHJcblx0XHRcdFx0dGhhdC5nZXRCaWtlX2luZm8ob3B0aW9ucy5iaWtlX25vKVxyXG5cdFx0XHRcdHRoYXQuYmlrZV9ubyA9IG9wdGlvbnMuYmlrZV9ub1xyXG5cdFx0XHR9XHJcblx0XHRcdGlmIChvcHRpb25zLnNjYW4gPT0gMSkge1xyXG5cdFx0XHRcdHRoaXMuc2NhbkNvZGUoKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHR9XHJcbjwvc2NyaXB0PlxyXG48c3R5bGU+XHJcblx0QGltcG9ydCB1cmwoJy9zdGF0aWMvYmFzZS5jc3MnKTtcclxuPC9zdHlsZT5cclxuPHN0eWxlPlxyXG5cdHBhZ2Uge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9XHJcblxyXG5cdC5pbWFnZSB7XHJcblx0XHRoZWlnaHQ6IDMwdXB4O1xyXG5cdFx0d2lkdGg6IDMwdXB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAzMHVweDtcclxuXHJcblx0fVxyXG5cclxuXHQuc2lkZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0ei1pbmRleDogNzc3NztcclxuXHRcdGJhY2tncm91bmQ6ICNlZmVmZWY7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRwYWRkaW5nLXRvcDogMTV1cHg7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdH1cclxuXHJcblx0LnJlY29yZCxcclxuXHQuYmlrZU5vLFxyXG5cdC5wb3NpdGlvbixcclxuXHQub3JkZXIsXHJcblx0LmRpcmVjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0d2lkdGg6IDkyJTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0cGFkZGluZzogMCAxNXVweDtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0fVxyXG5cclxuXHQub3JkZXIge1xyXG5cdFx0bWFyZ2luLXRvcDogMjB1cHg7XHJcblx0fVxyXG5cclxuXHQuc2lkZSAucmVjb3JkIHtcclxuXHRcdGhlaWdodDogNiU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdC8qIGRpc3BsYXk6IGZsZXg7XHJcblx0ICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjsgKi9cclxuXHR9XHJcblxyXG5cdC5zaWRlIC5yZWNvcmQgaW1hZ2Uge1xyXG5cdFx0aGVpZ2h0OiA0OHVweDtcclxuXHRcdHdpZHRoOiA0OHVweDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LnNpZGUgLnJlY29yZCB0ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRjb2xvcjogIzhhOGE4YTtcclxuXHR9XHJcblxyXG5cdC5iaWtlTm8ge1xyXG5cdFx0aGVpZ2h0OiA3JTtcclxuXHRcdG1hcmdpbjogMTZ1cHggYXV0byAxM3VweDtcclxuXHR9XHJcblxyXG5cdC5iaWtlTm8gaW5wdXQge1xyXG5cdFx0d2lkdGg6IDYwJTtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0XHRwYWRkaW5nOiAwIDAgNXVweCA1dXB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXVweCBzb2xpZCAjZDJkMmQyO1xyXG5cdH1cclxuXHJcblx0Lm1pZGRsZS1uYXYge1xyXG5cdFx0cGFkZGluZzogMjZ1cHggMDtcclxuXHRcdGZvbnQtc2l6ZTogMzR1cHg7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Y29sb3I6ICMzNTM1MzU7XHJcblx0XHR3aWR0aDogOTIlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwdXB4O1xyXG5cclxuXHJcblx0fVxyXG5cclxuXHQubmF2LWNoaWxkIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdH1cclxuXHJcblx0Lm5hdi1jaGlsZCBpbWFnZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0aGVpZ2h0OiA0MnVweDtcclxuXHRcdHdpZHRoOiA0MnVweDtcclxuXHJcblx0fVxyXG5cclxuXHQubmF2LWNoaWxkIHZpZXcge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMnVweDtcclxuXHR9XHJcblxyXG5cdC5iaWtlTm8gLnBsYWNlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHRjb2xvcjogIzRkNGQ0ZDg4O1xyXG5cdH1cclxuXHJcblx0LndlaXpoaSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0aGVpZ2h0OiA0MnVweDtcclxuXHRcdHdpZHRoOiA0MnVweDtcclxuXHJcblx0fVxyXG5cclxuXHQud2VpemhpMSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEydXB4O1xyXG5cdH1cclxuXHJcblx0LyogXHQuYmlrZU5vIHRleHQge1xyXG5cdCAgZm9udC1zaXplOiAyNHVweDtcclxuXHJcblx0ICBwYWRkaW5nOiAxMHVweCAyMHVweDtcclxuXHQgY29sb3I6ICNmZmY7XHJcblx0ICBib3JkZXItcmFkaXVzOiAxMHVweDtcclxuXHR9ICovXHJcblx0LmZpbmQge1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRmb250LXNpemU6IDI0dXB4O1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCAxdXB4ICNEMkQyRDI7XHJcblx0XHRwYWRkaW5nOiAxMHVweCAyMHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LnNhb21pYW8ge1xyXG5cdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRmb250LXNpemU6IDI0dXB4O1xyXG5cclxuXHRcdGJhY2tncm91bmQ6ICNFQzYxMDA7XHJcblx0XHRwYWRkaW5nOiAxMHVweCAyMHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LmluZm8ge1xyXG5cdFx0aGVpZ2h0OiAxOSU7XHJcblx0XHR3aWR0aDogOTIlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuaW5mb0NvbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHR9XHJcblxyXG5cdC5pbmZvQ29uIGltYWdlIHtcclxuXHRcdGhlaWdodDogMTg5dXB4O1xyXG5cdFx0d2lkdGg6IDIwM3VweDtcclxuXHR9XHJcblxyXG5cdC5pY29uZm9udCB7XHJcblx0XHRmb250LXNpemU6IDY2dXB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cclxuXHQuaW5mb0xlZnQge1xyXG5cdFx0LyogZmxleDogMTsgKi9cclxuXHRcdG1hcmdpbi10b3A6IDI4dXB4O1xyXG5cdH1cclxuXHJcblx0LmluZm8gLmluZm9MZWZ0IHtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHQvKiAgbWFyZ2luLWxlZnQ6IDEwMHVweDsgKi9cclxuXHR9XHJcblxyXG5cdC5pbmZvIC5pbmZvTGVmdCB2aWV3LFxyXG5cdC5sYXN0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHQvKiBjb2xvcjogI2ZmZiAqL1xyXG5cdFx0O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR9XHJcblxyXG5cdC5sYXN0IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxMDB1cHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjB1cHg7XHJcblx0fVxyXG5cclxuXHQuaW5mb1JpZ2h0IGltYWdlIHtcclxuXHRcdGhlaWdodDogNTB1cHg7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMzB1cHg7XHJcblx0XHR3aWR0aDogNTB1cHg7XHJcblx0fVxyXG5cclxuXHQucG9zaXRpb24ge1xyXG5cdFx0aGVpZ2h0OiA2JTtcclxuXHRcdG1hcmdpbjogMCBhdXRvIDIwdXB4O1xyXG5cdH1cclxuXHJcblx0LnBvc2l0aW9uIHRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdGNvbG9yOiAjMjgyODI4O1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyIHtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0cGFkZGluZzogMTB1cHggMTV1cHg7XHJcblx0fVxyXG5cclxuXHQub3JkZXIgLnJlY2VudCB7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0cGFkZGluZzogMTB1cHggMDtcclxuXHR9XHJcblxyXG5cdC5vcmRlciB2aWV3IHtcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1dXB4O1xyXG5cdH1cclxuXHJcblx0LmRpcmVjdGl2ZSB7XHJcblx0XHRtYXJnaW46IDIwdXB4IGF1dG8gMDtcclxuXHR9XHJcblxyXG5cdC5kaXJlY3RpdmUgdmlldyB7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0Y29sb3I6ICMyODI4Mjg7XHJcblx0fVxyXG5cclxuXHQuZGlyZWN0aXZlIHRleHQge1xyXG5cdFx0Y29sb3I6ICM1NzU3NTc7XHJcblx0fVxyXG5cclxuXHQuZGlyZWN0aXZlIC5kaXJlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjR1cHg7XHJcblx0XHRwYWRkaW5nOiAxNXVweCAwIDV1cHggMjB1cHg7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxuXHJcblx0LmRpcmVjdGl2ZSAuaWNvbmZvbnQge1xyXG5cdFx0Zm9udC1zaXplOiA1NXVweDtcclxuXHR9XHJcblxyXG5cdC5kaXJlY3RpdmUgLmxpc3Qge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdH1cclxuXHJcblx0LmRpcmVjdGl2ZSAubGlzdCB2aWV3IHtcclxuXHRcdHdpZHRoOiAzMy4zMyU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQuaWNvbmxhYmEsXHJcblx0Lmljb25rYWlzdW8sXHJcblx0Lmljb25ndWFuc3VvIHtcclxuXHRcdGNvbG9yOiAjZjM4MTA2O1xyXG5cdH1cclxuXHJcblx0Lm1pZGRsZS1zdGF0ZSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdH1cclxuXHJcblx0Lm1pZGRsZS10aW1lIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0XHRtYXJnaW4tbGVmdDogMzB1cHg7XHJcblx0fVxyXG5cclxuXHQuYmFja2dyb3VuZCB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMjgyODI4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDB1cHg7XHJcblx0XHRsZWZ0OiAwdXB4O1xyXG5cdFx0ei1pbmRleDogODg4ODtcclxuXHRcdG9wYWNpdHk6IDAuNTtcclxuXHR9XHJcblxyXG5cdC5tb3JlIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHR0b3A6IDQxJTtcclxuXHRcdGxlZnQ6IDI4JTtcclxuXHRcdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cdFx0ei1pbmRleDogOTk5OTtcclxuXHRcdHdpZHRoOiAzOTJ1cHg7XHJcblx0XHRoZWlnaHQ6IDM5MnVweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjI5LCAyMjksIDIyOSwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHVweDtcclxuXHR9XHJcblxyXG5cdC5tb3JlIHZpZXcge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC53b3JrVGl0bGUge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiAzM3VweCAwIDIwdXB4O1xyXG5cdH1cclxuXHJcblx0LndvcmtUaXRsZSB0ZXh0IHtcclxuXHRcdGZvbnQtc2l6ZTogMzJ1cHg7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdH1cclxuXHJcblxyXG5cdC53b3JrVGFiIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAyMHVweCAwO1xyXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdHBhZGRpbmc6IDE1dXB4XHJcblx0fVxyXG5cclxuXHQud29ya1RhYiB2aWV3IHtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0XHRwYWRkaW5nOiAxNXVweCA4MHVweDtcclxuXHRcdGNvbG9yOiAjNjRlZmRhO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgIzY0ZWZkYTtcclxuXHR9XHJcblxyXG5cdC53b3JrVGFiIHZpZXc6Zmlyc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTV1cHg7XHJcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxNXVweDtcclxuXHR9XHJcblxyXG5cdC53b3JrVGFiIHZpZXc6bGFzdC1jaGlsZCB7XHJcblx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTV1cHg7XHJcblx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTV1cHg7XHJcblx0fVxyXG5cclxuXHQud29ya1RhYiAuY3VyIHtcclxuXHRcdGJhY2tncm91bmQ6ICM2NGVmZGE7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcblxyXG5cdC5ubyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXRvcDogMTgwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm5vIGltYWdlIHtcclxuXHRcdHdpZHRoOiAyMDB1cHg7XHJcblx0XHRoZWlnaHQ6IDIwMHVweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwdXB4O1xyXG5cdH1cclxuXHJcblx0Lndvcmsge1xyXG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGJvdHRvbTogMCU7XHJcblx0XHRsZWZ0OiAwJTtcclxuXHRcdHotaW5kZXg6IDk5OTk7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1dXB4O1xyXG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDI1dXB4O1xyXG5cdH1cclxuXHJcblx0LndhaXQge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItcmFkaXVzOiAxMHVweDtcclxuXHRcdGhlaWdodDogODQwdXB4O1xyXG5cdH1cclxuXHJcblxyXG5cclxuXHQud2FpdENvbiB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRib3JkZXI6IDJ1cHggc29saWQgI2VlZTtcclxuXHRcdGhlaWdodDogMTQwdXB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA1dXB4ICNlZWU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHVweDtcclxuXHRcdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0fVxyXG5cclxuXHQuY29udGVudCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDE0MHVweDtcclxuXHRcdHotaW5kZXg6IDU7XHJcblx0XHR0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1pbi1vdXQ7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwdXB4O1xyXG5cdFx0Zm9udC1zaXplOiAyNHVweDtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmNvbnRlbnQgLnJlYXNvbiB7XHJcblx0XHQvKiBib3JkZXItdG9wOjF1cHggc29saWQgI0Q3RDhEOTtcclxuXHQgIGJvcmRlci1ib3R0b206MXVweCBzb2xpZCAjRDdEOEQ5OyAqL1xyXG5cdFx0aGVpZ2h0OiA0MCU7XHJcblx0fVxyXG5cclxuXHQuY29udGVudCB2aWV3IHtcclxuXHRcdHBhZGRpbmctbGVmdDogMzB1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDI2dXB4O1xyXG5cdH1cclxuXHJcblx0LmRlbCB7XHJcblx0XHR3aWR0aDogMjAwdXB4O1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0ei1pbmRleDogNDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHR9XHJcblxyXG5cdC5nZXQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzE4ZDViOTtcclxuXHR9XHJcblxyXG5cdC5maW5pc2gge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzE4ZDViOTtcclxuXHR9XHJcblxyXG5cdC53b3JrQnRuIHtcclxuXHRcdHdpZHRoOiA5MiU7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiA2JTtcclxuXHRcdG1hcmdpbi10b3A6IDE1dXB4O1xyXG5cdH1cclxuXHJcblx0LndvcmtCdG4gLmNvdW50IHtcclxuXHRcdC8qIHBhZGRpbmc6IDZ1cHg7ICovXHJcblx0XHRwYWRkaW5nOiAzdXB4IDE0dXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YwMDtcclxuXHRcdGZvbnQtc2l6ZTogMjJ1cHg7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMTJ1cHg7XHJcblx0XHRsZWZ0OiAxOTl1cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHVweDtcclxuXHR9XHJcblxyXG5cdC5zaGVsdGVycyxcclxuXHQuaGFzIHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdHBhZGRpbmc6IDIwdXB4IDA7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxuXHJcblx0LnNoZWx0ZXJzIHtcclxuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTB1cHg7XHJcblx0XHRib3JkZXItcmlnaHQ6IDF1cHggc29saWQgI2VlZTtcclxuXHR9XHJcblxyXG5cdC5oYXMge1xyXG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LmNoYW5nZVdvcmsge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzE4ZDViOTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHJcblxyXG5cdC5tZWFkIHtcclxuXHRcdGhlaWdodDogMzAwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm1lYWQgLmNvbnRlbnQge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBpbml0aWFsO1xyXG5cdFx0aGVpZ2h0OiAzMDB1cHg7XHJcblx0fVxyXG5cclxuXHQubWVhZCAudGl0bGUge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDgwdXB4O1xyXG5cdFx0aGVpZ2h0OiA4MHVweDtcclxuXHRcdHBhZGRpbmc6IDAgMjB1cHg7XHJcblx0fVxyXG5cclxuXHQubWVhZCAudGl0bGUgdmlldyB7XHJcblx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcblx0Lm1lYWQgLnRpdGxlIC5sZWZ0IHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQubWVhZCAudGl0bGUgLnJpZ2h0IHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0aGVpZ2h0OiAxMDAlXHJcblx0fVxyXG5cclxuXHJcblxyXG5cdC5tZWFkIC5ib2R5IHtcclxuXHRcdHBhZGRpbmc6IDIwdXB4IDIwdXB4O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXVweCBzb2xpZCAjZDdkOGQ4O1xyXG5cdFx0Ym9yZGVyLXRvcDogMXVweCBzb2xpZCAjZDdkOGQ4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGhlaWdodDogMTAwdXB4O1xyXG5cdH1cclxuXHJcblx0Lm1lYWQgLmJvZHkgLmxlZnQge1xyXG5cdFx0d2lkdGg6IDIwJTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0fVxyXG5cclxuXHQubWVhZCAuYm9keSAucmlnaHQge1xyXG5cdFx0d2lkdGg6IDgwJTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHBhZGRpbmctbGVmdDogMzB1cHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdH1cclxuXHJcblx0Lm1lYWQgLmJvZHkgLnJpZ2h0IC5kZXNjcmliZSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGNvbG9yOiAjNTU1O1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdFx0LXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHR9XHJcblxyXG5cdC5tZWFkIC5ib2R5IHZpZXcge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHR9XHJcblxyXG5cdC5tZWFkIC5yZWFzb24ge1xyXG5cdFx0ZmxleC1ncm93OiAwO1xyXG5cdFx0aGVpZ2h0OiA1MHVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHVweDtcclxuXHR9XHJcblxyXG5cdC5tZWFkIC50aW1lIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiA4MHVweDtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHRjb2xvcjogIzk5OTtcclxuXHRcdHBhZGRpbmc6IDAgMjB1cHg7XHJcblx0fVxyXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///366\n");
  34569. /***/ }),
  34570. /* 367 */
  34571. /*!*******************************************************************!*\
  34572. !*** C:/Users/001/Desktop/运维端/pages/index/reqair.vue?mpType=page ***!
  34573. \*******************************************************************/
  34574. =======
  34575. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _bluWKM = __webpack_require__(/*! ../../static/js/bluWKM.js */ 44); //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar app = getApp();var bluM = new _bluWKM.BluetoothManager();var _default = { data: function data() {return { bike_no: '', //车牌号\n footerShow: true, allArea: [], area: 0, ele: 0, status: 0, day: 0, show: false, //车子详情的布尔值\n id: '', //停车区域的ID\n stopP: false, //判断是否显示停车区域\n polygons1: [], //可骑行区域 先用这个变量代表\n controls: [], //地图上当前定位的箭头\n background: '', //弹窗的背景颜色\n over: '', //关闭图标\n location: '', //是否有位置权限\n bluetooth: false, //是否开启蓝牙 false开始 true未开启\n box_no: '', //中控编号\n bikeDetail: [], bikeId: '', areaID: '', low_power: '', state: '', use_state: '', parkAreaShow: false, //还车点是否显示\n noParkAreaShow: true, //禁停区是否显示\n ridding: true, moreShow: false, screenHeight: '', //屏幕可视高度\n areas: [], parking: [], parking_points: [], no_parking: [], no_parking_points: [], parkShow: '', switch1Checked: '', delBtnWidth: 200, //删除或完成 按钮宽度\n typeName: '', //1 待认领工单 2已领工单\n page: 1, //当前页面\n workShow: false, //工单弹窗\n workCount: '', //侧边栏报修数量(未读)\n list: [], //工单列表\n workState: 1, //工单列表状态【1 待领取 2已领】\n repairsList: [], //报修列表\n repairsCount: '', //侧边栏工单数量(未认领)\n repairsState: 1, //报修列表状态【1 未读 2已读】\n repairsShow: false, //是否显示报修弹窗 【false 不显示 true 显示】\n topNum: 0, checked: false //是否只开启蓝牙操控\n };}, methods: { touchS: function touchS(e) {// console.log(e)\n if (e.touches.length == 1) {this.startX = e.touches[0].clientX; //设置触摸起始点水平方向位置\n }}, touchM: function touchM(e) {// console.log(this.data.list[index].txtStyle)\n // console.log(e);\n if (e.touches.length == 1) {//手指移动时水平方向位置\n var moveX = e.touches[0].clientX; //手指起始点位置与移动期间的差值\n var disX = this.startX - moveX; // console.log(disX,'disX')\n var delBtnWidth = this.delBtnWidth;var txtStyle = \"\";if (disX == 0 || disX < 0) {//如果移动距离小于等于0,文本层位置不变\n txtStyle = \"left:0upx\";} else if (disX > 0) {} //移动距离大于0,文本层left值等于手指移动距离\n // txtStyle = \"left:-\" + disX + \"upx\";\n // if (disX >= delBtnWidth) {\n // \t//控制手指移动距离最大值为删除按钮的宽度\n // \ttxtStyle = \"left:-\" + delBtnWidth + \"upx\";\n // }\n //获取手指触摸的是哪一项\n var index = e.currentTarget.dataset.index;var list = this.list;list[index].txtStyle = txtStyle; // //更新列表的状态\n this.list = list;}}, touchE: function touchE(e) {// console.log(e)\n if (e.changedTouches.length == 1) {//手指移动结束后水平位置\n var endX = e.changedTouches[0].clientX; //触摸开始与结束,手指移动的距离\n var disX = this.startX - endX;var delBtnWidth = this.delBtnWidth; //如果距离小于删除按钮的1/2,不显示删除按钮\n var txtStyle = disX > delBtnWidth / 2 ? \"left:-\" + delBtnWidth + \"upx\" : \"left:0upx\"; //获取手指触摸的是哪一项\n var index = e.currentTarget.dataset.index;var list = this.list;list[index].txtStyle = txtStyle; // //更新列表的状态\n this.list = list;__f__(\"log\", txtStyle, \" at pages/index/bike_detail.vue:379\");}}, switchChange: function switchChange(e) {__f__(\"log\", 'switch1 发生 change 事件,携带值为', e.target.value, \" at pages/index/bike_detail.vue:383\");this.checked = e.target.value;}, goTop: function goTop(e) {// 一键回到顶部\n this.topNum = 0;}, coverHidn: function coverHidn(e) {if (e == 1) {this.moreShow = false;this.workState = 1;} else if (e == 2) {this.workShow = false;this.typeName = '';} else if (e == 3) {this.repairsShow = false;this.typeName = '';this.repairsState = 1;}}, phone: function phone(e) {__f__(\"log\", 1111, \" at pages/index/bike_detail.vue:403\");uni.makePhoneCall({ phoneNumber: e.currentTarget.dataset.phone });}, showPop: function showPop(e) {if (e == 1) {this.workShow = true;this.lookWork();} else if (e == 2) {this.repairsShow = true;this.lookRepairs();}}, workChoose: function workChoose(e) {uni.showLoading({ title: '加载中...' });this.workState = e;this.list = [];this.lookWork();this.goTop();}, //工单列表 \n lookWork: function lookWork() {var _this = this;uni.showLoading({ title: '加载中...' });var that = this;var planned = '';var url = \"\";var state = that.workState; // console.log(state, 'workState')\n __f__(\"log\", that.bikeId, 'bikeID', \" at pages/index/bike_detail.vue:436\");if (state == 1) {planned = 1;url = \"work_order/list?planned=\" + planned + \"&bike_no=\" + that.bike_no;} else {var _planned = 2;url = 'work_order/myWorkOrderList?planned=' + _planned + \"&bike_no=\" + that.bike_no;}app.request(url, '', 'GET').then(function (res) {uni.hideLoading();var work = res.data.data; // console.log(work, '工单列表')\n if (work.length == 0) {// uni.showToast({\n // title: '暂无工单~',\n // icon: 'none'\n // })\n _this.list = '';} else {work.map(function (i) {i.txtStyle = 'left:0upx';});_this.workShow = true;_this.list = work; // console.log(that.data.list, 'list')\n }});}, //接单\n getWork: function getWork(e) {var _this2 = this;uni.showLoading({ title: '领取中...' });__f__(\"log\", e, 'getWorkid', \" at pages/index/bike_detail.vue:469\");app.request('work_order/receive?work_order_id=' + e, '', 'GET').then(function (res) {uni.hideLoading();__f__(\"log\", res, \" at pages/index/bike_detail.vue:472\");if (res.statusCode == 200) {uni.showToast({ title: '接单成功', icon: \"none\" });var work = _this2.list;work.map(function (i, index) {if (i.id == id) {work.splice(index, 1);__f__(\"log\", i, \" at pages/index/bike_detail.vue:482\");}});var count = _this2.workCount;count = count - 1;_this2.list = work;_this2.workCount = count;if (work.length == 0) {uni.showToast({ title: '该车辆已无待领工单~', icon: 'none' });_this2.workShow = false;_this2.workCount = '';}}});}, //完成\n finishWork: function finishWork(e) {var _this3 = this;uni.showLoading({ title: '操作中...' }); // console.log('finishWork')\n var id = e.currentTarget.dataset.id;__f__(\"log\", id, 'finishWorkId', \" at pages/index/bike_detail.vue:507\");app.request('work_order/over?work_order_id=' + id, '', 'GET').then(function (res) {uni.hideLoading();if (res.statusCode == 200) {__f__(\"log\", res, \" at pages/index/bike_detail.vue:511\");uni.showToast({ title: '操作成功', icon: \"none\" });var list = _this3.list;list.map(function (i, index) {if (i.id == id) {__f__(\"log\", i, \" at pages/index/bike_detail.vue:519\");list.splice(index, 1);}});_this3.list = list;if (list.length == 0) {uni.showToast({ title: '已完成所有认领工单~', icon: 'none' });_this3.workShow = false;}}});}, //上拉加载\n moreWork: function moreWork() {var _this4 = this;uni.showLoading({ title: '加载中...' });var that = this;var page = that.page + 1;var planned = '';var url = \"\";if (that.workState == 1) {planned = 1;url = \"work_order/list?planned=\" + planned + \"&bike_no=\" + that.bike_no + '&page=' + page;} else {planned = 2;url = 'work_order/myWorkOrderList?planned=' + planned + \"&bike_no=\" + that.bike_no + '&page=' + page;}app.request(url, '', 'GET').then(function (res) {uni.hideLoading();if (res.data.data.length > 0) {var work = res.data.data;work.map(function (i) {i.txtStyle = 'left:0upx';});_this4.workShow = true;_this4.list = that.list.concat(work);_this4.page = page;} else {uni.showToast({ title: '没有更多数据了~', icon: 'none' });}});}, //报修列表\n lookRepairs: function lookRepairs() {var _this5 = this;uni.showLoading({ title: '加载中...' });var status = '';var state = this.repairsState;if (state == 1) {status = 0;} else if (state == 2) {status = 1;}app.request('user/userRepaired?bike_no=' + this.bike_no + '&status=' + status, '', 'GET').then(function (res) {if (res.statusCode == 200) {uni.hideLoading(); // console.log(res, '报修列表')\n var list = res.data.data;if (list.length == 0) {// uni.showToast({\n // title: '暂无报修记录~',\n // icon: 'none'\n // })\n _this5.repairsList = [];} else {var repairs = res.data.data;repairs.map(function (i) {i.txtStyle = 'left:0upx';});_this5.repairsList = repairs;}}});},\n repairsChoose: function repairsChoose(e) {\n this.repairsState = e;\n this.repairsList = [];\n this.lookRepairs();\n this.goTop();\n },\n markRead: function markRead(e) {var _this6 = this;\n __f__(\"log\", e, \" at pages/index/bike_detail.vue:608\");\n app.request('user/userRepaired/status?id=' + e, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n __f__(\"log\", res, \" at pages/index/bike_detail.vue:611\");\n _this6.lookRepairs();\n var list = _this6.repairsList;\n if (list.length == 0) {\n uni.showToast({\n title: '暂无报修~',\n icon: 'none' });\n\n _this6.repairsCount = '';\n } else {\n var count = _this6.repairsCount;\n count = count - 1;\n _this6.repairsCount = count;\n }\n }\n });\n },\n morkRepairs: function morkRepairs() {var _this7 = this;\n uni.showLoading({\n title: '加载中...' });\n\n var that = this;\n var status = '';\n var page = that.page + 1;\n var state = this.repairsState;\n if (state == 1) {\n status = 0;\n } else if (state == 2) {\n status = 1;\n }\n app.request('user/userRepaired?bike_no=' + this.bike_no + '&status=' + status + '&page=' + page, '', 'GET').then(\n function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n var list = res.data.data;\n if (list.length > 0) {\n _this7.repairsList = that.repairsList.concat(list);\n _this7.page = page;\n } else {\n uni.showToast({\n title: '没有更多数据了~',\n icon: 'none' });\n\n }\n }\n });\n },\n more: function more() {\n this.moreShow = true;\n },\n scanCode: function scanCode() {\n var that = this;\n __f__(\"log\", 'scanCode', \" at pages/index/bike_detail.vue:663\");\n uni.scanCode({\n success: function success(res) {\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n that.bikeId = code;\n that.getBike_info(code);\n },\n fail: function fail() {\n uni.showModal({\n title: '提示',\n content: '手动输入车辆标号',\n success: function success(res) {\n if (res.confirm) {\n uni.navigateTo({\n url: '/pages/manualInp/manualInp' });\n\n }\n } });\n\n } });\n\n },\n // 获取车辆信息\n getBike_info: function getBike_info() {var _this8 = this;var bikeId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var that = this;\n __f__(\"log\", bikeId, \" at pages/index/bike_detail.vue:689\");\n uni.showLoading({\n title: '加载中...' });\n\n if (typeof bikeId === 'object') {\n bikeId = this.bikeId;\n } else {\n // bikeId = this.bikeId\n }\n\n this.bike_no = bikeId;\n __f__(\"log\", this.bikeId, 'bikeId', \" at pages/index/bike_detail.vue:700\");\n app.request('bike/getBikeInfo?bike_no=' + this.bike_no, '', 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, '获取车辆信息', \" at pages/index/bike_detail.vue:703\");\n if (res.data.bike_info == '') {\n _this8.sideShow = false;\n uni.showToast({\n title: '暂无该车辆信息~' });\n\n } else {\n __f__(\"log\", res.data, '车辆信息', \" at pages/index/bike_detail.vue:710\");\n _this8.bikeDetail = res.data;\n _this8.sideShow = true;\n _this8.footerShow = false;\n }\n if (res.data.bike_info.tab_name == '中控离线') {\n __f__(\"log\", 1111, \" at pages/index/bike_detail.vue:716\");\n uni.openBluetoothAdapter({\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/bike_detail.vue:719\");\n that.checked = true;\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/index/bike_detail.vue:723\");\n uni.showModal({\n title: '提示',\n content: '当前车辆请开启蓝牙进行操作',\n showCancel: false });\n\n that.checked = false;\n } });\n\n }\n });\n app.request(\"work_order/list?planned=\" + 1 + \"&bike_no=\" + this.bike_no, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n // console.log(res.data.meta.total, '工单数量')\n _this8.workCount = res.data.meta.total;\n }\n });\n app.request('user/userRepaired?bike_no=' + this.bike_no + '&&status=' + 0, '', 'GET').then(function (res) {\n // console.log(res.data)\n // console.log(res.data.meta.total, '报修数量')\n _this8.repairsCount = res.data.meta.total;\n });\n },\n //获取输入框的值\n bindKeyInput: function bindKeyInput(e) {\n // console.log(e.detail.value, 11111)\n this.bikeId = e.detail.value;\n },\n refresh_power: function refresh_power() {\n this.getBike_info(this.bike_no);\n uni.showToast({\n title: '刷新完成',\n icon: 'none' });\n\n },\n bikePosition: function bikePosition() {\n uni.navigateTo({\n url: './car_position?id=' + this.bikeDetail.bike_info.id + '&bike_no=' + this.bike_no });\n\n },\n recentOrder: function recentOrder() {\n __f__(\"log\", 123, \" at pages/index/bike_detail.vue:764\");\n uni.navigateTo({\n url: '../manage/recentOrder?id=' + this.bikeDetail.bike_info.id });\n\n },\n modify: function modify() {\n //跳转修改车辆信息\n var bike = this.bikeDetail.bike_info;\n uni.navigateTo({\n url: './amendCar?id=' + bike.id + '&bike_no=' + this.bike_no + '&box_no=' + bike.box_no });\n\n },\n // 鸣笛\n whistle: function whistle() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.bell);\n } else {\n uni.showLoading({\n title: '响铃中...' });\n\n app.request('bike/bikeBell?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '响铃成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //开锁\n unlock: function unlock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.unlock);\n } else {\n uni.showLoading({\n title: '开锁中...' });\n\n app.request('bike/openBikeLock?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开锁成功',\n icon: 'none' });\n\n }\n });\n }\n },\n //关锁\n close_lock: function close_lock() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.lock);\n } else {\n uni.showLoading({\n title: '关锁中...' });\n\n app.request('bike/closeBikeLock?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '关锁成功',\n icon: 'none' });\n\n }\n });\n }\n\n },\n bike_detail: function bike_detail() {\n //车辆详情页面 \n var bike = this.bikeDetail.bike_info;\n __f__(\"log\", bike, \" at pages/index/bike_detail.vue:837\");\n uni.navigateTo({\n url: '../manage/bikeDetail?bike_no=' + this.bike_no + '&id=' + bike.id });\n\n },\n reqair: function reqair() {\n uni.navigateTo({\n url: './reqair?bike_no=' + this.bike_no });\n\n },\n //开电池锁\n battery_load: function battery_load() {\n var that = this;\n if (this.checked) {\n bluM.connectDeivece(that.bikeDetail.bike_info.box_no, _bluWKM.CMD.batteryUnlock);\n } else {\n uni.showLoading({\n title: '开电池锁中...' });\n\n app.request('bike/openBatteryLock?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '开电池锁成功',\n icon: 'none' });\n\n }\n });\n }\n\n },\n renewalPower: function renewalPower() {\n //更新电量\n uni.showLoading({\n title: '更新电量中...' });\n\n app.request('bike/newBikeBatteryMSG?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新电量成功',\n icon: 'none' });\n\n }\n });\n },\n renewalLocation: function renewalLocation() {\n //更新位置\n uni.showLoading({\n title: '更新位置中...' });\n\n app.request('bike/newBikeLocation?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '更新位置成功',\n icon: 'none' });\n\n }\n });\n },\n renewal: function renewal() {\n //重启中控\n var that = this;\n app.request('bike/rebootBox?bike_id=' + that.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n if (res.statusCode == 200) {\n uni.showToast({\n title: '重启中控成功',\n icon: 'none' });\n\n }\n });\n },\n // 设为停车区\n recover: function recover() {\n app.request('bike/repairInParking?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '操作成功',\n icon: 'none' });\n\n } else {\n uni.showToast({\n title: '操作失败',\n icon: 'none' });\n\n }\n });\n },\n //上线\n online: function online() {\n app.request('bike/login?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n // console.log(res)\n if (res.statusCode == 200) {\n uni.showToast({\n title: '上线成功',\n icon: 'none' });\n\n }\n });\n },\n //下线\n Offline: function Offline() {\n app.request('bike/logout?bike_id=' + this.bikeDetail.bike_info.id, '', 'GET').then(function (res) {\n __f__(\"log\", res, \" at pages/index/bike_detail.vue:940\");\n if (res.statusCode == 200) {\n uni.showToast({\n title: '下线成功',\n icon: 'none' });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n // console.log(app.request())\n __f__(\"log\", uni.getStorageSync('allArea'), 'allArea', \" at pages/index/bike_detail.vue:952\");\n var that = this;\n that.screenHeight = app.globalData.screenHeight;\n var timer = setTimeout(function () {\n if (uni.getStorageSync('allArea')) {\n that.allArea = uni.getStorageSync('allArea');\n that.allStatus = uni.getStorageSync('allState');\n }\n __f__(\"log\", that.allArea, \" at pages/index/bike_detail.vue:960\");\n var curVal = uni.getStorageSync('curVal');\n __f__(\"log\", curVal, 'log_curVal', \" at pages/index/bike_detail.vue:962\");\n if (curVal) {\n that.area = curVal;\n }\n var areaID = uni.getStorageSync('curId');\n __f__(\"log\", areaID, 'log_areaID', \" at pages/index/bike_detail.vue:967\");\n if (areaID) {\n that.areaID = areaID;\n } else {\n var _id = that.allArea[0].areaID;\n that.areaID = _id;\n }\n }, 500);\n if (options.bike_no) {\n that.getBike_info(options.bike_no);\n that.bike_no = options.bike_no;\n }\n if (options.scan == 1) {\n this.scanCode();\n }\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvYmlrZV9kZXRhaWwudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImJsdU0iLCJCbHVldG9vdGhNYW5hZ2VyIiwiZGF0YSIsImJpa2Vfbm8iLCJmb290ZXJTaG93IiwiYWxsQXJlYSIsImFyZWEiLCJlbGUiLCJzdGF0dXMiLCJkYXkiLCJzaG93IiwiaWQiLCJzdG9wUCIsInBvbHlnb25zMSIsImNvbnRyb2xzIiwiYmFja2dyb3VuZCIsIm92ZXIiLCJsb2NhdGlvbiIsImJsdWV0b290aCIsImJveF9ubyIsImJpa2VEZXRhaWwiLCJiaWtlSWQiLCJhcmVhSUQiLCJsb3dfcG93ZXIiLCJzdGF0ZSIsInVzZV9zdGF0ZSIsInBhcmtBcmVhU2hvdyIsIm5vUGFya0FyZWFTaG93IiwicmlkZGluZyIsIm1vcmVTaG93Iiwic2NyZWVuSGVpZ2h0IiwiYXJlYXMiLCJwYXJraW5nIiwicGFya2luZ19wb2ludHMiLCJub19wYXJraW5nIiwibm9fcGFya2luZ19wb2ludHMiLCJwYXJrU2hvdyIsInN3aXRjaDFDaGVja2VkIiwiZGVsQnRuV2lkdGgiLCJ0eXBlTmFtZSIsInBhZ2UiLCJ3b3JrU2hvdyIsIndvcmtDb3VudCIsImxpc3QiLCJ3b3JrU3RhdGUiLCJyZXBhaXJzTGlzdCIsInJlcGFpcnNDb3VudCIsInJlcGFpcnNTdGF0ZSIsInJlcGFpcnNTaG93IiwidG9wTnVtIiwiY2hlY2tlZCIsIm1ldGhvZHMiLCJ0b3VjaFMiLCJlIiwidG91Y2hlcyIsImxlbmd0aCIsInN0YXJ0WCIsImNsaWVudFgiLCJ0b3VjaE0iLCJtb3ZlWCIsImRpc1giLCJ0eHRTdHlsZSIsImluZGV4IiwiY3VycmVudFRhcmdldCIsImRhdGFzZXQiLCJ0b3VjaEUiLCJjaGFuZ2VkVG91Y2hlcyIsImVuZFgiLCJzd2l0Y2hDaGFuZ2UiLCJ0YXJnZXQiLCJ2YWx1ZSIsImdvVG9wIiwiY292ZXJIaWRuIiwicGhvbmUiLCJ1bmkiLCJtYWtlUGhvbmVDYWxsIiwicGhvbmVOdW1iZXIiLCJzaG93UG9wIiwibG9va1dvcmsiLCJsb29rUmVwYWlycyIsIndvcmtDaG9vc2UiLCJzaG93TG9hZGluZyIsInRpdGxlIiwidGhhdCIsInBsYW5uZWQiLCJ1cmwiLCJyZXF1ZXN0IiwidGhlbiIsInJlcyIsImhpZGVMb2FkaW5nIiwid29yayIsIm1hcCIsImkiLCJnZXRXb3JrIiwic3RhdHVzQ29kZSIsInNob3dUb2FzdCIsImljb24iLCJzcGxpY2UiLCJjb3VudCIsImZpbmlzaFdvcmsiLCJtb3JlV29yayIsImNvbmNhdCIsInJlcGFpcnMiLCJyZXBhaXJzQ2hvb3NlIiwibWFya1JlYWQiLCJtb3JrUmVwYWlycyIsIm1vcmUiLCJzY2FuQ29kZSIsInN1Y2Nlc3MiLCJyZXN1bHQiLCJsYXN0SW5kZXhPZiIsImNvZGUiLCJzdWJzdHJpbmciLCJnZXRCaWtlX2luZm8iLCJmYWlsIiwic2hvd01vZGFsIiwiY29udGVudCIsImNvbmZpcm0iLCJuYXZpZ2F0ZVRvIiwiYmlrZV9pbmZvIiwic2lkZVNob3ciLCJ0YWJfbmFtZSIsIm9wZW5CbHVldG9vdGhBZGFwdGVyIiwiZXJyIiwic2hvd0NhbmNlbCIsIm1ldGEiLCJ0b3RhbCIsImJpbmRLZXlJbnB1dCIsImRldGFpbCIsInJlZnJlc2hfcG93ZXIiLCJiaWtlUG9zaXRpb24iLCJyZWNlbnRPcmRlciIsIm1vZGlmeSIsImJpa2UiLCJ3aGlzdGxlIiwiY29ubmVjdERlaXZlY2UiLCJDTUQiLCJiZWxsIiwidW5sb2NrIiwiY2xvc2VfbG9jayIsImxvY2siLCJiaWtlX2RldGFpbCIsInJlcWFpciIsImJhdHRlcnlfbG9hZCIsImJhdHRlcnlVbmxvY2siLCJyZW5ld2FsUG93ZXIiLCJyZW5ld2FsTG9jYXRpb24iLCJyZW5ld2FsIiwicmVjb3ZlciIsIm9ubGluZSIsIk9mZmxpbmUiLCJvbkxvYWQiLCJvcHRpb25zIiwiZ2V0U3RvcmFnZVN5bmMiLCJnbG9iYWxEYXRhIiwidGltZXIiLCJzZXRUaW1lb3V0IiwiYWxsU3RhdHVzIiwiY3VyVmFsIiwic2NhbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMlFBLHVFLENBM1FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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QVosRUFBb0IsWUFBcEI7QUFDQSxVQUFJQSxNQUFKLEVBQVk7QUFDWDNFLFlBQUksQ0FBQzdFLElBQUwsR0FBWXdKLE1BQVo7QUFDQTtBQUNELFVBQUl4SSxNQUFNLEdBQUdvRCxHQUFHLENBQUMrRSxjQUFKLENBQW1CLE9BQW5CLENBQWI7QUFDQSxtQkFBWW5JLE1BQVosRUFBb0IsWUFBcEI7QUFDQSxVQUFJQSxNQUFKLEVBQVk7QUFDWDZELFlBQUksQ0FBQzdELE1BQUwsR0FBY0EsTUFBZDtBQUNBLE9BRkQsTUFFTztBQUNOLFlBQUlYLEdBQUUsR0FBR3dFLElBQUksQ0FBQzlFLE9BQUwsQ0FBYSxDQUFiLEVBQWdCaUIsTUFBekI7QUFDQTZELFlBQUksQ0FBQzdELE1BQUwsR0FBY1gsR0FBZDtBQUNBO0FBQ0QsS0FuQnFCLEVBbUJuQixHQW5CbUIsQ0FBdEI7QUFvQkEsUUFBSTZJLE9BQU8sQ0FBQ3JKLE9BQVosRUFBcUI7QUFDcEJnRixVQUFJLENBQUM4QixZQUFMLENBQWtCdUMsT0FBTyxDQUFDckosT0FBMUI7QUFDQWdGLFVBQUksQ0FBQ2hGLE9BQUwsR0FBZXFKLE9BQU8sQ0FBQ3JKLE9BQXZCO0FBQ0E7QUFDRCxRQUFJcUosT0FBTyxDQUFDTyxJQUFSLElBQWdCLENBQXBCLEVBQXVCO0FBQ3RCLFdBQUtwRCxRQUFMO0FBQ0E7QUFDRCxHQXBzQmEsRSIsImZpbGUiOiIyMDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKCk7XG5pbXBvcnQge1xuXHRCbHVldG9vdGhNYW5hZ2VyLFxuXHRCdEVycm9yQ29kZSxcblx0Q01EXG59IGZyb20gJy4uLy4uL3N0YXRpYy9qcy9ibHVXS00uanMnO1xuY29uc3QgYmx1TSA9IG5ldyBCbHVldG9vdGhNYW5hZ2VyO1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRiaWtlX25vOiAnJywgLy/ovabniYzlj7dcblx0XHRcdGZvb3RlclNob3c6IHRydWUsXG5cdFx0XHRhbGxBcmVhOiBbXSxcblx0XHRcdGFyZWE6IDAsXG5cdFx0XHRlbGU6IDAsXG5cdFx0XHRzdGF0dXM6IDAsXG5cdFx0XHRkYXk6IDAsXG5cdFx0XHRzaG93OiBmYWxzZSwgLy/ovablrZDor6bmg4XnmoTluIPlsJTlgLxcblx0XHRcdGlkOiAnJywgLy/lgZzovabljLrln5/nmoRJRFxuXHRcdFx0c3RvcFA6IGZhbHNlLCAvL+WIpOaWreaYr+WQpuaYvuekuuWBnOi9puWMuuWfn1xuXHRcdFx0cG9seWdvbnMxOiBbXSwgLy/lj6/pqpHooYzljLrln58g5YWI55So6L+Z5Liq5Y+Y6YeP5Luj6KGoXG5cdFx0XHRjb250cm9sczogW10sIC8v5Zyw5Zu+5LiK5b2T5YmN5a6a5L2N55qE566t5aS0XG5cdFx0XHRiYWNrZ3JvdW5kOiAnJywgLy/lvLnnqpfnmoTog4zmma/popzoibJcblx0XHRcdG92ZXI6ICcnLCAvL+WFs+mXreWbvuagh1xuXHRcdFx0bG9jYXRpb246ICcnLCAvL+aYr+WQpuacieS9jee9ruadg+mZkFxuXHRcdFx0Ymx1ZXRvb3RoOiBmYWxzZSwgLy/mmK/lkKblvIDlkK/ok53niZkgZmFsc2XlvIDlp4sgdHJ1ZeacquW8gOWQr1xuXHRcdFx0Ym94X25vOiAnJywgLy/kuK3mjqfnvJblj7dcblx0XHRcdGJpa2VEZXRhaWw6IFtdLFxuXHRcdFx0YmlrZUlkOiAnJyxcblx0XHRcdGFyZWFJRDogJycsXG5cdFx0XHRsb3dfcG93ZXI6ICcnLFxuXHRcdFx0c3RhdGU6ICcnLFxuXHRcdFx0dXNlX3N0YXRlOiAnJyxcblx0XHRcdHBhcmtBcmVhU2hvdzogZmFsc2UsIC8v6L+Y6L2m54K55piv5ZCm5pi+56S6XG5cdFx0XHRub1BhcmtBcmVhU2hvdzogdHJ1ZSwgLy/npoHlgZzljLrmmK/lkKbmmL7npLpcblx0XHRcdHJpZGRpbmc6IHRydWUsXG5cdFx0XHRtb3JlU2hvdzogZmFsc2UsXG5cdFx0XHRzY3JlZW5IZWlnaHQ6ICcnLCAvL+Wxj+W5leWPr+inhumrmOW6plxuXHRcdFx0YXJlYXM6IFtdLFxuXHRcdFx0cGFya2luZzogW10sXG5cdFx0XHRwYXJraW5nX3BvaW50czogW10sXG5cdFx0XHRub19wYXJraW5nOiBbXSxcblx0XHRcdG5vX3BhcmtpbmdfcG9pbnRzOiBbXSxcblx0XHRcdHBhcmtTaG93OiAnJyxcblx0XHRcdHN3aXRjaDFDaGVja2VkOiAnJyxcblx0XHRcdGRlbEJ0bldpZHRoOiAyMDAsIC8v5Yig6Zmk5oiW5a6M5oiQIOaMiemSruWuveW6plxuXHRcdFx0dHlwZU5hbWU6ICcnLCAvLzEg5b6F6K6k6aKG5bel5Y2VICAy5bey6aKG5bel5Y2VXG5cdFx0XHRwYWdlOiAxLCAvL+W9k+WJjemhtemdolxuXHRcdFx0d29ya1Nob3c6IGZhbHNlLCAvL+W3peWNleW8ueeql1xuXHRcdFx0d29ya0NvdW50OiAnJywgLy/kvqfovrnmoI/miqXkv67mlbDph4/vvIjmnKror7vvvIlcblx0XHRcdGxpc3Q6IFtdLCAvL+W3peWNleWIl+ihqFxuXHRcdFx0d29ya1N0YXRlOiAxLCAvL+W3peWNleWIl+ihqOeKtuaAgeOAkDEg5b6F6aKG5Y+WICAy5bey6aKG44CRXG5cdFx0XHRyZXBhaXJzTGlzdDogW10sIC8v5oql5L+u5YiX6KGoXG5cdFx0XHRyZXBhaXJzQ291bnQ6ICcnLCAvL+S+p+i+ueagj+W3peWNleaVsOmHj++8iOacquiupOmihu+8iVxuXHRcdFx0cmVwYWlyc1N0YXRlOiAxLCAvL+aKpeS/ruWIl+ihqOeKtuaAgeOAkDEg5pyq6K+7ICAy5bey6K+744CRXG5cdFx0XHRyZXBhaXJzU2hvdzogZmFsc2UsIC8v5piv5ZCm5pi+56S65oql5L+u5by556qXIOOAkGZhbHNlIOS4jeaYvuekuiAgdHJ1ZSDmmL7npLrjgJFcblx0XHRcdHRvcE51bTogMCxcblx0XHRcdGNoZWNrZWQ6IGZhbHNlLCAvL+aYr+WQpuWPquW8gOWQr+iTneeJmeaTjeaOp1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHRvdWNoUzogZnVuY3Rpb24oZSkge1xuXHRcdFx0Ly8gY29uc29sZS5sb2coZSlcblx0XHRcdGlmIChlLnRvdWNoZXMubGVuZ3RoID09IDEpIHtcblx0XHRcdFx0dGhpcy5zdGFydFggPSBlLnRvdWNoZXNbMF0uY2xpZW50WFxuXHRcdFx0XHQvL+iuvue9ruinpuaRuOi1t+Wni+eCueawtOW5s+aWueWQkeS9jee9rlxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0dG91Y2hNOiBmdW5jdGlvbihlKSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGEubGlzdFtpbmRleF0udHh0U3R5bGUpXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhlKTtcblx0XHRcdGlmIChlLnRvdWNoZXMubGVuZ3RoID09IDEpIHtcblx0XHRcdFx0Ly/miYvmjIfnp7vliqjml7bmsLTlubPmlrnlkJHkvY3nva5cblx0XHRcdFx0dmFyIG1vdmVYID0gZS50b3VjaGVzWzBdLmNsaWVudFg7XG5cdFx0XHRcdC8v5omL5oyH6LW35aeL54K55L2N572u5LiO56e75Yqo5pyf6Ze055qE5beu5YC8XG5cdFx0XHRcdHZhciBkaXNYID0gdGhpcy5zdGFydFggLSBtb3ZlWDtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZGlzWCwnZGlzWCcpXG5cdFx0XHRcdHZhciBkZWxCdG5XaWR0aCA9IHRoaXMuZGVsQnRuV2lkdGg7XG5cdFx0XHRcdHZhciB0eHRTdHlsZSA9IFwiXCI7XG5cdFx0XHRcdGlmIChkaXNYID09IDAgfHwgZGlzWCA8IDApIHsgLy/lpoLmnpznp7vliqjot53nprvlsI/kuo7nrYnkuo4w77yM5paH5pys5bGC5L2N572u5LiN5Y+YXG5cdFx0XHRcdFx0dHh0U3R5bGUgPSBcImxlZnQ6MHVweFwiO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGRpc1ggPiAwKSB7IC8v56e75Yqo6Led56a75aSn5LqOMO+8jOaWh+acrOWxgmxlZnTlgLznrYnkuo7miYvmjIfnp7vliqjot53nprtcblx0XHRcdFx0XHQvLyB0eHRTdHlsZSA9IFwibGVmdDotXCIgKyBkaXNYICsgXCJ1cHhcIjtcblx0XHRcdFx0XHQvLyBpZiAoZGlzWCA+PSBkZWxCdG5XaWR0aCkge1xuXHRcdFx0XHRcdC8vIFx0Ly/mjqfliLbmiYvmjIfnp7vliqjot53nprvmnIDlpKflgLzkuLrliKDpmaTmjInpkq7nmoTlrr3luqZcblx0XHRcdFx0XHQvLyBcdHR4dFN0eWxlID0gXCJsZWZ0Oi1cIiArIGRlbEJ0bldpZHRoICsgXCJ1cHhcIjtcblx0XHRcdFx0XHQvLyB9XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly/ojrflj5bmiYvmjIfop6bmkbjnmoTmmK/lk6rkuIDpoblcblx0XHRcdFx0dmFyIGluZGV4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXg7XG5cdFx0XHRcdHZhciBsaXN0ID0gdGhpcy5saXN0O1xuXHRcdFx0XHRsaXN0W2luZGV4XS50eHRTdHlsZSA9IHR4dFN0eWxlO1xuXHRcdFx0XHQvLyAvL+abtOaWsOWIl+ihqOeahOeKtuaAgVxuXHRcdFx0XHR0aGlzLmxpc3QgPSBsaXN0XG5cdFx0XHR9XG5cdFx0fSxcblx0XHR0b3VjaEU6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdC8vIGNvbnNvbGUubG9nKGUpXG5cdFx0XHRpZiAoZS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGggPT0gMSkge1xuXHRcdFx0XHQvL+aJi+aMh+enu+WKqOe7k+adn+WQjuawtOW5s+S9jee9rlxuXHRcdFx0XHR2YXIgZW5kWCA9IGUuY2hhbmdlZFRvdWNoZXNbMF0uY2xpZW50WDtcblx0XHRcdFx0Ly/op6bmkbjlvIDlp4vkuI7nu5PmnZ/vvIzmiYvmjIfnp7vliqjnmoTot53nprtcblx0XHRcdFx0dmFyIGRpc1ggPSB0aGlzLnN0YXJ0WCAtIGVuZFg7XG5cdFx0XHRcdHZhciBkZWxCdG5XaWR0aCA9IHRoaXMuZGVsQnRuV2lkdGg7XG5cdFx0XHRcdC8v5aaC5p6c6Led56a75bCP5LqO5Yig6Zmk5oyJ6ZKu55qEMS8y77yM5LiN5pi+56S65Yig6Zmk5oyJ6ZKuXG5cdFx0XHRcdHZhciB0eHRTdHlsZSA9IGRpc1ggPiBkZWxCdG5XaWR0aCAvIDIgPyBcImxlZnQ6LVwiICsgZGVsQnRuV2lkdGggKyBcInVweFwiIDogXCJsZWZ0OjB1cHhcIjtcblx0XHRcdFx0Ly/ojrflj5bmiYvmjIfop6bmkbjnmoTmmK/lk6rkuIDpoblcblx0XHRcdFx0dmFyIGluZGV4ID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaW5kZXg7XG5cdFx0XHRcdHZhciBsaXN0ID0gdGhpcy5saXN0O1xuXHRcdFx0XHRsaXN0W2luZGV4XS50eHRTdHlsZSA9IHR4dFN0eWxlO1xuXHRcdFx0XHQvLyAvL+abtOaWsOWIl+ihqOeahOeKtuaAgVxuXHRcdFx0XHR0aGlzLmxpc3QgPSBsaXN0XG5cdFx0XHRcdGNvbnNvbGUubG9nKHR4dFN0eWxlKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0c3dpdGNoQ2hhbmdlOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZygnc3dpdGNoMSDlj5HnlJ8gY2hhbmdlIOS6i+S7tu+8jOaQuuW4puWAvOS4uicsIGUudGFyZ2V0LnZhbHVlKVxuXHRcdFx0dGhpcy5jaGVja2VkID0gZS50YXJnZXQudmFsdWU7XG5cdFx0fSxcblx0XHRnb1RvcDogZnVuY3Rpb24oZSkgeyAvLyDkuIDplK7lm57liLDpobbpg6hcblx0XHRcdHRoaXMudG9wTnVtID0gMFxuXHRcdH0sXG5cdFx0Y292ZXJIaWRuOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRpZiAoZSA9PSAxKSB7XG5cdFx0XHRcdHRoaXMubW9yZVNob3cgPSBmYWxzZTtcblx0XHRcdFx0dGhpcy53b3JrU3RhdGUgPSAxO1xuXHRcdFx0fSBlbHNlIGlmIChlID09IDIpIHtcblx0XHRcdFx0dGhpcy53b3JrU2hvdyA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLnR5cGVOYW1lID0gJyc7XG5cdFx0XHR9IGVsc2UgaWYgKGUgPT0gMykge1xuXHRcdFx0XHR0aGlzLnJlcGFpcnNTaG93ID0gZmFsc2U7XG5cdFx0XHRcdHRoaXMudHlwZU5hbWUgPSAnJztcblx0XHRcdFx0dGhpcy5yZXBhaXJzU3RhdGUgPSAxO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0cGhvbmU6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKDExMTEpXG5cdFx0XHR1bmkubWFrZVBob25lQ2FsbCh7XG5cdFx0XHRcdHBob25lTnVtYmVyOiBlLmN1cnJlbnRUYXJnZXQuZGF0YXNldC5waG9uZVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHNob3dQb3A6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGlmIChlID09IDEpIHtcblx0XHRcdFx0dGhpcy53b3JrU2hvdyA9IHRydWU7XG5cdFx0XHRcdHRoaXMubG9va1dvcmsoKTtcblx0XHRcdH0gZWxzZSBpZiAoZSA9PSAyKSB7XG5cdFx0XHRcdHRoaXMucmVwYWlyc1Nob3cgPSB0cnVlO1xuXHRcdFx0XHR0aGlzLmxvb2tSZXBhaXJzKCk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHR3b3JrQ2hvb3NlOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0dGhpcy53b3JrU3RhdGUgPSBlO1xuXHRcdFx0dGhpcy5saXN0ID0gW11cblx0XHRcdHRoaXMubG9va1dvcmsoKTtcblx0XHRcdHRoaXMuZ29Ub3AoKTtcblx0XHR9LFxuXHRcdC8v5bel5Y2V5YiX6KGoIFxuXHRcdGxvb2tXb3JrOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0XHRsZXQgcGxhbm5lZCA9ICcnO1xuXHRcdFx0bGV0IHVybCA9IFwiXCI7XG5cdFx0XHRsZXQgc3RhdGUgPSB0aGF0LndvcmtTdGF0ZVxuXHRcdFx0Ly8gY29uc29sZS5sb2coc3RhdGUsICd3b3JrU3RhdGUnKVxuXHRcdFx0Y29uc29sZS5sb2codGhhdC5iaWtlSWQsICdiaWtlSUQnKVxuXHRcdFx0aWYgKHN0YXRlID09IDEpIHtcblx0XHRcdFx0cGxhbm5lZCA9IDFcblx0XHRcdFx0dXJsID0gXCJ3b3JrX29yZGVyL2xpc3Q/cGxhbm5lZD1cIiArIHBsYW5uZWQgKyBcIiZiaWtlX25vPVwiICsgdGhhdC5iaWtlX25vXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsZXQgcGxhbm5lZCA9IDI7XG5cdFx0XHRcdHVybCA9ICd3b3JrX29yZGVyL215V29ya09yZGVyTGlzdD9wbGFubmVkPScgKyBwbGFubmVkICsgXCImYmlrZV9ubz1cIiArIHRoYXQuYmlrZV9ub1xuXHRcdFx0fVxuXHRcdFx0YXBwLnJlcXVlc3QodXJsLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdGxldCB3b3JrID0gcmVzLmRhdGEuZGF0YTtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2cod29yaywgJ+W3peWNleWIl+ihqCcpXG5cdFx0XHRcdGlmICh3b3JrLmxlbmd0aCA9PSAwKSB7XG5cdFx0XHRcdFx0Ly8gdW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0Ly8gICB0aXRsZTogJ+aaguaXoOW3peWNlX4nLFxuXHRcdFx0XHRcdC8vICAgaWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0Ly8gfSlcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSAnJ1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHdvcmsubWFwKGkgPT4ge1xuXHRcdFx0XHRcdFx0aS50eHRTdHlsZSA9ICdsZWZ0OjB1cHgnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR0aGlzLndvcmtTaG93ID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSB3b3JrO1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoYXQuZGF0YS5saXN0LCAnbGlzdCcpXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+aOpeWNlVxuXHRcdGdldFdvcms6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn6aKG5Y+W5LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHRjb25zb2xlLmxvZyhlLCAnZ2V0V29ya2lkJyk7XG5cdFx0XHRhcHAucmVxdWVzdCgnd29ya19vcmRlci9yZWNlaXZlP3dvcmtfb3JkZXJfaWQ9JyArIGUsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxuXHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aOpeWNleaIkOWKnycsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIlxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0bGV0IHdvcmsgPSB0aGlzLmxpc3Q7XG5cdFx0XHRcdFx0d29yay5tYXAoKGksIGluZGV4KSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoaS5pZCA9PSBpZCkge1xuXHRcdFx0XHRcdFx0XHR3b3JrLnNwbGljZShpbmRleCwgMSlcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coaSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdGxldCBjb3VudCA9IHRoaXMud29ya0NvdW50XG5cdFx0XHRcdFx0Y291bnQgPSBjb3VudCAtIDFcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSB3b3JrO1xuXHRcdFx0XHRcdHRoaXMud29ya0NvdW50ID0gY291bnQ7XG5cdFx0XHRcdFx0aWYgKHdvcmsubGVuZ3RoID09IDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+ivpei9pui+huW3suaXoOW+hemihuW3peWNlX4nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR0aGlzLndvcmtTaG93ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHR0aGlzLndvcmtDb3VudCA9ICcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/lrozmiJBcblx0XHRmaW5pc2hXb3JrOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+aTjeS9nOS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0Ly8gY29uc29sZS5sb2coJ2ZpbmlzaFdvcmsnKVxuXHRcdFx0bGV0IGlkID0gZS5jdXJyZW50VGFyZ2V0LmRhdGFzZXQuaWRcblx0XHRcdGNvbnNvbGUubG9nKGlkLCAnZmluaXNoV29ya0lkJylcblx0XHRcdGFwcC5yZXF1ZXN0KCd3b3JrX29yZGVyL292ZXI/d29ya19vcmRlcl9pZD0nICsgaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5oiQ5YqfJyxcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRsZXQgbGlzdCA9IHRoaXMubGlzdFxuXHRcdFx0XHRcdGxpc3QubWFwKChpLCBpbmRleCkgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKGkuaWQgPT0gaWQpIHtcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coaSlcblx0XHRcdFx0XHRcdFx0bGlzdC5zcGxpY2UoaW5kZXgsIDEpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSBsaXN0O1xuXHRcdFx0XHRcdGlmIChsaXN0Lmxlbmd0aCA9PSAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICflt7LlrozmiJDmiYDmnInorqTpooblt6XljZV+Jyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0dGhpcy53b3JrU2hvdyA9IGZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5LiK5ouJ5Yqg6L29XG5cdFx0bW9yZVdvcms6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcblx0XHRcdHZhciBwYWdlID0gdGhhdC5wYWdlICsgMTtcblx0XHRcdGxldCBwbGFubmVkID0gJyc7XG5cdFx0XHRsZXQgdXJsID0gXCJcIjtcblx0XHRcdGlmICh0aGF0LndvcmtTdGF0ZSA9PSAxKSB7XG5cdFx0XHRcdHBsYW5uZWQgPSAxXG5cdFx0XHRcdHVybCA9IFwid29ya19vcmRlci9saXN0P3BsYW5uZWQ9XCIgKyBwbGFubmVkICsgXCImYmlrZV9ubz1cIiArIHRoYXQuYmlrZV9ubyArICcmcGFnZT0nICsgcGFnZVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cGxhbm5lZCA9IDJcblx0XHRcdFx0dXJsID0gJ3dvcmtfb3JkZXIvbXlXb3JrT3JkZXJMaXN0P3BsYW5uZWQ9JyArIHBsYW5uZWQgKyBcIiZiaWtlX25vPVwiICsgdGhhdC5iaWtlX25vICsgJyZwYWdlPScgKyBwYWdlXG5cdFx0XHR9XG5cdFx0XHRhcHAucmVxdWVzdCh1cmwsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0aWYgKHJlcy5kYXRhLmRhdGEubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdGxldCB3b3JrID0gcmVzLmRhdGEuZGF0YVxuXHRcdFx0XHRcdHdvcmsubWFwKGkgPT4ge1xuXHRcdFx0XHRcdFx0aS50eHRTdHlsZSA9ICdsZWZ0OjB1cHgnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR0aGlzLndvcmtTaG93ID0gdHJ1ZTtcblx0XHRcdFx0XHR0aGlzLmxpc3QgPSB0aGF0Lmxpc3QuY29uY2F0KHdvcmspO1xuXHRcdFx0XHRcdHRoaXMucGFnZSA9IHBhZ2U7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ayoeacieabtOWkmuaVsOaNruS6hn4nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5oql5L+u5YiX6KGoXG5cdFx0bG9va1JlcGFpcnM6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdGxldCBzdGF0dXMgPSAnJ1xuXHRcdFx0bGV0IHN0YXRlID0gdGhpcy5yZXBhaXJzU3RhdGVcblx0XHRcdGlmIChzdGF0ZSA9PSAxKSB7XG5cdFx0XHRcdHN0YXR1cyA9IDBcblx0XHRcdH0gZWxzZSBpZiAoc3RhdGUgPT0gMikge1xuXHRcdFx0XHRzdGF0dXMgPSAxXG5cdFx0XHR9XG5cdFx0XHRhcHAucmVxdWVzdCgndXNlci91c2VyUmVwYWlyZWQ/YmlrZV9ubz0nICsgdGhpcy5iaWtlX25vICsgJyZzdGF0dXM9JyArIHN0YXR1cywgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMsICfmiqXkv67liJfooagnKVxuXHRcdFx0XHRcdGxldCBsaXN0ID0gcmVzLmRhdGEuZGF0YTtcblx0XHRcdFx0XHRpZiAobGlzdC5sZW5ndGggPT0gMCkge1xuXHRcdFx0XHRcdFx0Ly8gdW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHQvLyAgIHRpdGxlOiAn5pqC5peg5oql5L+u6K6w5b2VficsXG5cdFx0XHRcdFx0XHQvLyAgIGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0Ly8gfSlcblx0XHRcdFx0XHRcdHRoaXMucmVwYWlyc0xpc3QgPSBbXVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRsZXQgcmVwYWlycyA9IHJlcy5kYXRhLmRhdGE7XG5cdFx0XHRcdFx0XHRyZXBhaXJzLm1hcChpID0+IHtcblx0XHRcdFx0XHRcdFx0aS50eHRTdHlsZSA9ICdsZWZ0OjB1cHgnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0dGhpcy5yZXBhaXJzTGlzdCA9IHJlcGFpcnM7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0cmVwYWlyc0Nob29zZTogZnVuY3Rpb24oZSkge1xuXHRcdFx0dGhpcy5yZXBhaXJzU3RhdGUgPSBlO1xuXHRcdFx0dGhpcy5yZXBhaXJzTGlzdCA9IFtdO1xuXHRcdFx0dGhpcy5sb29rUmVwYWlycygpO1xuXHRcdFx0dGhpcy5nb1RvcCgpO1xuXHRcdH0sXG5cdFx0bWFya1JlYWQ6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdGNvbnNvbGUubG9nKGUpXG5cdFx0XHRhcHAucmVxdWVzdCgndXNlci91c2VyUmVwYWlyZWQvc3RhdHVzP2lkPScgKyBlLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0XHR0aGlzLmxvb2tSZXBhaXJzKCk7XG5cdFx0XHRcdFx0bGV0IGxpc3QgPSB0aGlzLnJlcGFpcnNMaXN0O1xuXHRcdFx0XHRcdGlmIChsaXN0Lmxlbmd0aCA9PSAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmmoLml6DmiqXkv65+Jyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0dGhpcy5yZXBhaXJzQ291bnQgPSAnJ1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRsZXQgY291bnQgPSB0aGlzLnJlcGFpcnNDb3VudDtcblx0XHRcdFx0XHRcdGNvdW50ID0gY291bnQgLSAxO1xuXHRcdFx0XHRcdFx0dGhpcy5yZXBhaXJzQ291bnQgPSBjb3VudDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRtb3JrUmVwYWlyczogZnVuY3Rpb24oKSB7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0bGV0IHN0YXR1cyA9ICcnO1xuXHRcdFx0dmFyIHBhZ2UgPSB0aGF0LnBhZ2UgKyAxO1xuXHRcdFx0bGV0IHN0YXRlID0gdGhpcy5yZXBhaXJzU3RhdGVcblx0XHRcdGlmIChzdGF0ZSA9PSAxKSB7XG5cdFx0XHRcdHN0YXR1cyA9IDBcblx0XHRcdH0gZWxzZSBpZiAoc3RhdGUgPT0gMikge1xuXHRcdFx0XHRzdGF0dXMgPSAxXG5cdFx0XHR9XG5cdFx0XHRhcHAucmVxdWVzdCgndXNlci91c2VyUmVwYWlyZWQ/YmlrZV9ubz0nICsgdGhpcy5iaWtlX25vICsgJyZzdGF0dXM9JyArIHN0YXR1cyArICcmcGFnZT0nICsgcGFnZSwgJycsICdHRVQnKS50aGVuKFxuXHRcdFx0XHRyZXMgPT4ge1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdGxldCBsaXN0ID0gcmVzLmRhdGEuZGF0YTtcblx0XHRcdFx0XHRcdGlmIChsaXN0Lmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5yZXBhaXJzTGlzdCA9IHRoYXQucmVwYWlyc0xpc3QuY29uY2F0KGxpc3QpO1xuXHRcdFx0XHRcdFx0XHR0aGlzLnBhZ2UgPSBwYWdlO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmsqHmnInmm7TlpJrmlbDmja7kuoZ+Jyxcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0fSxcblx0XHRtb3JlOiBmdW5jdGlvbigpIHtcblx0XHRcdHRoaXMubW9yZVNob3cgPSB0cnVlO1xuXHRcdH0sXG5cdFx0c2NhbkNvZGU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0Y29uc29sZS5sb2coJ3NjYW5Db2RlJylcblx0XHRcdHVuaS5zY2FuQ29kZSh7XG5cdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdGxldCBpbmRleCA9IHJlcy5yZXN1bHQubGFzdEluZGV4T2YoXCJcXD1cIik7XG5cdFx0XHRcdFx0dmFyIGNvZGUgPSByZXMucmVzdWx0LnN1YnN0cmluZyhpbmRleCArIDEsIHJlcy5yZXN1bHQubGVuZ3RoKTtcblx0XHRcdFx0XHR0aGF0LmJpa2VJZCA9IGNvZGU7XG5cdFx0XHRcdFx0dGhhdC5nZXRCaWtlX2luZm8oY29kZSlcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aPkOekuicsXG5cdFx0XHRcdFx0XHRjb250ZW50OiAn5omL5Yqo6L6T5YWl6L2m6L6G5qCH5Y+3Jyxcblx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcblx0XHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvbWFudWFsSW5wL21hbnVhbElucCcsXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvLyDojrflj5bovabovobkv6Hmga9cblx0XHRnZXRCaWtlX2luZm86IGZ1bmN0aW9uKGJpa2VJZCA9IGZhbHNlKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRjb25zb2xlLmxvZyhiaWtlSWQpXG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0aWYgKHR5cGVvZiBiaWtlSWQgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRcdGJpa2VJZCA9IHRoaXMuYmlrZUlkXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBiaWtlSWQgPSB0aGlzLmJpa2VJZFxuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLmJpa2Vfbm8gPSBiaWtlSWQ7XG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLmJpa2VJZCwgJ2Jpa2VJZCcpXG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9nZXRCaWtlSW5mbz9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8sICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6I635Y+W6L2m6L6G5L+h5oGvJylcblx0XHRcdFx0aWYgKHJlcy5kYXRhLmJpa2VfaW5mbyA9PSAnJykge1xuXHRcdFx0XHRcdHRoaXMuc2lkZVNob3cgPSBmYWxzZTtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg6K+l6L2m6L6G5L+h5oGvficsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMuZGF0YSwgJ+i9pui+huS/oeaBrycpXG5cdFx0XHRcdFx0dGhpcy5iaWtlRGV0YWlsID0gcmVzLmRhdGE7XG5cdFx0XHRcdFx0dGhpcy5zaWRlU2hvdyA9IHRydWU7XG5cdFx0XHRcdFx0dGhpcy5mb290ZXJTaG93ID0gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHJlcy5kYXRhLmJpa2VfaW5mby50YWJfbmFtZSA9PSAn5Lit5o6n56a757q/Jykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKDExMTEpXG5cdFx0XHRcdFx0dW5pLm9wZW5CbHVldG9vdGhBZGFwdGVyKHtcblx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0XHRcdFx0dGhhdC5jaGVja2VkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRmYWlsKGVycikge1xuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5o+Q56S6Jyxcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAn5b2T5YmN6L2m6L6G6K+35byA5ZCv6JOd54mZ6L+b6KGM5pON5L2cJyxcblx0XHRcdFx0XHRcdFx0XHRzaG93Q2FuY2VsOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR0aGF0LmNoZWNrZWQgPSBmYWxzZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdFx0YXBwLnJlcXVlc3QoXCJ3b3JrX29yZGVyL2xpc3Q/cGxhbm5lZD1cIiArIDEgKyBcIiZiaWtlX25vPVwiICsgdGhpcy5iaWtlX25vLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcy5kYXRhLm1ldGEudG90YWwsICflt6XljZXmlbDph48nKVxuXHRcdFx0XHRcdHRoaXMud29ya0NvdW50ID0gcmVzLmRhdGEubWV0YS50b3RhbDtcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHRcdGFwcC5yZXF1ZXN0KCd1c2VyL3VzZXJSZXBhaXJlZD9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm8gKyAnJiZzdGF0dXM9JyArIDAsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMuZGF0YSlcblx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzLmRhdGEubWV0YS50b3RhbCwgJ+aKpeS/ruaVsOmHjycpXG5cdFx0XHRcdHRoaXMucmVwYWlyc0NvdW50ID0gcmVzLmRhdGEubWV0YS50b3RhbFxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v6I635Y+W6L6T5YWl5qGG55qE5YC8XG5cdFx0YmluZEtleUlucHV0OiBmdW5jdGlvbihlKSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyhlLmRldGFpbC52YWx1ZSwgMTExMTEpXG5cdFx0XHR0aGlzLmJpa2VJZCA9IGUuZGV0YWlsLnZhbHVlO1xuXHRcdH0sXG5cdFx0cmVmcmVzaF9wb3dlcjogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLmdldEJpa2VfaW5mbyh0aGlzLmJpa2Vfbm8pXG5cdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0dGl0bGU6ICfliLfmlrDlrozmiJAnLFxuXHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRiaWtlUG9zaXRpb246IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcuL2Nhcl9wb3NpdGlvbj9pZD0nICsgdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCArICcmYmlrZV9ubz0nICsgdGhpcy5iaWtlX25vLFxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHJlY2VudE9yZGVyOiBmdW5jdGlvbigpIHtcblx0XHRcdGNvbnNvbGUubG9nKDEyMylcblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0dXJsOiAnLi4vbWFuYWdlL3JlY2VudE9yZGVyP2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0bW9kaWZ5OiBmdW5jdGlvbigpIHtcblx0XHRcdC8v6Lez6L2s5L+u5pS56L2m6L6G5L+h5oGvXG5cdFx0XHR2YXIgYmlrZSA9IHRoaXMuYmlrZURldGFpbC5iaWtlX2luZm9cblx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0dXJsOiAnLi9hbWVuZENhcj9pZD0nICsgYmlrZS5pZCArICcmYmlrZV9ubz0nICsgdGhpcy5iaWtlX25vICsgJyZib3hfbm89JyArIGJpa2UuYm94X25vLFxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8vIOm4o+esm1xuXHRcdHdoaXN0bGU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKHRoaXMuY2hlY2tlZCkge1xuXHRcdFx0XHRibHVNLmNvbm5lY3REZWl2ZWNlKHRoYXQuYmlrZURldGFpbC5iaWtlX2luZm8uYm94X25vLCBDTUQuYmVsbCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5ZON6ZOD5LitLi4uJ1xuXHRcdFx0XHR9KVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9iaWtlQmVsbD9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICflk43pk4PmiJDlip8nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly/lvIDplIFcblx0XHR1bmxvY2s6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKHRoaXMuY2hlY2tlZCkge1xuXHRcdFx0XHRibHVNLmNvbm5lY3REZWl2ZWNlKHRoYXQuYmlrZURldGFpbC5iaWtlX2luZm8uYm94X25vLCBDTUQudW5sb2NrKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdFx0dGl0bGU6ICflvIDplIHkuK0uLi4nLFxuXHRcdFx0XHR9KVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9vcGVuQmlrZUxvY2s/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5byA6ZSB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5YWz6ZSBXG5cdFx0Y2xvc2VfbG9jazogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XG5cdFx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5ib3hfbm8sIENNRC5sb2NrKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdFx0dGl0bGU6ICflhbPplIHkuK0uLi4nLFxuXHRcdFx0XHR9KVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9jbG9zZUJpa2VMb2NrP2Jpa2VfaWQ9JyArIHRoYXQuYmlrZURldGFpbC5iaWtlX2luZm8uaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+WFs+mUgeaIkOWKnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cblx0XHR9LFxuXHRcdGJpa2VfZGV0YWlsOiBmdW5jdGlvbigpIHtcblx0XHRcdC8v6L2m6L6G6K+m5oOF6aG16Z2iICBcblx0XHRcdHZhciBiaWtlID0gdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mbztcblx0XHRcdGNvbnNvbGUubG9nKGJpa2UpXG5cdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdHVybDogJy4uL21hbmFnZS9iaWtlRGV0YWlsP2Jpa2Vfbm89JyArIHRoaXMuYmlrZV9ubyArICcmaWQ9JyArIGJpa2UuaWRcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRyZXFhaXI6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6ICcuL3JlcWFpcj9iaWtlX25vPScgKyB0aGlzLmJpa2Vfbm9cblx0XHRcdH0pXG5cdFx0fSxcblx0XHQvL+W8gOeUteaxoOmUgVxuXHRcdGJhdHRlcnlfbG9hZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0XHRpZiAodGhpcy5jaGVja2VkKSB7XG5cdFx0XHRcdGJsdU0uY29ubmVjdERlaXZlY2UodGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5ib3hfbm8sIENNRC5iYXR0ZXJ5VW5sb2NrKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdFx0dGl0bGU6ICflvIDnlLXmsaDplIHkuK0uLi4nLFxuXHRcdFx0XHR9KVxuXHRcdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9vcGVuQmF0dGVyeUxvY2s/YmlrZV9pZD0nICsgdGhhdC5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5byA55S15rGg6ZSB5oiQ5YqfJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblxuXHRcdH0sXG5cdFx0cmVuZXdhbFBvd2VyOiBmdW5jdGlvbigpIHtcblx0XHRcdC8v5pu05paw55S16YePXG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+abtOaWsOeUtemHj+S4rS4uLicsXG5cdFx0XHR9KVxuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbmV3QmlrZUJhdHRlcnlNU0c/YmlrZV9pZD0nICsgdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmm7TmlrDnlLXph4/miJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHJlbmV3YWxMb2NhdGlvbjogZnVuY3Rpb24oKSB7XG5cdFx0XHQvL+abtOaWsOS9jee9rlxuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfmm7TmlrDkvY3nva7kuK0uLi4nLFxuXHRcdFx0fSlcblx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL25ld0Jpa2VMb2NhdGlvbj9iaWtlX2lkPScgKyB0aGlzLmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmm7TmlrDkvY3nva7miJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdHJlbmV3YWw6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Ly/ph43lkK/kuK3mjqdcblx0XHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL3JlYm9vdEJveD9iaWtlX2lkPScgKyB0aGF0LmJpa2VEZXRhaWwuYmlrZV9pbmZvLmlkLCAnJywgJ0dFVCcpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfph43lkK/kuK3mjqfmiJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8vIOiuvuS4uuWBnOi9puWMulxuXHRcdHJlY292ZXI6IGZ1bmN0aW9uKCkge1xuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVwYWlySW5QYXJraW5nP2Jpa2VfaWQ9JyArIHRoaXMuYmlrZURldGFpbC5iaWtlX2luZm8uaWQsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5pON5L2c5oiQ5YqfJyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+aTjeS9nOWksei0pScsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/kuIrnur9cblx0XHRvbmxpbmU6IGZ1bmN0aW9uKCkge1xuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvbG9naW4/YmlrZV9pZD0nICsgdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfkuIrnur/miJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8v5LiL57q/XG5cdFx0T2ZmbGluZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9sb2dvdXQ/YmlrZV9pZD0nICsgdGhpcy5iaWtlRGV0YWlsLmJpa2VfaW5mby5pZCwgJycsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKHJlcylcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfkuIvnur/miJDlip8nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxuXHRvbkxvYWQob3B0aW9ucykge1xuXHRcdC8vIGNvbnNvbGUubG9nKGFwcC5yZXF1ZXN0KCkpXG5cdFx0Y29uc29sZS5sb2codW5pLmdldFN0b3JhZ2VTeW5jKCdhbGxBcmVhJyksICdhbGxBcmVhJylcblx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0dGhhdC5zY3JlZW5IZWlnaHQgPSBhcHAuZ2xvYmFsRGF0YS5zY3JlZW5IZWlnaHQ7XG5cdFx0bGV0IHRpbWVyID0gc2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdGlmICh1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKSkge1xuXHRcdFx0XHR0aGF0LmFsbEFyZWEgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcblx0XHRcdFx0dGhhdC5hbGxTdGF0dXMgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbFN0YXRlJyk7XG5cdFx0XHR9XG5cdFx0XHRjb25zb2xlLmxvZyh0aGF0LmFsbEFyZWEpXG5cdFx0XHRsZXQgY3VyVmFsID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKVxuXHRcdFx0Y29uc29sZS5sb2coY3VyVmFsLCAnbG9nX2N1clZhbCcpXG5cdFx0XHRpZiAoY3VyVmFsKSB7XG5cdFx0XHRcdHRoYXQuYXJlYSA9IGN1clZhbDtcblx0XHRcdH1cblx0XHRcdGxldCBhcmVhSUQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2N1cklkJylcblx0XHRcdGNvbnNvbGUubG9nKGFyZWFJRCwgJ2xvZ19hcmVhSUQnKVxuXHRcdFx0aWYgKGFyZWFJRCkge1xuXHRcdFx0XHR0aGF0LmFyZWFJRCA9IGFyZWFJRDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGxldCBpZCA9IHRoYXQuYWxsQXJlYVswXS5hcmVhSURcblx0XHRcdFx0dGhhdC5hcmVhSUQgPSBpZFxuXHRcdFx0fVxuXHRcdH0sIDUwMClcblx0XHRpZiAob3B0aW9ucy5iaWtlX25vKSB7XG5cdFx0XHR0aGF0LmdldEJpa2VfaW5mbyhvcHRpb25zLmJpa2Vfbm8pXG5cdFx0XHR0aGF0LmJpa2Vfbm8gPSBvcHRpb25zLmJpa2Vfbm9cblx0XHR9XG5cdFx0aWYgKG9wdGlvbnMuc2NhbiA9PSAxKSB7XG5cdFx0XHR0aGlzLnNjYW5Db2RlKCk7XG5cdFx0fVxuXHR9LFxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///200\n");
  34576. /***/ }),
  34577. /* 201 */
  34578. /*!********************************************************************************!*\
  34579. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/reqair.vue?mpType=page ***!
  34580. \********************************************************************************/
  34581. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34582. /*! no static exports found */
  34583. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34584. "use strict";
  34585. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reqair.vue?vue&type=template&id=54e5c2dc&mpType=page */ 368);\n/* harmony import */ var _reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reqair.vue?vue&type=script&lang=js&mpType=page */ 370);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/reqair.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBOEg7QUFDOUg7QUFDcUU7QUFDTDs7O0FBR2hFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHVGQUFNO0FBQ1IsRUFBRSw0RkFBTTtBQUNSLEVBQUUscUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsZ0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzY3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9yZXFhaXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTU0ZTVjMmRjJm1wVHlwZT1wYWdlXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9yZXFhaXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL3JlcWFpci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbmRleC9yZXFhaXIudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///367\n");
  34586. /***/ }),
  34587. <<<<<<< HEAD
  34588. /* 368 */
  34589. /*!*************************************************************************************************!*\
  34590. !*** C:/Users/001/Desktop/运维端/pages/index/reqair.vue?vue&type=template&id=54e5c2dc&mpType=page ***!
  34591. \*************************************************************************************************/
  34592. =======
  34593. /* 202 */
  34594. /*!**************************************************************************************************************!*\
  34595. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/reqair.vue?vue&type=template&id=54e5c2dc&mpType=page ***!
  34596. \**************************************************************************************************************/
  34597. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34598. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  34599. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34600. "use strict";
  34601. __webpack_require__.r(__webpack_exports__);
  34602. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./reqair.vue?vue&type=template&id=54e5c2dc&mpType=page */ 369);
  34603. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  34604. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  34605. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  34606. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_template_id_54e5c2dc_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  34607. /***/ }),
  34608. <<<<<<< HEAD
  34609. /* 369 */
  34610. /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34611. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/reqair.vue?vue&type=template&id=54e5c2dc&mpType=page ***!
  34612. \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34613. =======
  34614. /* 203 */
  34615. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34616. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/reqair.vue?vue&type=template&id=54e5c2dc&mpType=page ***!
  34617. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34618. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34619. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  34620. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34621. "use strict";
  34622. __webpack_require__.r(__webpack_exports__);
  34623. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  34624. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  34625. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  34626. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  34627. var components
  34628. var render = function() {
  34629. var _vm = this
  34630. var _h = _vm.$createElement
  34631. var _c = _vm._self._c || _h
  34632. return _c("view", [
  34633. _c("view", { staticClass: _vm._$s(1, "sc", "box"), attrs: { _i: 1 } }, [
  34634. _c("input", {
  34635. directives: [
  34636. {
  34637. name: "model",
  34638. rawName: "v-model",
  34639. value: _vm.value1,
  34640. expression: "value1"
  34641. }
  34642. ],
  34643. attrs: { _i: 2 },
  34644. domProps: { value: _vm._$s(2, "v-model", _vm.value1) },
  34645. on: {
  34646. input: [
  34647. function($event) {
  34648. if ($event.target.composing) {
  34649. return
  34650. }
  34651. _vm.value1 = $event.target.value
  34652. },
  34653. _vm.input1
  34654. ]
  34655. }
  34656. }),
  34657. _c("input", {
  34658. directives: [
  34659. {
  34660. name: "model",
  34661. rawName: "v-model",
  34662. value: _vm.value3,
  34663. expression: "value3"
  34664. }
  34665. ],
  34666. attrs: { _i: 3 },
  34667. domProps: { value: _vm._$s(3, "v-model", _vm.value3) },
  34668. on: {
  34669. input: [
  34670. function($event) {
  34671. if ($event.target.composing) {
  34672. return
  34673. }
  34674. _vm.value3 = $event.target.value
  34675. },
  34676. _vm.input3
  34677. ]
  34678. }
  34679. }),
  34680. _c("text"),
  34681. _c(
  34682. "view",
  34683. { staticClass: _vm._$s(5, "sc", "list"), attrs: { _i: 5 } },
  34684. _vm._l(_vm._$s(6, "f", { forItems: _vm.list }), function(
  34685. item,
  34686. index,
  34687. $20,
  34688. $30
  34689. ) {
  34690. return _c(
  34691. "view",
  34692. {
  34693. key: _vm._$s(6, "f", { forIndex: $20, key: 6 + "-" + $30 }),
  34694. class: _vm._$s(
  34695. "6-" + $30,
  34696. "c",
  34697. _vm.index1 == index ? "active" : ""
  34698. ),
  34699. attrs: { _i: "6-" + $30 },
  34700. on: {
  34701. click: function($event) {
  34702. return _vm.screen(item.id, index)
  34703. }
  34704. }
  34705. },
  34706. [
  34707. _c("text", [
  34708. _vm._v(_vm._$s("7-" + $30, "t0-0", _vm._s(item.name)))
  34709. ])
  34710. ]
  34711. )
  34712. }),
  34713. 0
  34714. ),
  34715. _c(
  34716. "view",
  34717. {
  34718. staticClass: _vm._$s(8, "sc", "btn"),
  34719. attrs: { _i: 8 },
  34720. on: { click: _vm.btn }
  34721. },
  34722. [_c("text")]
  34723. )
  34724. ])
  34725. ])
  34726. }
  34727. var recyclableRender = false
  34728. var staticRenderFns = []
  34729. render._withStripped = true
  34730. /***/ }),
  34731. <<<<<<< HEAD
  34732. /* 370 */
  34733. /*!*******************************************************************************************!*\
  34734. !*** C:/Users/001/Desktop/运维端/pages/index/reqair.vue?vue&type=script&lang=js&mpType=page ***!
  34735. \*******************************************************************************************/
  34736. =======
  34737. /* 204 */
  34738. /*!********************************************************************************************************!*\
  34739. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/reqair.vue?vue&type=script&lang=js&mpType=page ***!
  34740. \********************************************************************************************************/
  34741. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34742. /*! no static exports found */
  34743. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34744. "use strict";
  34745. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./reqair.vue?vue&type=script&lang=js&mpType=page */ 371);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_reqair_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTRpQixDQUFnQiwra0JBQUcsRUFBQyIsImZpbGUiOiIzNzAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXFhaXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL3JlcWFpci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///370\n");
  34746. /***/ }),
  34747. <<<<<<< HEAD
  34748. /* 371 */
  34749. /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34750. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/reqair.vue?vue&type=script&lang=js&mpType=page ***!
  34751. \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34752. =======
  34753. /* 205 */
  34754. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34755. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/reqair.vue?vue&type=script&lang=js&mpType=page ***!
  34756. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34757. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34758. /*! no static exports found */
  34759. /***/ (function(module, exports, __webpack_require__) {
  34760. "use strict";
  34761. <<<<<<< HEAD
  34762. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n list: [],\n index1: null,\n bike_no: '',\n id: '',\n value1: '',\n value3: '' };\n\n },\n methods: {\n input1: function input1(e) {\n this.value1 = e.detail.value;\n },\n input3: function input3(e) {\n this.value3 = e.detail.value;\n },\n screen: function screen(id, index) {\n this.index1 = index;\n this.id = id;\n },\n btn: function btn() {\n var that = this;\n if (that.value1 == '') {\n uni.showToast({\n title: '请输入车牌号',\n icon: 'none' });\n\n return;\n } else if (that.value3 == '') {\n uni.showToast({\n title: '请输入原因',\n icon: 'none' });\n\n return;\n } else if (that.id == '') {\n uni.showToast({\n title: '请选择状态',\n icon: 'none' });\n\n return;\n }\n uni.showLoading({\n title: '加载中...' });\n\n var data = {\n bike_no: that.value1,\n trouble_part: that.id,\n reason: that.value3 };\n\n app.request('bike/bikeRepair', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '报修完成',\n icon: 'none' });\n\n setTimeout(function () {\n uni.navigateBack();\n }, 2000);\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n var that = this;\n that.value1 = options.bike_no;\n uni.showLoading({\n title: '加载中...' });\n\n app.request('bike/repairOptions', '', 'GET').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n that.list = res.data;\n }\n });\n uni.setNavigationBarTitle({\n title: '报修页面' });\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvcmVxYWlyLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBbUJBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxjQURBO0FBRUEsa0JBRkE7QUFHQSxpQkFIQTtBQUlBLFlBSkE7QUFLQSxnQkFMQTtBQU1BLGdCQU5BOztBQVFBLEdBVkE7QUFXQTtBQUNBO0FBQ0E7QUFDQSxLQUhBO0FBSUE7QUFDQTtBQUNBLEtBTkE7QUFPQTtBQUNBO0FBQ0E7QUFDQSxLQVZBO0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0EsT0FOQSxNQU1BO0FBQ0E7QUFDQSx3QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0EsT0FOQSxNQU1BO0FBQ0E7QUFDQSx3QkFEQTtBQUVBLHNCQUZBOztBQUlBO0FBQ0E7QUFDQTtBQUNBLHVCQURBOztBQUdBO0FBQ0EsNEJBREE7QUFFQSw2QkFGQTtBQUdBLDJCQUhBOztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBREE7QUFFQSx3QkFGQTs7QUFJQTtBQUNBO0FBQ0EsV0FGQSxFQUVBLElBRkE7QUFHQTtBQUNBLE9BWEE7QUFZQSxLQXBEQSxFQVhBOztBQWlFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUxBO0FBTUE7QUFDQSxtQkFEQTs7QUFHQSxHQWhGQSxFIiwiZmlsZSI6IjM3MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYm94XCI+XHJcblx0XHRcdDxpbnB1dCBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpei9pueJjOWPt1wiIEBpbnB1dD1cImlucHV0MVwiIHYtbW9kZWw9XCJ2YWx1ZTFcIj48L2lucHV0PlxyXG5cdFx0XHQ8aW5wdXQgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXljp/lm6BcIiBAaW5wdXQ9XCJpbnB1dDNcIiB2LW1vZGVsPVwidmFsdWUzXCI+PC9pbnB1dD5cclxuXHRcdFx0PHRleHQgc3R5bGU9XCJ3aWR0aDo2OTB1cHg7Zm9udC1zaXplOjMydXB4O2ZvbnQtZmFtaWx5OlBpbmdGYW5nIFNDO2NvbG9yOnJnYmEoNDIsNDIsNDIsMSk7cGFkZGluZzoxNXVweCAwdXB4O1wiPui9pui+hueKtuaAgTwvdGV4dD5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCI+XHJcblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gbGlzdFwiIEBjbGljaz1cInNjcmVlbihpdGVtLmlkLGluZGV4KVwiIDpjbGFzcz1cImluZGV4MT09aW5kZXg/J2FjdGl2ZSc6JydcIj5cclxuXHRcdFx0XHRcdDx0ZXh0Pnt7aXRlbS5uYW1lfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYnRuXCIgQGNsaWNrPVwiYnRuXCI+XHJcblx0XHRcdFx0PHRleHQ+5o+Q5LqkPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwID0gZ2V0QXBwKClcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxpc3Q6IFtdLFxyXG5cdFx0XHRcdGluZGV4MTogbnVsbCxcclxuXHRcdFx0XHRiaWtlX25vOiAnJyxcclxuXHRcdFx0XHRpZDogJycsXHJcblx0XHRcdFx0dmFsdWUxOiAnJyxcclxuXHRcdFx0XHR2YWx1ZTM6ICcnXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGlucHV0MTogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMudmFsdWUxID0gZS5kZXRhaWwudmFsdWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGlucHV0MzogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMudmFsdWUzID0gZS5kZXRhaWwudmFsdWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNjcmVlbjogZnVuY3Rpb24oaWQsaW5kZXgpIHtcclxuXHRcdFx0XHR0aGlzLmluZGV4MSA9IGluZGV4XHJcblx0XHRcdFx0dGhpcy5pZCA9IGlkXHJcblx0XHRcdH0sXHJcblx0XHRcdGJ0bjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGlmICh0aGF0LnZhbHVlMSA9PSAnJykge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn6K+36L6T5YWl6L2m54mM5Y+3JyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAodGhhdC52YWx1ZTMgPT0gJycpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+i+k+WFpeWOn+WboCcsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHRoYXQuaWQgPT0gJycpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+mAieaLqeeKtuaAgScsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHZhciBkYXRhID0ge1xyXG5cdFx0XHRcdFx0YmlrZV9ubzogdGhhdC52YWx1ZTEsXHJcblx0XHRcdFx0XHR0cm91YmxlX3BhcnQ6IHRoYXQuaWQsXHJcblx0XHRcdFx0XHRyZWFzb246IHRoYXQudmFsdWUzXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2Jpa2VSZXBhaXInLCBkYXRhLCAnUE9TVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aKpeS/ruWujOaIkCcsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpXHJcblx0XHRcdFx0XHRcdH0sIDIwMDApXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XHRvbkxvYWQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHtcclxuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xyXG5cdFx0XHR0aGF0LnZhbHVlMSA9IG9wdGlvbnMuYmlrZV9ub1xyXG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcclxuXHRcdFx0fSlcclxuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVwYWlyT3B0aW9ucycsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdHRoYXQubGlzdCA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdFx0dW5pLnNldE5hdmlnYXRpb25CYXJUaXRsZSh7XHJcblx0XHRcdFx0dGl0bGU6ICfmiqXkv67pobXpnaInXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGU+XHJcblx0LmJveCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC5ib3ggaW5wdXQge1xyXG5cdFx0d2lkdGg6IDY5MHVweDtcclxuXHRcdGhlaWdodDogOTB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCA0dXB4IDBweCByZ2JhKDE0MSwgMTQxLCAxNDEsIDEpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHVweDtcclxuXHRcdG1hcmdpbi10b3A6IDMwdXB4O1xyXG5cdH1cclxuXHJcblx0LmJveCAubGlzdCB7XHJcblx0XHR3aWR0aDogNjkwdXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHR9XHJcblxyXG5cdC5ib3ggLmxpc3QgdmlldyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiA1OHVweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDE4dXB4IDBweCByZ2JhKDIwOCwgMjA4LCAyMDgsIDEpO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjl1cHg7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0Y29sb3I6IHJnYmEoOTIsIDkyLCA5MiwgMSk7XHJcblx0XHRwYWRkaW5nOiAwdXB4IDIwdXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMzJ1cHg7XHJcblx0fVxyXG5cclxuXHQuYm94IC5saXN0IC5hY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZDogI2NjYztcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuXHR9XHJcblxyXG5cdC5ib3ggLmJ0biB7XHJcblx0XHR3aWR0aDogNDIwdXB4O1xyXG5cdFx0aGVpZ2h0OiA4OHVweDtcclxuXHRcdGJhY2tncm91bmQ6IHJnYmEoMjQsIDIxMywgMTg1LCAxKTtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggMjB1cHggMHB4IHJnYmEoMTAwLCAyMzksIDIxOCwgMSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiA0NHVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDMydXB4O1xyXG5cdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XHJcblx0XHRtYXJnaW4tdG9wOiAyMDB1cHg7XHJcblx0fVxyXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///371\n");
  34763. /***/ }),
  34764. /* 372 */
  34765. /*!*********************************************************************!*\
  34766. !*** C:/Users/001/Desktop/运维端/pages/index/amendCar.vue?mpType=page ***!
  34767. \*********************************************************************/
  34768. =======
  34769. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n list: [],\n index1: null,\n bike_no: '',\n id: '',\n value1: '',\n value3: '' };\n\n },\n methods: {\n input1: function input1(e) {\n this.value1 = e.detail.value;\n },\n input3: function input3(e) {\n this.value3 = e.detail.value;\n },\n screen: function screen(id, index) {\n this.index1 = index;\n this.id = id;\n },\n btn: function btn() {\n var that = this;\n if (that.value1 == '') {\n uni.showToast({\n title: '请输入车牌号',\n icon: 'none' });\n\n return;\n } else if (that.value3 == '') {\n uni.showToast({\n title: '请输入原因',\n icon: 'none' });\n\n return;\n } else if (that.id == '') {\n uni.showToast({\n title: '请选择状态',\n icon: 'none' });\n\n return;\n }\n uni.showLoading({\n title: '加载中...' });\n\n var data = {\n bike_no: that.value1,\n trouble_part: that.id,\n reason: that.value3 };\n\n app.request('bike/bikeRepair', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '报修完成',\n icon: 'none' });\n\n setTimeout(function () {\n uni.navigateBack();\n }, 2000);\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n var that = this;\n that.value1 = options.bike_no;\n uni.showLoading({\n title: '加载中...' });\n\n app.request('bike/repairOptions', '', 'GET').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n that.list = res.data;\n }\n });\n uni.setNavigationBarTitle({\n title: '报修页面' });\n\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvcmVxYWlyLnZ1ZSJdLCJuYW1lcyI6WyJhcHAiLCJnZXRBcHAiLCJkYXRhIiwibGlzdCIsImluZGV4MSIsImJpa2Vfbm8iLCJpZCIsInZhbHVlMSIsInZhbHVlMyIsIm1ldGhvZHMiLCJpbnB1dDEiLCJlIiwiZGV0YWlsIiwidmFsdWUiLCJpbnB1dDMiLCJzY3JlZW4iLCJpbmRleCIsImJ0biIsInRoYXQiLCJ1bmkiLCJzaG93VG9hc3QiLCJ0aXRsZSIsImljb24iLCJzaG93TG9hZGluZyIsInRyb3VibGVfcGFydCIsInJlYXNvbiIsInJlcXVlc3QiLCJ0aGVuIiwicmVzIiwiaGlkZUxvYWRpbmciLCJzdGF0dXNDb2RlIiwic2V0VGltZW91dCIsIm5hdmlnYXRlQmFjayIsIm9uTG9hZCIsIm9wdGlvbnMiLCJzZXROYXZpZ2F0aW9uQmFyVGl0bGUiXSwibWFwcGluZ3MiOiJ3RkFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsR0FBRyxHQUFHQyxNQUFNLEVBQWhCLEM7QUFDZTtBQUNkQyxNQURjLGtCQUNQO0FBQ04sV0FBTztBQUNOQyxVQUFJLEVBQUUsRUFEQTtBQUVOQyxZQUFNLEVBQUUsSUFGRjtBQUdOQyxhQUFPLEVBQUUsRUFISDtBQUlOQyxRQUFFLEVBQUUsRUFKRTtBQUtOQyxZQUFNLEVBQUUsRUFMRjtBQU1OQyxZQUFNLEVBQUUsRUFORixFQUFQOztBQVFBLEdBVmE7QUFXZEMsU0FBTyxFQUFFO0FBQ1JDLFVBQU0sRUFBRSxnQkFBU0MsQ0FBVCxFQUFZO0FBQ25CLFdBQUtKLE1BQUwsR0FBY0ksQ0FBQyxDQUFDQyxNQUFGLENBQVNDLEtBQXZCO0FBQ0EsS0FITztBQUlSQyxVQUFNLEVBQUUsZ0JBQVNILENBQVQsRUFBWTtBQUNuQixXQUFLSCxNQUFMLEdBQWNHLENBQUMsQ0FBQ0MsTUFBRixDQUFTQyxLQUF2QjtBQUNBLEtBTk87QUFPUkUsVUFBTSxFQUFFLGdCQUFTVCxFQUFULEVBQVlVLEtBQVosRUFBbUI7QUFDMUIsV0FBS1osTUFBTCxHQUFjWSxLQUFkO0FBQ0EsV0FBS1YsRUFBTCxHQUFVQSxFQUFWO0FBQ0EsS0FWTztBQVdSVyxPQUFHLEVBQUUsZUFBVztBQUNmLFVBQUlDLElBQUksR0FBRyxJQUFYO0FBQ0EsVUFBSUEsSUFBSSxDQUFDWCxNQUFMLElBQWUsRUFBbkIsRUFBdUI7QUFDdEJZLFdBQUcsQ0FBQ0MsU0FBSixDQUFjO0FBQ2JDLGVBQUssRUFBRSxRQURNO0FBRWJDLGNBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUE7QUFDQSxPQU5ELE1BTU8sSUFBSUosSUFBSSxDQUFDVixNQUFMLElBQWUsRUFBbkIsRUFBdUI7QUFDN0JXLFdBQUcsQ0FBQ0MsU0FBSixDQUFjO0FBQ2JDLGVBQUssRUFBRSxPQURNO0FBRWJDLGNBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUE7QUFDQSxPQU5NLE1BTUEsSUFBSUosSUFBSSxDQUFDWixFQUFMLElBQVcsRUFBZixFQUFtQjtBQUN6QmEsV0FBRyxDQUFDQyxTQUFKLENBQWM7QUFDYkMsZUFBSyxFQUFFLE9BRE07QUFFYkMsY0FBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQTtBQUNBO0FBQ0RILFNBQUcsQ0FBQ0ksV0FBSixDQUFnQjtBQUNmRixhQUFLLEVBQUUsUUFEUSxFQUFoQjs7QUFHQSxVQUFJbkIsSUFBSSxHQUFHO0FBQ1ZHLGVBQU8sRUFBRWEsSUFBSSxDQUFDWCxNQURKO0FBRVZpQixvQkFBWSxFQUFFTixJQUFJLENBQUNaLEVBRlQ7QUFHVm1CLGNBQU0sRUFBRVAsSUFBSSxDQUFDVixNQUhILEVBQVg7O0FBS0FSLFNBQUcsQ0FBQzBCLE9BQUosQ0FBWSxpQkFBWixFQUErQnhCLElBQS9CLEVBQXFDLE1BQXJDLEVBQTZDeUIsSUFBN0MsQ0FBa0QsVUFBQUMsR0FBRyxFQUFJO0FBQ3hEVCxXQUFHLENBQUNVLFdBQUo7QUFDQSxZQUFJRCxHQUFHLENBQUNFLFVBQUosSUFBa0IsR0FBdEIsRUFBMkI7QUFDMUJYLGFBQUcsQ0FBQ0MsU0FBSixDQUFjO0FBQ2JDLGlCQUFLLEVBQUUsTUFETTtBQUViQyxnQkFBSSxFQUFFLE1BRk8sRUFBZDs7QUFJQVMsb0JBQVUsQ0FBQyxZQUFXO0FBQ3JCWixlQUFHLENBQUNhLFlBQUo7QUFDQSxXQUZTLEVBRVAsSUFGTyxDQUFWO0FBR0E7QUFDRCxPQVhEO0FBWUEsS0FwRE8sRUFYSzs7QUFpRWRDLFFBQU0sRUFBRSxnQkFBU0MsT0FBVCxFQUFrQjtBQUN6QixRQUFJaEIsSUFBSSxHQUFHLElBQVg7QUFDQUEsUUFBSSxDQUFDWCxNQUFMLEdBQWMyQixPQUFPLENBQUM3QixPQUF0QjtBQUNBYyxPQUFHLENBQUNJLFdBQUosQ0FBZ0I7QUFDZkYsV0FBSyxFQUFFLFFBRFEsRUFBaEI7O0FBR0FyQixPQUFHLENBQUMwQixPQUFKLENBQVksb0JBQVosRUFBa0MsRUFBbEMsRUFBc0MsS0FBdEMsRUFBNkNDLElBQTdDLENBQWtELFVBQUFDLEdBQUcsRUFBSTtBQUN4RFQsU0FBRyxDQUFDVSxXQUFKO0FBQ0EsVUFBSUQsR0FBRyxDQUFDRSxVQUFKLElBQWtCLEdBQXRCLEVBQTJCO0FBQzFCWixZQUFJLENBQUNmLElBQUwsR0FBWXlCLEdBQUcsQ0FBQzFCLElBQWhCO0FBQ0E7QUFDRCxLQUxEO0FBTUFpQixPQUFHLENBQUNnQixxQkFBSixDQUEwQjtBQUN6QmQsV0FBSyxFQUFFLE1BRGtCLEVBQTFCOztBQUdBLEdBaEZhLEUiLCJmaWxlIjoiMjA1LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG52YXIgYXBwID0gZ2V0QXBwKClcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bGlzdDogW10sXG5cdFx0XHRpbmRleDE6IG51bGwsXG5cdFx0XHRiaWtlX25vOiAnJyxcblx0XHRcdGlkOiAnJyxcblx0XHRcdHZhbHVlMTogJycsXG5cdFx0XHR2YWx1ZTM6ICcnXG5cdFx0fVxuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0aW5wdXQxOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLnZhbHVlMSA9IGUuZGV0YWlsLnZhbHVlO1xuXHRcdH0sXG5cdFx0aW5wdXQzOiBmdW5jdGlvbihlKSB7XG5cdFx0XHR0aGlzLnZhbHVlMyA9IGUuZGV0YWlsLnZhbHVlO1xuXHRcdH0sXG5cdFx0c2NyZWVuOiBmdW5jdGlvbihpZCxpbmRleCkge1xuXHRcdFx0dGhpcy5pbmRleDEgPSBpbmRleFxuXHRcdFx0dGhpcy5pZCA9IGlkXG5cdFx0fSxcblx0XHRidG46IGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKHRoYXQudmFsdWUxID09ICcnKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn6K+36L6T5YWl6L2m54mM5Y+3Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fSBlbHNlIGlmICh0aGF0LnZhbHVlMyA9PSAnJykge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+ivt+i+k+WFpeWOn+WboCcsXG5cdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdH0pXG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH0gZWxzZSBpZiAodGhhdC5pZCA9PSAnJykge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+ivt+mAieaLqeeKtuaAgScsXG5cdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdH0pXG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5Yqg6L295LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHR2YXIgZGF0YSA9IHtcblx0XHRcdFx0YmlrZV9ubzogdGhhdC52YWx1ZTEsXG5cdFx0XHRcdHRyb3VibGVfcGFydDogdGhhdC5pZCxcblx0XHRcdFx0cmVhc29uOiB0aGF0LnZhbHVlM1xuXHRcdFx0fVxuXHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvYmlrZVJlcGFpcicsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfmiqXkv67lrozmiJAnLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpXG5cdFx0XHRcdFx0fSwgMjAwMClcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHR9LFxuXHRvbkxvYWQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHtcblx0XHR2YXIgdGhhdCA9IHRoaXM7XG5cdFx0dGhhdC52YWx1ZTEgPSBvcHRpb25zLmJpa2Vfbm9cblx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdH0pXG5cdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvcmVwYWlyT3B0aW9ucycsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdHRoYXQubGlzdCA9IHJlcy5kYXRhO1xuXHRcdFx0fVxuXHRcdH0pXG5cdFx0dW5pLnNldE5hdmlnYXRpb25CYXJUaXRsZSh7XG5cdFx0XHR0aXRsZTogJ+aKpeS/rumhtemdoidcblx0XHR9KVxuXHR9LFxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///205\n");
  34770. /***/ }),
  34771. /* 206 */
  34772. /*!**********************************************************************************!*\
  34773. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/amendCar.vue?mpType=page ***!
  34774. \**********************************************************************************/
  34775. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34776. /*! no static exports found */
  34777. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34778. "use strict";
  34779. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./amendCar.vue?vue&type=template&id=c318ed6a&mpType=page */ 373);\n/* harmony import */ var _amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./amendCar.vue?vue&type=script&lang=js&mpType=page */ 375);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/amendCar.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzcyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9hbWVuZENhci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YzMxOGVkNmEmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2FtZW5kQ2FyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9hbWVuZENhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbmRleC9hbWVuZENhci52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///372\n");
  34780. /***/ }),
  34781. <<<<<<< HEAD
  34782. /* 373 */
  34783. /*!***************************************************************************************************!*\
  34784. !*** C:/Users/001/Desktop/运维端/pages/index/amendCar.vue?vue&type=template&id=c318ed6a&mpType=page ***!
  34785. \***************************************************************************************************/
  34786. =======
  34787. /* 207 */
  34788. /*!****************************************************************************************************************!*\
  34789. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/amendCar.vue?vue&type=template&id=c318ed6a&mpType=page ***!
  34790. \****************************************************************************************************************/
  34791. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34792. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  34793. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34794. "use strict";
  34795. __webpack_require__.r(__webpack_exports__);
  34796. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./amendCar.vue?vue&type=template&id=c318ed6a&mpType=page */ 374);
  34797. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  34798. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  34799. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  34800. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_template_id_c318ed6a_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  34801. /***/ }),
  34802. <<<<<<< HEAD
  34803. /* 374 */
  34804. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34805. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/amendCar.vue?vue&type=template&id=c318ed6a&mpType=page ***!
  34806. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34807. =======
  34808. /* 208 */
  34809. /*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34810. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/amendCar.vue?vue&type=template&id=c318ed6a&mpType=page ***!
  34811. \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34812. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34813. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  34814. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34815. "use strict";
  34816. __webpack_require__.r(__webpack_exports__);
  34817. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  34818. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  34819. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  34820. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  34821. var components
  34822. var render = function() {
  34823. var _vm = this
  34824. var _h = _vm.$createElement
  34825. var _c = _vm._self._c || _h
  34826. return _c("view", [
  34827. _c(
  34828. "view",
  34829. { staticClass: _vm._$s(1, "sc", "amendCar"), attrs: { _i: 1 } },
  34830. [
  34831. _c("view", { staticClass: _vm._$s(2, "sc", "inp"), attrs: { _i: 2 } }, [
  34832. _c("image", { attrs: { _i: 3 } }),
  34833. _c("input", {
  34834. directives: [
  34835. {
  34836. name: "model",
  34837. rawName: "v-model",
  34838. value: _vm.bikeNo,
  34839. expression: "bikeNo"
  34840. }
  34841. ],
  34842. attrs: { _i: 4 },
  34843. domProps: { value: _vm._$s(4, "v-model", _vm.bikeNo) },
  34844. on: {
  34845. input: function($event) {
  34846. if ($event.target.composing) {
  34847. return
  34848. }
  34849. _vm.bikeNo = $event.target.value
  34850. }
  34851. }
  34852. }),
  34853. _c("text", {
  34854. staticClass: _vm._$s(5, "sc", "flexC"),
  34855. attrs: { _i: 5 },
  34856. on: { click: _vm.scan1 }
  34857. })
  34858. ]),
  34859. _c("view", { staticClass: _vm._$s(6, "sc", "inp"), attrs: { _i: 6 } }, [
  34860. _c("image", { attrs: { _i: 7 } }),
  34861. _c("input", {
  34862. directives: [
  34863. {
  34864. name: "model",
  34865. rawName: "v-model",
  34866. value: _vm.boxNo,
  34867. expression: "boxNo"
  34868. }
  34869. ],
  34870. attrs: { _i: 8 },
  34871. domProps: { value: _vm._$s(8, "v-model", _vm.boxNo) },
  34872. on: {
  34873. input: function($event) {
  34874. if ($event.target.composing) {
  34875. return
  34876. }
  34877. _vm.boxNo = $event.target.value
  34878. }
  34879. }
  34880. }),
  34881. _c("text", {
  34882. staticClass: _vm._$s(9, "sc", "flexC"),
  34883. attrs: { _i: 9 },
  34884. on: { click: _vm.scan2 }
  34885. })
  34886. ]),
  34887. _c(
  34888. "view",
  34889. { staticClass: _vm._$s(10, "sc", "inp"), attrs: { _i: 10 } },
  34890. [
  34891. _c("image", { attrs: { _i: 11 } }),
  34892. _c("input", { attrs: { _i: 12 }, on: { input: _vm.input } })
  34893. ]
  34894. ),
  34895. _c(
  34896. "view",
  34897. {
  34898. staticClass: _vm._$s(13, "sc", "button flexC"),
  34899. attrs: { _i: 13 },
  34900. on: { click: _vm.btn }
  34901. },
  34902. [_c("view")]
  34903. )
  34904. ]
  34905. )
  34906. ])
  34907. }
  34908. var recyclableRender = false
  34909. var staticRenderFns = []
  34910. render._withStripped = true
  34911. /***/ }),
  34912. <<<<<<< HEAD
  34913. /* 375 */
  34914. /*!*********************************************************************************************!*\
  34915. !*** C:/Users/001/Desktop/运维端/pages/index/amendCar.vue?vue&type=script&lang=js&mpType=page ***!
  34916. \*********************************************************************************************/
  34917. =======
  34918. /* 209 */
  34919. /*!**********************************************************************************************************!*\
  34920. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/amendCar.vue?vue&type=script&lang=js&mpType=page ***!
  34921. \**********************************************************************************************************/
  34922. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34923. /*! no static exports found */
  34924. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34925. "use strict";
  34926. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./amendCar.vue?vue&type=script&lang=js&mpType=page */ 376);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_amendCar_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIzNzUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9hbWVuZENhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYW1lbmRDYXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///375\n");
  34927. /***/ }),
  34928. <<<<<<< HEAD
  34929. /* 376 */
  34930. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34931. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/amendCar.vue?vue&type=script&lang=js&mpType=page ***!
  34932. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34933. =======
  34934. /* 210 */
  34935. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34936. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/amendCar.vue?vue&type=script&lang=js&mpType=page ***!
  34937. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34938. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34939. /*! no static exports found */
  34940. /***/ (function(module, exports, __webpack_require__) {
  34941. "use strict";
  34942. <<<<<<< HEAD
  34943. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n bikeNo: '', //车牌号\n boxNo: '', //车牌号\n bikeID: '', //车牌号\n value: '' };\n\n },\n methods: {\n // 扫车牌号\n scan1: function scan1() {\n var that = this;\n uni.scanCode({\n onlyFromCamera: true,\n success: function success(res) {var _this = this;\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n this.bikeNo = code;\n app.request('bike/getBikeInfo?bike_no=' + code, '', 'GET').then(function (res) {\n _this.bikeID = res.data.bike_info.id;\n });\n } });\n\n },\n //扫描中控设备号\n scan2: function scan2() {\n uni.scanCode({\n onlyFromCamera: true,\n success: function success(res) {\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n this.boxNo = code;\n } });\n\n },\n input: function input(e) {\n this.value = e.detail.value;\n },\n btn: function btn() {\n uni.showLoading({\n title: '修改中...' });\n\n var data = {\n bike_id: this.bikeID,\n bike_remarks: this.value,\n bike_no: this.bikeNo,\n box_no: this.boxNo };\n\n app.request('bike/updateBikeInfo', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '修改成功',\n icon: 'none',\n success: function success() {\n uni.navigateBack();\n } });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n this.bikeNo = options.bike_no;\n this.bikeID = options.id;\n this.boxNo = options.box_no;\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvYW1lbmRDYXIudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5QkEsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLGdCQURBLEVBQ0E7QUFDQSxlQUZBLEVBRUE7QUFDQSxnQkFIQSxFQUdBO0FBQ0EsZUFKQTs7QUFNQSxHQVJBO0FBU0E7QUFDQTtBQUNBLFNBRkEsbUJBRUE7QUFDQTtBQUNBO0FBQ0EsNEJBREE7QUFFQSxlQUZBLG1CQUVBLEdBRkEsRUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUZBO0FBR0EsU0FUQTs7QUFXQSxLQWZBO0FBZ0JBO0FBQ0EsU0FqQkEsbUJBaUJBO0FBQ0E7QUFDQSw0QkFEQTtBQUVBLGVBRkEsbUJBRUEsR0FGQSxFQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FOQTs7QUFRQSxLQTFCQTtBQTJCQTtBQUNBO0FBQ0EsS0E3QkE7QUE4QkE7QUFDQTtBQUNBLHVCQURBOztBQUdBO0FBQ0EsNEJBREE7QUFFQSxnQ0FGQTtBQUdBLDRCQUhBO0FBSUEsMEJBSkE7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFDQTtBQUNBLGFBTEE7O0FBT0E7QUFDQSxPQVhBO0FBWUEsS0FwREEsRUFUQTs7QUErREE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQW5FQSxFIiwiZmlsZSI6IjM3Ni5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiYW1lbmRDYXJcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpbnBcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9pY29uMS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXovabniYzlj7dcIiB2LW1vZGVsPVwiYmlrZU5vXCI+PC9pbnB1dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImZsZXhDXCIgQGNsaWNrPVwic2NhbjFcIj7miavnoIE8L3RleHQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpbnBcIj5cclxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cDovL3Jlc291cmNlLndlaWxhaWJpa2UuY29tL2NvbW1vbi9pY29uMi5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXkuK3mjqforr7lpIflj7dcIiB2LW1vZGVsPVwiYm94Tm9cIj48L2lucHV0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZmxleENcIiBAY2xpY2s9XCJzY2FuMlwiPuaJq+eggTwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImlucFwiPlxyXG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJodHRwOi8vcmVzb3VyY2Uud2VpbGFpYmlrZS5jb20vY29tbW9uL2ljb24zLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PGlucHV0IHBsYWNlaG9sZGVyPVwi5re75Yqg5aSH5rOoXCIgQGlucHV0PVwiaW5wdXRcIj48L2lucHV0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiYnV0dG9uIGZsZXhDXCIgQGNsaWNrPVwiYnRuXCI+XHJcblx0XHRcdFx0PHZpZXc+5L+d5a2YPC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHR2YXIgYXBwID0gZ2V0QXBwKClcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGJpa2VObzogJycsIC8v6L2m54mM5Y+3XHJcblx0XHRcdFx0Ym94Tm86ICcnLCAvL+i9pueJjOWPt1xyXG5cdFx0XHRcdGJpa2VJRDogJycsIC8v6L2m54mM5Y+3XHJcblx0XHRcdFx0dmFsdWU6ICcnXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8vIOaJq+i9pueJjOWPt1xyXG5cdFx0XHRzY2FuMSgpIHtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLnNjYW5Db2RlKHtcclxuXHRcdFx0XHRcdG9ubHlGcm9tQ2FtZXJhOiB0cnVlLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnJlc3VsdC5sYXN0SW5kZXhPZihcIlxcPVwiKTtcclxuXHRcdFx0XHRcdFx0dmFyIGNvZGUgPSByZXMucmVzdWx0LnN1YnN0cmluZyhpbmRleCArIDEsIHJlcy5yZXN1bHQubGVuZ3RoKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5iaWtlTm8gPSBjb2RlXHJcblx0XHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2dldEJpa2VJbmZvP2Jpa2Vfbm89JyArIGNvZGUsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuYmlrZUlEID0gcmVzLmRhdGEuYmlrZV9pbmZvLmlkXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/miavmj4/kuK3mjqforr7lpIflj7dcclxuXHRcdFx0c2NhbjIoKSB7XHJcblx0XHRcdFx0dW5pLnNjYW5Db2RlKHtcclxuXHRcdFx0XHRcdG9ubHlGcm9tQ2FtZXJhOiB0cnVlLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnJlc3VsdC5sYXN0SW5kZXhPZihcIlxcPVwiKTtcclxuXHRcdFx0XHRcdFx0dmFyIGNvZGUgPSByZXMucmVzdWx0LnN1YnN0cmluZyhpbmRleCArIDEsIHJlcy5yZXN1bHQubGVuZ3RoKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5ib3hObyA9IGNvZGVcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbnB1dDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdHRoaXMudmFsdWUgPSBlLmRldGFpbC52YWx1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRidG46IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+S/ruaUueS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR2YXIgZGF0YSA9IHtcclxuXHRcdFx0XHRcdGJpa2VfaWQ6IHRoaXMuYmlrZUlELFxyXG5cdFx0XHRcdFx0YmlrZV9yZW1hcmtzOiB0aGlzLnZhbHVlLFxyXG5cdFx0XHRcdFx0YmlrZV9ubzogdGhpcy5iaWtlTm8sXHJcblx0XHRcdFx0XHRib3hfbm86IHRoaXMuYm94Tm8sXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL3VwZGF0ZUJpa2VJbmZvJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+S/ruaUueaIkOWKnycsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxyXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkOiBmdW5jdGlvbihvcHRpb25zKSB7XHJcblx0XHRcdHRoaXMuYmlrZU5vID0gb3B0aW9ucy5iaWtlX25vO1xyXG5cdFx0XHR0aGlzLmJpa2VJRCA9IG9wdGlvbnMuaWQ7XHJcblx0XHRcdHRoaXMuYm94Tm8gPSBvcHRpb25zLmJveF9ubztcclxuXHRcdH0sXHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHR1bmktcGFnZXtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcblx0LmFtZW5kQ2FyIHtcclxuXHRcdHdpZHRoOiA5MCU7XHJcblx0XHRtYXJnaW46IDIwdXB4IGF1dG8gMDtcclxuXHR9XHJcblxyXG5cdC5hbWVuZENhcj52aWV3IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG5cclxuXHQuYW1lbmRDYXIgaW1hZ2Uge1xyXG5cdFx0aGVpZ2h0OiA0OHVweDtcclxuXHRcdHdpZHRoOiA0OHVweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMjh1cHg7XHJcblx0fVxyXG5cclxuXHQuYW1lbmRDYXIgdmlldy5pbnAge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjB1cHg7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgNHVweCAwIHJnYmEoMjIyLCAyMjIsIDIyMiwgMSk7XHJcblx0XHRwYWRkaW5nOiAyMHVweCAyMHVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LmFtZW5kQ2FyIGlucHV0IHtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgIzZiNmI2YjtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxMHVweDtcclxuXHRcdHdpZHRoOiA3MCU7XHJcblx0fVxyXG5cclxuXHQuYW1lbmRDYXIgLnBsYWNlaG9sZGVyIHtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0XHRjb2xvcjogI2I2YjZiNjtcclxuXHR9XHJcblxyXG5cdC5hbWVuZENhciB0ZXh0IHtcclxuXHRcdGJhY2tncm91bmQ6ICNjNWM1YzU7XHJcblx0XHRwYWRkaW5nOiA1dXB4IDIwdXB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDI0dXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMTB1cHg7XHJcblx0fVxyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0d2lkdGg6IDQyMHVweDtcclxuXHRcdGhlaWdodDogODh1cHg7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAxMHVweDtcclxuXHRcdG1hcmdpbi10b3A6IDg0dXB4O1xyXG5cdFx0YmFja2dyb3VuZDogcmdiYSgyNCwgMjEzLCAxODUsIDEpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCA4dXB4IDEzdXB4IDAgcmdiYSgxMDAsIDIzOSwgMjE4LCAxKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDQ0dXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///376\n");
  34944. /***/ }),
  34945. /* 377 */
  34946. /*!*************************************************************************!*\
  34947. !*** C:/Users/001/Desktop/运维端/pages/index/car_position.vue?mpType=page ***!
  34948. \*************************************************************************/
  34949. =======
  34950. eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n bikeNo: '', //车牌号\n boxNo: '', //车牌号\n bikeID: '', //车牌号\n value: '' };\n\n },\n methods: {\n // 扫车牌号\n scan1: function scan1() {\n var that = this;\n uni.scanCode({\n onlyFromCamera: true,\n success: function success(res) {var _this = this;\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n this.bikeNo = code;\n app.request('bike/getBikeInfo?bike_no=' + code, '', 'GET').then(function (res) {\n _this.bikeID = res.data.bike_info.id;\n });\n } });\n\n },\n //扫描中控设备号\n scan2: function scan2() {\n uni.scanCode({\n onlyFromCamera: true,\n success: function success(res) {\n var index = res.result.lastIndexOf(\"\\=\");\n var code = res.result.substring(index + 1, res.result.length);\n this.boxNo = code;\n } });\n\n },\n input: function input(e) {\n this.value = e.detail.value;\n },\n btn: function btn() {\n uni.showLoading({\n title: '修改中...' });\n\n var data = {\n bike_id: this.bikeID,\n bike_remarks: this.value,\n bike_no: this.bikeNo,\n box_no: this.boxNo };\n\n app.request('bike/updateBikeInfo', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n uni.showToast({\n title: '修改成功',\n icon: 'none',\n success: function success() {\n uni.navigateBack();\n } });\n\n }\n });\n } },\n\n onLoad: function onLoad(options) {\n this.bikeNo = options.bike_no;\n this.bikeID = options.id;\n this.boxNo = options.box_no;\n } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvYW1lbmRDYXIudnVlIl0sIm5hbWVzIjpbImFwcCIsImdldEFwcCIsImRhdGEiLCJiaWtlTm8iLCJib3hObyIsImJpa2VJRCIsInZhbHVlIiwibWV0aG9kcyIsInNjYW4xIiwidGhhdCIsInVuaSIsInNjYW5Db2RlIiwib25seUZyb21DYW1lcmEiLCJzdWNjZXNzIiwicmVzIiwiaW5kZXgiLCJyZXN1bHQiLCJsYXN0SW5kZXhPZiIsImNvZGUiLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJyZXF1ZXN0IiwidGhlbiIsImJpa2VfaW5mbyIsImlkIiwic2NhbjIiLCJpbnB1dCIsImUiLCJkZXRhaWwiLCJidG4iLCJzaG93TG9hZGluZyIsInRpdGxlIiwiYmlrZV9pZCIsImJpa2VfcmVtYXJrcyIsImJpa2Vfbm8iLCJib3hfbm8iLCJoaWRlTG9hZGluZyIsInN0YXR1c0NvZGUiLCJzaG93VG9hc3QiLCJpY29uIiwibmF2aWdhdGVCYWNrIiwib25Mb2FkIiwib3B0aW9ucyJdLCJtYXBwaW5ncyI6IndGQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxHQUFHLEdBQUdDLE1BQU0sRUFBaEIsQztBQUNlO0FBQ2RDLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ05DLFlBQU0sRUFBRSxFQURGLEVBQ007QUFDWkMsV0FBSyxFQUFFLEVBRkQsRUFFSztBQUNYQyxZQUFNLEVBQUUsRUFIRixFQUdNO0FBQ1pDLFdBQUssRUFBRSxFQUpELEVBQVA7O0FBTUEsR0FSYTtBQVNkQyxTQUFPLEVBQUU7QUFDUjtBQUNBQyxTQUZRLG1CQUVBO0FBQ1AsVUFBSUMsSUFBSSxHQUFHLElBQVg7QUFDQUMsU0FBRyxDQUFDQyxRQUFKLENBQWE7QUFDWkMsc0JBQWMsRUFBRSxJQURKO0FBRVpDLGVBRlksbUJBRUpDLEdBRkksRUFFQztBQUNaLGNBQUlDLEtBQUssR0FBR0QsR0FBRyxDQUFDRSxNQUFKLENBQVdDLFdBQVgsQ0FBdUIsSUFBdkIsQ0FBWjtBQUNBLGNBQUlDLElBQUksR0FBR0osR0FBRyxDQUFDRSxNQUFKLENBQVdHLFNBQVgsQ0FBcUJKLEtBQUssR0FBRyxDQUE3QixFQUFnQ0QsR0FBRyxDQUFDRSxNQUFKLENBQVdJLE1BQTNDLENBQVg7QUFDQSxlQUFLakIsTUFBTCxHQUFjZSxJQUFkO0FBQ0FsQixhQUFHLENBQUNxQixPQUFKLENBQVksOEJBQThCSCxJQUExQyxFQUFnRCxFQUFoRCxFQUFvRCxLQUFwRCxFQUEyREksSUFBM0QsQ0FBZ0UsVUFBQVIsR0FBRyxFQUFJO0FBQ3RFLGlCQUFJLENBQUNULE1BQUwsR0FBY1MsR0FBRyxDQUFDWixJQUFKLENBQVNxQixTQUFULENBQW1CQyxFQUFqQztBQUNBLFdBRkQ7QUFHQSxTQVRXLEVBQWI7O0FBV0EsS0FmTztBQWdCUjtBQUNBQyxTQWpCUSxtQkFpQkE7QUFDUGYsU0FBRyxDQUFDQyxRQUFKLENBQWE7QUFDWkMsc0JBQWMsRUFBRSxJQURKO0FBRVpDLGVBRlksbUJBRUpDLEdBRkksRUFFQztBQUNaLGNBQUlDLEtBQUssR0FBR0QsR0FBRyxDQUFDRSxNQUFKLENBQVdDLFdBQVgsQ0FBdUIsSUFBdkIsQ0FBWjtBQUNBLGNBQUlDLElBQUksR0FBR0osR0FBRyxDQUFDRSxNQUFKLENBQVdHLFNBQVgsQ0FBcUJKLEtBQUssR0FBRyxDQUE3QixFQUFnQ0QsR0FBRyxDQUFDRSxNQUFKLENBQVdJLE1BQTNDLENBQVg7QUFDQSxlQUFLaEIsS0FBTCxHQUFhYyxJQUFiO0FBQ0EsU0FOVyxFQUFiOztBQVFBLEtBMUJPO0FBMkJSUSxTQUFLLEVBQUUsZUFBU0MsQ0FBVCxFQUFZO0FBQ2xCLFdBQUtyQixLQUFMLEdBQWFxQixDQUFDLENBQUNDLE1BQUYsQ0FBU3RCLEtBQXRCO0FBQ0EsS0E3Qk87QUE4QlJ1QixPQUFHLEVBQUUsZUFBVztBQUNmbkIsU0FBRyxDQUFDb0IsV0FBSixDQUFnQjtBQUNmQyxhQUFLLEVBQUUsUUFEUSxFQUFoQjs7QUFHQSxVQUFJN0IsSUFBSSxHQUFHO0FBQ1Y4QixlQUFPLEVBQUUsS0FBSzNCLE1BREo7QUFFVjRCLG9CQUFZLEVBQUUsS0FBSzNCLEtBRlQ7QUFHVjRCLGVBQU8sRUFBRSxLQUFLL0IsTUFISjtBQUlWZ0MsY0FBTSxFQUFFLEtBQUsvQixLQUpILEVBQVg7O0FBTUFKLFNBQUcsQ0FBQ3FCLE9BQUosQ0FBWSxxQkFBWixFQUFtQ25CLElBQW5DLEVBQXlDLE1BQXpDLEVBQWlEb0IsSUFBakQsQ0FBc0QsVUFBQVIsR0FBRyxFQUFJO0FBQzVESixXQUFHLENBQUMwQixXQUFKO0FBQ0EsWUFBSXRCLEdBQUcsQ0FBQ3VCLFVBQUosSUFBa0IsR0FBdEIsRUFBMkI7QUFDMUIzQixhQUFHLENBQUM0QixTQUFKLENBQWM7QUFDYlAsaUJBQUssRUFBRSxNQURNO0FBRWJRLGdCQUFJLEVBQUUsTUFGTztBQUdiMUIsbUJBQU8sRUFBRSxtQkFBVztBQUNuQkgsaUJBQUcsQ0FBQzhCLFlBQUo7QUFDQSxhQUxZLEVBQWQ7O0FBT0E7QUFDRCxPQVhEO0FBWUEsS0FwRE8sRUFUSzs7QUErRGRDLFFBQU0sRUFBRSxnQkFBU0MsT0FBVCxFQUFrQjtBQUN6QixTQUFLdkMsTUFBTCxHQUFjdUMsT0FBTyxDQUFDUixPQUF0QjtBQUNBLFNBQUs3QixNQUFMLEdBQWNxQyxPQUFPLENBQUNsQixFQUF0QjtBQUNBLFNBQUtwQixLQUFMLEdBQWFzQyxPQUFPLENBQUNQLE1BQXJCO0FBQ0EsR0FuRWEsRSIsImZpbGUiOiIyMTAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbnZhciBhcHAgPSBnZXRBcHAoKVxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRiaWtlTm86ICcnLCAvL+i9pueJjOWPt1xuXHRcdFx0Ym94Tm86ICcnLCAvL+i9pueJjOWPt1xuXHRcdFx0YmlrZUlEOiAnJywgLy/ovabniYzlj7dcblx0XHRcdHZhbHVlOiAnJ1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8vIOaJq+i9pueJjOWPt1xuXHRcdHNjYW4xKCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0dW5pLnNjYW5Db2RlKHtcblx0XHRcdFx0b25seUZyb21DYW1lcmE6IHRydWUsXG5cdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0bGV0IGluZGV4ID0gcmVzLnJlc3VsdC5sYXN0SW5kZXhPZihcIlxcPVwiKTtcblx0XHRcdFx0XHR2YXIgY29kZSA9IHJlcy5yZXN1bHQuc3Vic3RyaW5nKGluZGV4ICsgMSwgcmVzLnJlc3VsdC5sZW5ndGgpO1xuXHRcdFx0XHRcdHRoaXMuYmlrZU5vID0gY29kZVxuXHRcdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL2dldEJpa2VJbmZvP2Jpa2Vfbm89JyArIGNvZGUsICcnLCAnR0VUJykudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5iaWtlSUQgPSByZXMuZGF0YS5iaWtlX2luZm8uaWRcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/miavmj4/kuK3mjqforr7lpIflj7dcblx0XHRzY2FuMigpIHtcblx0XHRcdHVuaS5zY2FuQ29kZSh7XG5cdFx0XHRcdG9ubHlGcm9tQ2FtZXJhOiB0cnVlLFxuXHRcdFx0XHRzdWNjZXNzKHJlcykge1xuXHRcdFx0XHRcdGxldCBpbmRleCA9IHJlcy5yZXN1bHQubGFzdEluZGV4T2YoXCJcXD1cIik7XG5cdFx0XHRcdFx0dmFyIGNvZGUgPSByZXMucmVzdWx0LnN1YnN0cmluZyhpbmRleCArIDEsIHJlcy5yZXN1bHQubGVuZ3RoKTtcblx0XHRcdFx0XHR0aGlzLmJveE5vID0gY29kZVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0aW5wdXQ6IGZ1bmN0aW9uKGUpIHtcblx0XHRcdHRoaXMudmFsdWUgPSBlLmRldGFpbC52YWx1ZVxuXHRcdH0sXG5cdFx0YnRuOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn5L+u5pS55LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHR2YXIgZGF0YSA9IHtcblx0XHRcdFx0YmlrZV9pZDogdGhpcy5iaWtlSUQsXG5cdFx0XHRcdGJpa2VfcmVtYXJrczogdGhpcy52YWx1ZSxcblx0XHRcdFx0YmlrZV9ubzogdGhpcy5iaWtlTm8sXG5cdFx0XHRcdGJveF9ubzogdGhpcy5ib3hObyxcblx0XHRcdH1cblx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL3VwZGF0ZUJpa2VJbmZvJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiAn5L+u5pS55oiQ5YqfJyxcblx0XHRcdFx0XHRcdGljb246ICdub25lJyxcblx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVCYWNrKClcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdH0sXG5cdG9uTG9hZDogZnVuY3Rpb24ob3B0aW9ucykge1xuXHRcdHRoaXMuYmlrZU5vID0gb3B0aW9ucy5iaWtlX25vO1xuXHRcdHRoaXMuYmlrZUlEID0gb3B0aW9ucy5pZDtcblx0XHR0aGlzLmJveE5vID0gb3B0aW9ucy5ib3hfbm87XG5cdH0sXG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///210\n");
  34951. /***/ }),
  34952. /* 211 */
  34953. /*!**************************************************************************************!*\
  34954. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/car_position.vue?mpType=page ***!
  34955. \**************************************************************************************/
  34956. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34957. /*! no static exports found */
  34958. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34959. "use strict";
  34960. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./car_position.vue?vue&type=template&id=77e74d5a&style=height%3A%20100%25%3B&mpType=page */ 378);\n/* harmony import */ var _car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./car_position.vue?vue&type=script&lang=js&mpType=page */ 380);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/car_position.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0s7QUFDaEs7QUFDMkU7QUFDTDs7O0FBR3RFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLDZGQUFNO0FBQ1IsRUFBRSw4SEFBTTtBQUNSLEVBQUUsdUlBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0lBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzc3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9jYXJfcG9zaXRpb24udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTc3ZTc0ZDVhJnN0eWxlPWhlaWdodCUzQSUyMDEwMCUyNSUzQiZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY2FyX3Bvc2l0aW9uLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9jYXJfcG9zaXRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxccnVudGltZVxcXFxjb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwicGFnZXMvaW5kZXgvY2FyX3Bvc2l0aW9uLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///377\n");
  34961. /***/ }),
  34962. <<<<<<< HEAD
  34963. /* 378 */
  34964. /*!***********************************************************************************************************************************!*\
  34965. !*** C:/Users/001/Desktop/运维端/pages/index/car_position.vue?vue&type=template&id=77e74d5a&style=height%3A%20100%25%3B&mpType=page ***!
  34966. \***********************************************************************************************************************************/
  34967. =======
  34968. /* 212 */
  34969. /*!************************************************************************************************************************************************!*\
  34970. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/car_position.vue?vue&type=template&id=77e74d5a&style=height%3A%20100%25%3B&mpType=page ***!
  34971. \************************************************************************************************************************************************/
  34972. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34973. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  34974. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34975. "use strict";
  34976. __webpack_require__.r(__webpack_exports__);
  34977. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./car_position.vue?vue&type=template&id=77e74d5a&style=height%3A%20100%25%3B&mpType=page */ 379);
  34978. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  34979. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  34980. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  34981. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_template_id_77e74d5a_style_height_3A_20100_25_3B_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  34982. /***/ }),
  34983. <<<<<<< HEAD
  34984. /* 379 */
  34985. /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34986. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/car_position.vue?vue&type=template&id=77e74d5a&style=height%3A%20100%25%3B&mpType=page ***!
  34987. \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34988. =======
  34989. /* 213 */
  34990. /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  34991. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/car_position.vue?vue&type=template&id=77e74d5a&style=height%3A%20100%25%3B&mpType=page ***!
  34992. \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  34993. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  34994. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  34995. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  34996. "use strict";
  34997. __webpack_require__.r(__webpack_exports__);
  34998. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  34999. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  35000. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  35001. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  35002. var components
  35003. var render = function() {
  35004. var _vm = this
  35005. var _h = _vm.$createElement
  35006. var _c = _vm._self._c || _h
  35007. return _c(
  35008. "view",
  35009. { staticClass: _vm._$s(0, "sc", "carPosition"), attrs: { _i: 0 } },
  35010. [
  35011. _c(
  35012. "view",
  35013. { staticClass: _vm._$s(1, "sc", "position-top"), attrs: { _i: 1 } },
  35014. [
  35015. _c(
  35016. "view",
  35017. { staticClass: _vm._$s(2, "sc", "child"), attrs: { _i: 2 } },
  35018. [
  35019. _c(
  35020. "view",
  35021. {
  35022. staticClass: _vm._$s(3, "sc", "children1"),
  35023. attrs: { _i: 3 }
  35024. },
  35025. [
  35026. _c(
  35027. "picker",
  35028. {
  35029. attrs: {
  35030. value: _vm._$s(4, "a-value", _vm.startTime),
  35031. _i: 4
  35032. },
  35033. on: { change: _vm.start }
  35034. },
  35035. [_vm._v(_vm._$s(4, "t0-0", _vm._s(_vm.startTime)))]
  35036. ),
  35037. _c(
  35038. "picker",
  35039. {
  35040. attrs: {
  35041. value: _vm._$s(5, "a-value", _vm.endTime),
  35042. _i: 5
  35043. },
  35044. on: { change: _vm.end }
  35045. },
  35046. [_vm._v(_vm._$s(5, "t0-0", _vm._s(_vm.endTime)))]
  35047. )
  35048. ]
  35049. ),
  35050. _c(
  35051. "view",
  35052. {
  35053. staticClass: _vm._$s(6, "sc", "children1"),
  35054. attrs: { _i: 6 }
  35055. },
  35056. [
  35057. _c("view", {
  35058. staticClass: _vm._$s(7, "sc", "btn"),
  35059. attrs: { _i: 7 },
  35060. on: { click: _vm.show }
  35061. }),
  35062. _c("view", {
  35063. staticClass: _vm._$s(8, "sc", "btn"),
  35064. attrs: { _i: 8 },
  35065. on: { click: _vm.hidn }
  35066. })
  35067. ]
  35068. )
  35069. ]
  35070. ),
  35071. _c(
  35072. "view",
  35073. { staticClass: _vm._$s(9, "sc", "hint"), attrs: { _i: 9 } },
  35074. [
  35075. _c("text", {
  35076. staticClass: _vm._$s(10, "sc", "color"),
  35077. attrs: { _i: 10 }
  35078. }),
  35079. _c("text"),
  35080. _c("text", {
  35081. staticClass: _vm._$s(12, "sc", "color color1"),
  35082. attrs: { _i: 12 }
  35083. }),
  35084. _c("text"),
  35085. _c("text", {
  35086. staticClass: _vm._$s(14, "sc", "color color2"),
  35087. attrs: { _i: 14 }
  35088. }),
  35089. _c("text")
  35090. ]
  35091. )
  35092. ]
  35093. ),
  35094. _c("map", {
  35095. style: _vm._$s(16, "s", { height: _vm.mapHeight - 117 + "px" }),
  35096. attrs: {
  35097. id: "map",
  35098. longitude: _vm._$s(16, "a-longitude", _vm.longitude),
  35099. latitude: _vm._$s(16, "a-latitude", _vm.latitude),
  35100. controls: _vm._$s(16, "a-controls", _vm.controls),
  35101. markers: _vm._$s(16, "a-markers", _vm.markers),
  35102. polyline: _vm._$s(16, "a-polyline", _vm.polyline),
  35103. _i: 16
  35104. }
  35105. })
  35106. ]
  35107. )
  35108. }
  35109. var recyclableRender = false
  35110. var staticRenderFns = []
  35111. render._withStripped = true
  35112. /***/ }),
  35113. <<<<<<< HEAD
  35114. /* 380 */
  35115. /*!*************************************************************************************************!*\
  35116. !*** C:/Users/001/Desktop/运维端/pages/index/car_position.vue?vue&type=script&lang=js&mpType=page ***!
  35117. \*************************************************************************************************/
  35118. =======
  35119. /* 214 */
  35120. /*!**************************************************************************************************************!*\
  35121. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/car_position.vue?vue&type=script&lang=js&mpType=page ***!
  35122. \**************************************************************************************************************/
  35123. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35124. /*! no static exports found */
  35125. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35126. "use strict";
  35127. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./car_position.vue?vue&type=script&lang=js&mpType=page */ 381);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_car_position_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQWtqQixDQUFnQixxbEJBQUcsRUFBQyIsImZpbGUiOiIzODAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jYXJfcG9zaXRpb24udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stcHJlcHJvY2Vzcy1sb2FkZXJcXFxcaW5kZXguanM/P3JlZi0tNi0xIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay11bmktYXBwLWxvYWRlclxcXFx1c2luZy1jb21wb25lbnRzLmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2Nhcl9wb3NpdGlvbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///380\n");
  35128. /***/ }),
  35129. <<<<<<< HEAD
  35130. /* 381 */
  35131. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35132. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/index/car_position.vue?vue&type=script&lang=js&mpType=page ***!
  35133. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35134. =======
  35135. /* 215 */
  35136. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35137. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/index/car_position.vue?vue&type=script&lang=js&mpType=page ***!
  35138. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35139. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35140. /*! no static exports found */
  35141. /***/ (function(module, exports, __webpack_require__) {
  35142. "use strict";
  35143. <<<<<<< HEAD
  35144. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n markers: [],\n polyline: [],\n controls: [],\n hasEmptyGrid: false,\n bikeId: '',\n bike_no: '',\n longitude: '',\n latitude: '',\n mapHeight: \"\", //地图高度\n startTime: \"12\", //开始时间 默认昨天\n endTime: \"12\" //结束时间 默认今天\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n __f__(\"log\", options, \" at pages/index/car_position.vue:50\");\n this.bikeId = options.id,\n this.bike_no = options.bike_no,\n this.getPosition();\n this.timeInit();\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", res.windowHeight, \"999\", \" at pages/index/car_position.vue:57\");\n _this.mapHeight = res.windowHeight;\n } });\n\n },\n methods: {\n getPosition: function getPosition() {var _this2 = this;\n uni.showLoading({\n title: '获取位置中...' });\n\n var data = {\n bike_no: this.bike_no };\n\n app.request('bike/position', data, 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/index/car_position.vue:72\");\n if (res.statusCode == 200) {\n if (res.data[0] == 0) {\n uni.showToast({\n title: '暂无车辆最后位置信息~',\n icon: 'none' });\n\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n var latitude = res.latitude;\n var longitude = res.longitude;\n this.longitude = longitude;\n this.latitude = latitude;\n __f__(\"log\", res, 'jingwei', \" at pages/index/car_position.vue:86\");\n } });\n\n } else {\n var position = [];\n position[0] = {\n width: 32,\n height: 32,\n zIndex: 1111,\n iconPath: 'http://resource.weilaibike.com/common/start-location-mark-old.png',\n longitude: res.data[0],\n latitude: res.data[1] };\n\n _this2.markers = position;\n _this2.longitude = res.data[0];\n _this2.latitude = res.data[1];\n }\n }\n });\n },\n //初始化日期\n timeInit: function timeInit() {\n var that = this;\n var start = that.getTime(new Date());\n var tom = new Date();\n tom.setTime(tom.getTime() + 24 * 60 * 60 * 1000);\n var end = that.getTime(tom);\n this.startTime = start;\n this.endTime = end;\n __f__(\"log\", start, \" at pages/index/car_position.vue:115\");\n __f__(\"log\", end, \" at pages/index/car_position.vue:116\");\n },\n //获取年月日 时分秒\n getTime: function getTime(date) {\n var year = date.getFullYear();\n var month = date.getMonth() + 1 < 10 ? \"0\" + (date.getMonth() + 1) : date.getMonth() + 1;\n var day = date.getDate() < 10 ? \"0\" + date.getDate() : date.getDate();\n var hours = date.getHours() < 10 ? \"0\" + date.getHours() : date.getHours();\n var minute = date.getMinutes() < 10 ? \"0\" + date.getMinutes() : date.getMinutes();\n var today = year + \"-\" + month + \"-\" + day + ' ' + hours + \":\" + minute;\n __f__(\"log\", today, \" at pages/index/car_position.vue:126\");\n return today;\n },\n start: function start(e) {\n __f__(\"log\", e, \" at pages/index/car_position.vue:130\");\n this.startTime = e.detail.value;\n __f__(\"log\", this.startTime, \" at pages/index/car_position.vue:132\");\n },\n end: function end(e) {\n __f__(\"log\", e, \" at pages/index/car_position.vue:135\");\n this.endTime = e.detail.value;\n },\n //显示轨迹\n show: function show() {var _this3 = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n var start = new Date(this.startTime).getTime();\n var end = new Date(this.endTime).getTime();\n if (start > end) {\n uni.showToast({\n title: '开始日期不能大于结束日期',\n icon: 'none' });\n\n } else {\n\n this.markers = [];\n\n var data = {\n 'bike_no': this.bike_no,\n 'time_between[0]': this.startTime,\n 'time_between[1]': this.endTime };\n\n app.request('bike/bikeLocation', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n // console.log(res, '车辆位置')\n if (res.data == '') {\n uni.showToast({\n title: '暂无骑行轨迹~',\n icon: 'none' });\n\n } else {\n _this3.polyline = res.data.all_locations;\n _this3.markers = res.data.points;\n __f__(\"log\", _this3.markers, \" at pages/index/car_position.vue:172\");\n }\n }\n });\n }\n },\n //清除轨迹\n hidn: function hidn() {\n var that = this;\n this.timeInit();\n this.polyline = [];\n this.markers = '';\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvY2FyX3Bvc2l0aW9uLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBK0JBLG1CO0FBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQSxpQkFEQTtBQUVBLGtCQUZBO0FBR0Esa0JBSEE7QUFJQSx5QkFKQTtBQUtBLGdCQUxBO0FBTUEsaUJBTkE7QUFPQSxtQkFQQTtBQVFBLGtCQVJBO0FBU0EsbUJBVEEsRUFTQTtBQUNBLHFCQVZBLEVBVUE7QUFDQSxtQkFYQSxDQVdBO0FBWEE7QUFhQSxHQWZBO0FBZ0JBO0FBQ0E7QUFDQTtBQUNBLGtDQURBO0FBRUEsc0JBRkE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FKQTs7QUFNQSxHQTVCQTtBQTZCQTtBQUNBO0FBQ0E7QUFDQSx5QkFEQTs7QUFHQTtBQUNBLDZCQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQURBO0FBRUEsMEJBRkE7O0FBSUE7QUFDQSwyQkFEQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBUkE7O0FBVUEsV0FmQSxNQWVBO0FBQ0E7QUFDQTtBQUNBLHVCQURBO0FBRUEsd0JBRkE7QUFHQSwwQkFIQTtBQUlBLDJGQUpBO0FBS0Esb0NBTEE7QUFNQSxtQ0FOQTs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FsQ0E7QUFtQ0EsS0EzQ0E7QUE0Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBdkRBO0FBd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FsRUE7QUFtRUEsU0FuRUEsaUJBbUVBLENBbkVBLEVBbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0F2RUE7QUF3RUEsT0F4RUEsZUF3RUEsQ0F4RUEsRUF3RUE7QUFDQTtBQUNBO0FBQ0EsS0EzRUE7QUE0RUE7QUFDQTtBQUNBO0FBQ0EsdUJBREE7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBREE7QUFFQSxzQkFGQTs7QUFJQSxPQUxBLE1BS0E7O0FBRUE7O0FBRUE7QUFDQSxpQ0FEQTtBQUVBLDJDQUZBO0FBR0EseUNBSEE7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0NBREE7QUFFQSw0QkFGQTs7QUFJQSxhQUxBLE1BS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FmQTtBQWdCQTtBQUNBLEtBbkhBO0FBb0hBO0FBQ0EsUUFySEEsa0JBcUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQTFIQSxFQTdCQSxFIiwiZmlsZSI6IjM4MS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZSBzdHlsZT1cImhlaWdodDogMTAwJTtcIj5cclxuXHQ8dmlldyBjbGFzcz1cImNhclBvc2l0aW9uXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cInBvc2l0aW9uLXRvcFwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImNoaWxkXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjaGlsZHJlbjFcIiBzdHlsZT1cIndpZHRoOiA2MCU7XCI+XHJcblx0XHRcdFx0XHQ8cGlja2VyIG1vZGU9XCJkYXRlXCIgOnZhbHVlPVwic3RhcnRUaW1lXCIgQGNoYW5nZT1cInN0YXJ0XCIgc3R5bGU9XCJmb250LXNpemU6IDI4dXB4O1wiPlxyXG5cdFx0XHRcdFx0XHTlvIDlp4vml7bpl7TvvJp7e3N0YXJ0VGltZX19XHJcblx0XHRcdFx0XHQ8L3BpY2tlcj5cclxuXHRcdFx0XHRcdDxwaWNrZXIgbW9kZT1cImRhdGVcIiA6dmFsdWU9XCJlbmRUaW1lXCIgQGNoYW5nZT1cImVuZFwiIHN0eWxlPVwiZm9udC1zaXplOiAyOHVweDtcIj5cclxuXHRcdFx0XHRcdFx057uT5p2f5pe26Ze077yae3tlbmRUaW1lfX1cclxuXHRcdFx0XHRcdDwvcGlja2VyPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNoaWxkcmVuMVwiIHN0eWxlPVwid2lkdGg6IDMwJTtcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRuXCIgQGNsaWNrPVwic2hvd1wiPuaYvuekuui9qOi/uTwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRuXCIgQGNsaWNrPVwiaGlkblwiPua4hemZpOi9qOi/uTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoaW50XCI+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJjb2xvclwiPjwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dD7nlKjmiLfpqpHooYw8L3RleHQ+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJjb2xvciBjb2xvcjFcIj48L3RleHQ+XHJcblx0XHRcdFx0PHRleHQ+6L+Q57u06aqR6KGMPC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiY29sb3IgY29sb3IyXCI+PC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0PuacqumqkeihjDwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PG1hcCBpZD1cIm1hcFwiIDpsb25naXR1ZGU9XCJsb25naXR1ZGVcIiA6bGF0aXR1ZGU9XCJsYXRpdHVkZVwiIHNjYWxlPVwiMTRcIiA6Y29udHJvbHM9XCJjb250cm9sc1wiIDptYXJrZXJzPVwibWFya2Vyc1wiXHJcblx0XHQgOnBvbHlsaW5lPVwicG9seWxpbmVcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAwO2xlZnQ6IDA7XCIgOnN0eWxlPVwie2hlaWdodDptYXBIZWlnaHQtMTE3ICsgJ3B4J31cIj48L21hcD5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQ+XHJcblx0dmFyIGFwcCA9IGdldEFwcCgpXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRtYXJrZXJzOiBbXSxcclxuXHRcdFx0XHRwb2x5bGluZTogW10sXHJcblx0XHRcdFx0Y29udHJvbHM6IFtdLFxyXG5cdFx0XHRcdGhhc0VtcHR5R3JpZDogZmFsc2UsXHJcblx0XHRcdFx0YmlrZUlkOiAnJyxcclxuXHRcdFx0XHRiaWtlX25vOiAnJyxcclxuXHRcdFx0XHRsb25naXR1ZGU6ICcnLFxyXG5cdFx0XHRcdGxhdGl0dWRlOiAnJyxcclxuXHRcdFx0XHRtYXBIZWlnaHQ6XCJcIiwvL+WcsOWbvumrmOW6plxyXG5cdFx0XHRcdHN0YXJ0VGltZTogXCIxMlwiLCAvL+W8gOWni+aXtumXtCAg6buY6K6k5pio5aSpXHJcblx0XHRcdFx0ZW5kVGltZTogXCIxMlwiLCAvL+e7k+adn+aXtumXtCAg6buY6K6k5LuK5aSpXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQ6IGZ1bmN0aW9uKG9wdGlvbnMpIHtcclxuXHRcdFx0Y29uc29sZS5sb2cob3B0aW9ucylcclxuXHRcdFx0dGhpcy5iaWtlSWQgPSBvcHRpb25zLmlkLFxyXG5cdFx0XHRcdHRoaXMuYmlrZV9ubyA9IG9wdGlvbnMuYmlrZV9ubyxcclxuXHRcdFx0XHR0aGlzLmdldFBvc2l0aW9uKCk7XHJcblx0XHRcdHRoaXMudGltZUluaXQoKTtcclxuXHRcdFx0dW5pLmdldFN5c3RlbUluZm8oe1xyXG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy53aW5kb3dIZWlnaHQsXCI5OTlcIilcclxuXHRcdFx0XHRcdHRoaXMubWFwSGVpZ2h0PXJlcy53aW5kb3dIZWlnaHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRnZXRQb3NpdGlvbjogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn6I635Y+W5L2N572u5LitLi4uJyxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGxldCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0YmlrZV9ubzogdGhpcy5iaWtlX25vXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdiaWtlL3Bvc2l0aW9uJywgZGF0YSwgJ0dFVCcpLnRoZW4ocmVzID0+IHtcclxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhWzBdID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5pqC5peg6L2m6L6G5pyA5ZCO5L2N572u5L+h5oGvficsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxyXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBsYXRpdHVkZSA9IHJlcy5sYXRpdHVkZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgbG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmxvbmdpdHVkZSA9IGxvbmdpdHVkZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5sYXRpdHVkZSA9IGxhdGl0dWRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICdqaW5nd2VpJylcclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRsZXQgcG9zaXRpb24gPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvblswXSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAzMixcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMzIsXHJcblx0XHRcdFx0XHRcdFx0XHR6SW5kZXg6IDExMTEsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uUGF0aDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vc3RhcnQtbG9jYXRpb24tbWFyay1vbGQucG5nJyxcclxuXHRcdFx0XHRcdFx0XHRcdGxvbmdpdHVkZTogcmVzLmRhdGFbMF0sXHJcblx0XHRcdFx0XHRcdFx0XHRsYXRpdHVkZTogcmVzLmRhdGFbMV1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5tYXJrZXJzID0gcG9zaXRpb247XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sb25naXR1ZGUgPSByZXMuZGF0YVswXTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmxhdGl0dWRlID0gcmVzLmRhdGFbMV07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIneWni+WMluaXpeacn1xyXG5cdFx0XHR0aW1lSW5pdDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdGxldCBzdGFydCA9IHRoYXQuZ2V0VGltZShuZXcgRGF0ZSgpKTtcclxuXHRcdFx0XHRsZXQgdG9tID0gbmV3IERhdGUoKTtcclxuXHRcdFx0XHR0b20uc2V0VGltZSh0b20uZ2V0VGltZSgpICsgMjQgKiA2MCAqIDYwICogMTAwMCk7XHJcblx0XHRcdFx0bGV0IGVuZCA9IHRoYXQuZ2V0VGltZSh0b20pO1xyXG5cdFx0XHRcdHRoaXMuc3RhcnRUaW1lID0gc3RhcnQ7XHJcblx0XHRcdFx0dGhpcy5lbmRUaW1lID0gZW5kO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHN0YXJ0KVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGVuZClcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/ojrflj5blubTmnIjml6Ug5pe25YiG56eSXHJcblx0XHRcdGdldFRpbWU6IGZ1bmN0aW9uKGRhdGUpIHtcclxuXHRcdFx0XHR2YXIgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuXHRcdFx0XHR2YXIgbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxIDwgMTAgPyBcIjBcIiArIChkYXRlLmdldE1vbnRoKCkgKyAxKSA6IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcblx0XHRcdFx0dmFyIGRheSA9IGRhdGUuZ2V0RGF0ZSgpIDwgMTAgPyBcIjBcIiArIGRhdGUuZ2V0RGF0ZSgpIDogZGF0ZS5nZXREYXRlKCkgXHJcblx0XHRcdFx0dmFyIGhvdXJzID0gZGF0ZS5nZXRIb3VycygpIDwgMTAgPyBcIjBcIiArIGRhdGUuZ2V0SG91cnMoKSA6IGRhdGUuZ2V0SG91cnMoKVxyXG5cdFx0XHRcdHZhciBtaW51dGUgPSBkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gXCIwXCIgKyBkYXRlLmdldE1pbnV0ZXMoKSA6IGRhdGUuZ2V0TWludXRlcygpXHJcblx0XHRcdFx0dmFyIHRvZGF5ID0geWVhciArIFwiLVwiICsgbW9udGggKyBcIi1cIiArIGRheSArICcgJyArIGhvdXJzK1wiOlwiICttaW51dGU7XHJcblx0XHRcdFx0Y29uc29sZS5sb2codG9kYXkpXHJcblx0XHRcdFx0cmV0dXJuIHRvZGF5O1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdGFydChlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHR0aGlzLnN0YXJ0VGltZSA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuc3RhcnRUaW1lKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRlbmQoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdFx0dGhpcy5lbmRUaW1lID0gZS5kZXRhaWwudmFsdWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5pi+56S66L2o6L+5XHJcblx0XHRcdHNob3c6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7XHJcblx0XHRcdFx0XHR0aXRsZTogJ+WKoOi9veS4rS4uLicsXHJcblx0XHRcdFx0fSlcclxuXHJcblx0XHRcdFx0bGV0IHN0YXJ0ID0gbmV3IERhdGUodGhpcy5zdGFydFRpbWUpLmdldFRpbWUoKTtcclxuXHRcdFx0XHRsZXQgZW5kID0gbmV3IERhdGUodGhpcy5lbmRUaW1lKS5nZXRUaW1lKCk7XHJcblx0XHRcdFx0aWYgKHN0YXJ0ID4gZW5kKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICflvIDlp4vml6XmnJ/kuI3og73lpKfkuo7nu5PmnZ/ml6XmnJ8nLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHJcblx0XHRcdFx0XHR0aGlzLm1hcmtlcnMgPSBbXVxyXG5cclxuXHRcdFx0XHRcdHZhciBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XHQnYmlrZV9ubyc6IHRoaXMuYmlrZV9ubyxcclxuXHRcdFx0XHRcdFx0J3RpbWVfYmV0d2VlblswXSc6IHRoaXMuc3RhcnRUaW1lLFxyXG5cdFx0XHRcdFx0XHQndGltZV9iZXR3ZWVuWzFdJzogdGhpcy5lbmRUaW1lLFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvYmlrZUxvY2F0aW9uJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzLCAn6L2m6L6G5L2N572uJylcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEgPT0gJycpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOmqkeihjOi9qOi/uX4nLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucG9seWxpbmUgPSByZXMuZGF0YS5hbGxfbG9jYXRpb25zO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5tYXJrZXJzID0gcmVzLmRhdGEucG9pbnRzO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5tYXJrZXJzKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5riF6Zmk6L2o6L+5XHJcblx0XHRcdGhpZG4oKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHRoaXMudGltZUluaXQoKTtcclxuXHRcdFx0XHR0aGlzLnBvbHlsaW5lID0gW107XHJcblx0XHRcdFx0dGhpcy5tYXJrZXJzID0gJyc7XHJcblx0XHRcdH0sXHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuPHN0eWxlPlxyXG5cdHVuaS1wYWdlLWJvZHksXHJcblx0dW5pLXBhZ2UtcmVmcmVzaCB7XHJcblx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuY2FyUG9zaXRpb24ge1xyXG5cdFx0YmFja2dyb3VuZDogI0VERURFRDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDB2aDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblx0LnBvc2l0aW9uLXRvcCB7XHJcblx0LyogXHRtYXJnaW4tYm90dG9tOiAxMHVweDsgKi9cclxuXHRcdC8qIG1hcmdpbi10b3A6MTB1cHg7ICovXHJcblx0XHRwYWRkaW5nOiAzMHVweCAwcnB4O1xyXG5cdFx0Ym9yZGVyLXRvcDogNXVweCBzb2xpZCAjRURFREVEO1xyXG5cdFx0aGVpZ2h0OiAyMDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwdXB4O1xyXG5cdFx0bGVmdDogMHVweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0LyogYm94LXNpemluZzogYm9yZGVyLWJveDsgKi9cclxuXHRcdC8qIGJvcmRlci10b3A6IHNvbGlkIDF1cHggIzhBOEE4QTsgKi9cclxuXHRcdC8qIGJhY2tncm91bmQtY29sb3I6ICMwMDdBRkY7ICovXHJcblx0fVxyXG5cdC5jaGlsZCB7XHJcblx0XHRoZWlnaHQ6IDkwdXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwdXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuXHR9XHJcblx0LmNoaWxkcmVuMSB7XHJcblx0XHRoZWlnaHQ6IDcwdXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDY1dXB4O1xyXG5cdH1cclxuXHQuY2hpbGRyZW4xIHBpY2tlciB7XHJcblx0XHRmb250OiAyNHVweCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuZGF0ZSB7XHJcblx0XHR3aWR0aDogNTc2dXB4O1xyXG5cdFx0aGVpZ2h0OiAyMjR1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjB1cHg7XHJcblx0XHRwYWRkaW5nOiAyMHVweCA2MHVweDtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdG1hcmdpbi10b3A6IDUwdXB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5kYXRlIHZpZXcge1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxuXHQuYnRuIHtcclxuXHRcdHdpZHRoOjIwMHVweDtcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRoZWlnaHQ6NjB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNjB1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHQvKiBwYWRkaW5nOiA4dXB4IDUwdXB4OyAqL1xyXG5cdFx0YmFja2dyb3VuZDogIzE4ZDViOTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogOHVweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiA1MHVweDtcclxuXHR9XHJcblx0LmJ0bjpmaXJzdC1jaGlsZHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwdXB4O1xyXG5cdH1cclxuXHQudmFuLWljb24tdW5kZXJ3YXktbyB7XHJcblx0XHRmb250LXNpemU6IDQwdXB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5jYW5sZW5kYXJCZ1ZpZXcge1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHQuY2FubGVuZGFyVmlldyB7XHJcblx0XHRjb2xvcjogIzY2YztcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0ei1pbmRleDogOTk5O1xyXG5cdFx0bWFyZ2luLXRvcDogMzIwdXB4O1xyXG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0fVxyXG5cdC5jYW5sZW5kYXJUb3BWaWV3IHtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cdC5sZWZ0QmdWaWV3IHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0aGVpZ2h0OiA4MHVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0fVxyXG5cdC5sZWZ0VmlldyB7XHJcblx0XHR3aWR0aDogODB1cHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0LmNlbnRlclZpZXcge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0LnJpZ2h0QmdWaWV3IHtcclxuXHRcdGhlaWdodDogODB1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHR9XHJcblx0LnJpZ2h0VmlldyB7XHJcblx0XHR3aWR0aDogODB1cHg7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0LndlZWtCZ1ZpZXcge1xyXG5cdFx0aGVpZ2h0OiA1MHVweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1MHVweDtcclxuXHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHQud2Vla1ZpZXcge1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAyOHVweDtcclxuXHR9XHJcblx0LmRhdGVCZ1ZpZXcge1xyXG5cdFx0aGVpZ2h0OiA1MDB1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHR9XHJcblx0LmRhdGVFbXB0eVZpZXcge1xyXG5cdFx0d2lkdGg6IDEwNy4xNDI4NTcxNDI5dXB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHQuZGF0ZVZpZXcge1xyXG5cdFx0d2lkdGg6IDEwNy4xNDI4NTcxNDI5dXB4O1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHQuZGF0ZXNWaWV3IHtcclxuXHRcdHdpZHRoOiA2MHVweDtcclxuXHRcdGhlaWdodDogNjB1cHg7XHJcblx0XHRjb2xvcjogIzY2YztcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRmb250LXdlaWdodDogMjAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR9XHJcblx0LmRhdGVTZWxlY3RWaWV3IHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM2NmM7XHJcblx0fVxyXG5cdC5oaW50IHtcclxuXHRcdHdpZHRoOiA1MDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0aGVpZ2h0OiA2MHVweDtcclxuXHRcdHBhZGRpbmc6IDIwdXB4IDMwdXB4IDAgMjB1cHg7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cdC5oaW50IHRleHQge1xyXG5cdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHR9XHJcblx0LmNvbG9yIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAzMHVweDtcclxuXHRcdGhlaWdodDogMzB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMThkM2I4O1xyXG5cdFx0bWFyZ2luOiAwIDEwdXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdH1cclxuXHQuY29sb3IxIHtcclxuXHRcdGJhY2tncm91bmQ6ICNmZjY0Nzc7XHJcblx0fVxyXG5cdC5jb2xvcjIge1xyXG5cdFx0YmFja2dyb3VuZDogI2Q2ODRkZDtcclxuXHR9XHJcbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///381\n");
  35145. /***/ }),
  35146. /* 382 */
  35147. /*!********************************************************************!*\
  35148. !*** C:/Users/001/Desktop/运维端/pages/mine/add_park.vue?mpType=page ***!
  35149. \********************************************************************/
  35150. =======
  35151. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n markers: [],\n polyline: [],\n controls: [],\n hasEmptyGrid: false,\n bikeId: '',\n bike_no: '',\n longitude: '',\n latitude: '',\n mapHeight: \"\", //地图高度\n startTime: \"12\", //开始时间 默认昨天\n endTime: \"12\" //结束时间 默认今天\n };\n },\n onLoad: function onLoad(options) {var _this = this;\n __f__(\"log\", options, \" at pages/index/car_position.vue:50\");\n this.bikeId = options.id,\n this.bike_no = options.bike_no,\n this.getPosition();\n this.timeInit();\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", res.windowHeight, \"999\", \" at pages/index/car_position.vue:57\");\n _this.mapHeight = res.windowHeight;\n } });\n\n },\n methods: {\n getPosition: function getPosition() {var _this2 = this;\n uni.showLoading({\n title: '获取位置中...' });\n\n var data = {\n bike_no: this.bike_no };\n\n app.request('bike/position', data, 'GET').then(function (res) {\n uni.hideLoading();\n __f__(\"log\", res, \" at pages/index/car_position.vue:72\");\n if (res.statusCode == 200) {\n if (res.data[0] == 0) {\n uni.showToast({\n title: '暂无车辆最后位置信息~',\n icon: 'none' });\n\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n var latitude = res.latitude;\n var longitude = res.longitude;\n this.longitude = longitude;\n this.latitude = latitude;\n __f__(\"log\", res, 'jingwei', \" at pages/index/car_position.vue:86\");\n } });\n\n } else {\n var position = [];\n position[0] = {\n width: 32,\n height: 32,\n zIndex: 1111,\n iconPath: 'http://resource.weilaibike.com/common/start-location-mark-old.png',\n longitude: res.data[0],\n latitude: res.data[1] };\n\n _this2.markers = position;\n _this2.longitude = res.data[0];\n _this2.latitude = res.data[1];\n }\n }\n });\n },\n //初始化日期\n timeInit: function timeInit() {\n var that = this;\n var start = that.getTime(new Date());\n var tom = new Date();\n tom.setTime(tom.getTime() + 24 * 60 * 60 * 1000);\n var end = that.getTime(tom);\n this.startTime = start;\n this.endTime = end;\n __f__(\"log\", start, \" at pages/index/car_position.vue:115\");\n __f__(\"log\", end, \" at pages/index/car_position.vue:116\");\n },\n //获取年月日 时分秒\n getTime: function getTime(date) {\n var year = date.getFullYear();\n var month = date.getMonth() + 1 < 10 ? \"0\" + (date.getMonth() + 1) : date.getMonth() + 1;\n var day = date.getDate() < 10 ? \"0\" + date.getDate() : date.getDate();\n // var hours = date.getHours() < 10 ? \"0\" + date.getHours() : date.getHours()\n // var minute = date.getMinutes() < 10 ? \"0\" + date.getMinutes() : date.getMinutes()\n var today = year + \"-\" + month + \"-\" + day;\n return today;\n },\n start: function start(e) {\n __f__(\"log\", e, \" at pages/index/car_position.vue:129\");\n this.startTime = e.detail.value;\n __f__(\"log\", this.startTime, \" at pages/index/car_position.vue:131\");\n },\n end: function end(e) {\n __f__(\"log\", e, \" at pages/index/car_position.vue:134\");\n this.endTime = e.detail.value;\n },\n //显示轨迹\n show: function show() {var _this3 = this;\n uni.showLoading({\n title: '加载中...' });\n\n\n var start = new Date(this.startTime).getTime();\n var end = new Date(this.endTime).getTime();\n if (start > end) {\n uni.showToast({\n title: '开始日期不能大于结束日期',\n icon: 'none' });\n\n } else {\n\n this.markers = [];\n\n var data = {\n 'bike_no': this.bike_no,\n 'time_between[0]': this.startTime,\n 'time_between[1]': this.endTime };\n\n app.request('bike/bikeLocation', data, 'POST').then(function (res) {\n uni.hideLoading();\n if (res.statusCode == 200) {\n __f__(\"log\", res, '车辆位置', \" at pages/index/car_position.vue:162\");\n if (res.data == '') {\n uni.showToast({\n title: '暂无骑行轨迹~',\n icon: 'none' });\n\n } else {\n _this3.polyline = res.data.all_locations;\n _this3.markers = res.data.points;\n __f__(\"log\", _this3.markers, \" at pages/index/car_position.vue:171\");\n }\n }\n });\n }\n },\n //清除轨迹\n hidn: function hidn() {\n var that = this;\n this.timeInit();\n this.polyline = [];\n this.markers = '';\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvY2FyX3Bvc2l0aW9uLnZ1ZSJdLCJuYW1lcyI6WyJhcHAiLCJnZXRBcHAiLCJkYXRhIiwibWFya2VycyIsInBvbHlsaW5lIiwiY29udHJvbHMiLCJoYXNFbXB0eUdyaWQiLCJiaWtlSWQiLCJiaWtlX25vIiwibG9uZ2l0dWRlIiwibGF0aXR1ZGUiLCJtYXBIZWlnaHQiLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwib25Mb2FkIiwib3B0aW9ucyIsImlkIiwiZ2V0UG9zaXRpb24iLCJ0aW1lSW5pdCIsInVuaSIsImdldFN5c3RlbUluZm8iLCJzdWNjZXNzIiwicmVzIiwid2luZG93SGVpZ2h0IiwibWV0aG9kcyIsInNob3dMb2FkaW5nIiwidGl0bGUiLCJyZXF1ZXN0IiwidGhlbiIsImhpZGVMb2FkaW5nIiwic3RhdHVzQ29kZSIsInNob3dUb2FzdCIsImljb24iLCJnZXRMb2NhdGlvbiIsInR5cGUiLCJwb3NpdGlvbiIsIndpZHRoIiwiaGVpZ2h0IiwiekluZGV4IiwiaWNvblBhdGgiLCJ0aGF0Iiwic3RhcnQiLCJnZXRUaW1lIiwiRGF0ZSIsInRvbSIsInNldFRpbWUiLCJlbmQiLCJkYXRlIiwieWVhciIsImdldEZ1bGxZZWFyIiwibW9udGgiLCJnZXRNb250aCIsImRheSIsImdldERhdGUiLCJ0b2RheSIsImUiLCJkZXRhaWwiLCJ2YWx1ZSIsInNob3ciLCJhbGxfbG9jYXRpb25zIiwicG9pbnRzIiwiaGlkbiJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJQSxHQUFHLEdBQUdDLE1BQU0sRUFBaEIsQztBQUNlO0FBQ2RDLE1BRGMsa0JBQ1A7QUFDTixX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Q3BCLElBQUosSUFBWSxFQUFoQixFQUFvQjtBQUNuQmlCLGlCQUFHLENBQUNZLFNBQUosQ0FBYztBQUNiTCxxQkFBSyxFQUFFLFNBRE07QUFFYk0sb0JBQUksRUFBRSxNQUZPLEVBQWQ7O0FBSUEsYUFMRCxNQUtPO0FBQ04sb0JBQUksQ0FBQzVCLFFBQUwsR0FBZ0JrQixHQUFHLENBQUNwQixJQUFKLENBQVN5RCxhQUF6QjtBQUNBLG9CQUFJLENBQUN4RCxPQUFMLEdBQWVtQixHQUFHLENBQUNwQixJQUFKLENBQVMwRCxNQUF4QjtBQUNBLDJCQUFZLE1BQUksQ0FBQ3pELE9BQWpCO0FBQ0E7QUFDRDtBQUNELFNBZkQ7QUFnQkE7QUFDRCxLQWxITztBQW1IUjtBQUNBMEQsUUFwSFEsa0JBb0hEO0FBQ04sVUFBSXJCLElBQUksR0FBRyxJQUFYO0FBQ0EsV0FBS3RCLFFBQUw7QUFDQSxXQUFLZCxRQUFMLEdBQWdCLEVBQWhCO0FBQ0EsV0FBS0QsT0FBTCxHQUFlLEVBQWY7QUFDQSxLQXpITyxFQTdCSyxFIiwiZmlsZSI6IjIxNS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxudmFyIGFwcCA9IGdldEFwcCgpXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG1hcmtlcnM6IFtdLFxuXHRcdFx0cG9seWxpbmU6IFtdLFxuXHRcdFx0Y29udHJvbHM6IFtdLFxuXHRcdFx0aGFzRW1wdHlHcmlkOiBmYWxzZSxcblx0XHRcdGJpa2VJZDogJycsXG5cdFx0XHRiaWtlX25vOiAnJyxcblx0XHRcdGxvbmdpdHVkZTogJycsXG5cdFx0XHRsYXRpdHVkZTogJycsXG5cdFx0XHRtYXBIZWlnaHQ6XCJcIiwvL+WcsOWbvumrmOW6plxuXHRcdFx0c3RhcnRUaW1lOiBcIjEyXCIsIC8v5byA5aeL5pe26Ze0ICDpu5jorqTmmKjlpKlcblx0XHRcdGVuZFRpbWU6IFwiMTJcIiwgLy/nu5PmnZ/ml7bpl7QgIOm7mOiupOS7iuWkqVxuXHRcdH1cblx0fSxcblx0b25Mb2FkOiBmdW5jdGlvbihvcHRpb25zKSB7XG5cdFx0Y29uc29sZS5sb2cob3B0aW9ucylcblx0XHR0aGlzLmJpa2VJZCA9IG9wdGlvbnMuaWQsXG5cdFx0XHR0aGlzLmJpa2Vfbm8gPSBvcHRpb25zLmJpa2Vfbm8sXG5cdFx0XHR0aGlzLmdldFBvc2l0aW9uKCk7XG5cdFx0dGhpcy50aW1lSW5pdCgpO1xuXHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcblx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzLndpbmRvd0hlaWdodCxcIjk5OVwiKVxuXHRcdFx0XHR0aGlzLm1hcEhlaWdodD1yZXMud2luZG93SGVpZ2h0XG5cdFx0XHR9XG5cdFx0fSlcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdGdldFBvc2l0aW9uOiBmdW5jdGlvbigpIHtcblx0XHRcdHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHRcdHRpdGxlOiAn6I635Y+W5L2N572u5LitLi4uJyxcblx0XHRcdH0pXG5cdFx0XHRsZXQgZGF0YSA9IHtcblx0XHRcdFx0YmlrZV9ubzogdGhpcy5iaWtlX25vXG5cdFx0XHR9XG5cdFx0XHRhcHAucmVxdWVzdCgnYmlrZS9wb3NpdGlvbicsIGRhdGEsICdHRVQnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xuXHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhWzBdID09IDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOi9pui+huacgOWQjuS9jee9ruS/oeaBr34nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xuXHRcdFx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxuXHRcdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbGF0aXR1ZGUgPSByZXMubGF0aXR1ZGVcblx0XHRcdFx0XHRcdFx0XHR2YXIgbG9uZ2l0dWRlID0gcmVzLmxvbmdpdHVkZVxuXHRcdFx0XHRcdFx0XHRcdHRoaXMubG9uZ2l0dWRlID0gbG9uZ2l0dWRlO1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMubGF0aXR1ZGUgPSBsYXRpdHVkZTtcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMsICdqaW5nd2VpJylcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGxldCBwb3NpdGlvbiA9IFtdO1xuXHRcdFx0XHRcdFx0cG9zaXRpb25bMF0gPSB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzMixcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzMixcblx0XHRcdFx0XHRcdFx0ekluZGV4OiAxMTExLFxuXHRcdFx0XHRcdFx0XHRpY29uUGF0aDogJ2h0dHA6Ly9yZXNvdXJjZS53ZWlsYWliaWtlLmNvbS9jb21tb24vc3RhcnQtbG9jYXRpb24tbWFyay1vbGQucG5nJyxcblx0XHRcdFx0XHRcdFx0bG9uZ2l0dWRlOiByZXMuZGF0YVswXSxcblx0XHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHJlcy5kYXRhWzFdXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR0aGlzLm1hcmtlcnMgPSBwb3NpdGlvbjtcblx0XHRcdFx0XHRcdHRoaXMubG9uZ2l0dWRlID0gcmVzLmRhdGFbMF07XG5cdFx0XHRcdFx0XHR0aGlzLmxhdGl0dWRlID0gcmVzLmRhdGFbMV07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Ly/liJ3lp4vljJbml6XmnJ9cblx0XHR0aW1lSW5pdDogZnVuY3Rpb24oKSB7XG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0XHRsZXQgc3RhcnQgPSB0aGF0LmdldFRpbWUobmV3IERhdGUoKSk7XG5cdFx0XHRsZXQgdG9tID0gbmV3IERhdGUoKTtcblx0XHRcdHRvbS5zZXRUaW1lKHRvbS5nZXRUaW1lKCkgKyAyNCAqIDYwICogNjAgKiAxMDAwKTtcblx0XHRcdGxldCBlbmQgPSB0aGF0LmdldFRpbWUodG9tKTtcblx0XHRcdHRoaXMuc3RhcnRUaW1lID0gc3RhcnQ7XG5cdFx0XHR0aGlzLmVuZFRpbWUgPSBlbmQ7XG5cdFx0XHRjb25zb2xlLmxvZyhzdGFydClcblx0XHRcdGNvbnNvbGUubG9nKGVuZClcblx0XHR9LFxuXHRcdC8v6I635Y+W5bm05pyI5pelIOaXtuWIhuenklxuXHRcdGdldFRpbWU6IGZ1bmN0aW9uKGRhdGUpIHtcblx0XHRcdHZhciB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuXHRcdFx0dmFyIG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgMSA8IDEwID8gXCIwXCIgKyAoZGF0ZS5nZXRNb250aCgpICsgMSkgOiBkYXRlLmdldE1vbnRoKCkgKyAxO1xuXHRcdFx0dmFyIGRheSA9IGRhdGUuZ2V0RGF0ZSgpIDwgMTAgPyBcIjBcIiArIGRhdGUuZ2V0RGF0ZSgpIDogZGF0ZS5nZXREYXRlKClcblx0XHRcdC8vIHZhciBob3VycyA9IGRhdGUuZ2V0SG91cnMoKSA8IDEwID8gXCIwXCIgKyBkYXRlLmdldEhvdXJzKCkgOiBkYXRlLmdldEhvdXJzKClcblx0XHRcdC8vIHZhciBtaW51dGUgPSBkYXRlLmdldE1pbnV0ZXMoKSA8IDEwID8gXCIwXCIgKyBkYXRlLmdldE1pbnV0ZXMoKSA6IGRhdGUuZ2V0TWludXRlcygpXG5cdFx0XHR2YXIgdG9kYXkgPSB5ZWFyICsgXCItXCIgKyBtb250aCArIFwiLVwiICsgZGF5O1xuXHRcdFx0cmV0dXJuIHRvZGF5O1xuXHRcdH0sXG5cdFx0c3RhcnQoZSkge1xuXHRcdFx0Y29uc29sZS5sb2coZSlcblx0XHRcdHRoaXMuc3RhcnRUaW1lID0gZS5kZXRhaWwudmFsdWU7XG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLnN0YXJ0VGltZSlcblx0XHR9LFxuXHRcdGVuZChlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlKVxuXHRcdFx0dGhpcy5lbmRUaW1lID0gZS5kZXRhaWwudmFsdWU7XG5cdFx0fSxcblx0XHQvL+aYvuekuui9qOi/uVxuXHRcdHNob3c6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6ICfliqDovb3kuK0uLi4nLFxuXHRcdFx0fSlcblxuXHRcdFx0bGV0IHN0YXJ0ID0gbmV3IERhdGUodGhpcy5zdGFydFRpbWUpLmdldFRpbWUoKTtcblx0XHRcdGxldCBlbmQgPSBuZXcgRGF0ZSh0aGlzLmVuZFRpbWUpLmdldFRpbWUoKTtcblx0XHRcdGlmIChzdGFydCA+IGVuZCkge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+W8gOWni+aXpeacn+S4jeiDveWkp+S6jue7k+adn+aXpeacnycsXG5cdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdH0pXG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdHRoaXMubWFya2VycyA9IFtdXG5cblx0XHRcdFx0dmFyIGRhdGEgPSB7XG5cdFx0XHRcdFx0J2Jpa2Vfbm8nOiB0aGlzLmJpa2Vfbm8sXG5cdFx0XHRcdFx0J3RpbWVfYmV0d2VlblswXSc6IHRoaXMuc3RhcnRUaW1lLFxuXHRcdFx0XHRcdCd0aW1lX2JldHdlZW5bMV0nOiB0aGlzLmVuZFRpbWUsXG5cdFx0XHRcdH1cblx0XHRcdFx0YXBwLnJlcXVlc3QoJ2Jpa2UvYmlrZUxvY2F0aW9uJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzLCAn6L2m6L6G5L2N572uJylcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSA9PSAnJykge1xuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aaguaXoOmqkeihjOi9qOi/uX4nLFxuXHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5wb2x5bGluZSA9IHJlcy5kYXRhLmFsbF9sb2NhdGlvbnM7XG5cdFx0XHRcdFx0XHRcdHRoaXMubWFya2VycyA9IHJlcy5kYXRhLnBvaW50cztcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codGhpcy5tYXJrZXJzKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9LFxuXHRcdC8v5riF6Zmk6L2o6L+5XG5cdFx0aGlkbigpIHtcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcblx0XHRcdHRoaXMudGltZUluaXQoKTtcblx0XHRcdHRoaXMucG9seWxpbmUgPSBbXTtcblx0XHRcdHRoaXMubWFya2VycyA9ICcnO1xuXHRcdH0sXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///215\n");
  35152. /***/ }),
  35153. /* 216 */
  35154. /*!*********************************************************************************!*\
  35155. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/add_park.vue?mpType=page ***!
  35156. \*********************************************************************************/
  35157. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35158. /*! no static exports found */
  35159. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35160. "use strict";
  35161. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add_park.vue?vue&type=template&id=3c90e22b&mpType=page */ 383);\n/* harmony import */ var _add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./add_park.vue?vue&type=script&lang=js&mpType=page */ 385);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/mine/add_park.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBZ0k7QUFDaEk7QUFDdUU7QUFDTDs7O0FBR2xFO0FBQ3FLO0FBQ3JLLGdCQUFnQiwrS0FBVTtBQUMxQixFQUFFLHlGQUFNO0FBQ1IsRUFBRSw4RkFBTTtBQUNSLEVBQUUsdUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsa0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMzgyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9hZGRfcGFyay52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9M2M5MGUyMmImbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2FkZF9wYXJrLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9hZGRfcGFyay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxydW50aW1lXFxcXGNvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9taW5lL2FkZF9wYXJrLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///382\n");
  35162. /***/ }),
  35163. <<<<<<< HEAD
  35164. /* 383 */
  35165. /*!**************************************************************************************************!*\
  35166. !*** C:/Users/001/Desktop/运维端/pages/mine/add_park.vue?vue&type=template&id=3c90e22b&mpType=page ***!
  35167. \**************************************************************************************************/
  35168. =======
  35169. /* 217 */
  35170. /*!***************************************************************************************************************!*\
  35171. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/add_park.vue?vue&type=template&id=3c90e22b&mpType=page ***!
  35172. \***************************************************************************************************************/
  35173. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35174. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  35175. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35176. "use strict";
  35177. __webpack_require__.r(__webpack_exports__);
  35178. /* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./add_park.vue?vue&type=template&id=3c90e22b&mpType=page */ 384);
  35179. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
  35180. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  35181. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  35182. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_0_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_template_id_3c90e22b_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
  35183. /***/ }),
  35184. <<<<<<< HEAD
  35185. /* 384 */
  35186. /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35187. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/add_park.vue?vue&type=template&id=3c90e22b&mpType=page ***!
  35188. \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35189. =======
  35190. /* 218 */
  35191. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35192. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/add_park.vue?vue&type=template&id=3c90e22b&mpType=page ***!
  35193. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35194. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35195. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  35196. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35197. "use strict";
  35198. __webpack_require__.r(__webpack_exports__);
  35199. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  35200. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  35201. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  35202. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  35203. var components
  35204. var render = function() {
  35205. var _vm = this
  35206. var _h = _vm.$createElement
  35207. var _c = _vm._self._c || _h
  35208. return _c("view", [
  35209. _c("view", { staticClass: _vm._$s(1, "sc", "addPop"), attrs: { _i: 1 } }, [
  35210. _c("view"),
  35211. _c(
  35212. "view",
  35213. { staticClass: _vm._$s(3, "sc", "flex select"), attrs: { _i: 3 } },
  35214. [
  35215. _c("text"),
  35216. _c(
  35217. "picker",
  35218. {
  35219. attrs: {
  35220. value: _vm._$s(5, "a-value", _vm.index),
  35221. range: _vm._$s(5, "a-range", _vm.arr),
  35222. _i: 5
  35223. },
  35224. on: { change: _vm.bindPickerChange }
  35225. },
  35226. [
  35227. _c("input", {
  35228. attrs: {
  35229. value: _vm._$s(6, "a-value", _vm.arr[_vm.index]),
  35230. _i: 6
  35231. }
  35232. })
  35233. ]
  35234. )
  35235. ]
  35236. ),
  35237. _c("view", { staticClass: _vm._$s(7, "sc", "flex"), attrs: { _i: 7 } }, [
  35238. _c("text"),
  35239. _c("input", {
  35240. attrs: { value: _vm._$s(9, "a-value", _vm.parkName), _i: 9 },
  35241. on: { input: _vm.bindKeyInput, blur: _vm.bindKeyInput }
  35242. })
  35243. ]),
  35244. _c(
  35245. "view",
  35246. { staticClass: _vm._$s(10, "sc", "flex select"), attrs: { _i: 10 } },
  35247. [
  35248. _c("text"),
  35249. _c(
  35250. "picker",
  35251. {
  35252. attrs: {
  35253. value: _vm._$s(12, "a-value", _vm.listIndex),
  35254. range: _vm._$s(12, "a-range", _vm.typelist1),
  35255. _i: 12
  35256. },
  35257. on: { change: _vm.bindPickerChange1 }
  35258. },
  35259. [
  35260. _c("input", {
  35261. attrs: {
  35262. value: _vm._$s(13, "a-value", _vm.typelist1[_vm.listIndex]),
  35263. _i: 13
  35264. }
  35265. })
  35266. ]
  35267. )
  35268. ]
  35269. ),
  35270. _c(
  35271. "view",
  35272. { staticClass: _vm._$s(14, "sc", "flex"), attrs: { _i: 14 } },
  35273. [
  35274. _c("text"),
  35275. _c("input", {
  35276. attrs: { value: _vm._$s(16, "a-value", _vm.parkNum), _i: 16 },
  35277. on: { input: _vm.numInput, blur: _vm.numInput }
  35278. })
  35279. ]
  35280. ),
  35281. _c(
  35282. "view",
  35283. { staticClass: _vm._$s(17, "sc", "handel flexA"), attrs: { _i: 17 } },
  35284. [
  35285. _c("view", { attrs: { _i: 18 }, on: { click: _vm.draw } }),
  35286. _c("view", { attrs: { _i: 19 }, on: { click: _vm.cancel } })
  35287. ]
  35288. )
  35289. ])
  35290. ])
  35291. }
  35292. var recyclableRender = false
  35293. var staticRenderFns = []
  35294. render._withStripped = true
  35295. /***/ }),
  35296. <<<<<<< HEAD
  35297. /* 385 */
  35298. /*!********************************************************************************************!*\
  35299. !*** C:/Users/001/Desktop/运维端/pages/mine/add_park.vue?vue&type=script&lang=js&mpType=page ***!
  35300. \********************************************************************************************/
  35301. =======
  35302. /* 219 */
  35303. /*!*********************************************************************************************************!*\
  35304. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/add_park.vue?vue&type=script&lang=js&mpType=page ***!
  35305. \*********************************************************************************************************/
  35306. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35307. /*! no static exports found */
  35308. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35309. "use strict";
  35310. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./add_park.vue?vue&type=script&lang=js&mpType=page */ 386);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_add_park_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThpQixDQUFnQixpbEJBQUcsRUFBQyIsImZpbGUiOiIzODUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9hZGRfcGFyay52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxiYWJlbC1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlclxcXFxpbmRleC5qcz8/cmVmLS02LTEhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXVuaS1hcHAtbG9hZGVyXFxcXHVzaW5nLWNvbXBvbmVudHMuanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx2dWUtbG9hZGVyXFxcXGxpYlxcXFxpbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYWRkX3BhcmsudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///385\n");
  35311. /***/ }),
  35312. <<<<<<< HEAD
  35313. /* 386 */
  35314. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35315. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/pages/mine/add_park.vue?vue&type=script&lang=js&mpType=page ***!
  35316. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35317. =======
  35318. /* 220 */
  35319. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35320. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/pages/mine/add_park.vue?vue&type=script&lang=js&mpType=page ***!
  35321. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35322. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35323. /*! no static exports found */
  35324. /***/ (function(module, exports, __webpack_require__) {
  35325. "use strict";
  35326. <<<<<<< HEAD
  35327. eval("/* WEBPACK VAR INJECTION */(function(wx, __f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n showType: false,\n showArea: false,\n parkNum: '',\n parkName: '',\n array: [],\n arr: [],\n index: 0,\n typeList: [{ //区域类型选项\n type: 1,\n name: '禁停区' },\n {\n type: 2,\n name: '停车区' }],\n\n typelist1: ['禁停区', '停车区'],\n areaName: '',\n areaId: '',\n listIndex: 0,\n typeName: '' };\n\n },\n methods: {\n //取消\n cancel: function cancel() {\n wx.navigateBack();\n },\n numInput: function numInput(e) {\n this.parkNum = e.detail.value;\n },\n draw: function draw() {var _this = this;\n var that = this;\n if (!that.areaName) {\n uni.showToast({\n title: '请选择所属大区',\n icon: 'none' });\n\n __f__(\"log\", that.areaName, \" at pages/mine/add_park.vue:76\");\n } else if (!that.parkName) {\n uni.showToast({\n title: '停车区域名称不能为空',\n icon: 'none' });\n\n __f__(\"log\", that.parkName, \" at pages/mine/add_park.vue:82\");\n } else if (!that.typeName) {\n uni.showToast({\n title: '请选择区域类型',\n icon: 'none' });\n\n __f__(\"log\", that.typeName, \" at pages/mine/add_park.vue:88\");\n } else if (that.parkNum == '') {\n uni.showToast({\n title: '请输入停车上限',\n icon: 'none' });\n\n __f__(\"log\", that.parkNum, \" at pages/mine/add_park.vue:94\");\n } else {\n __f__(\"log\", '成立', \" at pages/mine/add_park.vue:96\");\n var data = {\n name: this.parkName };\n\n app.request('parking/UniqueParkingName', data, 'POST').then(function (res) {\n if (res.statusCode == 200) {\n if (res.data.status == 0) {\n uni.showToast({\n title: '停车区域名称已存在',\n icon: 'none' });\n\n } else {\n var pages = getCurrentPages();\n var prevPage = pages[pages.length - 2]; //上一个页面\n __f__(\"log\", prevPage, \" at pages/mine/add_park.vue:110\");\n prevPage.$vm.areaId = _this.areaId;\n prevPage.$vm.parkName = _this.parkName;\n prevPage.$vm.parkNum = _this.parkNum;\n prevPage.$vm.type = _this.listIndex + 1;\n prevPage.$vm.mapclick = true;\n uni.navigateBack();\n }\n }\n });\n\n }\n },\n // change: function(e) {\n // \tuni.setStorageSync('curVal', this.option1[e.detail.value].value)\n // \tuni.setStorageSync('curId', this.option1[e.detail.value].areaID)\n // \tthis.areaID = this.option1[e.detail].areaID;\n // \tthis.park()\n // },\n //停车(禁停)区名称\n bindKeyInput: function bindKeyInput(e) {\n __f__(\"log\", e, \" at pages/mine/add_park.vue:131\");\n this.parkName = e.detail.value;\n },\n bindPickerChange: function bindPickerChange(e) {\n __f__(\"log\", e, \" at pages/mine/add_park.vue:135\");\n var nowArea = this.array[e.detail.value].text;\n var areaId = this.array[e.detail.value].areaID;\n this.areaName = nowArea;\n this.areaId = areaId;\n this.index = e.detail.value;\n __f__(\"log\", this.areaName, this.areaId, this.index, \" at pages/mine/add_park.vue:141\");\n },\n bindPickerChange1: function bindPickerChange1(e) {\n __f__(\"log\", e, \" at pages/mine/add_park.vue:144\");\n this.typeName = this.typeList[e.detail.value].name;\n this.type = this.typeList[e.detail.value].type;\n this.listIndex = e.detail.value;\n __f__(\"log\", this.typeName, \" at pages/mine/add_park.vue:148\");\n __f__(\"log\", this.type, \" at pages/mine/add_park.vue:149\");\n } },\n\n onLoad: function onLoad(options) {\n var that = this;\n that.array = uni.getStorageSync('allArea');\n __f__(\"log\", that.array, \" at pages/mine/add_park.vue:155\");\n var options = that.array;\n var arr = [];\n for (var i = 0; i < options.length; i++) {\n arr.push(options[i].text);\n }\n that.arr = arr;\n var curVal = wx.getStorageSync('curVal');\n if (curVal) {\n that.value1 = curVal;\n }\n var areaID = wx.getStorageSync('curId');\n if (areaID) {\n that.areaID = areaID;\n } else {\n var id = options[0].areaID;\n that.areaID = id;\n }\n __f__(\"log\", this.typeList, \" at pages/mine/add_park.vue:173\");\n this.areaName = options[0].text;\n this.typeName = this.typeList[0].name;\n this.areaId = options[0].areaID;\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9hZGRfcGFyay52dWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ0EsbUI7QUFDQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLHFCQURBO0FBRUEscUJBRkE7QUFHQSxpQkFIQTtBQUlBLGtCQUpBO0FBS0EsZUFMQTtBQU1BLGFBTkE7QUFPQSxjQVBBO0FBUUE7QUFDQSxlQURBO0FBRUEsbUJBRkE7QUFHQTtBQUNBLGVBREE7QUFFQSxtQkFGQSxFQUhBLENBUkE7O0FBZUEsK0JBZkE7QUFnQkEsa0JBaEJBO0FBaUJBLGdCQWpCQTtBQWtCQSxrQkFsQkE7QUFtQkEsa0JBbkJBOztBQXFCQSxHQXZCQTtBQXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBSkE7QUFLQTtBQUNBO0FBQ0EsS0FQQTtBQVFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBREE7QUFFQSxzQkFGQTs7QUFJQTtBQUNBLE9BTkEsTUFNQTtBQUNBO0FBQ0EsNkJBREE7QUFFQSxzQkFGQTs7QUFJQTtBQUNBLE9BTkEsTUFNQTtBQUNBO0FBQ0EsMEJBREE7QUFFQSxzQkFGQTs7QUFJQTtBQUNBLE9BTkEsTUFNQTtBQUNBO0FBQ0EsMEJBREE7QUFFQSxzQkFGQTs7QUFJQTtBQUNBLE9BTkEsTUFNQTtBQUNBO0FBQ0E7QUFDQSw2QkFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQURBO0FBRUEsNEJBRkE7O0FBSUEsYUFMQSxNQUtBO0FBQ0E7QUFDQSxxREFGQSxDQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FuQkE7O0FBcUJBO0FBQ0EsS0E3REE7QUE4REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXhFQTtBQXlFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FqRkE7QUFrRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXpGQSxFQXhCQTs7QUFtSEEsUUFuSEEsa0JBbUhBLE9BbkhBLEVBbUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUZBLE1BRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBNUlBLEUiLCJmaWxlIjoiMzg2LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJhZGRQb3BcIj5cclxuXHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlcjtcIj7ljLrln5/kv6Hmga88L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleCBzZWxlY3RcIj5cclxuXHRcdFx0XHQ8dGV4dD7miYDlsZ7lpKfljLo8L3RleHQ+XHJcblx0XHRcdFx0PHBpY2tlciBAY2hhbmdlPVwiYmluZFBpY2tlckNoYW5nZVwiIDp2YWx1ZT1cImluZGV4XCIgOnJhbmdlPVwiYXJyXCI+XHJcblx0XHRcdFx0XHQ8IS0tIDx0ZXh0Pnt7YXJyW2luZGV4XX19PC90ZXh0PiAtLT5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cImFycltpbmRleF1cIiBkaXNhYmxlZD1cInRydWVcIi8+XHJcblx0XHRcdFx0PC9waWNrZXI+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4XCI+XHJcblx0XHRcdFx0PHRleHQ+5YGc6L2m5Yy65Z+f5ZCN56ewPC90ZXh0PlxyXG5cdFx0XHRcdDxpbnB1dCBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeWBnOi9puWMuuWQjeensFwiIHBsYWNlaG9sZGVyLWNsYXNzPVwicGxhY2VcIiBAaW5wdXQ9XCJiaW5kS2V5SW5wdXRcIiBAYmx1cj1cImJpbmRLZXlJbnB1dFwiIDp2YWx1ZT1cInBhcmtOYW1lXCI+PC9pbnB1dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZsZXggc2VsZWN0XCI+XHJcblx0XHRcdFx0PHRleHQ+5Yy65Z+f57G75Z6LPC90ZXh0PlxyXG5cdFx0XHRcdDxwaWNrZXIgQGNoYW5nZT1cImJpbmRQaWNrZXJDaGFuZ2UxXCIgOnZhbHVlPVwibGlzdEluZGV4XCIgOnJhbmdlPVwidHlwZWxpc3QxXCI+XHJcblx0XHRcdFx0XHQ8IS0tIDx0ZXh0Pnt7dHlwZWxpc3QxW2xpc3RJbmRleF19fTwvdGV4dD4gLS0+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiA6dmFsdWU9XCJ0eXBlbGlzdDFbbGlzdEluZGV4XVwiIGRpc2FibGVkPVwidHJ1ZVwiLz5cclxuXHRcdFx0XHQ8L3BpY2tlcj5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZsZXhcIj5cclxuXHRcdFx0XHQ8dGV4dD7lgZzovabkuIrpmZA8L3RleHQ+XHJcblx0XHRcdFx0PGlucHV0IHBsYWNlaG9sZGVyLWNsYXNzPVwicGxhY2VcIiB0eXBlPVwibnVtYmVyXCIgQGlucHV0PVwibnVtSW5wdXRcIiBAYmx1cj1cIm51bUlucHV0XCIgOnZhbHVlPVwicGFya051bVwiPjwvaW5wdXQ+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoYW5kZWwgZmxleEFcIj5cclxuXHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJkcmF3XCI+57uY5Yi25Zu05qCPPC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IEBjbGljaz1cImNhbmNlbFwiPuWPlua2iDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0Y29uc3QgYXBwID0gZ2V0QXBwKCk7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzaG93VHlwZTogZmFsc2UsXHJcblx0XHRcdFx0c2hvd0FyZWE6IGZhbHNlLFxyXG5cdFx0XHRcdHBhcmtOdW06ICcnLFxyXG5cdFx0XHRcdHBhcmtOYW1lOiAnJyxcclxuXHRcdFx0XHRhcnJheTogW10sXHJcblx0XHRcdFx0YXJyOiBbXSxcclxuXHRcdFx0XHRpbmRleDogMCxcclxuXHRcdFx0XHR0eXBlTGlzdDogW3sgLy/ljLrln5/nsbvlnovpgInpoblcclxuXHRcdFx0XHRcdHR5cGU6IDEsXHJcblx0XHRcdFx0XHRuYW1lOiAn56aB5YGc5Yy6J1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdHR5cGU6IDIsXHJcblx0XHRcdFx0XHRuYW1lOiAn5YGc6L2m5Yy6J1xyXG5cdFx0XHRcdH1dLFxyXG5cdFx0XHRcdHR5cGVsaXN0MTogWyfnpoHlgZzljLonLCAn5YGc6L2m5Yy6J10sXHJcblx0XHRcdFx0YXJlYU5hbWU6ICcnLFxyXG5cdFx0XHRcdGFyZWFJZDogJycsXHJcblx0XHRcdFx0bGlzdEluZGV4OiAwLFxyXG5cdFx0XHRcdHR5cGVOYW1lOicnXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8v5Y+W5raIXHJcblx0XHRcdGNhbmNlbDogZnVuY3Rpb24oKSB7XHJcblx0XHRcdFx0d3gubmF2aWdhdGVCYWNrKClcclxuXHRcdFx0fSxcclxuXHRcdFx0bnVtSW5wdXQ6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHR0aGlzLnBhcmtOdW0gPSBlLmRldGFpbC52YWx1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRkcmF3OiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0aWYgKCF0aGF0LmFyZWFOYW1lKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7fpgInmi6nmiYDlsZ7lpKfljLonLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LmFyZWFOYW1lKVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAoIXRoYXQucGFya05hbWUpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogJ+WBnOi9puWMuuWfn+WQjeensOS4jeiDveS4uuepuicsXHJcblx0XHRcdFx0XHRcdGljb246ICdub25lJ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQucGFya05hbWUpXHJcblx0XHRcdFx0fSBlbHNlIGlmICghdGhhdC50eXBlTmFtZSkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn6K+36YCJ5oup5Yy65Z+f57G75Z6LJyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC50eXBlTmFtZSlcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHRoYXQucGFya051bSA9PSAnJykge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiAn6K+36L6T5YWl5YGc6L2m5LiK6ZmQJyxcclxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5wYXJrTnVtKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5oiQ56uLJylcclxuXHRcdFx0XHRcdGxldCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XHRuYW1lOiB0aGlzLnBhcmtOYW1lXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRhcHAucmVxdWVzdCgncGFya2luZy9VbmlxdWVQYXJraW5nTmFtZScsIGRhdGEsICdQT1NUJykudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLnN0YXR1cyA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICflgZzovabljLrln5/lkI3np7Dlt7LlrZjlnKgnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBwYWdlcyA9IGdldEN1cnJlbnRQYWdlcygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIHByZXZQYWdlID0gcGFnZXNbcGFnZXMubGVuZ3RoIC0gMl07IC8v5LiK5LiA5Liq6aG16Z2iXHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhwcmV2UGFnZSlcclxuXHRcdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS5hcmVhSWQ9dGhpcy5hcmVhSWQ7XHJcblx0XHRcdFx0XHRcdFx0XHRwcmV2UGFnZS4kdm0ucGFya05hbWU9dGhpcy5wYXJrTmFtZTtcclxuXHRcdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS5wYXJrTnVtPXRoaXMucGFya051bTtcclxuXHRcdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS50eXBlPXRoaXMubGlzdEluZGV4KzE7ICBcclxuXHRcdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS5tYXBjbGljaz10cnVlO1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpIFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8gY2hhbmdlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdC8vIFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdjdXJWYWwnLCB0aGlzLm9wdGlvbjFbZS5kZXRhaWwudmFsdWVdLnZhbHVlKVxyXG5cdFx0XHQvLyBcdHVuaS5zZXRTdG9yYWdlU3luYygnY3VySWQnLCB0aGlzLm9wdGlvbjFbZS5kZXRhaWwudmFsdWVdLmFyZWFJRClcclxuXHRcdFx0Ly8gXHR0aGlzLmFyZWFJRCA9IHRoaXMub3B0aW9uMVtlLmRldGFpbF0uYXJlYUlEO1xyXG5cdFx0XHQvLyBcdHRoaXMucGFyaygpXHJcblx0XHRcdC8vIH0sXHJcblx0XHRcdC8v5YGc6L2m77yI56aB5YGc77yJ5Yy65ZCN56ewXHJcblx0XHRcdGJpbmRLZXlJbnB1dDogZnVuY3Rpb24oZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdFx0dGhpcy5wYXJrTmFtZSA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRiaW5kUGlja2VyQ2hhbmdlOiBmdW5jdGlvbihlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcclxuXHRcdFx0XHRsZXQgbm93QXJlYSA9IHRoaXMuYXJyYXlbZS5kZXRhaWwudmFsdWVdLnRleHRcclxuXHRcdFx0XHRsZXQgYXJlYUlkID0gdGhpcy5hcnJheVtlLmRldGFpbC52YWx1ZV0uYXJlYUlEXHJcblx0XHRcdFx0dGhpcy5hcmVhTmFtZSA9IG5vd0FyZWE7XHJcblx0XHRcdFx0dGhpcy5hcmVhSWQgPSBhcmVhSWQ7XHJcblx0XHRcdFx0dGhpcy5pbmRleCA9IGUuZGV0YWlsLnZhbHVlO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYU5hbWUsdGhpcy5hcmVhSWQsdGhpcy5pbmRleClcclxuXHRcdFx0fSxcclxuXHRcdFx0YmluZFBpY2tlckNoYW5nZTE6IGZ1bmN0aW9uKGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlKVxyXG5cdFx0XHRcdHRoaXMudHlwZU5hbWUgPSB0aGlzLnR5cGVMaXN0W2UuZGV0YWlsLnZhbHVlXS5uYW1lO1xyXG5cdFx0XHRcdHRoaXMudHlwZSA9IHRoaXMudHlwZUxpc3RbZS5kZXRhaWwudmFsdWVdLnR5cGU7XHJcblx0XHRcdFx0dGhpcy5saXN0SW5kZXggPSBlLmRldGFpbC52YWx1ZTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLnR5cGVOYW1lKVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMudHlwZSlcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XHRvbkxvYWQob3B0aW9ucykge1xyXG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdHRoYXQuYXJyYXkgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FsbEFyZWEnKTtcclxuXHRcdFx0Y29uc29sZS5sb2codGhhdC5hcnJheSlcclxuXHRcdFx0dmFyIG9wdGlvbnMgPSB0aGF0LmFycmF5O1xyXG5cdFx0XHR2YXIgYXJyID0gW107XHJcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgb3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdGFyci5wdXNoKG9wdGlvbnNbaV0udGV4dClcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGF0LmFyciA9IGFycjtcclxuXHRcdFx0bGV0IGN1clZhbCA9IHd4LmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKTtcclxuXHRcdFx0aWYgKGN1clZhbCkge1xyXG5cdFx0XHRcdHRoYXQudmFsdWUxID0gY3VyVmFsO1xyXG5cdFx0XHR9XHJcblx0XHRcdGxldCBhcmVhSUQgPSB3eC5nZXRTdG9yYWdlU3luYygnY3VySWQnKVxyXG5cdFx0XHRpZiAoYXJlYUlEKSB7XHJcblx0XHRcdFx0dGhhdC5hcmVhSUQgPSBhcmVhSUQ7XHJcblx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0bGV0IGlkID0gb3B0aW9uc1swXS5hcmVhSURcclxuXHRcdFx0XHR0aGF0LmFyZWFJRCA9IGlkO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMudHlwZUxpc3QpXHJcblx0XHRcdHRoaXMuYXJlYU5hbWUgPSBvcHRpb25zWzBdLnRleHQ7XHJcblx0XHRcdHRoaXMudHlwZU5hbWUgPSB0aGlzLnR5cGVMaXN0WzBdLm5hbWU7XHJcblx0XHRcdHRoaXMuYXJlYUlkID0gb3B0aW9uc1swXS5hcmVhSUQ7XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHRwYWdlIHtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQ6ICNBOUE5QTk7XHJcblx0fVxyXG5cclxuXHQuYWRkUG9wIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNTAlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0XHR3aWR0aDogODAlO1xyXG5cdFx0aGVpZ2h0OiA2MDB1cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTB1cHg7XHJcblx0XHR6LWluZGV4OiAyMjIyO1xyXG5cdFx0cGFkZGluZzogMzB1cHggMjB1cHg7XHJcblx0fVxyXG5cclxuXHQuYWRkUG9wPnZpZXcge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTV1cHg7XHJcblx0XHRmb250LXNpemU6IDI4dXB4O1xyXG5cdFx0aGVpZ2h0OiA3MHVweDtcclxuXHR9XHJcblxyXG5cdC5hZGRQb3A+dmlldyBpbnB1dCB7XHJcblx0XHRib3JkZXI6IDF1cHggc29saWQgI2RjZGZlNjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwdXB4O1xyXG5cdFx0aGVpZ2h0OiA2OHVweDtcclxuXHRcdHdpZHRoOiAzNjJ1cHg7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDEwdXB4O1xyXG5cdH1cclxuXHJcblx0LnBsYWNlIHtcclxuXHRcdGZvbnQtc2l6ZTogMjZ1cHg7XHJcblx0XHRjb2xvcjogI2RkZDtcclxuXHR9XHJcblxyXG5cdC5hZGRQb3A+dmlldyB0ZXh0IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAxODB1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHR9XHJcblxyXG5cdC5zZWxlY3QgaW1hZ2Uge1xyXG5cdFx0d2lkdGg6IDQwdXB4O1xyXG5cdFx0aGVpZ2h0OiAzMHVweDtcclxuXHR9XHJcblxyXG5cdC5zZWxlY3QgLnBpY2tlciB7XHJcblx0XHRib3JkZXI6IDF1cHggc29saWQgI2RjZGZlNjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwdXB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwdXB4O1xyXG5cdFx0aGVpZ2h0OiA3MHVweDtcclxuXHRcdHdpZHRoOiAzNzR1cHg7XHJcblx0fVxyXG5cclxuXHQuc2VsZWN0IC5waWNrZXIgaW5wdXQge1xyXG5cdFx0d2lkdGg6IDgzJTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdH1cclxuXHJcblx0LmhhbmRlbCB7XHJcblx0XHRtYXJnaW4tdG9wOiA0MHVweDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblx0fVxyXG5cclxuXHQuaGFuZGVsIHZpZXcge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZDogIzE4ZDViOTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0d2lkdGg6IDIwMHVweDtcclxuXHRcdGhlaWdodDogNjB1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNjB1cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA0M3VweDtcclxuXHRcdGZvbnQtc2l6ZTogMjh1cHg7XHJcblx0fVxyXG5cclxuXHQuZmxleCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///386\n");
  35328. /***/ }),
  35329. /* 387 */
  35330. /*!****************************************!*\
  35331. !*** C:/Users/001/Desktop/运维端/App.vue ***!
  35332. \****************************************/
  35333. =======
  35334. eval("/* WEBPACK VAR INJECTION */(function(wx, __f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar app = getApp();var _default =\n{\n data: function data() {\n return {\n showType: false,\n showArea: false,\n parkNum: '',\n parkName: '',\n array: [],\n arr: [],\n index: 0,\n typeList: [{ //区域类型选项\n type: 1,\n name: '禁停区' },\n {\n type: 2,\n name: '停车区' }],\n\n typelist1: ['禁停区', '停车区'],\n areaName: '',\n areaId: '',\n listIndex: 0,\n typeName: '' };\n\n },\n methods: {\n //取消\n cancel: function cancel() {\n wx.navigateBack();\n },\n numInput: function numInput(e) {\n this.parkNum = e.detail.value;\n },\n draw: function draw() {var _this = this;\n var that = this;\n if (!that.areaName) {\n uni.showToast({\n title: '请选择所属大区',\n icon: 'none' });\n\n __f__(\"log\", that.areaName, \" at pages/mine/add_park.vue:76\");\n } else if (!that.parkName) {\n uni.showToast({\n title: '停车区域名称不能为空',\n icon: 'none' });\n\n __f__(\"log\", that.parkName, \" at pages/mine/add_park.vue:82\");\n } else if (!that.typeName) {\n uni.showToast({\n title: '请选择区域类型',\n icon: 'none' });\n\n __f__(\"log\", that.typeName, \" at pages/mine/add_park.vue:88\");\n }\n // else if (that.parkNum == '') {\n // \tuni.showToast({\n // \t\ttitle: '请输入停车上限',\n // \t\ticon: 'none'\n // \t})\n // \tconsole.log(that.parkNum)\n // } \n else {\n __f__(\"log\", '成立', \" at pages/mine/add_park.vue:98\");\n var data = {\n name: this.parkName };\n\n app.request('parking/UniqueParkingName', data, 'POST').then(function (res) {\n if (res.statusCode == 200) {\n if (res.data.status == 0) {\n uni.showToast({\n title: '停车区域名称已存在',\n icon: 'none' });\n\n } else {\n var pages = getCurrentPages();\n var prevPage = pages[pages.length - 2]; //上一个页面\n __f__(\"log\", prevPage, \" at pages/mine/add_park.vue:112\");\n prevPage.$vm.areaId = _this.areaId;\n prevPage.$vm.parkName = _this.parkName;\n prevPage.$vm.parkNum = _this.parkNum;\n prevPage.$vm.type = _this.listIndex + 1;\n prevPage.$vm.mapclick = true;\n uni.navigateBack();\n }\n }\n });\n\n }\n },\n // change: function(e) {\n // \tuni.setStorageSync('curVal', this.option1[e.detail.value].value)\n // \tuni.setStorageSync('curId', this.option1[e.detail.value].areaID)\n // \tthis.areaID = this.option1[e.detail].areaID;\n // \tthis.park()\n // },\n //停车(禁停)区名称\n bindKeyInput: function bindKeyInput(e) {\n __f__(\"log\", e, \" at pages/mine/add_park.vue:133\");\n this.parkName = e.detail.value;\n },\n bindPickerChange: function bindPickerChange(e) {\n __f__(\"log\", e, \" at pages/mine/add_park.vue:137\");\n var nowArea = this.array[e.detail.value].text;\n var areaId = this.array[e.detail.value].areaID;\n this.areaName = nowArea;\n this.areaId = areaId;\n this.index = e.detail.value;\n __f__(\"log\", this.areaName, this.areaId, this.index, \" at pages/mine/add_park.vue:143\");\n },\n bindPickerChange1: function bindPickerChange1(e) {\n __f__(\"log\", e, \" at pages/mine/add_park.vue:146\");\n this.typeName = this.typeList[e.detail.value].name;\n this.type = this.typeList[e.detail.value].type;\n this.listIndex = e.detail.value;\n __f__(\"log\", this.typeName, \" at pages/mine/add_park.vue:150\");\n __f__(\"log\", this.type, \" at pages/mine/add_park.vue:151\");\n } },\n\n onLoad: function onLoad(options) {\n var that = this;\n that.array = uni.getStorageSync('allArea');\n __f__(\"log\", that.array, \" at pages/mine/add_park.vue:157\");\n var options = that.array;\n var arr = [];\n for (var i = 0; i < options.length; i++) {\n arr.push(options[i].text);\n }\n that.arr = arr;\n var curVal = wx.getStorageSync('curVal');\n if (curVal) {\n that.value1 = curVal;\n }\n var areaID = wx.getStorageSync('curId');\n if (areaID) {\n that.areaID = areaID;\n } else {\n var id = options[0].areaID;\n that.areaID = id;\n }\n __f__(\"log\", this.typeList, \" at pages/mine/add_park.vue:175\");\n this.areaName = options[0].text;\n this.typeName = this.typeList[0].name;\n this.areaId = options[0].areaID;\n } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 10)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9hZGRfcGFyay52dWUiXSwibmFtZXMiOlsiYXBwIiwiZ2V0QXBwIiwiZGF0YSIsInNob3dUeXBlIiwic2hvd0FyZWEiLCJwYXJrTnVtIiwicGFya05hbWUiLCJhcnJheSIsImFyciIsImluZGV4IiwidHlwZUxpc3QiLCJ0eXBlIiwibmFtZSIsInR5cGVsaXN0MSIsImFyZWFOYW1lIiwiYXJlYUlkIiwibGlzdEluZGV4IiwidHlwZU5hbWUiLCJtZXRob2RzIiwiY2FuY2VsIiwid3giLCJuYXZpZ2F0ZUJhY2siLCJudW1JbnB1dCIsImUiLCJkZXRhaWwiLCJ2YWx1ZSIsImRyYXciLCJ0aGF0IiwidW5pIiwic2hvd1RvYXN0IiwidGl0bGUiLCJpY29uIiwicmVxdWVzdCIsInRoZW4iLCJyZXMiLCJzdGF0dXNDb2RlIiwic3RhdHVzIiwicGFnZXMiLCJnZXRDdXJyZW50UGFnZXMiLCJwcmV2UGFnZSIsImxlbmd0aCIsIiR2bSIsIm1hcGNsaWNrIiwiYmluZEtleUlucHV0IiwiYmluZFBpY2tlckNoYW5nZSIsIm5vd0FyZWEiLCJ0ZXh0IiwiYXJlYUlEIiwiYmluZFBpY2tlckNoYW5nZTEiLCJvbkxvYWQiLCJvcHRpb25zIiwiZ2V0U3RvcmFnZVN5bmMiLCJpIiwicHVzaCIsImN1clZhbCIsInZhbHVlMSIsImlkIl0sIm1hcHBpbmdzIjoieUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUEsR0FBRyxHQUFHQyxNQUFNLEVBQWxCLEM7QUFDZTtBQUNkQyxNQURjLGtCQUNQO0FBQ04sV0FBTztBQUNOQyxjQUFRLEVBQUUsS0FESjtBQUVOQyxjQUFRLEVB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R0FBY1MsRUFBZDtBQUNBO0FBQ0QsaUJBQVksS0FBSzlDLFFBQWpCO0FBQ0EsU0FBS0ksUUFBTCxHQUFnQm9DLE9BQU8sQ0FBQyxDQUFELENBQVAsQ0FBV0osSUFBM0I7QUFDQSxTQUFLN0IsUUFBTCxHQUFnQixLQUFLUCxRQUFMLENBQWMsQ0FBZCxFQUFpQkUsSUFBakM7QUFDQSxTQUFLRyxNQUFMLEdBQWNtQyxPQUFPLENBQUMsQ0FBRCxDQUFQLENBQVdILE1BQXpCO0FBQ0EsR0E5SWEsRSIsImZpbGUiOiIyMjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG5jb25zdCBhcHAgPSBnZXRBcHAoKTtcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0c2hvd1R5cGU6IGZhbHNlLFxuXHRcdFx0c2hvd0FyZWE6IGZhbHNlLFxuXHRcdFx0cGFya051bTogJycsXG5cdFx0XHRwYXJrTmFtZTogJycsXG5cdFx0XHRhcnJheTogW10sXG5cdFx0XHRhcnI6IFtdLFxuXHRcdFx0aW5kZXg6IDAsXG5cdFx0XHR0eXBlTGlzdDogW3sgLy/ljLrln5/nsbvlnovpgInpoblcblx0XHRcdFx0dHlwZTogMSxcblx0XHRcdFx0bmFtZTogJ+emgeWBnOWMuidcblx0XHRcdH0sIHtcblx0XHRcdFx0dHlwZTogMixcblx0XHRcdFx0bmFtZTogJ+WBnOi9puWMuidcblx0XHRcdH1dLFxuXHRcdFx0dHlwZWxpc3QxOiBbJ+emgeWBnOWMuicsICflgZzovabljLonXSxcblx0XHRcdGFyZWFOYW1lOiAnJyxcblx0XHRcdGFyZWFJZDogJycsXG5cdFx0XHRsaXN0SW5kZXg6IDAsXG5cdFx0XHR0eXBlTmFtZTonJ1xuXHRcdH1cblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8v5Y+W5raIXG5cdFx0Y2FuY2VsOiBmdW5jdGlvbigpIHtcblx0XHRcdHd4Lm5hdmlnYXRlQmFjaygpXG5cdFx0fSxcblx0XHRudW1JbnB1dDogZnVuY3Rpb24oZSkge1xuXHRcdFx0dGhpcy5wYXJrTnVtID0gZS5kZXRhaWwudmFsdWVcblx0XHR9LFxuXHRcdGRyYXc6IGZ1bmN0aW9uKCkge1xuXHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0aWYgKCF0aGF0LmFyZWFOYW1lKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdHRpdGxlOiAn6K+36YCJ5oup5omA5bGe5aSn5Yy6Jyxcblx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0fSlcblx0XHRcdFx0Y29uc29sZS5sb2codGhhdC5hcmVhTmFtZSlcblx0XHRcdH0gZWxzZSBpZiAoIXRoYXQucGFya05hbWUpIHtcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0dGl0bGU6ICflgZzovabljLrln5/lkI3np7DkuI3og73kuLrnqbonLFxuXHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHR9KVxuXHRcdFx0XHRjb25zb2xlLmxvZyh0aGF0LnBhcmtOYW1lKVxuXHRcdFx0fSBlbHNlIGlmICghdGhhdC50eXBlTmFtZSkge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHR0aXRsZTogJ+ivt+mAieaLqeWMuuWfn+exu+WeiycsXG5cdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQudHlwZU5hbWUpXG5cdFx0XHR9XG5cdFx0XHQvLyAgZWxzZSBpZiAodGhhdC5wYXJrTnVtID09ICcnKSB7XG5cdFx0XHQvLyBcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0Ly8gXHRcdHRpdGxlOiAn6K+36L6T5YWl5YGc6L2m5LiK6ZmQJyxcblx0XHRcdC8vIFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdC8vIFx0fSlcblx0XHRcdC8vIFx0Y29uc29sZS5sb2codGhhdC5wYXJrTnVtKVxuXHRcdFx0Ly8gfSBcblx0XHRcdGVsc2Uge1xuXHRcdFx0XHRjb25zb2xlLmxvZygn5oiQ56uLJylcblx0XHRcdFx0bGV0IGRhdGEgPSB7XG5cdFx0XHRcdFx0bmFtZTogdGhpcy5wYXJrTmFtZVxuXHRcdFx0XHR9XG5cdFx0XHRcdGFwcC5yZXF1ZXN0KCdwYXJraW5nL1VuaXF1ZVBhcmtpbmdOYW1lJywgZGF0YSwgJ1BPU1QnKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLnN0YXR1cyA9PSAwKSB7XG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5YGc6L2m5Yy65Z+f5ZCN56ew5bey5a2Y5ZyoJyxcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHZhciBwYWdlcyA9IGdldEN1cnJlbnRQYWdlcygpO1xuXHRcdFx0XHRcdFx0XHR2YXIgcHJldlBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAyXTsgLy/kuIrkuIDkuKrpobXpnaJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocHJldlBhZ2UpXG5cdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS5hcmVhSWQ9dGhpcy5hcmVhSWQ7XG5cdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS5wYXJrTmFtZT10aGlzLnBhcmtOYW1lO1xuXHRcdFx0XHRcdFx0XHRwcmV2UGFnZS4kdm0ucGFya051bT10aGlzLnBhcmtOdW07XG5cdFx0XHRcdFx0XHRcdHByZXZQYWdlLiR2bS50eXBlPXRoaXMubGlzdEluZGV4KzE7ICBcblx0XHRcdFx0XHRcdFx0cHJldlBhZ2UuJHZtLm1hcGNsaWNrPXRydWU7XG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKSBcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly8gY2hhbmdlOiBmdW5jdGlvbihlKSB7XG5cdFx0Ly8gXHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2N1clZhbCcsIHRoaXMub3B0aW9uMVtlLmRldGFpbC52YWx1ZV0udmFsdWUpXG5cdFx0Ly8gXHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2N1cklkJywgdGhpcy5vcHRpb24xW2UuZGV0YWlsLnZhbHVlXS5hcmVhSUQpXG5cdFx0Ly8gXHR0aGlzLmFyZWFJRCA9IHRoaXMub3B0aW9uMVtlLmRldGFpbF0uYXJlYUlEO1xuXHRcdC8vIFx0dGhpcy5wYXJrKClcblx0XHQvLyB9LFxuXHRcdC8v5YGc6L2m77yI56aB5YGc77yJ5Yy65ZCN56ewXG5cdFx0YmluZEtleUlucHV0OiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlKVxuXHRcdFx0dGhpcy5wYXJrTmFtZSA9IGUuZGV0YWlsLnZhbHVlO1xuXHRcdH0sXG5cdFx0YmluZFBpY2tlckNoYW5nZTogZnVuY3Rpb24oZSkge1xuXHRcdFx0Y29uc29sZS5sb2coZSlcblx0XHRcdGxldCBub3dBcmVhID0gdGhpcy5hcnJheVtlLmRldGFpbC52YWx1ZV0udGV4dFxuXHRcdFx0bGV0IGFyZWFJZCA9IHRoaXMuYXJyYXlbZS5kZXRhaWwudmFsdWVdLmFyZWFJRFxuXHRcdFx0dGhpcy5hcmVhTmFtZSA9IG5vd0FyZWE7XG5cdFx0XHR0aGlzLmFyZWFJZCA9IGFyZWFJZDtcblx0XHRcdHRoaXMuaW5kZXggPSBlLmRldGFpbC52YWx1ZTtcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMuYXJlYU5hbWUsdGhpcy5hcmVhSWQsdGhpcy5pbmRleClcblx0XHR9LFxuXHRcdGJpbmRQaWNrZXJDaGFuZ2UxOiBmdW5jdGlvbihlKSB7XG5cdFx0XHRjb25zb2xlLmxvZyhlKVxuXHRcdFx0dGhpcy50eXBlTmFtZSA9IHRoaXMudHlwZUxpc3RbZS5kZXRhaWwudmFsdWVdLm5hbWU7XG5cdFx0XHR0aGlzLnR5cGUgPSB0aGlzLnR5cGVMaXN0W2UuZGV0YWlsLnZhbHVlXS50eXBlO1xuXHRcdFx0dGhpcy5saXN0SW5kZXggPSBlLmRldGFpbC52YWx1ZTtcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMudHlwZU5hbWUpXG5cdFx0XHRjb25zb2xlLmxvZyh0aGlzLnR5cGUpXG5cdFx0fSxcblx0fSxcblx0b25Mb2FkKG9wdGlvbnMpIHtcblx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0dGhhdC5hcnJheSA9IHVuaS5nZXRTdG9yYWdlU3luYygnYWxsQXJlYScpO1xuXHRcdGNvbnNvbGUubG9nKHRoYXQuYXJyYXkpXG5cdFx0dmFyIG9wdGlvbnMgPSB0aGF0LmFycmF5O1xuXHRcdHZhciBhcnIgPSBbXTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGFyci5wdXNoKG9wdGlvbnNbaV0udGV4dClcblx0XHR9XG5cdFx0dGhhdC5hcnIgPSBhcnI7XG5cdFx0bGV0IGN1clZhbCA9IHd4LmdldFN0b3JhZ2VTeW5jKCdjdXJWYWwnKTtcblx0XHRpZiAoY3VyVmFsKSB7XG5cdFx0XHR0aGF0LnZhbHVlMSA9IGN1clZhbDtcblx0XHR9XG5cdFx0bGV0IGFyZWFJRCA9IHd4LmdldFN0b3JhZ2VTeW5jKCdjdXJJZCcpXG5cdFx0aWYgKGFyZWFJRCkge1xuXHRcdFx0dGhhdC5hcmVhSUQgPSBhcmVhSUQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGxldCBpZCA9IG9wdGlvbnNbMF0uYXJlYUlEXG5cdFx0XHR0aGF0LmFyZWFJRCA9IGlkO1xuXHRcdH1cblx0XHRjb25zb2xlLmxvZyh0aGlzLnR5cGVMaXN0KVxuXHRcdHRoaXMuYXJlYU5hbWUgPSBvcHRpb25zWzBdLnRleHQ7XG5cdFx0dGhpcy50eXBlTmFtZSA9IHRoaXMudHlwZUxpc3RbMF0ubmFtZTtcblx0XHR0aGlzLmFyZWFJZCA9IG9wdGlvbnNbMF0uYXJlYUlEO1xuXHR9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///220\n");
  35335. /***/ }),
  35336. /* 221 */
  35337. /*!*****************************************************!*\
  35338. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/App.vue ***!
  35339. \*****************************************************/
  35340. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35341. /*! no static exports found */
  35342. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35343. "use strict";
  35344. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./App.vue?vue&type=script&lang=js& */ 388);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 13);\nvar render, staticRenderFns, recyclableRender, components\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(\n _App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[\"default\"],\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUN1RDtBQUNMOzs7QUFHbEQ7QUFDcUs7QUFDckssZ0JBQWdCLCtLQUFVO0FBQzFCLEVBQUUseUVBQU07QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNlLGdGIiwiZmlsZSI6IjM4Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50c1xudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0FwcC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXEBkY2xvdWRpb1xcXFx2dWUtY2xpLXBsdWdpbi11bmlcXFxccGFja2FnZXNcXFxcdnVlLWxvYWRlclxcXFxsaWJcXFxccnVudGltZVxcXFxjb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiQXBwLnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///387\n");
  35345. /***/ }),
  35346. <<<<<<< HEAD
  35347. /* 388 */
  35348. /*!*****************************************************************!*\
  35349. !*** C:/Users/001/Desktop/运维端/App.vue?vue&type=script&lang=js& ***!
  35350. \*****************************************************************/
  35351. =======
  35352. /* 222 */
  35353. /*!******************************************************************************!*\
  35354. !*** C:/Users/001/Desktop/uniapp文件/闪现出行运维端/App.vue?vue&type=script&lang=js& ***!
  35355. \******************************************************************************/
  35356. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35357. /*! no static exports found */
  35358. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  35359. "use strict";
  35360. eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=script&lang=js& */ 389);\n/* harmony import */ var _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_D_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_1_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_D_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThoQixDQUFnQixpa0JBQUcsRUFBQyIsImZpbGUiOiIzODguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIUQ6XFxcXEhCdWlsZGVyWFxcXFxwbHVnaW5zXFxcXHVuaWFwcC1jbGlcXFxcbm9kZV9tb2R1bGVzXFxcXGJhYmVsLWxvYWRlclxcXFxsaWJcXFxcaW5kZXguanMhRDpcXFxcSEJ1aWxkZXJYXFxcXHBsdWdpbnNcXFxcdW5pYXBwLWNsaVxcXFxub2RlX21vZHVsZXNcXFxcQGRjbG91ZGlvXFxcXHZ1ZS1jbGktcGx1Z2luLXVuaVxcXFxwYWNrYWdlc1xcXFx3ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyXFxcXGluZGV4LmpzPz9yZWYtLTYtMSFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHdlYnBhY2stdW5pLWFwcC1sb2FkZXJcXFxcdXNpbmctY29tcG9uZW50cy5qcyFEOlxcXFxIQnVpbGRlclhcXFxccGx1Z2luc1xcXFx1bmlhcHAtY2xpXFxcXG5vZGVfbW9kdWxlc1xcXFxAZGNsb3VkaW9cXFxcdnVlLWNsaS1wbHVnaW4tdW5pXFxcXHBhY2thZ2VzXFxcXHZ1ZS1sb2FkZXJcXFxcbGliXFxcXGluZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9BcHAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///388\n");
  35361. /***/ }),
  35362. <<<<<<< HEAD
  35363. /* 389 */
  35364. /*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35365. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/运维端/App.vue?vue&type=script&lang=js& ***!
  35366. \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35367. =======
  35368. /* 223 */
  35369. /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  35370. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!C:/Users/001/Desktop/uniapp文件/闪现出行运维端/App.vue?vue&type=script&lang=js& ***!
  35371. \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  35372. >>>>>>> b5b7e5b494eb95cb74e074d52b1baeff3f73835b
  35373. /*! no static exports found */
  35374. /***/ (function(module, exports, __webpack_require__) {
  35375. "use strict";
  35376. eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\nvar token = '';\nif (uni.getStorageSync('token')) {\n token = uni.getStorageSync('token');\n}var _default =\n{\n globalData: {\n statusBarHeight: uni.getSystemInfoSync()['statusBarHeight'],\n windowHeight: uni.getSystemInfoSync()['windowHeight'] },\n\n systemInfo: {},\n onLaunch: function onLaunch() {\n // console.log('App Launch');\n // uni.getStorageSync('token');\n __f__(\"log\", token, \" at App.vue:15\");\n var that = this;\n uni.getSystemInfo({\n success: function success(res) {\n // console.log(res.safeArea.bottom)\n __f__(\"log\", '手机信息res' + res.model, \" at App.vue:20\");\n res.lang = res.language.indexOf('zh') !== -1 ? 'zh' : 'en';\n that.systemInfo = res;\n } });\n\n },\n onShow: function onShow() {\n __f__(\"log\", 'App Show', \" at App.vue:27\");\n\n },\n onHide: function onHide() {\n __f__(\"log\", 'App Hide', \" at App.vue:31\");\n },\n methods: {\n request: function request(api, params, method) {\n var that = this;\n var merchant_id = 0;\n return new Promise(function (resolve, reject) {\n uni.request({\n url: 'http://bike.saas.yufengjiayun.com/app-api/' + api,\n // url:'http://dev.saas.yufengjiayun.com/app-api/'+api,\n data: params,\n header: {\n 'content-type': 'application/x-www-form-urlencoded',\n 'Authorization': 'bearer' + ' ' + uni.getStorageSync('token').token,\n 'type': 'app',\n 'merchant-id': merchant_id },\n\n method: method,\n success: function success(res) {\n resolve(res);\n // console.log(res) \n if (res.statusCode == 450) {\n return;\n }\n if (res.data.statusCode != 200) {\n if (res.message != undefined) {\n uni.showToast({\n title: res.message,\n icon: 'none',\n duration: 3000,\n mask: true });\n\n } else if (res.data.message != undefined) {\n uni.showToast({\n title: res.data.message,\n icon: 'none',\n duration: 3000,\n mask: true });\n\n }\n } else if (res.statusCode != 200) {\n if (res.message != undefined) {\n uni.showToast({\n title: res.message,\n icon: 'none',\n duration: 3000,\n mask: true });\n\n } else if (res.data.message != undefined) {\n uni.showToast({\n title: res.data.message,\n icon: 'none',\n duration: 3000,\n mask: true });\n\n }\n }\n if (res.statusCode == 401) {\n uni.removeStorageSync('token');\n uni.showToast({\n title: '登陆过期请重新登陆~',\n icon: 'none',\n mask: true,\n success: function success() {\n uni.redirectTo({\n url: '/pages/login/login' });\n\n } });\n\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at App.vue:103\");\n uni.showToast({\n title: '请求超时请重试',\n icon: 'none',\n mask: true });\n\n reject(err);\n } });\n\n });\n } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 9)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJ0b2tlbiIsInVuaSIsImdldFN0b3JhZ2VTeW5jIiwiZ2xvYmFsRGF0YSIsInN0YXR1c0JhckhlaWdodCIsImdldFN5c3RlbUluZm9TeW5jIiwid2luZG93SGVpZ2h0Iiwic3lzdGVtSW5mbyIsIm9uTGF1bmNoIiwidGhhdCIsImdldFN5c3RlbUluZm8iLCJzdWNjZXNzIiwicmVzIiwibW9kZWwiLCJsYW5nIiwibGFuZ3VhZ2UiLCJpbmRleE9mIiwib25TaG93Iiwib25IaWRlIiwibWV0aG9kcyIsInJlcXVlc3QiLCJhcGkiLCJwYXJhbXMiLCJtZXRob2QiLCJtZXJjaGFudF9pZCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidXJsIiwiZGF0YSIsImhlYWRlciIsInN0YXR1c0NvZGUiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwic2hvd1RvYXN0IiwidGl0bGUiLCJpY29uIiwiZHVyYXRpb24iLCJtYXNrIiwicmVtb3ZlU3RvcmFnZVN5bmMiLCJyZWRpcmVjdFRvIiwiZmFpbCIsImVyciJdLCJtYXBwaW5ncyI6IjtBQUNBLElBQUlBLEtBQUssR0FBRyxFQUFaO0FBQ0EsSUFBSUMsR0FBRyxDQUFDQyxjQUFKLENBQW1CLE9BQW5CLENBQUosRUFBaUM7QUFDaENGLE9BQUssR0FBR0MsR0FBRyxDQUFDQyxjQUFKLENBQW1CLE9BQW5CLENBQVI7QUFDQSxDO0FBQ2M7QUFDZEMsWUFBVSxFQUFFO0FBQ1hDLG1CQUFlLEVBQUVILEdBQUcsQ0FBQ0ksaUJBQUosR0FBd0IsaUJBQXhCLENBRE47QUFFWEMsZ0JBQVksRUFBRUwsR0FBRyxDQUFDSSxpQkFBSixHQUF3QixjQUF4QixDQUZILEVBREU7O0FBS2RFLFlBQVUsRUFBRSxFQUxFO0FBTWRDLFVBQVEsRUFBRSxvQkFBVztBQUNwQjtBQUNBO0FBQ0EsaUJBQVlSLEtBQVo7QUFDQSxRQUFJUyxJQUFJLEdBQUcsSUFBWDtBQUNBUixPQUFHLENBQUNTLGFB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TztBQUdiQywwQkFBUSxFQUFFLElBSEc7QUFJYkMsc0JBQUksRUFBRSxJQUpPLEVBQWQ7O0FBTUE7QUFDRDtBQUNELGdCQUFJMUIsR0FBRyxDQUFDbUIsVUFBSixJQUFrQixHQUF0QixFQUEyQjtBQUMxQjlCLGlCQUFHLENBQUNzQyxpQkFBSixDQUFzQixPQUF0QjtBQUNBdEMsaUJBQUcsQ0FBQ2lDLFNBQUosQ0FBYztBQUNiQyxxQkFBSyxFQUFFLFlBRE07QUFFYkMsb0JBQUksRUFBRSxNQUZPO0FBR2JFLG9CQUFJLEVBQUUsSUFITztBQUliM0IsdUJBQU8sRUFBRSxtQkFBVztBQUNuQlYscUJBQUcsQ0FBQ3VDLFVBQUosQ0FBZTtBQUNkWix1QkFBRyxFQUFFLG9CQURTLEVBQWY7O0FBR0EsaUJBUlksRUFBZDs7QUFVQTtBQUNELFdBL0RVO0FBZ0VYYSxjQUFJLEVBQUUsY0FBQ0MsR0FBRCxFQUFTO0FBQ2QseUJBQVlBLEdBQVo7QUFDQXpDLGVBQUcsQ0FBQ2lDLFNBQUosQ0FBYztBQUNiQyxtQkFBSyxFQUFFLFNBRE07QUFFYkMsa0JBQUksRUFBRSxNQUZPO0FBR2JFLGtCQUFJLEVBQUUsSUFITyxFQUFkOztBQUtBWCxrQkFBTSxDQUFDZSxHQUFELENBQU47QUFDQSxXQXhFVSxFQUFaOztBQTBFQSxPQTNFTSxDQUFQO0FBNEVBLEtBaEZPLEVBM0JLLEUiLCJmaWxlIjoiMzg5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG52YXIgdG9rZW4gPSAnJ1xuaWYgKHVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKSkge1xuXHR0b2tlbiA9IHVuaS5nZXRTdG9yYWdlU3luYygndG9rZW4nKVxufVxuZXhwb3J0IGRlZmF1bHQge1xuXHRnbG9iYWxEYXRhOiB7XG5cdFx0c3RhdHVzQmFySGVpZ2h0OiB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnc3RhdHVzQmFySGVpZ2h0J10sXG5cdFx0d2luZG93SGVpZ2h0OiB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVsnd2luZG93SGVpZ2h0J10sXG5cdH0sXG5cdHN5c3RlbUluZm86IHt9LFxuXHRvbkxhdW5jaDogZnVuY3Rpb24oKSB7XG5cdFx0Ly8gY29uc29sZS5sb2coJ0FwcCBMYXVuY2gnKTtcblx0XHQvLyB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Rva2VuJyk7XG5cdFx0Y29uc29sZS5sb2codG9rZW4pO1xuXHRcdHZhciB0aGF0ID0gdGhpcztcblx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XG5cdFx0XHRzdWNjZXNzOiByZXMgPT4ge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMuc2FmZUFyZWEuYm90dG9tKVxuXHRcdFx0XHRjb25zb2xlLmxvZygn5omL5py65L+h5oGvcmVzJyArIHJlcy5tb2RlbClcblx0XHRcdFx0cmVzLmxhbmcgPSByZXMubGFuZ3VhZ2UuaW5kZXhPZignemgnKSAhPT0gLTEgPyAnemgnIDogJ2VuJztcblx0XHRcdFx0dGhhdC5zeXN0ZW1JbmZvID0gcmVzO1xuXHRcdFx0fVxuXHRcdH0pXG5cdH0sXG5cdG9uU2hvdzogZnVuY3Rpb24oKSB7XG5cdFx0Y29uc29sZS5sb2coJ0FwcCBTaG93Jyk7XG5cblx0fSxcblx0b25IaWRlOiBmdW5jdGlvbigpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIEhpZGUnKTtcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdHJlcXVlc3QoYXBpLCBwYXJhbXMsIG1ldGhvZCkge1xuXHRcdFx0dmFyIHRoYXQgPSB0aGlzO1xuXHRcdFx0dmFyIG1lcmNoYW50X2lkID0gMDtcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcblx0XHRcdFx0XHR1cmw6ICdodHRwOi8vYmlrZS5zYWFzLnl1ZmVuZ2ppYXl1bi5jb20vYXBwLWFwaS8nICsgYXBpLFxuXHRcdFx0XHRcdC8vIHVybDonaHR0cDovL2Rldi5zYWFzLnl1ZmVuZ2ppYXl1bi5jb20vYXBwLWFwaS8nK2FwaSxcblx0XHRcdFx0XHRkYXRhOiBwYXJhbXMsXG5cdFx0XHRcdFx0aGVhZGVyOiB7XG5cdFx0XHRcdFx0XHQnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG5cdFx0XHRcdFx0XHQnQXV0aG9yaXphdGlvbic6ICdiZWFyZXInICsgJyAnICsgdW5pLmdldFN0b3JhZ2VTeW5jKCd0b2tlbicpLnRva2VuLFxuXHRcdFx0XHRcdFx0J3R5cGUnOiAnYXBwJyxcblx0XHRcdFx0XHRcdCdtZXJjaGFudC1pZCc6IG1lcmNoYW50X2lkXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRtZXRob2Q6IG1ldGhvZCxcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXNvbHZlKHJlcylcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcykgIFxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlID09IDQ1MCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuc3RhdHVzQ29kZSAhPSAyMDApIHtcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5tZXNzYWdlICE9IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tZXNzYWdlLFxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxuXHRcdFx0XHRcdFx0XHRcdFx0ZHVyYXRpb246IDMwMDAsXG5cdFx0XHRcdFx0XHRcdFx0XHRtYXNrOiB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmIChyZXMuZGF0YS5tZXNzYWdlICE9IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5kYXRhLm1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZScsXG5cdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMzAwMCxcblx0XHRcdFx0XHRcdFx0XHRcdG1hc2s6IHRydWVcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5zdGF0dXNDb2RlICE9IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRpZiAocmVzLm1lc3NhZ2UgIT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogcmVzLm1lc3NhZ2UsXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZScsXG5cdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMzAwMCxcblx0XHRcdFx0XHRcdFx0XHRcdG1hc2s6IHRydWVcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5kYXRhLm1lc3NhZ2UgIT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogcmVzLmRhdGEubWVzc2FnZSxcblx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJyxcblx0XHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAzMDAwLFxuXHRcdFx0XHRcdFx0XHRcdFx0bWFzazogdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PSA0MDEpIHtcblx0XHRcdFx0XHRcdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKCd0b2tlbicpXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn55m76ZmG6L+H5pyf6K+36YeN5paw55m76ZmGficsXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnLFxuXHRcdFx0XHRcdFx0XHRcdG1hc2s6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkucmVkaXJlY3RUbyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbicsXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+axgui2heaXtuivt+mHjeivlScsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJyxcblx0XHRcdFx0XHRcdFx0bWFzazogdHJ1ZVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRyZWplY3QoZXJyKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0fSxcblx0fVxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///389\n");
  35377. /***/ })
  35378. ],[[0,"app-config"]]]);