| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753 | (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["common/vendor"],[/* 0 */,/* 1 *//*!*********************************************************!*\  !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js ***!  \*********************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {"use strict";Object.defineProperty(exports, "__esModule", {  value: true});exports.default = void 0;var objectKeys = ['qy', 'env', 'error', 'version', 'lanDebug', 'cloud', 'serviceMarket', 'router', 'worklet'];var singlePageDisableKey = ['lanDebug', 'router', 'worklet'];var target = typeof globalThis !== 'undefined' ? globalThis : function () {  return this;}();var key = ['w', 'x'].join('');var oldWx = target[key];var launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null;function isWxKey(key) {  if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {    return false;  }  return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function';}function initWx() {  var newWx = {};  for (var _key in oldWx) {    if (isWxKey(_key)) {      // TODO wrapper function      newWx[_key] = oldWx[_key];    }  }  return newWx;}target[key] = initWx();var _default = target[key];exports.default = _default;/***/ }),/* 2 *//*!************************************************************!*\  !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js ***!  \************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {"use strict";/* WEBPACK VAR INJECTION */(function(wx, global) {var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);Object.defineProperty(exports, "__esModule", {  value: true});exports.createApp = createApp;exports.createComponent = createComponent;exports.createPage = createPage;exports.createPlugin = createPlugin;exports.createSubpackageApp = createSubpackageApp;exports.default = void 0;var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5));var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));var _construct2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/construct */ 15));var _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 18));var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));var _uniI18n = __webpack_require__(/*! @dcloudio/uni-i18n */ 22);var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 25));function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }var realAtob;var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var b64re = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;if (typeof atob !== 'function') {  realAtob = function realAtob(str) {    str = String(str).replace(/[\t\n\f\r ]+/g, '');    if (!b64re.test(str)) {      throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");    }    // Adding the padding if missing, for semplicity    str += '=='.slice(2 - (str.length & 3));    var bitmap;    var result = '';    var r1;    var r2;    var i = 0;    for (; i < str.length;) {      bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 | (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));      result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255) : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255) : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);    }    return result;  };} else {  // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法  realAtob = atob;}function b64DecodeUnicode(str) {  return decodeURIComponent(realAtob(str).split('').map(function (c) {    return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);  }).join(''));}function getCurrentUserInfo() {  var token = wx.getStorageSync('uni_id_token') || '';  var tokenArr = token.split('.');  if (!token || tokenArr.length !== 3) {    return {      uid: null,      role: [],      permission: [],      tokenExpired: 0    };  }  var userInfo;  try {    userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));  } catch (error) {    throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message);  }  userInfo.tokenExpired = userInfo.exp * 1000;  delete userInfo.exp;  delete userInfo.iat;  return userInfo;}function uniIdMixin(Vue) {  Vue.prototype.uniIDHasRole = function (roleId) {    var _getCurrentUserInfo = getCurrentUserInfo(),      role = _getCurrentUserInfo.role;    return role.indexOf(roleId) > -1;  };  Vue.prototype.uniIDHasPermission = function (permissionId) {    var _getCurrentUserInfo2 = getCurrentUserInfo(),      permission = _getCurrentUserInfo2.permission;    return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1;  };  Vue.prototype.uniIDTokenValid = function () {    var _getCurrentUserInfo3 = getCurrentUserInfo(),      tokenExpired = _getCurrentUserInfo3.tokenExpired;    return tokenExpired > Date.now();  };}var _toString = Object.prototype.toString;var hasOwnProperty = Object.prototype.hasOwnProperty;function isFn(fn) {  return typeof fn === 'function';}function isStr(str) {  return typeof str === 'string';}function isObject(obj) {  return obj !== null && (0, _typeof2.default)(obj) === 'object';}function isPlainObject(obj) {  return _toString.call(obj) === '[object Object]';}function hasOwn(obj, key) {  return hasOwnProperty.call(obj, key);}function noop() {}/** * Create a cached version of a pure function. */function cached(fn) {  var cache = Object.create(null);  return function cachedFn(str) {    var hit = cache[str];    return hit || (cache[str] = fn(str));  };}/** * Camelize a hyphen-delimited string. */var camelizeRE = /-(\w)/g;var camelize = cached(function (str) {  return str.replace(camelizeRE, function (_, c) {    return c ? c.toUpperCase() : '';  });});function sortObject(obj) {  var sortObj = {};  if (isPlainObject(obj)) {    Object.keys(obj).sort().forEach(function (key) {      sortObj[key] = obj[key];    });  }  return !Object.keys(sortObj) ? obj : sortObj;}var HOOKS = ['invoke', 'success', 'fail', 'complete', 'returnValue'];var globalInterceptors = {};var scopedInterceptors = {};function mergeHook(parentVal, childVal) {  var res = childVal ? parentVal ? parentVal.concat(childVal) : Array.isArray(childVal) ? childVal : [childVal] : parentVal;  return res ? dedupeHooks(res) : res;}function dedupeHooks(hooks) {  var res = [];  for (var i = 0; i < hooks.length; i++) {    if (res.indexOf(hooks[i]) === -1) {      res.push(hooks[i]);    }  }  return res;}function removeHook(hooks, hook) {  var index = hooks.indexOf(hook);  if (index !== -1) {    hooks.splice(index, 1);  }}function mergeInterceptorHook(interceptor, option) {  Object.keys(option).forEach(function (hook) {    if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {      interceptor[hook] = mergeHook(interceptor[hook], option[hook]);    }  });}function removeInterceptorHook(interceptor, option) {  if (!interceptor || !option) {    return;  }  Object.keys(option).forEach(function (hook) {    if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {      removeHook(interceptor[hook], option[hook]);    }  });}function addInterceptor(method, option) {  if (typeof method === 'string' && isPlainObject(option)) {    mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);  } else if (isPlainObject(method)) {    mergeInterceptorHook(globalInterceptors, method);  }}function removeInterceptor(method, option) {  if (typeof method === 'string') {    if (isPlainObject(option)) {      removeInterceptorHook(scopedInterceptors[method], option);    } else {      delete scopedInterceptors[method];    }  } else if (isPlainObject(method)) {    removeInterceptorHook(globalInterceptors, method);  }}function wrapperHook(hook) {  return function (data) {    return hook(data) || data;  };}function isPromise(obj) {  return !!obj && ((0, _typeof2.default)(obj) === 'object' || typeof obj === 'function') && typeof obj.then === 'function';}function queue(hooks, data) {  var promise = false;  for (var i = 0; i < hooks.length; i++) {    var hook = hooks[i];    if (promise) {      promise = Promise.resolve(wrapperHook(hook));    } else {      var res = hook(data);      if (isPromise(res)) {        promise = Promise.resolve(res);      }      if (res === false) {        return {          then: function then() {}        };      }    }  }  return promise || {    then: function then(callback) {      return callback(data);    }  };}function wrapperOptions(interceptor) {  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};  ['success', 'fail', 'complete'].forEach(function (name) {    if (Array.isArray(interceptor[name])) {      var oldCallback = options[name];      options[name] = function callbackInterceptor(res) {        queue(interceptor[name], res).then(function (res) {          /* eslint-disable no-mixed-operators */          return isFn(oldCallback) && oldCallback(res) || res;        });      };    }  });  return options;}function wrapperReturnValue(method, returnValue) {  var returnValueHooks = [];  if (Array.isArray(globalInterceptors.returnValue)) {    returnValueHooks.push.apply(returnValueHooks, (0, _toConsumableArray2.default)(globalInterceptors.returnValue));  }  var interceptor = scopedInterceptors[method];  if (interceptor && Array.isArray(interceptor.returnValue)) {    returnValueHooks.push.apply(returnValueHooks, (0, _toConsumableArray2.default)(interceptor.returnValue));  }  returnValueHooks.forEach(function (hook) {    returnValue = hook(returnValue) || returnValue;  });  return returnValue;}function getApiInterceptorHooks(method) {  var interceptor = Object.create(null);  Object.keys(globalInterceptors).forEach(function (hook) {    if (hook !== 'returnValue') {      interceptor[hook] = globalInterceptors[hook].slice();    }  });  var scopedInterceptor = scopedInterceptors[method];  if (scopedInterceptor) {    Object.keys(scopedInterceptor).forEach(function (hook) {      if (hook !== 'returnValue') {        interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);      }    });  }  return interceptor;}function invokeApi(method, api, options) {  for (var _len = arguments.length, params = new Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {    params[_key - 3] = arguments[_key];  }  var interceptor = getApiInterceptorHooks(method);  if (interceptor && Object.keys(interceptor).length) {    if (Array.isArray(interceptor.invoke)) {      var res = queue(interceptor.invoke, options);      return res.then(function (options) {        return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));      });    } else {      return api.apply(void 0, [wrapperOptions(interceptor, options)].concat(params));    }  }  return api.apply(void 0, [options].concat(params));}var promiseInterceptor = {  returnValue: function returnValue(res) {    if (!isPromise(res)) {      return res;    }    return new Promise(function (resolve, reject) {      res.then(function (res) {        if (res[0]) {          reject(res[0]);        } else {          resolve(res[1]);        }      });    });  }};var SYNC_API_RE = /^\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;var CONTEXT_API_RE = /^create|Manager$/;// Context例外情况var CONTEXT_API_RE_EXC = ['createBLEConnection'];// 同步例外情况var ASYNC_API = ['createBLEConnection', 'createPushMessage'];var CALLBACK_API_RE = /^on|^off/;function isContextApi(name) {  return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1;}function isSyncApi(name) {  return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1;}function isCallbackApi(name) {  return CALLBACK_API_RE.test(name) && name !== 'onPush';}function handlePromise(promise) {  return promise.then(function (data) {    return [null, data];  }).catch(function (err) {    return [err];  });}function shouldPromise(name) {  if (isContextApi(name) || isSyncApi(name) || isCallbackApi(name)) {    return false;  }  return true;}/* eslint-disable no-extend-native */if (!Promise.prototype.finally) {  Promise.prototype.finally = function (callback) {    var promise = this.constructor;    return this.then(function (value) {      return promise.resolve(callback()).then(function () {        return value;      });    }, function (reason) {      return promise.resolve(callback()).then(function () {        throw reason;      });    });  };}function promisify(name, api) {  if (!shouldPromise(name) || !isFn(api)) {    return api;  }  return function promiseApi() {    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};    for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {      params[_key2 - 1] = arguments[_key2];    }    if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {      return wrapperReturnValue(name, invokeApi.apply(void 0, [name, api, options].concat(params)));    }    return wrapperReturnValue(name, handlePromise(new Promise(function (resolve, reject) {      invokeApi.apply(void 0, [name, api, Object.assign({}, options, {        success: resolve,        fail: reject      })].concat(params));    })));  };}var EPS = 1e-4;var BASE_DEVICE_WIDTH = 750;var isIOS = false;var deviceWidth = 0;var deviceDPR = 0;function checkDeviceWidth() {  var _wx$getSystemInfoSync = wx.getSystemInfoSync(),    platform = _wx$getSystemInfoSync.platform,    pixelRatio = _wx$getSystemInfoSync.pixelRatio,    windowWidth = _wx$getSystemInfoSync.windowWidth; // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni  deviceWidth = windowWidth;  deviceDPR = pixelRatio;  isIOS = platform === 'ios';}function upx2px(number, newDeviceWidth) {  if (deviceWidth === 0) {    checkDeviceWidth();  }  number = Number(number);  if (number === 0) {    return 0;  }  var result = number / BASE_DEVICE_WIDTH * (newDeviceWidth || deviceWidth);  if (result < 0) {    result = -result;  }  result = Math.floor(result + EPS);  if (result === 0) {    if (deviceDPR === 1 || !isIOS) {      result = 1;    } else {      result = 0.5;    }  }  return number < 0 ? -result : result;}var LOCALE_ZH_HANS = 'zh-Hans';var LOCALE_ZH_HANT = 'zh-Hant';var LOCALE_EN = 'en';var LOCALE_FR = 'fr';var LOCALE_ES = 'es';var messages = {};var locale;{  locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;}function initI18nMessages() {  if (!isEnableLocale()) {    return;  }  var localeKeys = Object.keys(__uniConfig.locales);  if (localeKeys.length) {    localeKeys.forEach(function (locale) {      var curMessages = messages[locale];      var userMessages = __uniConfig.locales[locale];      if (curMessages) {        Object.assign(curMessages, userMessages);      } else {        messages[locale] = userMessages;      }    });  }}initI18nMessages();var i18n = (0, _uniI18n.initVueI18n)(locale, {});var t = i18n.t;var i18nMixin = i18n.mixin = {  beforeCreate: function beforeCreate() {    var _this = this;    var unwatch = i18n.i18n.watchLocale(function () {      _this.$forceUpdate();    });    this.$once('hook:beforeDestroy', function () {      unwatch();    });  },  methods: {    $$t: function $$t(key, values) {      return t(key, values);    }  }};var setLocale = i18n.setLocale;var getLocale = i18n.getLocale;function initAppLocale(Vue, appVm, locale) {  var state = Vue.observable({    locale: locale || i18n.getLocale()  });  var localeWatchers = [];  appVm.$watchLocale = function (fn) {    localeWatchers.push(fn);  };  Object.defineProperty(appVm, '$locale', {    get: function get() {      return state.locale;    },    set: function set(v) {      state.locale = v;      localeWatchers.forEach(function (watch) {        return watch(v);      });    }  });}function isEnableLocale() {  return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length;}function include(str, parts) {  return !!parts.find(function (part) {    return str.indexOf(part) !== -1;  });}function startsWith(str, parts) {  return parts.find(function (part) {    return str.indexOf(part) === 0;  });}function normalizeLocale(locale, messages) {  if (!locale) {    return;  }  locale = locale.trim().replace(/_/g, '-');  if (messages && messages[locale]) {    return locale;  }  locale = locale.toLowerCase();  if (locale === 'chinese') {    // 支付宝    return LOCALE_ZH_HANS;  }  if (locale.indexOf('zh') === 0) {    if (locale.indexOf('-hans') > -1) {      return LOCALE_ZH_HANS;    }    if (locale.indexOf('-hant') > -1) {      return LOCALE_ZH_HANT;    }    if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {      return LOCALE_ZH_HANT;    }    return LOCALE_ZH_HANS;  }  var lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);  if (lang) {    return lang;  }}// export function initI18n() {//   const localeKeys = Object.keys(__uniConfig.locales || {})//   if (localeKeys.length) {//     localeKeys.forEach((locale) =>//       i18n.add(locale, __uniConfig.locales[locale])//     )//   }// }function getLocale$1() {  // 优先使用 $locale  if (isFn(getApp)) {    var app = getApp({      allowDefault: true    });    if (app && app.$vm) {      return app.$vm.$locale;    }  }  return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;}function setLocale$1(locale) {  var app = isFn(getApp) ? getApp() : false;  if (!app) {    return false;  }  var oldLocale = app.$vm.$locale;  if (oldLocale !== locale) {    app.$vm.$locale = locale;    onLocaleChangeCallbacks.forEach(function (fn) {      return fn({        locale: locale      });    });    return true;  }  return false;}var onLocaleChangeCallbacks = [];function onLocaleChange(fn) {  if (onLocaleChangeCallbacks.indexOf(fn) === -1) {    onLocaleChangeCallbacks.push(fn);  }}if (typeof global !== 'undefined') {  global.getLocale = getLocale$1;}var interceptors = {  promiseInterceptor: promiseInterceptor};var baseApi = /*#__PURE__*/Object.freeze({  __proto__: null,  upx2px: upx2px,  getLocale: getLocale$1,  setLocale: setLocale$1,  onLocaleChange: onLocaleChange,  addInterceptor: addInterceptor,  removeInterceptor: removeInterceptor,  interceptors: interceptors});function findExistsPageIndex(url) {  var pages = getCurrentPages();  var len = pages.length;  while (len--) {    var page = pages[len];    if (page.$page && page.$page.fullPath === url) {      return len;    }  }  return -1;}var redirectTo = {  name: function name(fromArgs) {    if (fromArgs.exists === 'back' && fromArgs.delta) {      return 'navigateBack';    }    return 'redirectTo';  },  args: function args(fromArgs) {    if (fromArgs.exists === 'back' && fromArgs.url) {      var existsPageIndex = findExistsPageIndex(fromArgs.url);      if (existsPageIndex !== -1) {        var delta = getCurrentPages().length - 1 - existsPageIndex;        if (delta > 0) {          fromArgs.delta = delta;        }      }    }  }};var previewImage = {  args: function args(fromArgs) {    var currentIndex = parseInt(fromArgs.current);    if (isNaN(currentIndex)) {      return;    }    var urls = fromArgs.urls;    if (!Array.isArray(urls)) {      return;    }    var len = urls.length;    if (!len) {      return;    }    if (currentIndex < 0) {      currentIndex = 0;    } else if (currentIndex >= len) {      currentIndex = len - 1;    }    if (currentIndex > 0) {      fromArgs.current = urls[currentIndex];      fromArgs.urls = urls.filter(function (item, index) {        return index < currentIndex ? item !== urls[currentIndex] : true;      });    } else {      fromArgs.current = urls[0];    }    return {      indicator: false,      loop: false    };  }};var UUID_KEY = '__DC_STAT_UUID';var deviceId;function useDeviceId(result) {  deviceId = deviceId || wx.getStorageSync(UUID_KEY);  if (!deviceId) {    deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);    wx.setStorage({      key: UUID_KEY,      data: deviceId    });  }  result.deviceId = deviceId;}function addSafeAreaInsets(result) {  if (result.safeArea) {    var safeArea = result.safeArea;    result.safeAreaInsets = {      top: safeArea.top,      left: safeArea.left,      right: result.windowWidth - safeArea.right,      bottom: result.screenHeight - safeArea.bottom    };  }}function populateParameters(result) {  var _result$brand = result.brand,    brand = _result$brand === void 0 ? '' : _result$brand,    _result$model = result.model,    model = _result$model === void 0 ? '' : _result$model,    _result$system = result.system,    system = _result$system === void 0 ? '' : _result$system,    _result$language = result.language,    language = _result$language === void 0 ? '' : _result$language,    theme = result.theme,    version = result.version,    platform = result.platform,    fontSizeSetting = result.fontSizeSetting,    SDKVersion = result.SDKVersion,    pixelRatio = result.pixelRatio,    deviceOrientation = result.deviceOrientation;  // const isQuickApp = "mp-weixin".indexOf('quickapp-webview') !== -1  var extraParam = {};  // osName osVersion  var osName = '';  var osVersion = '';  {    osName = system.split(' ')[0] || '';    osVersion = system.split(' ')[1] || '';  }  var hostVersion = version;  // deviceType  var deviceType = getGetDeviceType(result, model);  // deviceModel  var deviceBrand = getDeviceBrand(brand);  // hostName  var _hostName = getHostName(result);  // deviceOrientation  var _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持  // devicePixelRatio  var _devicePixelRatio = pixelRatio;  // SDKVersion  var _SDKVersion = SDKVersion;  // hostLanguage  var hostLanguage = language.replace(/_/g, '-');  // wx.getAccountInfoSync  var parameters = {    appId: "__UNI__00C820E",    appName: "qiaopai",    appVersion: "1.0.0",    appVersionCode: "100",    appLanguage: getAppLanguage(hostLanguage),    uniCompileVersion: "3.7.11",    uniRuntimeVersion: "3.7.11",    uniPlatform: undefined || "mp-weixin",    deviceBrand: deviceBrand,    deviceModel: model,    deviceType: deviceType,    devicePixelRatio: _devicePixelRatio,    deviceOrientation: _deviceOrientation,    osName: osName.toLocaleLowerCase(),    osVersion: osVersion,    hostTheme: theme,    hostVersion: hostVersion,    hostLanguage: hostLanguage,    hostName: _hostName,    hostSDKVersion: _SDKVersion,    hostFontSizeSetting: fontSizeSetting,    windowTop: 0,    windowBottom: 0,    // TODO    osLanguage: undefined,    osTheme: undefined,    ua: undefined,    hostPackageName: undefined,    browserName: undefined,    browserVersion: undefined  };  Object.assign(result, parameters, extraParam);}function getGetDeviceType(result, model) {  var deviceType = result.deviceType || 'phone';  {    var deviceTypeMaps = {      ipad: 'pad',      windows: 'pc',      mac: 'pc'    };    var deviceTypeMapsKeys = Object.keys(deviceTypeMaps);    var _model = model.toLocaleLowerCase();    for (var index = 0; index < deviceTypeMapsKeys.length; index++) {      var _m = deviceTypeMapsKeys[index];      if (_model.indexOf(_m) !== -1) {        deviceType = deviceTypeMaps[_m];        break;      }    }  }  return deviceType;}function getDeviceBrand(brand) {  var deviceBrand = brand;  if (deviceBrand) {    deviceBrand = brand.toLocaleLowerCase();  }  return deviceBrand;}function getAppLanguage(defaultLanguage) {  return getLocale$1 ? getLocale$1() : defaultLanguage;}function getHostName(result) {  var _platform = 'WeChat';  var _hostName = result.hostName || _platform; // mp-jd  {    if (result.environment) {      _hostName = result.environment;    } else if (result.host && result.host.env) {      _hostName = result.host.env;    }  }  return _hostName;}var getSystemInfo = {  returnValue: function returnValue(result) {    useDeviceId(result);    addSafeAreaInsets(result);    populateParameters(result);  }};var showActionSheet = {  args: function args(fromArgs) {    if ((0, _typeof2.default)(fromArgs) === 'object') {      fromArgs.alertText = fromArgs.title;    }  }};var getAppBaseInfo = {  returnValue: function returnValue(result) {    var _result = result,      version = _result.version,      language = _result.language,      SDKVersion = _result.SDKVersion,      theme = _result.theme;    var _hostName = getHostName(result);    var hostLanguage = language.replace('_', '-');    result = sortObject(Object.assign(result, {      appId: "__UNI__00C820E",      appName: "qiaopai",      appVersion: "1.0.0",      appVersionCode: "100",      appLanguage: getAppLanguage(hostLanguage),      hostVersion: version,      hostLanguage: hostLanguage,      hostName: _hostName,      hostSDKVersion: SDKVersion,      hostTheme: theme    }));  }};var getDeviceInfo = {  returnValue: function returnValue(result) {    var _result2 = result,      brand = _result2.brand,      model = _result2.model;    var deviceType = getGetDeviceType(result, model);    var deviceBrand = getDeviceBrand(brand);    useDeviceId(result);    result = sortObject(Object.assign(result, {      deviceType: deviceType,      deviceBrand: deviceBrand,      deviceModel: model    }));  }};var getWindowInfo = {  returnValue: function returnValue(result) {    addSafeAreaInsets(result);    result = sortObject(Object.assign(result, {      windowTop: 0,      windowBottom: 0    }));  }};var getAppAuthorizeSetting = {  returnValue: function returnValue(result) {    var locationReducedAccuracy = result.locationReducedAccuracy;    result.locationAccuracy = 'unsupported';    if (locationReducedAccuracy === true) {      result.locationAccuracy = 'reduced';    } else if (locationReducedAccuracy === false) {      result.locationAccuracy = 'full';    }  }};// import navigateTo from 'uni-helpers/navigate-to'var compressImage = {  args: function args(fromArgs) {    // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight    if (fromArgs.compressedHeight && !fromArgs.compressHeight) {      fromArgs.compressHeight = fromArgs.compressedHeight;    }    if (fromArgs.compressedWidth && !fromArgs.compressWidth) {      fromArgs.compressWidth = fromArgs.compressedWidth;    }  }};var protocols = {  redirectTo: redirectTo,  // navigateTo,  // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP  previewImage: previewImage,  getSystemInfo: getSystemInfo,  getSystemInfoSync: getSystemInfo,  showActionSheet: showActionSheet,  getAppBaseInfo: getAppBaseInfo,  getDeviceInfo: getDeviceInfo,  getWindowInfo: getWindowInfo,  getAppAuthorizeSetting: getAppAuthorizeSetting,  compressImage: compressImage};var todos = ['vibrate', 'preloadPage', 'unPreloadPage', 'loadSubPackage'];var canIUses = [];var CALLBACKS = ['success', 'fail', 'cancel', 'complete'];function processCallback(methodName, method, returnValue) {  return function (res) {    return method(processReturnValue(methodName, res, returnValue));  };}function processArgs(methodName, fromArgs) {  var argsOption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};  var returnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};  var keepFromArgs = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;  if (isPlainObject(fromArgs)) {    // 一般 api 的参数解析    var toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值    if (isFn(argsOption)) {      argsOption = argsOption(fromArgs, toArgs) || {};    }    for (var key in fromArgs) {      if (hasOwn(argsOption, key)) {        var keyOption = argsOption[key];        if (isFn(keyOption)) {          keyOption = keyOption(fromArgs[key], fromArgs, toArgs);        }        if (!keyOption) {          // 不支持的参数          console.warn("The '".concat(methodName, "' method of platform '\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F' does not support option '").concat(key, "'"));        } else if (isStr(keyOption)) {          // 重写参数 key          toArgs[keyOption] = fromArgs[key];        } else if (isPlainObject(keyOption)) {          // {name:newName,value:value}可重新指定参数 key:value          toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;        }      } else if (CALLBACKS.indexOf(key) !== -1) {        if (isFn(fromArgs[key])) {          toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);        }      } else {        if (!keepFromArgs) {          toArgs[key] = fromArgs[key];        }      }    }    return toArgs;  } else if (isFn(fromArgs)) {    fromArgs = processCallback(methodName, fromArgs, returnValue);  }  return fromArgs;}function processReturnValue(methodName, res, returnValue) {  var keepReturnValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;  if (isFn(protocols.returnValue)) {    // 处理通用 returnValue    res = protocols.returnValue(methodName, res);  }  return processArgs(methodName, res, returnValue, {}, keepReturnValue);}function wrapper(methodName, method) {  if (hasOwn(protocols, methodName)) {    var protocol = protocols[methodName];    if (!protocol) {      // 暂不支持的 api      return function () {        console.error("Platform '\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F' does not support '".concat(methodName, "'."));      };    }    return function (arg1, arg2) {      // 目前 api 最多两个参数      var options = protocol;      if (isFn(protocol)) {        options = protocol(arg1);      }      arg1 = processArgs(methodName, arg1, options.args, options.returnValue);      var args = [arg1];      if (typeof arg2 !== 'undefined') {        args.push(arg2);      }      if (isFn(options.name)) {        methodName = options.name(arg1);      } else if (isStr(options.name)) {        methodName = options.name;      }      var returnValue = wx[methodName].apply(wx, args);      if (isSyncApi(methodName)) {        // 同步 api        return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName));      }      return returnValue;    };  }  return method;}var todoApis = Object.create(null);var TODOS = ['onTabBarMidButtonTap', 'subscribePush', 'unsubscribePush', 'onPush', 'offPush', 'share'];function createTodoApi(name) {  return function todoApi(_ref) {    var fail = _ref.fail,      complete = _ref.complete;    var res = {      errMsg: "".concat(name, ":fail method '").concat(name, "' not supported")    };    isFn(fail) && fail(res);    isFn(complete) && complete(res);  };}TODOS.forEach(function (name) {  todoApis[name] = createTodoApi(name);});var providers = {  oauth: ['weixin'],  share: ['weixin'],  payment: ['wxpay'],  push: ['weixin']};function getProvider(_ref2) {  var service = _ref2.service,    success = _ref2.success,    fail = _ref2.fail,    complete = _ref2.complete;  var res = false;  if (providers[service]) {    res = {      errMsg: 'getProvider:ok',      service: service,      provider: providers[service]    };    isFn(success) && success(res);  } else {    res = {      errMsg: 'getProvider:fail service not found'    };    isFn(fail) && fail(res);  }  isFn(complete) && complete(res);}var extraApi = /*#__PURE__*/Object.freeze({  __proto__: null,  getProvider: getProvider});var getEmitter = function () {  var Emitter;  return function getUniEmitter() {    if (!Emitter) {      Emitter = new _vue.default();    }    return Emitter;  };}();function apply(ctx, method, args) {  return ctx[method].apply(ctx, args);}function $on() {  return apply(getEmitter(), '$on', Array.prototype.slice.call(arguments));}function $off() {  return apply(getEmitter(), '$off', Array.prototype.slice.call(arguments));}function $once() {  return apply(getEmitter(), '$once', Array.prototype.slice.call(arguments));}function $emit() {  return apply(getEmitter(), '$emit', Array.prototype.slice.call(arguments));}var eventApi = /*#__PURE__*/Object.freeze({  __proto__: null,  $on: $on,  $off: $off,  $once: $once,  $emit: $emit});/** * 框架内 try-catch *//** * 开发者 try-catch */function tryCatch(fn) {  return function () {    try {      return fn.apply(fn, arguments);    } catch (e) {      // TODO      console.error(e);    }  };}function getApiCallbacks(params) {  var apiCallbacks = {};  for (var name in params) {    var param = params[name];    if (isFn(param)) {      apiCallbacks[name] = tryCatch(param);      delete params[name];    }  }  return apiCallbacks;}var cid;var cidErrMsg;var enabled;function normalizePushMessage(message) {  try {    return JSON.parse(message);  } catch (e) {}  return message;}function invokePushCallback(args) {  if (args.type === 'enabled') {    enabled = true;  } else if (args.type === 'clientId') {    cid = args.cid;    cidErrMsg = args.errMsg;    invokeGetPushCidCallbacks(cid, args.errMsg);  } else if (args.type === 'pushMsg') {    var message = {      type: 'receive',      data: normalizePushMessage(args.message)    };    for (var i = 0; i < onPushMessageCallbacks.length; i++) {      var callback = onPushMessageCallbacks[i];      callback(message);      // 该消息已被阻止      if (message.stopped) {        break;      }    }  } else if (args.type === 'click') {    onPushMessageCallbacks.forEach(function (callback) {      callback({        type: 'click',        data: normalizePushMessage(args.message)      });    });  }}var getPushCidCallbacks = [];function invokeGetPushCidCallbacks(cid, errMsg) {  getPushCidCallbacks.forEach(function (callback) {    callback(cid, errMsg);  });  getPushCidCallbacks.length = 0;}function getPushClientId(args) {  if (!isPlainObject(args)) {    args = {};  }  var _getApiCallbacks = getApiCallbacks(args),    success = _getApiCallbacks.success,    fail = _getApiCallbacks.fail,    complete = _getApiCallbacks.complete;  var hasSuccess = isFn(success);  var hasFail = isFn(fail);  var hasComplete = isFn(complete);  Promise.resolve().then(function () {    if (typeof enabled === 'undefined') {      enabled = false;      cid = '';      cidErrMsg = 'uniPush is not enabled';    }    getPushCidCallbacks.push(function (cid, errMsg) {      var res;      if (cid) {        res = {          errMsg: 'getPushClientId:ok',          cid: cid        };        hasSuccess && success(res);      } else {        res = {          errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')        };        hasFail && fail(res);      }      hasComplete && complete(res);    });    if (typeof cid !== 'undefined') {      invokeGetPushCidCallbacks(cid, cidErrMsg);    }  });}var onPushMessageCallbacks = [];// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现var onPushMessage = function onPushMessage(fn) {  if (onPushMessageCallbacks.indexOf(fn) === -1) {    onPushMessageCallbacks.push(fn);  }};var offPushMessage = function offPushMessage(fn) {  if (!fn) {    onPushMessageCallbacks.length = 0;  } else {    var index = onPushMessageCallbacks.indexOf(fn);    if (index > -1) {      onPushMessageCallbacks.splice(index, 1);    }  }};var baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();if (!baseInfo) {  baseInfo = wx.getSystemInfoSync();}var host = baseInfo ? baseInfo.host : null;var shareVideoMessage = host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;var api = /*#__PURE__*/Object.freeze({  __proto__: null,  shareVideoMessage: shareVideoMessage,  getPushClientId: getPushClientId,  onPushMessage: onPushMessage,  offPushMessage: offPushMessage,  invokePushCallback: invokePushCallback});var mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];function findVmByVueId(vm, vuePid) {  var $children = vm.$children;  // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)  for (var i = $children.length - 1; i >= 0; i--) {    var childVm = $children[i];    if (childVm.$scope._$vueId === vuePid) {      return childVm;    }  }  // 反向递归查找  var parentVm;  for (var _i = $children.length - 1; _i >= 0; _i--) {    parentVm = findVmByVueId($children[_i], vuePid);    if (parentVm) {      return parentVm;    }  }}function initBehavior(options) {  return Behavior(options);}function isPage() {  return !!this.route;}function initRelation(detail) {  this.triggerEvent('__l', detail);}function selectAllComponents(mpInstance, selector, $refs) {  var components = mpInstance.selectAllComponents(selector) || [];  components.forEach(function (component) {    var ref = component.dataset.ref;    $refs[ref] = component.$vm || toSkip(component);    {      if (component.dataset.vueGeneric === 'scoped') {        component.selectAllComponents('.scoped-ref').forEach(function (scopedComponent) {          selectAllComponents(scopedComponent, selector, $refs);        });      }    }  });}function syncRefs(refs, newRefs) {  var oldKeys = (0, _construct2.default)(Set, (0, _toConsumableArray2.default)(Object.keys(refs)));  var newKeys = Object.keys(newRefs);  newKeys.forEach(function (key) {    var oldValue = refs[key];    var newValue = newRefs[key];    if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(function (value) {      return oldValue.includes(value);    })) {      return;    }    refs[key] = newValue;    oldKeys.delete(key);  });  oldKeys.forEach(function (key) {    delete refs[key];  });  return refs;}function initRefs(vm) {  var mpInstance = vm.$scope;  var refs = {};  Object.defineProperty(vm, '$refs', {    get: function get() {      var $refs = {};      selectAllComponents(mpInstance, '.vue-ref', $refs);      // TODO 暂不考虑 for 中的 scoped      var forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];      forComponents.forEach(function (component) {        var ref = component.dataset.ref;        if (!$refs[ref]) {          $refs[ref] = [];        }        $refs[ref].push(component.$vm || toSkip(component));      });      return syncRefs(refs, $refs);    }  });}function handleLink(event) {  var _ref3 = event.detail || event.value,    vuePid = _ref3.vuePid,    vueOptions = _ref3.vueOptions; // detail 是微信,value 是百度(dipatch)  var parentVm;  if (vuePid) {    parentVm = findVmByVueId(this.$vm, vuePid);  }  if (!parentVm) {    parentVm = this.$vm;  }  vueOptions.parent = parentVm;}function markMPComponent(component) {  // 在 Vue 中标记为小程序组件  var IS_MP = '__v_isMPComponent';  Object.defineProperty(component, IS_MP, {    configurable: true,    enumerable: false,    value: true  });  return component;}function toSkip(obj) {  var OB = '__ob__';  var SKIP = '__v_skip';  if (isObject(obj) && Object.isExtensible(obj)) {    // 避免被 @vue/composition-api 观测    Object.defineProperty(obj, OB, {      configurable: true,      enumerable: false,      value: (0, _defineProperty2.default)({}, SKIP, true)    });  }  return obj;}var WORKLET_RE = /_(.*)_worklet_factory_/;function initWorkletMethods(mpMethods, vueMethods) {  if (vueMethods) {    Object.keys(vueMethods).forEach(function (name) {      var matches = name.match(WORKLET_RE);      if (matches) {        var workletName = matches[1];        mpMethods[name] = vueMethods[name];        mpMethods[workletName] = vueMethods[workletName];      }    });  }}var MPPage = Page;var MPComponent = Component;var customizeRE = /:/g;var customize = cached(function (str) {  return camelize(str.replace(customizeRE, '-'));});function initTriggerEvent(mpInstance) {  var oldTriggerEvent = mpInstance.triggerEvent;  var newTriggerEvent = function newTriggerEvent(event) {    for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {      args[_key3 - 1] = arguments[_key3];    }    // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件    if (this.$vm || this.dataset && this.dataset.comType) {      event = customize(event);    } else {      // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目      var newEvent = customize(event);      if (newEvent !== event) {        oldTriggerEvent.apply(this, [newEvent].concat(args));      }    }    return oldTriggerEvent.apply(this, [event].concat(args));  };  try {    // 京东小程序 triggerEvent 为只读    mpInstance.triggerEvent = newTriggerEvent;  } catch (error) {    mpInstance._triggerEvent = newTriggerEvent;  }}function initHook(name, options, isComponent) {  var oldHook = options[name];  options[name] = function () {    markMPComponent(this);    initTriggerEvent(this);    if (oldHook) {      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {        args[_key4] = arguments[_key4];      }      return oldHook.apply(this, args);    }  };}if (!MPPage.__$wrappered) {  MPPage.__$wrappered = true;  Page = function Page() {    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};    initHook('onLoad', options);    return MPPage(options);  };  Page.after = MPPage.after;  Component = function Component() {    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};    initHook('created', options);    return MPComponent(options);  };}var PAGE_EVENT_HOOKS = ['onPullDownRefresh', 'onReachBottom', 'onAddToFavorites', 'onShareTimeline', 'onShareAppMessage', 'onPageScroll', 'onResize', 'onTabItemTap'];function initMocks(vm, mocks) {  var mpInstance = vm.$mp[vm.mpType];  mocks.forEach(function (mock) {    if (hasOwn(mpInstance, mock)) {      vm[mock] = mpInstance[mock];    }  });}function hasHook(hook, vueOptions) {  if (!vueOptions) {    return true;  }  if (_vue.default.options && Array.isArray(_vue.default.options[hook])) {    return true;  }  vueOptions = vueOptions.default || vueOptions;  if (isFn(vueOptions)) {    if (isFn(vueOptions.extendOptions[hook])) {      return true;    }    if (vueOptions.super && vueOptions.super.options && Array.isArray(vueOptions.super.options[hook])) {      return true;    }    return false;  }  if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {    return true;  }  var mixins = vueOptions.mixins;  if (Array.isArray(mixins)) {    return !!mixins.find(function (mixin) {      return hasHook(hook, mixin);    });  }}function initHooks(mpOptions, hooks, vueOptions) {  hooks.forEach(function (hook) {    if (hasHook(hook, vueOptions)) {      mpOptions[hook] = function (args) {        return this.$vm && this.$vm.__call_hook(hook, args);      };    }  });}function initUnknownHooks(mpOptions, vueOptions) {  var excludes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];  findHooks(vueOptions).forEach(function (hook) {    return initHook$1(mpOptions, hook, excludes);  });}function findHooks(vueOptions) {  var hooks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];  if (vueOptions) {    Object.keys(vueOptions).forEach(function (name) {      if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {        hooks.push(name);      }    });  }  return hooks;}function initHook$1(mpOptions, hook, excludes) {  if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {    mpOptions[hook] = function (args) {      return this.$vm && this.$vm.__call_hook(hook, args);    };  }}function initVueComponent(Vue, vueOptions) {  vueOptions = vueOptions.default || vueOptions;  var VueComponent;  if (isFn(vueOptions)) {    VueComponent = vueOptions;  } else {    VueComponent = Vue.extend(vueOptions);  }  vueOptions = VueComponent.options;  return [VueComponent, vueOptions];}function initSlots(vm, vueSlots) {  if (Array.isArray(vueSlots) && vueSlots.length) {    var $slots = Object.create(null);    vueSlots.forEach(function (slotName) {      $slots[slotName] = true;    });    vm.$scopedSlots = vm.$slots = $slots;  }}function initVueIds(vueIds, mpInstance) {  vueIds = (vueIds || '').split(',');  var len = vueIds.length;  if (len === 1) {    mpInstance._$vueId = vueIds[0];  } else if (len === 2) {    mpInstance._$vueId = vueIds[0];    mpInstance._$vuePid = vueIds[1];  }}function initData(vueOptions, context) {  var data = vueOptions.data || {};  var methods = vueOptions.methods || {};  if (typeof data === 'function') {    try {      data = data.call(context); // 支持 Vue.prototype 上挂的数据    } catch (e) {      if (Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"qiaopai","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {        console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);      }    }  } else {    try {      // 对 data 格式化      data = JSON.parse(JSON.stringify(data));    } catch (e) {}  }  if (!isPlainObject(data)) {    data = {};  }  Object.keys(methods).forEach(function (methodName) {    if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {      data[methodName] = methods[methodName];    }  });  return data;}var PROP_TYPES = [String, Number, Boolean, Object, Array, null];function createObserver(name) {  return function observer(newVal, oldVal) {    if (this.$vm) {      this.$vm[name] = newVal; // 为了触发其他非 render watcher    }  };}function initBehaviors(vueOptions, initBehavior) {  var vueBehaviors = vueOptions.behaviors;  var vueExtends = vueOptions.extends;  var vueMixins = vueOptions.mixins;  var vueProps = vueOptions.props;  if (!vueProps) {    vueOptions.props = vueProps = [];  }  var behaviors = [];  if (Array.isArray(vueBehaviors)) {    vueBehaviors.forEach(function (behavior) {      behaviors.push(behavior.replace('uni://', "wx".concat("://")));      if (behavior === 'uni://form-field') {        if (Array.isArray(vueProps)) {          vueProps.push('name');          vueProps.push('value');        } else {          vueProps.name = {            type: String,            default: ''          };          vueProps.value = {            type: [String, Number, Boolean, Array, Object, Date],            default: ''          };        }      }    });  }  if (isPlainObject(vueExtends) && vueExtends.props) {    behaviors.push(initBehavior({      properties: initProperties(vueExtends.props, true)    }));  }  if (Array.isArray(vueMixins)) {    vueMixins.forEach(function (vueMixin) {      if (isPlainObject(vueMixin) && vueMixin.props) {        behaviors.push(initBehavior({          properties: initProperties(vueMixin.props, true)        }));      }    });  }  return behaviors;}function parsePropType(key, type, defaultValue, file) {  // [String]=>String  if (Array.isArray(type) && type.length === 1) {    return type[0];  }  return type;}function initProperties(props) {  var isBehavior = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;  var file = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';  var options = arguments.length > 3 ? arguments[3] : undefined;  var properties = {};  if (!isBehavior) {    properties.vueId = {      type: String,      value: ''    };    {      if (options.virtualHost) {        properties.virtualHostStyle = {          type: null,          value: ''        };        properties.virtualHostClass = {          type: null,          value: ''        };      }    }    // scopedSlotsCompiler auto    properties.scopedSlotsCompiler = {      type: String,      value: ''    };    properties.vueSlots = {      // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots      type: null,      value: [],      observer: function observer(newVal, oldVal) {        var $slots = Object.create(null);        newVal.forEach(function (slotName) {          $slots[slotName] = true;        });        this.setData({          $slots: $slots        });      }    };  }  if (Array.isArray(props)) {    // ['title']    props.forEach(function (key) {      properties[key] = {        type: null,        observer: createObserver(key)      };    });  } else if (isPlainObject(props)) {    // {title:{type:String,default:''},content:String}    Object.keys(props).forEach(function (key) {      var opts = props[key];      if (isPlainObject(opts)) {        // title:{type:String,default:''}        var value = opts.default;        if (isFn(value)) {          value = value();        }        opts.type = parsePropType(key, opts.type);        properties[key] = {          type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,          value: value,          observer: createObserver(key)        };      } else {        // content:String        var type = parsePropType(key, opts);        properties[key] = {          type: PROP_TYPES.indexOf(type) !== -1 ? type : null,          observer: createObserver(key)        };      }    });  }  return properties;}function wrapper$1(event) {  // TODO 又得兼容 mpvue 的 mp 对象  try {    event.mp = JSON.parse(JSON.stringify(event));  } catch (e) {}  event.stopPropagation = noop;  event.preventDefault = noop;  event.target = event.target || {};  if (!hasOwn(event, 'detail')) {    event.detail = {};  }  if (hasOwn(event, 'markerId')) {    event.detail = (0, _typeof2.default)(event.detail) === 'object' ? event.detail : {};    event.detail.markerId = event.markerId;  }  if (isPlainObject(event.detail)) {    event.target = Object.assign({}, event.target, event.detail);  }  return event;}function getExtraValue(vm, dataPathsArray) {  var context = vm;  dataPathsArray.forEach(function (dataPathArray) {    var dataPath = dataPathArray[0];    var value = dataPathArray[2];    if (dataPath || typeof value !== 'undefined') {      // ['','',index,'disable']      var propPath = dataPathArray[1];      var valuePath = dataPathArray[3];      var vFor;      if (Number.isInteger(dataPath)) {        vFor = dataPath;      } else if (!dataPath) {        vFor = context;      } else if (typeof dataPath === 'string' && dataPath) {        if (dataPath.indexOf('#s#') === 0) {          vFor = dataPath.substr(3);        } else {          vFor = vm.__get_value(dataPath, context);        }      }      if (Number.isInteger(vFor)) {        context = value;      } else if (!propPath) {        context = vFor[value];      } else {        if (Array.isArray(vFor)) {          context = vFor.find(function (vForItem) {            return vm.__get_value(propPath, vForItem) === value;          });        } else if (isPlainObject(vFor)) {          context = Object.keys(vFor).find(function (vForKey) {            return vm.__get_value(propPath, vFor[vForKey]) === value;          });        } else {          console.error('v-for 暂不支持循环数据:', vFor);        }      }      if (valuePath) {        context = vm.__get_value(valuePath, context);      }    }  });  return context;}function processEventExtra(vm, extra, event, __args__) {  var extraObj = {};  if (Array.isArray(extra) && extra.length) {    /**     *[     *    ['data.items', 'data.id', item.data.id],     *    ['metas', 'id', meta.id]     *],     *[     *    ['data.items', 'data.id', item.data.id],     *    ['metas', 'id', meta.id]     *],     *'test'     */    extra.forEach(function (dataPath, index) {      if (typeof dataPath === 'string') {        if (!dataPath) {          // model,prop.sync          extraObj['$' + index] = vm;        } else {          if (dataPath === '$event') {            // $event            extraObj['$' + index] = event;          } else if (dataPath === 'arguments') {            extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;          } else if (dataPath.indexOf('$event.') === 0) {            // $event.target.value            extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);          } else {            extraObj['$' + index] = vm.__get_value(dataPath);          }        }      } else {        extraObj['$' + index] = getExtraValue(vm, dataPath);      }    });  }  return extraObj;}function getObjByArray(arr) {  var obj = {};  for (var i = 1; i < arr.length; i++) {    var element = arr[i];    obj[element[0]] = element[1];  }  return obj;}function processEventArgs(vm, event) {  var args = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];  var extra = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];  var isCustom = arguments.length > 4 ? arguments[4] : undefined;  var methodName = arguments.length > 5 ? arguments[5] : undefined;  var isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象  // fixed 用户直接触发 mpInstance.triggerEvent  var __args__ = isPlainObject(event.detail) ? event.detail.__args__ || [event.detail] : [event.detail];  if (isCustom) {    // 自定义事件    isCustomMPEvent = event.currentTarget && event.currentTarget.dataset && event.currentTarget.dataset.comType === 'wx';    if (!args.length) {      // 无参数,直接传入 event 或 detail 数组      if (isCustomMPEvent) {        return [event];      }      return __args__;    }  }  var extraObj = processEventExtra(vm, extra, event, __args__);  var ret = [];  args.forEach(function (arg) {    if (arg === '$event') {      if (methodName === '__set_model' && !isCustom) {        // input v-model value        ret.push(event.target.value);      } else {        if (isCustom && !isCustomMPEvent) {          ret.push(__args__[0]);        } else {          // wxcomponent 组件或内置组件          ret.push(event);        }      }    } else {      if (Array.isArray(arg) && arg[0] === 'o') {        ret.push(getObjByArray(arg));      } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {        ret.push(extraObj[arg]);      } else {        ret.push(arg);      }    }  });  return ret;}var ONCE = '~';var CUSTOM = '^';function isMatchEventType(eventType, optType) {  return eventType === optType || optType === 'regionchange' && (eventType === 'begin' || eventType === 'end');}function getContextVm(vm) {  var $parent = vm.$parent;  // 父组件是 scoped slots 或者其他自定义组件时继续查找  while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {    $parent = $parent.$parent;  }  return $parent && $parent.$parent;}function handleEvent(event) {  var _this2 = this;  event = wrapper$1(event);  // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]  var dataset = (event.currentTarget || event.target).dataset;  if (!dataset) {    return console.warn('事件信息不存在');  }  var eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰  if (!eventOpts) {    return console.warn('事件信息不存在');  }  // [['handle',[1,2,a]],['handle1',[1,2,a]]]  var eventType = event.type;  var ret = [];  eventOpts.forEach(function (eventOpt) {    var type = eventOpt[0];    var eventsArray = eventOpt[1];    var isCustom = type.charAt(0) === CUSTOM;    type = isCustom ? type.slice(1) : type;    var isOnce = type.charAt(0) === ONCE;    type = isOnce ? type.slice(1) : type;    if (eventsArray && isMatchEventType(eventType, type)) {      eventsArray.forEach(function (eventArray) {        var methodName = eventArray[0];        if (methodName) {          var handlerCtx = _this2.$vm;          if (handlerCtx.$options.generic) {            // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots            handlerCtx = getContextVm(handlerCtx) || handlerCtx;          }          if (methodName === '$emit') {            handlerCtx.$emit.apply(handlerCtx, processEventArgs(_this2.$vm, event, eventArray[1], eventArray[2], isCustom, methodName));            return;          }          var handler = handlerCtx[methodName];          if (!isFn(handler)) {            var _type = _this2.$vm.mpType === 'page' ? 'Page' : 'Component';            var path = _this2.route || _this2.is;            throw new Error("".concat(_type, " \"").concat(path, "\" does not have a method \"").concat(methodName, "\""));          }          if (isOnce) {            if (handler.once) {              return;            }            handler.once = true;          }          var params = processEventArgs(_this2.$vm, event, eventArray[1], eventArray[2], isCustom, methodName);          params = Array.isArray(params) ? params : [];          // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据          if (/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(handler.toString())) {            // eslint-disable-next-line no-sparse-arrays            params = params.concat([,,,,,,,,,, event]);          }          ret.push(handler.apply(handlerCtx, params));        }      });    }  });  if (eventType === 'input' && ret.length === 1 && typeof ret[0] !== 'undefined') {    return ret[0];  }}var eventChannels = {};var eventChannelStack = [];function getEventChannel(id) {  if (id) {    var eventChannel = eventChannels[id];    delete eventChannels[id];    return eventChannel;  }  return eventChannelStack.shift();}var hooks = ['onShow', 'onHide', 'onError', 'onPageNotFound', 'onThemeChange', 'onUnhandledRejection'];function initEventChannel() {  _vue.default.prototype.getOpenerEventChannel = function () {    // 微信小程序使用自身getOpenerEventChannel    {      return this.$scope.getOpenerEventChannel();    }  };  var callHook = _vue.default.prototype.__call_hook;  _vue.default.prototype.__call_hook = function (hook, args) {    if (hook === 'onLoad' && args && args.__id__) {      this.__eventChannel__ = getEventChannel(args.__id__);      delete args.__id__;    }    return callHook.call(this, hook, args);  };}function initScopedSlotsParams() {  var center = {};  var parents = {};  _vue.default.prototype.$hasScopedSlotsParams = function (vueId) {    var has = center[vueId];    if (!has) {      parents[vueId] = this;      this.$on('hook:destroyed', function () {        delete parents[vueId];      });    }    return has;  };  _vue.default.prototype.$getScopedSlotsParams = function (vueId, name, key) {    var data = center[vueId];    if (data) {      var object = data[name] || {};      return key ? object[key] : object;    } else {      parents[vueId] = this;      this.$on('hook:destroyed', function () {        delete parents[vueId];      });    }  };  _vue.default.prototype.$setScopedSlotsParams = function (name, value) {    var vueIds = this.$options.propsData.vueId;    if (vueIds) {      var vueId = vueIds.split(',')[0];      var object = center[vueId] = center[vueId] || {};      object[name] = value;      if (parents[vueId]) {        parents[vueId].$forceUpdate();      }    }  };  _vue.default.mixin({    destroyed: function destroyed() {      var propsData = this.$options.propsData;      var vueId = propsData && propsData.vueId;      if (vueId) {        delete center[vueId];        delete parents[vueId];      }    }  });}function parseBaseApp(vm, _ref4) {  var mocks = _ref4.mocks,    initRefs = _ref4.initRefs;  initEventChannel();  {    initScopedSlotsParams();  }  if (vm.$options.store) {    _vue.default.prototype.$store = vm.$options.store;  }  uniIdMixin(_vue.default);  _vue.default.prototype.mpHost = "mp-weixin";  _vue.default.mixin({    beforeCreate: function beforeCreate() {      if (!this.$options.mpType) {        return;      }      this.mpType = this.$options.mpType;      this.$mp = (0, _defineProperty2.default)({        data: {}      }, this.mpType, this.$options.mpInstance);      this.$scope = this.$options.mpInstance;      delete this.$options.mpType;      delete this.$options.mpInstance;      if (this.mpType === 'page' && typeof getApp === 'function') {        // hack vue-i18n        var app = getApp();        if (app.$vm && app.$vm.$i18n) {          this._i18n = app.$vm.$i18n;        }      }      if (this.mpType !== 'app') {        initRefs(this);        initMocks(this, mocks);      }    }  });  var appOptions = {    onLaunch: function onLaunch(args) {      if (this.$vm) {        // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前        return;      }      {        if (wx.canIUse && !wx.canIUse('nextTick')) {          // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断          console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');        }      }      this.$vm = vm;      this.$vm.$mp = {        app: this      };      this.$vm.$scope = this;      // vm 上也挂载 globalData      this.$vm.globalData = this.globalData;      this.$vm._isMounted = true;      this.$vm.__call_hook('mounted', args);      this.$vm.__call_hook('onLaunch', args);    }  };  // 兼容旧版本 globalData  appOptions.globalData = vm.$options.globalData || {};  // 将 methods 中的方法挂在 getApp() 中  var methods = vm.$options.methods;  if (methods) {    Object.keys(methods).forEach(function (name) {      appOptions[name] = methods[name];    });  }  initAppLocale(_vue.default, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);  initHooks(appOptions, hooks);  initUnknownHooks(appOptions, vm.$options);  return appOptions;}function parseApp(vm) {  return parseBaseApp(vm, {    mocks: mocks,    initRefs: initRefs  });}function createApp(vm) {  App(parseApp(vm));  return vm;}var encodeReserveRE = /[!'()*]/g;var encodeReserveReplacer = function encodeReserveReplacer(c) {  return '%' + c.charCodeAt(0).toString(16);};var commaRE = /%2C/g;// fixed encodeURIComponent which is more conformant to RFC3986:// - escapes [!'()*]// - preserve commasvar encode = function encode(str) {  return encodeURIComponent(str).replace(encodeReserveRE, encodeReserveReplacer).replace(commaRE, ',');};function stringifyQuery(obj) {  var encodeStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : encode;  var res = obj ? Object.keys(obj).map(function (key) {    var val = obj[key];    if (val === undefined) {      return '';    }    if (val === null) {      return encodeStr(key);    }    if (Array.isArray(val)) {      var result = [];      val.forEach(function (val2) {        if (val2 === undefined) {          return;        }        if (val2 === null) {          result.push(encodeStr(key));        } else {          result.push(encodeStr(key) + '=' + encodeStr(val2));        }      });      return result.join('&');    }    return encodeStr(key) + '=' + encodeStr(val);  }).filter(function (x) {    return x.length > 0;  }).join('&') : null;  return res ? "?".concat(res) : '';}function parseBaseComponent(vueComponentOptions) {  var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},    isPage = _ref5.isPage,    initRelation = _ref5.initRelation;  var needVueOptions = arguments.length > 2 ? arguments[2] : undefined;  var _initVueComponent = initVueComponent(_vue.default, vueComponentOptions),    _initVueComponent2 = (0, _slicedToArray2.default)(_initVueComponent, 2),    VueComponent = _initVueComponent2[0],    vueOptions = _initVueComponent2[1];  var options = _objectSpread({    multipleSlots: true,    addGlobalClass: true  }, vueOptions.options || {});  {    // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项    if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {      Object.assign(options, vueOptions['mp-weixin'].options);    }  }  var componentOptions = {    options: options,    data: initData(vueOptions, _vue.default.prototype),    behaviors: initBehaviors(vueOptions, initBehavior),    properties: initProperties(vueOptions.props, false, vueOptions.__file, options),    lifetimes: {      attached: function attached() {        var properties = this.properties;        var options = {          mpType: isPage.call(this) ? 'page' : 'component',          mpInstance: this,          propsData: properties        };        initVueIds(properties.vueId, this);        // 处理父子关系        initRelation.call(this, {          vuePid: this._$vuePid,          vueOptions: options        });        // 初始化 vue 实例        this.$vm = new VueComponent(options);        // 处理$slots,$scopedSlots(暂不支持动态变化$slots)        initSlots(this.$vm, properties.vueSlots);        // 触发首次 setData        this.$vm.$mount();      },      ready: function ready() {        // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发        // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800        if (this.$vm) {          this.$vm._isMounted = true;          this.$vm.__call_hook('mounted');          this.$vm.__call_hook('onReady');        }      },      detached: function detached() {        this.$vm && this.$vm.$destroy();      }    },    pageLifetimes: {      show: function show(args) {        this.$vm && this.$vm.__call_hook('onPageShow', args);      },      hide: function hide() {        this.$vm && this.$vm.__call_hook('onPageHide');      },      resize: function resize(size) {        this.$vm && this.$vm.__call_hook('onPageResize', size);      }    },    methods: {      __l: handleLink,      __e: handleEvent    }  };  // externalClasses  if (vueOptions.externalClasses) {    componentOptions.externalClasses = vueOptions.externalClasses;  }  if (Array.isArray(vueOptions.wxsCallMethods)) {    vueOptions.wxsCallMethods.forEach(function (callMethod) {      componentOptions.methods[callMethod] = function (args) {        return this.$vm[callMethod](args);      };    });  }  if (needVueOptions) {    return [componentOptions, vueOptions, VueComponent];  }  if (isPage) {    return componentOptions;  }  return [componentOptions, VueComponent];}function parseComponent(vueComponentOptions, needVueOptions) {  return parseBaseComponent(vueComponentOptions, {    isPage: isPage,    initRelation: initRelation  }, needVueOptions);}var hooks$1 = ['onShow', 'onHide', 'onUnload'];hooks$1.push.apply(hooks$1, PAGE_EVENT_HOOKS);function parseBasePage(vuePageOptions) {  var _parseComponent = parseComponent(vuePageOptions, true),    _parseComponent2 = (0, _slicedToArray2.default)(_parseComponent, 2),    pageOptions = _parseComponent2[0],    vueOptions = _parseComponent2[1];  initHooks(pageOptions.methods, hooks$1, vueOptions);  pageOptions.methods.onLoad = function (query) {    this.options = query;    var copyQuery = Object.assign({}, query);    delete copyQuery.__id__;    this.$page = {      fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)    };    this.$vm.$mp.query = query; // 兼容 mpvue    this.$vm.__call_hook('onLoad', query);  };  {    initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);  }  {    initWorkletMethods(pageOptions.methods, vueOptions.methods);  }  return pageOptions;}function parsePage(vuePageOptions) {  return parseBasePage(vuePageOptions);}function createPage(vuePageOptions) {  {    return Component(parsePage(vuePageOptions));  }}function createComponent(vueOptions) {  {    return Component(parseComponent(vueOptions));  }}function createSubpackageApp(vm) {  var appOptions = parseApp(vm);  var app = getApp({    allowDefault: true  });  vm.$scope = app;  var globalData = app.globalData;  if (globalData) {    Object.keys(appOptions.globalData).forEach(function (name) {      if (!hasOwn(globalData, name)) {        globalData[name] = appOptions.globalData[name];      }    });  }  Object.keys(appOptions).forEach(function (name) {    if (!hasOwn(app, name)) {      app[name] = appOptions[name];    }  });  if (isFn(appOptions.onShow) && wx.onAppShow) {    wx.onAppShow(function () {      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {        args[_key5] = arguments[_key5];      }      vm.__call_hook('onShow', args);    });  }  if (isFn(appOptions.onHide) && wx.onAppHide) {    wx.onAppHide(function () {      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {        args[_key6] = arguments[_key6];      }      vm.__call_hook('onHide', args);    });  }  if (isFn(appOptions.onLaunch)) {    var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();    vm.__call_hook('onLaunch', args);  }  return vm;}function createPlugin(vm) {  var appOptions = parseApp(vm);  if (isFn(appOptions.onShow) && wx.onAppShow) {    wx.onAppShow(function () {      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {        args[_key7] = arguments[_key7];      }      vm.__call_hook('onShow', args);    });  }  if (isFn(appOptions.onHide) && wx.onAppHide) {    wx.onAppHide(function () {      for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {        args[_key8] = arguments[_key8];      }      vm.__call_hook('onHide', args);    });  }  if (isFn(appOptions.onLaunch)) {    var args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();    vm.__call_hook('onLaunch', args);  }  return vm;}todos.forEach(function (todoApi) {  protocols[todoApi] = false;});canIUses.forEach(function (canIUseApi) {  var apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name : canIUseApi;  if (!wx.canIUse(apiName)) {    protocols[canIUseApi] = false;  }});var uni = {};if (typeof Proxy !== 'undefined' && "mp-weixin" !== 'app-plus') {  uni = new Proxy({}, {    get: function get(target, name) {      if (hasOwn(target, name)) {        return target[name];      }      if (baseApi[name]) {        return baseApi[name];      }      if (api[name]) {        return promisify(name, api[name]);      }      {        if (extraApi[name]) {          return promisify(name, extraApi[name]);        }        if (todoApis[name]) {          return promisify(name, todoApis[name]);        }      }      if (eventApi[name]) {        return eventApi[name];      }      return promisify(name, wrapper(name, wx[name]));    },    set: function set(target, name, value) {      target[name] = value;      return true;    }  });} else {  Object.keys(baseApi).forEach(function (name) {    uni[name] = baseApi[name];  });  {    Object.keys(todoApis).forEach(function (name) {      uni[name] = promisify(name, todoApis[name]);    });    Object.keys(extraApi).forEach(function (name) {      uni[name] = promisify(name, todoApis[name]);    });  }  Object.keys(eventApi).forEach(function (name) {    uni[name] = eventApi[name];  });  Object.keys(api).forEach(function (name) {    uni[name] = promisify(name, api[name]);  });  Object.keys(wx).forEach(function (name) {    if (hasOwn(wx, name) || hasOwn(protocols, name)) {      uni[name] = promisify(name, wrapper(name, wx[name]));    }  });}wx.createApp = createApp;wx.createPage = createPage;wx.createComponent = createComponent;wx.createSubpackageApp = createSubpackageApp;wx.createPlugin = createPlugin;var uni$1 = uni;var _default = uni$1;exports.default = _default;/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js */ 1)["default"], __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 3)))/***/ }),/* 3 *//*!***********************************!*\  !*** (webpack)/buildin/global.js ***!  \***********************************//*! no static exports found *//***/ (function(module, exports) {var g;// This works in non-strict modeg = (function() {	return this;})();try {	// This works if eval is allowed (see CSP)	g = g || new Function("return this")();} catch (e) {	// This works if the window reference is available	if (typeof window === "object") g = window;}// g can still be undefined, but nothing to do about it...// We return undefined, instead of nothing here, so it's// easier to handle this case. if(!global) { ...}module.exports = g;/***/ }),/* 4 *//*!**********************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!  \**********************************************************************//*! no static exports found *//***/ (function(module, exports) {function _interopRequireDefault(obj) {  return obj && obj.__esModule ? obj : {    "default": obj  };}module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 5 *//*!**************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***!  \**************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ 6);var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ 7);var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 8);var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ 10);function _slicedToArray(arr, i) {  return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();}module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 6 *//*!***************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***!  \***************************************************************//*! no static exports found *//***/ (function(module, exports) {function _arrayWithHoles(arr) {  if (Array.isArray(arr)) return arr;}module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 7 *//*!*********************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***!  \*********************************************************************//*! no static exports found *//***/ (function(module, exports) {function _iterableToArrayLimit(arr, i) {  var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];  if (null != _i) {    var _s,      _e,      _x,      _r,      _arr = [],      _n = !0,      _d = !1;    try {      if (_x = (_i = _i.call(arr)).next, 0 === i) {        if (Object(_i) !== _i) return;        _n = !1;      } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {        ;      }    } catch (err) {      _d = !0, _e = err;    } finally {      try {        if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;      } finally {        if (_d) throw _e;      }    }    return _arr;  }}module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 8 *//*!***************************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***!  \***************************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 9);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);}module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 9 *//*!*****************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***!  \*****************************************************************//*! no static exports found *//***/ (function(module, exports) {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;}module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 10 *//*!****************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***!  \****************************************************************//*! no static exports found *//***/ (function(module, exports) {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.");}module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 11 *//*!***************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/defineProperty.js ***!  \***************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 12);function _defineProperty(obj, key, value) {  key = toPropertyKey(key);  if (key in obj) {    Object.defineProperty(obj, key, {      value: value,      enumerable: true,      configurable: true,      writable: true    });  } else {    obj[key] = value;  }  return obj;}module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 12 *//*!**************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***!  \**************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var _typeof = __webpack_require__(/*! ./typeof.js */ 13)["default"];var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 14);function _toPropertyKey(arg) {  var key = toPrimitive(arg, "string");  return _typeof(key) === "symbol" ? key : String(key);}module.exports = _toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 13 *//*!*******************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!  \*******************************************************//*! no static exports found *//***/ (function(module, exports) {function _typeof(obj) {  "@babel/helpers - typeof";  return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {    return typeof obj;  } : function (obj) {    return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;  }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);}module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 14 *//*!************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***!  \************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var _typeof = __webpack_require__(/*! ./typeof.js */ 13)["default"];function _toPrimitive(input, hint) {  if (_typeof(input) !== "object" || input === null) return input;  var prim = input[Symbol.toPrimitive];  if (prim !== undefined) {    var res = prim.call(input, hint || "default");    if (_typeof(res) !== "object") return res;    throw new TypeError("@@toPrimitive must return a primitive value.");  }  return (hint === "string" ? String : Number)(input);}module.exports = _toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 15 *//*!**********************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/construct.js ***!  \**********************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 16);var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ 17);function _construct(Parent, args, Class) {  if (isNativeReflectConstruct()) {    module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports["default"] = module.exports;  } else {    module.exports = _construct = function _construct(Parent, args, Class) {      var a = [null];      a.push.apply(a, args);      var Constructor = Function.bind.apply(Parent, a);      var instance = new Constructor();      if (Class) setPrototypeOf(instance, Class.prototype);      return instance;    }, module.exports.__esModule = true, module.exports["default"] = module.exports;  }  return _construct.apply(null, arguments);}module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 16 *//*!***************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!  \***************************************************************//*! no static exports found *//***/ (function(module, exports) {function _setPrototypeOf(o, p) {  module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {    o.__proto__ = p;    return o;  }, module.exports.__esModule = true, module.exports["default"] = module.exports;  return _setPrototypeOf(o, p);}module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 17 *//*!*************************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***!  \*************************************************************************//*! no static exports found *//***/ (function(module, exports) {function _isNativeReflectConstruct() {  if (typeof Reflect === "undefined" || !Reflect.construct) return false;  if (Reflect.construct.sham) return false;  if (typeof Proxy === "function") return true;  try {    Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));    return true;  } catch (e) {    return false;  }}module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 18 *//*!******************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/toConsumableArray.js ***!  \******************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var arrayWithoutHoles = __webpack_require__(/*! ./arrayWithoutHoles.js */ 19);var iterableToArray = __webpack_require__(/*! ./iterableToArray.js */ 20);var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 8);var nonIterableSpread = __webpack_require__(/*! ./nonIterableSpread.js */ 21);function _toConsumableArray(arr) {  return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();}module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 19 *//*!******************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js ***!  \******************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ 9);function _arrayWithoutHoles(arr) {  if (Array.isArray(arr)) return arrayLikeToArray(arr);}module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 20 *//*!****************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/iterableToArray.js ***!  \****************************************************************//*! no static exports found *//***/ (function(module, exports) {function _iterableToArray(iter) {  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);}module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 21 *//*!******************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/nonIterableSpread.js ***!  \******************************************************************//*! no static exports found *//***/ (function(module, exports) {function _nonIterableSpread() {  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 22 *//*!*************************************************************!*\  !*** ./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js ***!  \*************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {"use strict";/* WEBPACK VAR INJECTION */(function(uni, global) {var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);Object.defineProperty(exports, "__esModule", {  value: true});exports.LOCALE_ZH_HANT = exports.LOCALE_ZH_HANS = exports.LOCALE_FR = exports.LOCALE_ES = exports.LOCALE_EN = exports.I18n = exports.Formatter = void 0;exports.compileI18nJsonStr = compileI18nJsonStr;exports.hasI18nJson = hasI18nJson;exports.initVueI18n = initVueI18n;exports.isI18nStr = isI18nStr;exports.isString = void 0;exports.normalizeLocale = normalizeLocale;exports.parseI18nJson = parseI18nJson;exports.resolveLocale = resolveLocale;var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5));var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 23));var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 24));var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 13));var isArray = Array.isArray;var isObject = function isObject(val) {  return val !== null && (0, _typeof2.default)(val) === 'object';};var defaultDelimiters = ['{', '}'];var BaseFormatter = /*#__PURE__*/function () {  function BaseFormatter() {    (0, _classCallCheck2.default)(this, BaseFormatter);    this._caches = Object.create(null);  }  (0, _createClass2.default)(BaseFormatter, [{    key: "interpolate",    value: function interpolate(message, values) {      var delimiters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultDelimiters;      if (!values) {        return [message];      }      var tokens = this._caches[message];      if (!tokens) {        tokens = parse(message, delimiters);        this._caches[message] = tokens;      }      return compile(tokens, values);    }  }]);  return BaseFormatter;}();exports.Formatter = BaseFormatter;var RE_TOKEN_LIST_VALUE = /^(?:\d)+/;var RE_TOKEN_NAMED_VALUE = /^(?:\w)+/;function parse(format, _ref) {  var _ref2 = (0, _slicedToArray2.default)(_ref, 2),    startDelimiter = _ref2[0],    endDelimiter = _ref2[1];  var tokens = [];  var position = 0;  var text = '';  while (position < format.length) {    var char = format[position++];    if (char === startDelimiter) {      if (text) {        tokens.push({          type: 'text',          value: text        });      }      text = '';      var sub = '';      char = format[position++];      while (char !== undefined && char !== endDelimiter) {        sub += char;        char = format[position++];      }      var isClosed = char === endDelimiter;      var type = RE_TOKEN_LIST_VALUE.test(sub) ? 'list' : isClosed && RE_TOKEN_NAMED_VALUE.test(sub) ? 'named' : 'unknown';      tokens.push({        value: sub,        type: type      });    }    //  else if (char === '%') {    //   // when found rails i18n syntax, skip text capture    //   if (format[position] !== '{') {    //     text += char    //   }    // }    else {      text += char;    }  }  text && tokens.push({    type: 'text',    value: text  });  return tokens;}function compile(tokens, values) {  var compiled = [];  var index = 0;  var mode = isArray(values) ? 'list' : isObject(values) ? 'named' : 'unknown';  if (mode === 'unknown') {    return compiled;  }  while (index < tokens.length) {    var token = tokens[index];    switch (token.type) {      case 'text':        compiled.push(token.value);        break;      case 'list':        compiled.push(values[parseInt(token.value, 10)]);        break;      case 'named':        if (mode === 'named') {          compiled.push(values[token.value]);        } else {          if (true) {            console.warn("Type of token '".concat(token.type, "' and format of value '").concat(mode, "' don't match!"));          }        }        break;      case 'unknown':        if (true) {          console.warn("Detect 'unknown' type of token!");        }        break;    }    index++;  }  return compiled;}var LOCALE_ZH_HANS = 'zh-Hans';exports.LOCALE_ZH_HANS = LOCALE_ZH_HANS;var LOCALE_ZH_HANT = 'zh-Hant';exports.LOCALE_ZH_HANT = LOCALE_ZH_HANT;var LOCALE_EN = 'en';exports.LOCALE_EN = LOCALE_EN;var LOCALE_FR = 'fr';exports.LOCALE_FR = LOCALE_FR;var LOCALE_ES = 'es';exports.LOCALE_ES = LOCALE_ES;var hasOwnProperty = Object.prototype.hasOwnProperty;var hasOwn = function hasOwn(val, key) {  return hasOwnProperty.call(val, key);};var defaultFormatter = new BaseFormatter();function include(str, parts) {  return !!parts.find(function (part) {    return str.indexOf(part) !== -1;  });}function startsWith(str, parts) {  return parts.find(function (part) {    return str.indexOf(part) === 0;  });}function normalizeLocale(locale, messages) {  if (!locale) {    return;  }  locale = locale.trim().replace(/_/g, '-');  if (messages && messages[locale]) {    return locale;  }  locale = locale.toLowerCase();  if (locale.indexOf('zh') === 0) {    if (locale.indexOf('-hans') > -1) {      return LOCALE_ZH_HANS;    }    if (locale.indexOf('-hant') > -1) {      return LOCALE_ZH_HANT;    }    if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {      return LOCALE_ZH_HANT;    }    return LOCALE_ZH_HANS;  }  var lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);  if (lang) {    return lang;  }}var I18n = /*#__PURE__*/function () {  function I18n(_ref3) {    var locale = _ref3.locale,      fallbackLocale = _ref3.fallbackLocale,      messages = _ref3.messages,      watcher = _ref3.watcher,      formater = _ref3.formater;    (0, _classCallCheck2.default)(this, I18n);    this.locale = LOCALE_EN;    this.fallbackLocale = LOCALE_EN;    this.message = {};    this.messages = {};    this.watchers = [];    if (fallbackLocale) {      this.fallbackLocale = fallbackLocale;    }    this.formater = formater || defaultFormatter;    this.messages = messages || {};    this.setLocale(locale || LOCALE_EN);    if (watcher) {      this.watchLocale(watcher);    }  }  (0, _createClass2.default)(I18n, [{    key: "setLocale",    value: function setLocale(locale) {      var _this = this;      var oldLocale = this.locale;      this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;      if (!this.messages[this.locale]) {        // 可能初始化时不存在        this.messages[this.locale] = {};      }      this.message = this.messages[this.locale];      // 仅发生变化时,通知      if (oldLocale !== this.locale) {        this.watchers.forEach(function (watcher) {          watcher(_this.locale, oldLocale);        });      }    }  }, {    key: "getLocale",    value: function getLocale() {      return this.locale;    }  }, {    key: "watchLocale",    value: function watchLocale(fn) {      var _this2 = this;      var index = this.watchers.push(fn) - 1;      return function () {        _this2.watchers.splice(index, 1);      };    }  }, {    key: "add",    value: function add(locale, message) {      var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;      var curMessages = this.messages[locale];      if (curMessages) {        if (override) {          Object.assign(curMessages, message);        } else {          Object.keys(message).forEach(function (key) {            if (!hasOwn(curMessages, key)) {              curMessages[key] = message[key];            }          });        }      } else {        this.messages[locale] = message;      }    }  }, {    key: "f",    value: function f(message, values, delimiters) {      return this.formater.interpolate(message, values, delimiters).join('');    }  }, {    key: "t",    value: function t(key, locale, values) {      var message = this.message;      if (typeof locale === 'string') {        locale = normalizeLocale(locale, this.messages);        locale && (message = this.messages[locale]);      } else {        values = locale;      }      if (!hasOwn(message, key)) {        console.warn("Cannot translate the value of keypath ".concat(key, ". Use the value of keypath as default."));        return key;      }      return this.formater.interpolate(message[key], values).join('');    }  }]);  return I18n;}();exports.I18n = I18n;function watchAppLocale(appVm, i18n) {  // 需要保证 watch 的触发在组件渲染之前  if (appVm.$watchLocale) {    // vue2    appVm.$watchLocale(function (newLocale) {      i18n.setLocale(newLocale);    });  } else {    appVm.$watch(function () {      return appVm.$locale;    }, function (newLocale) {      i18n.setLocale(newLocale);    });  }}function getDefaultLocale() {  if (typeof uni !== 'undefined' && uni.getLocale) {    return uni.getLocale();  }  // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale  if (typeof global !== 'undefined' && global.getLocale) {    return global.getLocale();  }  return LOCALE_EN;}function initVueI18n(locale) {  var messages = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};  var fallbackLocale = arguments.length > 2 ? arguments[2] : undefined;  var watcher = arguments.length > 3 ? arguments[3] : undefined;  // 兼容旧版本入参  if (typeof locale !== 'string') {    var _ref4 = [messages, locale];    locale = _ref4[0];    messages = _ref4[1];  }  if (typeof locale !== 'string') {    // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined    locale = getDefaultLocale();  }  if (typeof fallbackLocale !== 'string') {    fallbackLocale = typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale || LOCALE_EN;  }  var i18n = new I18n({    locale: locale,    fallbackLocale: fallbackLocale,    messages: messages,    watcher: watcher  });  var _t = function t(key, values) {    if (typeof getApp !== 'function') {      // app view      /* eslint-disable no-func-assign */      _t = function t(key, values) {        return i18n.t(key, values);      };    } else {      var isWatchedAppLocale = false;      _t = function t(key, values) {        var appVm = getApp().$vm;        // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化        // options: {        // 	type: Array,        // 	default () {        // 		return [{        // 			icon: 'shop',        // 			text: t("uni-goods-nav.options.shop"),        // 		}, {        // 			icon: 'cart',        // 			text: t("uni-goods-nav.options.cart")        // 		}]        // 	}        // },        if (appVm) {          // 触发响应式          appVm.$locale;          if (!isWatchedAppLocale) {            isWatchedAppLocale = true;            watchAppLocale(appVm, i18n);          }        }        return i18n.t(key, values);      };    }    return _t(key, values);  };  return {    i18n: i18n,    f: function f(message, values, delimiters) {      return i18n.f(message, values, delimiters);    },    t: function t(key, values) {      return _t(key, values);    },    add: function add(locale, message) {      var override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;      return i18n.add(locale, message, override);    },    watch: function watch(fn) {      return i18n.watchLocale(fn);    },    getLocale: function getLocale() {      return i18n.getLocale();    },    setLocale: function setLocale(newLocale) {      return i18n.setLocale(newLocale);    }  };}var isString = function isString(val) {  return typeof val === 'string';};exports.isString = isString;var formater;function hasI18nJson(jsonObj, delimiters) {  if (!formater) {    formater = new BaseFormatter();  }  return walkJsonObj(jsonObj, function (jsonObj, key) {    var value = jsonObj[key];    if (isString(value)) {      if (isI18nStr(value, delimiters)) {        return true;      }    } else {      return hasI18nJson(value, delimiters);    }  });}function parseI18nJson(jsonObj, values, delimiters) {  if (!formater) {    formater = new BaseFormatter();  }  walkJsonObj(jsonObj, function (jsonObj, key) {    var value = jsonObj[key];    if (isString(value)) {      if (isI18nStr(value, delimiters)) {        jsonObj[key] = compileStr(value, values, delimiters);      }    } else {      parseI18nJson(value, values, delimiters);    }  });  return jsonObj;}function compileI18nJsonStr(jsonStr, _ref5) {  var locale = _ref5.locale,    locales = _ref5.locales,    delimiters = _ref5.delimiters;  if (!isI18nStr(jsonStr, delimiters)) {    return jsonStr;  }  if (!formater) {    formater = new BaseFormatter();  }  var localeValues = [];  Object.keys(locales).forEach(function (name) {    if (name !== locale) {      localeValues.push({        locale: name,        values: locales[name]      });    }  });  localeValues.unshift({    locale: locale,    values: locales[locale]  });  try {    return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);  } catch (e) {}  return jsonStr;}function isI18nStr(value, delimiters) {  return value.indexOf(delimiters[0]) > -1;}function compileStr(value, values, delimiters) {  return formater.interpolate(value, values, delimiters).join('');}function compileValue(jsonObj, key, localeValues, delimiters) {  var value = jsonObj[key];  if (isString(value)) {    // 存在国际化    if (isI18nStr(value, delimiters)) {      jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);      if (localeValues.length > 1) {        // 格式化国际化语言        var valueLocales = jsonObj[key + 'Locales'] = {};        localeValues.forEach(function (localValue) {          valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);        });      }    }  } else {    compileJsonObj(value, localeValues, delimiters);  }}function compileJsonObj(jsonObj, localeValues, delimiters) {  walkJsonObj(jsonObj, function (jsonObj, key) {    compileValue(jsonObj, key, localeValues, delimiters);  });  return jsonObj;}function walkJsonObj(jsonObj, walk) {  if (isArray(jsonObj)) {    for (var i = 0; i < jsonObj.length; i++) {      if (walk(jsonObj, i)) {        return true;      }    }  } else if (isObject(jsonObj)) {    for (var key in jsonObj) {      if (walk(jsonObj, key)) {        return true;      }    }  }  return false;}function resolveLocale(locales) {  return function (locale) {    if (!locale) {      return locale;    }    locale = normalizeLocale(locale) || locale;    return resolveLocaleChain(locale).find(function (locale) {      return locales.indexOf(locale) > -1;    });  };}function resolveLocaleChain(locale) {  var chain = [];  var tokens = locale.split('-');  while (tokens.length) {    chain.push(tokens.join('-'));    tokens.pop();  }  return chain;}/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"], __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 3)))/***/ }),/* 23 *//*!***************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!  \***************************************************************//*! no static exports found *//***/ (function(module, exports) {function _classCallCheck(instance, Constructor) {  if (!(instance instanceof Constructor)) {    throw new TypeError("Cannot call a class as a function");  }}module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 24 *//*!************************************************************!*\  !*** ./node_modules/@babel/runtime/helpers/createClass.js ***!  \************************************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 12);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, toPropertyKey(descriptor.key), descriptor);  }}function _createClass(Constructor, protoProps, staticProps) {  if (protoProps) _defineProperties(Constructor.prototype, protoProps);  if (staticProps) _defineProperties(Constructor, staticProps);  Object.defineProperty(Constructor, "prototype", {    writable: false  });  return Constructor;}module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;/***/ }),/* 25 *//*!******************************************************************************************!*\  !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js ***!  \******************************************************************************************//*! exports provided: default *//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";__webpack_require__.r(__webpack_exports__);/* WEBPACK VAR INJECTION */(function(global) {/*! * Vue.js v2.6.11 * (c) 2014-2022 Evan You * Released under the MIT License. *//*  */var emptyObject = Object.freeze({});// These helpers produce better VM code in JS engines due to their// explicitness and function inlining.function isUndef (v) {  return v === undefined || v === null}function isDef (v) {  return v !== undefined && v !== null}function isTrue (v) {  return v === true}function isFalse (v) {  return v === false}/** * Check if value is primitive. */function isPrimitive (value) {  return (    typeof value === 'string' ||    typeof value === 'number' ||    // $flow-disable-line    typeof value === 'symbol' ||    typeof value === 'boolean'  )}/** * Quick object check - this is primarily used to tell * Objects from primitive values when we know the value * is a JSON-compliant type. */function isObject (obj) {  return obj !== null && typeof obj === 'object'}/** * Get the raw type string of a value, e.g., [object Object]. */var _toString = Object.prototype.toString;function toRawType (value) {  return _toString.call(value).slice(8, -1)}/** * Strict object type check. Only returns true * for plain JavaScript objects. */function isPlainObject (obj) {  return _toString.call(obj) === '[object Object]'}function isRegExp (v) {  return _toString.call(v) === '[object RegExp]'}/** * Check if val is a valid array index. */function isValidArrayIndex (val) {  var n = parseFloat(String(val));  return n >= 0 && Math.floor(n) === n && isFinite(val)}function isPromise (val) {  return (    isDef(val) &&    typeof val.then === 'function' &&    typeof val.catch === 'function'  )}/** * Convert a value to a string that is actually rendered. */function toString (val) {  return val == null    ? ''    : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)      ? JSON.stringify(val, null, 2)      : String(val)}/** * Convert an input value to a number for persistence. * If the conversion fails, return original string. */function toNumber (val) {  var n = parseFloat(val);  return isNaN(n) ? val : n}/** * Make a map and return a function for checking if a key * is in that map. */function makeMap (  str,  expectsLowerCase) {  var map = Object.create(null);  var list = str.split(',');  for (var i = 0; i < list.length; i++) {    map[list[i]] = true;  }  return expectsLowerCase    ? function (val) { return map[val.toLowerCase()]; }    : function (val) { return map[val]; }}/** * Check if a tag is a built-in tag. */var isBuiltInTag = makeMap('slot,component', true);/** * Check if an attribute is a reserved attribute. */var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');/** * Remove an item from an array. */function remove (arr, item) {  if (arr.length) {    var index = arr.indexOf(item);    if (index > -1) {      return arr.splice(index, 1)    }  }}/** * Check whether an object has the property. */var hasOwnProperty = Object.prototype.hasOwnProperty;function hasOwn (obj, key) {  return hasOwnProperty.call(obj, key)}/** * Create a cached version of a pure function. */function cached (fn) {  var cache = Object.create(null);  return (function cachedFn (str) {    var hit = cache[str];    return hit || (cache[str] = fn(str))  })}/** * Camelize a hyphen-delimited string. */var camelizeRE = /-(\w)/g;var camelize = cached(function (str) {  return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })});/** * Capitalize a string. */var capitalize = cached(function (str) {  return str.charAt(0).toUpperCase() + str.slice(1)});/** * Hyphenate a camelCase string. */var hyphenateRE = /\B([A-Z])/g;var hyphenate = cached(function (str) {  return str.replace(hyphenateRE, '-$1').toLowerCase()});/** * Simple bind polyfill for environments that do not support it, * e.g., PhantomJS 1.x. Technically, we don't need this anymore * since native bind is now performant enough in most browsers. * But removing it would mean breaking code that was able to run in * PhantomJS 1.x, so this must be kept for backward compatibility. *//* istanbul ignore next */function polyfillBind (fn, ctx) {  function boundFn (a) {    var l = arguments.length;    return l      ? l > 1        ? fn.apply(ctx, arguments)        : fn.call(ctx, a)      : fn.call(ctx)  }  boundFn._length = fn.length;  return boundFn}function nativeBind (fn, ctx) {  return fn.bind(ctx)}var bind = Function.prototype.bind  ? nativeBind  : polyfillBind;/** * Convert an Array-like object to a real Array. */function toArray (list, start) {  start = start || 0;  var i = list.length - start;  var ret = new Array(i);  while (i--) {    ret[i] = list[i + start];  }  return ret}/** * Mix properties into target object. */function extend (to, _from) {  for (var key in _from) {    to[key] = _from[key];  }  return to}/** * Merge an Array of Objects into a single Object. */function toObject (arr) {  var res = {};  for (var i = 0; i < arr.length; i++) {    if (arr[i]) {      extend(res, arr[i]);    }  }  return res}/* eslint-disable no-unused-vars *//** * Perform no operation. * Stubbing args to make Flow happy without leaving useless transpiled code * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). */function noop (a, b, c) {}/** * Always return false. */var no = function (a, b, c) { return false; };/* eslint-enable no-unused-vars *//** * Return the same value. */var identity = function (_) { return _; };/** * Check if two values are loosely equal - that is, * if they are plain objects, do they have the same shape? */function looseEqual (a, b) {  if (a === b) { return true }  var isObjectA = isObject(a);  var isObjectB = isObject(b);  if (isObjectA && isObjectB) {    try {      var isArrayA = Array.isArray(a);      var isArrayB = Array.isArray(b);      if (isArrayA && isArrayB) {        return a.length === b.length && a.every(function (e, i) {          return looseEqual(e, b[i])        })      } else if (a instanceof Date && b instanceof Date) {        return a.getTime() === b.getTime()      } else if (!isArrayA && !isArrayB) {        var keysA = Object.keys(a);        var keysB = Object.keys(b);        return keysA.length === keysB.length && keysA.every(function (key) {          return looseEqual(a[key], b[key])        })      } else {        /* istanbul ignore next */        return false      }    } catch (e) {      /* istanbul ignore next */      return false    }  } else if (!isObjectA && !isObjectB) {    return String(a) === String(b)  } else {    return false  }}/** * Return the first index at which a loosely equal value can be * found in the array (if value is a plain object, the array must * contain an object of the same shape), or -1 if it is not present. */function looseIndexOf (arr, val) {  for (var i = 0; i < arr.length; i++) {    if (looseEqual(arr[i], val)) { return i }  }  return -1}/** * Ensure a function is called only once. */function once (fn) {  var called = false;  return function () {    if (!called) {      called = true;      fn.apply(this, arguments);    }  }}var ASSET_TYPES = [  'component',  'directive',  'filter'];var LIFECYCLE_HOOKS = [  'beforeCreate',  'created',  'beforeMount',  'mounted',  'beforeUpdate',  'updated',  'beforeDestroy',  'destroyed',  'activated',  'deactivated',  'errorCaptured',  'serverPrefetch'];/*  */var config = ({  /**   * Option merge strategies (used in core/util/options)   */  // $flow-disable-line  optionMergeStrategies: Object.create(null),  /**   * Whether to suppress warnings.   */  silent: false,  /**   * Show production mode tip message on boot?   */  productionTip: "development" !== 'production',  /**   * Whether to enable devtools   */  devtools: "development" !== 'production',  /**   * Whether to record perf   */  performance: false,  /**   * Error handler for watcher errors   */  errorHandler: null,  /**   * Warn handler for watcher warns   */  warnHandler: null,  /**   * Ignore certain custom elements   */  ignoredElements: [],  /**   * Custom user key aliases for v-on   */  // $flow-disable-line  keyCodes: Object.create(null),  /**   * Check if a tag is reserved so that it cannot be registered as a   * component. This is platform-dependent and may be overwritten.   */  isReservedTag: no,  /**   * Check if an attribute is reserved so that it cannot be used as a component   * prop. This is platform-dependent and may be overwritten.   */  isReservedAttr: no,  /**   * Check if a tag is an unknown element.   * Platform-dependent.   */  isUnknownElement: no,  /**   * Get the namespace of an element   */  getTagNamespace: noop,  /**   * Parse the real tag name for the specific platform.   */  parsePlatformTagName: identity,  /**   * Check if an attribute must be bound using property, e.g. value   * Platform-dependent.   */  mustUseProp: no,  /**   * Perform updates asynchronously. Intended to be used by Vue Test Utils   * This will significantly reduce performance if set to false.   */  async: true,  /**   * Exposed for legacy reasons   */  _lifecycleHooks: LIFECYCLE_HOOKS});/*  *//** * unicode letters used for parsing html tags, component names and property paths. * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname * skipping \u10000-\uEFFFF due to it freezing up PhantomJS */var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;/** * Check if a string starts with $ or _ */function isReserved (str) {  var c = (str + '').charCodeAt(0);  return c === 0x24 || c === 0x5F}/** * Define a property. */function def (obj, key, val, enumerable) {  Object.defineProperty(obj, key, {    value: val,    enumerable: !!enumerable,    writable: true,    configurable: true  });}/** * Parse simple path. */var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]"));function parsePath (path) {  if (bailRE.test(path)) {    return  }  var segments = path.split('.');  return function (obj) {    for (var i = 0; i < segments.length; i++) {      if (!obj) { return }      obj = obj[segments[i]];    }    return obj  }}/*  */// can we use __proto__?var hasProto = '__proto__' in {};// Browser environment sniffingvar inBrowser = typeof window !== 'undefined';var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();var UA = inBrowser && window.navigator.userAgent.toLowerCase();var isIE = UA && /msie|trident/.test(UA);var isIE9 = UA && UA.indexOf('msie 9.0') > 0;var isEdge = UA && UA.indexOf('edge/') > 0;var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge;var isPhantomJS = UA && /phantomjs/.test(UA);var isFF = UA && UA.match(/firefox\/(\d+)/);// Firefox has a "watch" function on Object.prototype...var nativeWatch = ({}).watch;if (inBrowser) {  try {    var opts = {};    Object.defineProperty(opts, 'passive', ({      get: function get () {      }    })); // https://github.com/facebook/flow/issues/285    window.addEventListener('test-passive', null, opts);  } catch (e) {}}// this needs to be lazy-evaled because vue may be required before// vue-server-renderer can set VUE_ENVvar _isServer;var isServerRendering = function () {  if (_isServer === undefined) {    /* istanbul ignore if */    if (!inBrowser && !inWeex && typeof global !== 'undefined') {      // detect presence of vue-server-renderer and avoid      // Webpack shimming the process      _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';    } else {      _isServer = false;    }  }  return _isServer};// detect devtoolsvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;/* istanbul ignore next */function isNative (Ctor) {  return typeof Ctor === 'function' && /native code/.test(Ctor.toString())}var hasSymbol =  typeof Symbol !== 'undefined' && isNative(Symbol) &&  typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);var _Set;/* istanbul ignore if */ // $flow-disable-lineif (typeof Set !== 'undefined' && isNative(Set)) {  // use native Set when available.  _Set = Set;} else {  // a non-standard Set polyfill that only works with primitive keys.  _Set = /*@__PURE__*/(function () {    function Set () {      this.set = Object.create(null);    }    Set.prototype.has = function has (key) {      return this.set[key] === true    };    Set.prototype.add = function add (key) {      this.set[key] = true;    };    Set.prototype.clear = function clear () {      this.set = Object.create(null);    };    return Set;  }());}/*  */var warn = noop;var tip = noop;var generateComponentTrace = (noop); // work around flow checkvar formatComponentName = (noop);if (true) {  var hasConsole = typeof console !== 'undefined';  var classifyRE = /(?:^|[-_])(\w)/g;  var classify = function (str) { return str    .replace(classifyRE, function (c) { return c.toUpperCase(); })    .replace(/[-_]/g, ''); };  warn = function (msg, vm) {    var trace = vm ? generateComponentTrace(vm) : '';    if (config.warnHandler) {      config.warnHandler.call(null, msg, vm, trace);    } else if (hasConsole && (!config.silent)) {      console.error(("[Vue warn]: " + msg + trace));    }  };  tip = function (msg, vm) {    if (hasConsole && (!config.silent)) {      console.warn("[Vue tip]: " + msg + (        vm ? generateComponentTrace(vm) : ''      ));    }  };  formatComponentName = function (vm, includeFile) {    if (vm.$root === vm) {      if (vm.$options && vm.$options.__file) { // fixed by xxxxxx        return ('') + vm.$options.__file      }      return '<Root>'    }    var options = typeof vm === 'function' && vm.cid != null      ? vm.options      : vm._isVue        ? vm.$options || vm.constructor.options        : vm;    var name = options.name || options._componentTag;    var file = options.__file;    if (!name && file) {      var match = file.match(/([^/\\]+)\.vue$/);      name = match && match[1];    }    return (      (name ? ("<" + (classify(name)) + ">") : "<Anonymous>") +      (file && includeFile !== false ? (" at " + file) : '')    )  };  var repeat = function (str, n) {    var res = '';    while (n) {      if (n % 2 === 1) { res += str; }      if (n > 1) { str += str; }      n >>= 1;    }    return res  };  generateComponentTrace = function (vm) {    if (vm._isVue && vm.$parent) {      var tree = [];      var currentRecursiveSequence = 0;      while (vm && vm.$options.name !== 'PageBody') {        if (tree.length > 0) {          var last = tree[tree.length - 1];          if (last.constructor === vm.constructor) {            currentRecursiveSequence++;            vm = vm.$parent;            continue          } else if (currentRecursiveSequence > 0) {            tree[tree.length - 1] = [last, currentRecursiveSequence];            currentRecursiveSequence = 0;          }        }        !vm.$options.isReserved && tree.push(vm);        vm = vm.$parent;      }      return '\n\nfound in\n\n' + tree        .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)            ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)")            : formatComponentName(vm))); })        .join('\n')    } else {      return ("\n\n(found in " + (formatComponentName(vm)) + ")")    }  };}/*  */var uid = 0;/** * A dep is an observable that can have multiple * directives subscribing to it. */var Dep = function Dep () {  this.id = uid++;  this.subs = [];};Dep.prototype.addSub = function addSub (sub) {  this.subs.push(sub);};Dep.prototype.removeSub = function removeSub (sub) {  remove(this.subs, sub);};Dep.prototype.depend = function depend () {  if (Dep.SharedObject.target) {    Dep.SharedObject.target.addDep(this);  }};Dep.prototype.notify = function notify () {  // stabilize the subscriber list first  var subs = this.subs.slice();  if ( true && !config.async) {    // subs aren't sorted in scheduler if not running async    // we need to sort them now to make sure they fire in correct    // order    subs.sort(function (a, b) { return a.id - b.id; });  }  for (var i = 0, l = subs.length; i < l; i++) {    subs[i].update();  }};// The current target watcher being evaluated.// This is globally unique because only one watcher// can be evaluated at a time.// fixed by xxxxxx (nvue shared vuex)/* eslint-disable no-undef */Dep.SharedObject = {};Dep.SharedObject.target = null;Dep.SharedObject.targetStack = [];function pushTarget (target) {  Dep.SharedObject.targetStack.push(target);  Dep.SharedObject.target = target;  Dep.target = target;}function popTarget () {  Dep.SharedObject.targetStack.pop();  Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];  Dep.target = Dep.SharedObject.target;}/*  */var VNode = function VNode (  tag,  data,  children,  text,  elm,  context,  componentOptions,  asyncFactory) {  this.tag = tag;  this.data = data;  this.children = children;  this.text = text;  this.elm = elm;  this.ns = undefined;  this.context = context;  this.fnContext = undefined;  this.fnOptions = undefined;  this.fnScopeId = undefined;  this.key = data && data.key;  this.componentOptions = componentOptions;  this.componentInstance = undefined;  this.parent = undefined;  this.raw = false;  this.isStatic = false;  this.isRootInsert = true;  this.isComment = false;  this.isCloned = false;  this.isOnce = false;  this.asyncFactory = asyncFactory;  this.asyncMeta = undefined;  this.isAsyncPlaceholder = false;};var prototypeAccessors = { child: { configurable: true } };// DEPRECATED: alias for componentInstance for backwards compat./* istanbul ignore next */prototypeAccessors.child.get = function () {  return this.componentInstance};Object.defineProperties( VNode.prototype, prototypeAccessors );var createEmptyVNode = function (text) {  if ( text === void 0 ) text = '';  var node = new VNode();  node.text = text;  node.isComment = true;  return node};function createTextVNode (val) {  return new VNode(undefined, undefined, undefined, String(val))}// optimized shallow clone// used for static nodes and slot nodes because they may be reused across// multiple renders, cloning them avoids errors when DOM manipulations rely// on their elm reference.function cloneVNode (vnode) {  var cloned = new VNode(    vnode.tag,    vnode.data,    // #7975    // clone children array to avoid mutating original in case of cloning    // a child.    vnode.children && vnode.children.slice(),    vnode.text,    vnode.elm,    vnode.context,    vnode.componentOptions,    vnode.asyncFactory  );  cloned.ns = vnode.ns;  cloned.isStatic = vnode.isStatic;  cloned.key = vnode.key;  cloned.isComment = vnode.isComment;  cloned.fnContext = vnode.fnContext;  cloned.fnOptions = vnode.fnOptions;  cloned.fnScopeId = vnode.fnScopeId;  cloned.asyncMeta = vnode.asyncMeta;  cloned.isCloned = true;  return cloned}/* * not type checking this file because flow doesn't play well with * dynamically accessing methods on Array prototype */var arrayProto = Array.prototype;var arrayMethods = Object.create(arrayProto);var methodsToPatch = [  'push',  'pop',  'shift',  'unshift',  'splice',  'sort',  'reverse'];/** * Intercept mutating methods and emit events */methodsToPatch.forEach(function (method) {  // cache original method  var original = arrayProto[method];  def(arrayMethods, method, function mutator () {    var args = [], len = arguments.length;    while ( len-- ) args[ len ] = arguments[ len ];    var result = original.apply(this, args);    var ob = this.__ob__;    var inserted;    switch (method) {      case 'push':      case 'unshift':        inserted = args;        break      case 'splice':        inserted = args.slice(2);        break    }    if (inserted) { ob.observeArray(inserted); }    // notify change    ob.dep.notify();    return result  });});/*  */var arrayKeys = Object.getOwnPropertyNames(arrayMethods);/** * In some cases we may want to disable observation inside a component's * update computation. */var shouldObserve = true;function toggleObserving (value) {  shouldObserve = value;}/** * Observer class that is attached to each observed * object. Once attached, the observer converts the target * object's property keys into getter/setters that * collect dependencies and dispatch updates. */var Observer = function Observer (value) {  this.value = value;  this.dep = new Dep();  this.vmCount = 0;  def(value, '__ob__', this);  if (Array.isArray(value)) {    if (hasProto) {      {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑        if(value.push !== value.__proto__.push){          copyAugment(value, arrayMethods, arrayKeys);        } else {          protoAugment(value, arrayMethods);        }      }    } else {      copyAugment(value, arrayMethods, arrayKeys);    }    this.observeArray(value);  } else {    this.walk(value);  }};/** * Walk through all properties and convert them into * getter/setters. This method should only be called when * value type is Object. */Observer.prototype.walk = function walk (obj) {  var keys = Object.keys(obj);  for (var i = 0; i < keys.length; i++) {    defineReactive$$1(obj, keys[i]);  }};/** * Observe a list of Array items. */Observer.prototype.observeArray = function observeArray (items) {  for (var i = 0, l = items.length; i < l; i++) {    observe(items[i]);  }};// helpers/** * Augment a target Object or Array by intercepting * the prototype chain using __proto__ */function protoAugment (target, src) {  /* eslint-disable no-proto */  target.__proto__ = src;  /* eslint-enable no-proto */}/** * Augment a target Object or Array by defining * hidden properties. *//* istanbul ignore next */function copyAugment (target, src, keys) {  for (var i = 0, l = keys.length; i < l; i++) {    var key = keys[i];    def(target, key, src[key]);  }}/** * Attempt to create an observer instance for a value, * returns the new observer if successfully observed, * or the existing observer if the value already has one. */function observe (value, asRootData) {  if (!isObject(value) || value instanceof VNode) {    return  }  var ob;  if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {    ob = value.__ob__;  } else if (    shouldObserve &&    !isServerRendering() &&    (Array.isArray(value) || isPlainObject(value)) &&    Object.isExtensible(value) &&    !value._isVue &&    !value.__v_isMPComponent  ) {    ob = new Observer(value);  }  if (asRootData && ob) {    ob.vmCount++;  }  return ob}/** * Define a reactive property on an Object. */function defineReactive$$1 (  obj,  key,  val,  customSetter,  shallow) {  var dep = new Dep();  var property = Object.getOwnPropertyDescriptor(obj, key);  if (property && property.configurable === false) {    return  }  // cater for pre-defined getter/setters  var getter = property && property.get;  var setter = property && property.set;  if ((!getter || setter) && arguments.length === 2) {    val = obj[key];  }  var childOb = !shallow && observe(val);  Object.defineProperty(obj, key, {    enumerable: true,    configurable: true,    get: function reactiveGetter () {      var value = getter ? getter.call(obj) : val;      if (Dep.SharedObject.target) { // fixed by xxxxxx        dep.depend();        if (childOb) {          childOb.dep.depend();          if (Array.isArray(value)) {            dependArray(value);          }        }      }      return value    },    set: function reactiveSetter (newVal) {      var value = getter ? getter.call(obj) : val;      /* eslint-disable no-self-compare */      if (newVal === value || (newVal !== newVal && value !== value)) {        return      }      /* eslint-enable no-self-compare */      if ( true && customSetter) {        customSetter();      }      // #7981: for accessor properties without setter      if (getter && !setter) { return }      if (setter) {        setter.call(obj, newVal);      } else {        val = newVal;      }      childOb = !shallow && observe(newVal);      dep.notify();    }  });}/** * Set a property on an object. Adds the new property and * triggers change notification if the property doesn't * already exist. */function set (target, key, val) {  if ( true &&    (isUndef(target) || isPrimitive(target))  ) {    warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target))));  }  if (Array.isArray(target) && isValidArrayIndex(key)) {    target.length = Math.max(target.length, key);    target.splice(key, 1, val);    return val  }  if (key in target && !(key in Object.prototype)) {    target[key] = val;    return val  }  var ob = (target).__ob__;  if (target._isVue || (ob && ob.vmCount)) {     true && warn(      'Avoid adding reactive properties to a Vue instance or its root $data ' +      'at runtime - declare it upfront in the data option.'    );    return val  }  if (!ob) {    target[key] = val;    return val  }  defineReactive$$1(ob.value, key, val);  ob.dep.notify();  return val}/** * Delete a property and trigger change if necessary. */function del (target, key) {  if ( true &&    (isUndef(target) || isPrimitive(target))  ) {    warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target))));  }  if (Array.isArray(target) && isValidArrayIndex(key)) {    target.splice(key, 1);    return  }  var ob = (target).__ob__;  if (target._isVue || (ob && ob.vmCount)) {     true && warn(      'Avoid deleting properties on a Vue instance or its root $data ' +      '- just set it to null.'    );    return  }  if (!hasOwn(target, key)) {    return  }  delete target[key];  if (!ob) {    return  }  ob.dep.notify();}/** * Collect dependencies on array elements when the array is touched, since * we cannot intercept array element access like property getters. */function dependArray (value) {  for (var e = (void 0), i = 0, l = value.length; i < l; i++) {    e = value[i];    e && e.__ob__ && e.__ob__.dep.depend();    if (Array.isArray(e)) {      dependArray(e);    }  }}/*  *//** * Option overwriting strategies are functions that handle * how to merge a parent option value and a child option * value into the final value. */var strats = config.optionMergeStrategies;/** * Options with restrictions */if (true) {  strats.el = strats.propsData = function (parent, child, vm, key) {    if (!vm) {      warn(        "option \"" + key + "\" can only be used during instance " +        'creation with the `new` keyword.'      );    }    return defaultStrat(parent, child)  };}/** * Helper that recursively merges two data objects together. */function mergeData (to, from) {  if (!from) { return to }  var key, toVal, fromVal;  var keys = hasSymbol    ? Reflect.ownKeys(from)    : Object.keys(from);  for (var i = 0; i < keys.length; i++) {    key = keys[i];    // in case the object is already observed...    if (key === '__ob__') { continue }    toVal = to[key];    fromVal = from[key];    if (!hasOwn(to, key)) {      set(to, key, fromVal);    } else if (      toVal !== fromVal &&      isPlainObject(toVal) &&      isPlainObject(fromVal)    ) {      mergeData(toVal, fromVal);    }  }  return to}/** * Data */function mergeDataOrFn (  parentVal,  childVal,  vm) {  if (!vm) {    // in a Vue.extend merge, both should be functions    if (!childVal) {      return parentVal    }    if (!parentVal) {      return childVal    }    // when parentVal & childVal are both present,    // we need to return a function that returns the    // merged result of both functions... no need to    // check if parentVal is a function here because    // it has to be a function to pass previous merges.    return function mergedDataFn () {      return mergeData(        typeof childVal === 'function' ? childVal.call(this, this) : childVal,        typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal      )    }  } else {    return function mergedInstanceDataFn () {      // instance merge      var instanceData = typeof childVal === 'function'        ? childVal.call(vm, vm)        : childVal;      var defaultData = typeof parentVal === 'function'        ? parentVal.call(vm, vm)        : parentVal;      if (instanceData) {        return mergeData(instanceData, defaultData)      } else {        return defaultData      }    }  }}strats.data = function (  parentVal,  childVal,  vm) {  if (!vm) {    if (childVal && typeof childVal !== 'function') {       true && warn(        'The "data" option should be a function ' +        'that returns a per-instance value in component ' +        'definitions.',        vm      );      return parentVal    }    return mergeDataOrFn(parentVal, childVal)  }  return mergeDataOrFn(parentVal, childVal, vm)};/** * Hooks and props are merged as arrays. */function mergeHook (  parentVal,  childVal) {  var res = childVal    ? parentVal      ? parentVal.concat(childVal)      : Array.isArray(childVal)        ? childVal        : [childVal]    : parentVal;  return res    ? dedupeHooks(res)    : res}function dedupeHooks (hooks) {  var res = [];  for (var i = 0; i < hooks.length; i++) {    if (res.indexOf(hooks[i]) === -1) {      res.push(hooks[i]);    }  }  return res}LIFECYCLE_HOOKS.forEach(function (hook) {  strats[hook] = mergeHook;});/** * Assets * * When a vm is present (instance creation), we need to do * a three-way merge between constructor options, instance * options and parent options. */function mergeAssets (  parentVal,  childVal,  vm,  key) {  var res = Object.create(parentVal || null);  if (childVal) {     true && assertObjectType(key, childVal, vm);    return extend(res, childVal)  } else {    return res  }}ASSET_TYPES.forEach(function (type) {  strats[type + 's'] = mergeAssets;});/** * Watchers. * * Watchers hashes should not overwrite one * another, so we merge them as arrays. */strats.watch = function (  parentVal,  childVal,  vm,  key) {  // work around Firefox's Object.prototype.watch...  if (parentVal === nativeWatch) { parentVal = undefined; }  if (childVal === nativeWatch) { childVal = undefined; }  /* istanbul ignore if */  if (!childVal) { return Object.create(parentVal || null) }  if (true) {    assertObjectType(key, childVal, vm);  }  if (!parentVal) { return childVal }  var ret = {};  extend(ret, parentVal);  for (var key$1 in childVal) {    var parent = ret[key$1];    var child = childVal[key$1];    if (parent && !Array.isArray(parent)) {      parent = [parent];    }    ret[key$1] = parent      ? parent.concat(child)      : Array.isArray(child) ? child : [child];  }  return ret};/** * Other object hashes. */strats.props =strats.methods =strats.inject =strats.computed = function (  parentVal,  childVal,  vm,  key) {  if (childVal && "development" !== 'production') {    assertObjectType(key, childVal, vm);  }  if (!parentVal) { return childVal }  var ret = Object.create(null);  extend(ret, parentVal);  if (childVal) { extend(ret, childVal); }  return ret};strats.provide = mergeDataOrFn;/** * Default strategy. */var defaultStrat = function (parentVal, childVal) {  return childVal === undefined    ? parentVal    : childVal};/** * Validate component names */function checkComponents (options) {  for (var key in options.components) {    validateComponentName(key);  }}function validateComponentName (name) {  if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) {    warn(      'Invalid component name: "' + name + '". Component names ' +      'should conform to valid custom element name in html5 specification.'    );  }  if (isBuiltInTag(name) || config.isReservedTag(name)) {    warn(      'Do not use built-in or reserved HTML elements as component ' +      'id: ' + name    );  }}/** * Ensure all props option syntax are normalized into the * Object-based format. */function normalizeProps (options, vm) {  var props = options.props;  if (!props) { return }  var res = {};  var i, val, name;  if (Array.isArray(props)) {    i = props.length;    while (i--) {      val = props[i];      if (typeof val === 'string') {        name = camelize(val);        res[name] = { type: null };      } else if (true) {        warn('props must be strings when using array syntax.');      }    }  } else if (isPlainObject(props)) {    for (var key in props) {      val = props[key];      name = camelize(key);      res[name] = isPlainObject(val)        ? val        : { type: val };    }  } else if (true) {    warn(      "Invalid value for option \"props\": expected an Array or an Object, " +      "but got " + (toRawType(props)) + ".",      vm    );  }  options.props = res;}/** * Normalize all injections into Object-based format */function normalizeInject (options, vm) {  var inject = options.inject;  if (!inject) { return }  var normalized = options.inject = {};  if (Array.isArray(inject)) {    for (var i = 0; i < inject.length; i++) {      normalized[inject[i]] = { from: inject[i] };    }  } else if (isPlainObject(inject)) {    for (var key in inject) {      var val = inject[key];      normalized[key] = isPlainObject(val)        ? extend({ from: key }, val)        : { from: val };    }  } else if (true) {    warn(      "Invalid value for option \"inject\": expected an Array or an Object, " +      "but got " + (toRawType(inject)) + ".",      vm    );  }}/** * Normalize raw function directives into object format. */function normalizeDirectives (options) {  var dirs = options.directives;  if (dirs) {    for (var key in dirs) {      var def$$1 = dirs[key];      if (typeof def$$1 === 'function') {        dirs[key] = { bind: def$$1, update: def$$1 };      }    }  }}function assertObjectType (name, value, vm) {  if (!isPlainObject(value)) {    warn(      "Invalid value for option \"" + name + "\": expected an Object, " +      "but got " + (toRawType(value)) + ".",      vm    );  }}/** * Merge two option objects into a new one. * Core utility used in both instantiation and inheritance. */function mergeOptions (  parent,  child,  vm) {  if (true) {    checkComponents(child);  }  if (typeof child === 'function') {    child = child.options;  }  normalizeProps(child, vm);  normalizeInject(child, vm);  normalizeDirectives(child);  // Apply extends and mixins on the child options,  // but only if it is a raw options object that isn't  // the result of another mergeOptions call.  // Only merged options has the _base property.  if (!child._base) {    if (child.extends) {      parent = mergeOptions(parent, child.extends, vm);    }    if (child.mixins) {      for (var i = 0, l = child.mixins.length; i < l; i++) {        parent = mergeOptions(parent, child.mixins[i], vm);      }    }  }  var options = {};  var key;  for (key in parent) {    mergeField(key);  }  for (key in child) {    if (!hasOwn(parent, key)) {      mergeField(key);    }  }  function mergeField (key) {    var strat = strats[key] || defaultStrat;    options[key] = strat(parent[key], child[key], vm, key);  }  return options}/** * Resolve an asset. * This function is used because child instances need access * to assets defined in its ancestor chain. */function resolveAsset (  options,  type,  id,  warnMissing) {  /* istanbul ignore if */  if (typeof id !== 'string') {    return  }  var assets = options[type];  // check local registration variations first  if (hasOwn(assets, id)) { return assets[id] }  var camelizedId = camelize(id);  if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }  var PascalCaseId = capitalize(camelizedId);  if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }  // fallback to prototype chain  var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];  if ( true && warnMissing && !res) {    warn(      'Failed to resolve ' + type.slice(0, -1) + ': ' + id,      options    );  }  return res}/*  */function validateProp (  key,  propOptions,  propsData,  vm) {  var prop = propOptions[key];  var absent = !hasOwn(propsData, key);  var value = propsData[key];  // boolean casting  var booleanIndex = getTypeIndex(Boolean, prop.type);  if (booleanIndex > -1) {    if (absent && !hasOwn(prop, 'default')) {      value = false;    } else if (value === '' || value === hyphenate(key)) {      // only cast empty string / same name to boolean if      // boolean has higher priority      var stringIndex = getTypeIndex(String, prop.type);      if (stringIndex < 0 || booleanIndex < stringIndex) {        value = true;      }    }  }  // check default value  if (value === undefined) {    value = getPropDefaultValue(vm, prop, key);    // since the default value is a fresh copy,    // make sure to observe it.    var prevShouldObserve = shouldObserve;    toggleObserving(true);    observe(value);    toggleObserving(prevShouldObserve);  }  if (    true  ) {    assertProp(prop, key, value, vm, absent);  }  return value}/** * Get the default value of a prop. */function getPropDefaultValue (vm, prop, key) {  // no default, return undefined  if (!hasOwn(prop, 'default')) {    return undefined  }  var def = prop.default;  // warn against non-factory defaults for Object & Array  if ( true && isObject(def)) {    warn(      'Invalid default value for prop "' + key + '": ' +      'Props with type Object/Array must use a factory function ' +      'to return the default value.',      vm    );  }  // the raw prop value was also undefined from previous render,  // return previous default value to avoid unnecessary watcher trigger  if (vm && vm.$options.propsData &&    vm.$options.propsData[key] === undefined &&    vm._props[key] !== undefined  ) {    return vm._props[key]  }  // call factory function for non-Function types  // a value is Function if its prototype is function even across different execution context  return typeof def === 'function' && getType(prop.type) !== 'Function'    ? def.call(vm)    : def}/** * Assert whether a prop is valid. */function assertProp (  prop,  name,  value,  vm,  absent) {  if (prop.required && absent) {    warn(      'Missing required prop: "' + name + '"',      vm    );    return  }  if (value == null && !prop.required) {    return  }  var type = prop.type;  var valid = !type || type === true;  var expectedTypes = [];  if (type) {    if (!Array.isArray(type)) {      type = [type];    }    for (var i = 0; i < type.length && !valid; i++) {      var assertedType = assertType(value, type[i]);      expectedTypes.push(assertedType.expectedType || '');      valid = assertedType.valid;    }  }  if (!valid) {    warn(      getInvalidTypeMessage(name, value, expectedTypes),      vm    );    return  }  var validator = prop.validator;  if (validator) {    if (!validator(value)) {      warn(        'Invalid prop: custom validator check failed for prop "' + name + '".',        vm      );    }  }}var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;function assertType (value, type) {  var valid;  var expectedType = getType(type);  if (simpleCheckRE.test(expectedType)) {    var t = typeof value;    valid = t === expectedType.toLowerCase();    // for primitive wrapper objects    if (!valid && t === 'object') {      valid = value instanceof type;    }  } else if (expectedType === 'Object') {    valid = isPlainObject(value);  } else if (expectedType === 'Array') {    valid = Array.isArray(value);  } else {    valid = value instanceof type;  }  return {    valid: valid,    expectedType: expectedType  }}/** * Use function string name to check built-in types, * because a simple equality check will fail when running * across different vms / iframes. */function getType (fn) {  var match = fn && fn.toString().match(/^\s*function (\w+)/);  return match ? match[1] : ''}function isSameType (a, b) {  return getType(a) === getType(b)}function getTypeIndex (type, expectedTypes) {  if (!Array.isArray(expectedTypes)) {    return isSameType(expectedTypes, type) ? 0 : -1  }  for (var i = 0, len = expectedTypes.length; i < len; i++) {    if (isSameType(expectedTypes[i], type)) {      return i    }  }  return -1}function getInvalidTypeMessage (name, value, expectedTypes) {  var message = "Invalid prop: type check failed for prop \"" + name + "\"." +    " Expected " + (expectedTypes.map(capitalize).join(', '));  var expectedType = expectedTypes[0];  var receivedType = toRawType(value);  var expectedValue = styleValue(value, expectedType);  var receivedValue = styleValue(value, receivedType);  // check if we need to specify expected value  if (expectedTypes.length === 1 &&      isExplicable(expectedType) &&      !isBoolean(expectedType, receivedType)) {    message += " with value " + expectedValue;  }  message += ", got " + receivedType + " ";  // check if we need to specify received value  if (isExplicable(receivedType)) {    message += "with value " + receivedValue + ".";  }  return message}function styleValue (value, type) {  if (type === 'String') {    return ("\"" + value + "\"")  } else if (type === 'Number') {    return ("" + (Number(value)))  } else {    return ("" + value)  }}function isExplicable (value) {  var explicitTypes = ['string', 'number', 'boolean'];  return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })}function isBoolean () {  var args = [], len = arguments.length;  while ( len-- ) args[ len ] = arguments[ len ];  return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })}/*  */function handleError (err, vm, info) {  // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.  // See: https://github.com/vuejs/vuex/issues/1505  pushTarget();  try {    if (vm) {      var cur = vm;      while ((cur = cur.$parent)) {        var hooks = cur.$options.errorCaptured;        if (hooks) {          for (var i = 0; i < hooks.length; i++) {            try {              var capture = hooks[i].call(cur, err, vm, info) === false;              if (capture) { return }            } catch (e) {              globalHandleError(e, cur, 'errorCaptured hook');            }          }        }      }    }    globalHandleError(err, vm, info);  } finally {    popTarget();  }}function invokeWithErrorHandling (  handler,  context,  args,  vm,  info) {  var res;  try {    res = args ? handler.apply(context, args) : handler.call(context);    if (res && !res._isVue && isPromise(res) && !res._handled) {      res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); });      // issue #9511      // avoid catch triggering multiple times when nested calls      res._handled = true;    }  } catch (e) {    handleError(e, vm, info);  }  return res}function globalHandleError (err, vm, info) {  if (config.errorHandler) {    try {      return config.errorHandler.call(null, err, vm, info)    } catch (e) {      // if the user intentionally throws the original error in the handler,      // do not log it twice      if (e !== err) {        logError(e, null, 'config.errorHandler');      }    }  }  logError(err, vm, info);}function logError (err, vm, info) {  if (true) {    warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);  }  /* istanbul ignore else */  if ((inBrowser || inWeex) && typeof console !== 'undefined') {    console.error(err);  } else {    throw err  }}/*  */var callbacks = [];var pending = false;function flushCallbacks () {  pending = false;  var copies = callbacks.slice(0);  callbacks.length = 0;  for (var i = 0; i < copies.length; i++) {    copies[i]();  }}// Here we have async deferring wrappers using microtasks.// In 2.5 we used (macro) tasks (in combination with microtasks).// However, it has subtle problems when state is changed right before repaint// (e.g. #6813, out-in transitions).// Also, using (macro) tasks in event handler would cause some weird behaviors// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).// So we now use microtasks everywhere, again.// A major drawback of this tradeoff is that there are some scenarios// where microtasks have too high a priority and fire in between supposedly// sequential events (e.g. #4521, #6690, which have workarounds)// or even between bubbling of the same event (#6566).var timerFunc;// The nextTick behavior leverages the microtask queue, which can be accessed// via either native Promise.then or MutationObserver.// MutationObserver has wider support, however it is seriously bugged in// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It// completely stops working after triggering a few times... so, if native// Promise is available, we will use it:/* istanbul ignore next, $flow-disable-line */if (typeof Promise !== 'undefined' && isNative(Promise)) {  var p = Promise.resolve();  timerFunc = function () {    p.then(flushCallbacks);    // In problematic UIWebViews, Promise.then doesn't completely break, but    // it can get stuck in a weird state where callbacks are pushed into the    // microtask queue but the queue isn't being flushed, until the browser    // needs to do some other work, e.g. handle a timer. Therefore we can    // "force" the microtask queue to be flushed by adding an empty timer.    if (isIOS) { setTimeout(noop); }  };} else if (!isIE && typeof MutationObserver !== 'undefined' && (  isNative(MutationObserver) ||  // PhantomJS and iOS 7.x  MutationObserver.toString() === '[object MutationObserverConstructor]')) {  // Use MutationObserver where native Promise is not available,  // e.g. PhantomJS, iOS7, Android 4.4  // (#6466 MutationObserver is unreliable in IE11)  var counter = 1;  var observer = new MutationObserver(flushCallbacks);  var textNode = document.createTextNode(String(counter));  observer.observe(textNode, {    characterData: true  });  timerFunc = function () {    counter = (counter + 1) % 2;    textNode.data = String(counter);  };} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {  // Fallback to setImmediate.  // Technically it leverages the (macro) task queue,  // but it is still a better choice than setTimeout.  timerFunc = function () {    setImmediate(flushCallbacks);  };} else {  // Fallback to setTimeout.  timerFunc = function () {    setTimeout(flushCallbacks, 0);  };}function nextTick (cb, ctx) {  var _resolve;  callbacks.push(function () {    if (cb) {      try {        cb.call(ctx);      } catch (e) {        handleError(e, ctx, 'nextTick');      }    } else if (_resolve) {      _resolve(ctx);    }  });  if (!pending) {    pending = true;    timerFunc();  }  // $flow-disable-line  if (!cb && typeof Promise !== 'undefined') {    return new Promise(function (resolve) {      _resolve = resolve;    })  }}/*  *//* not type checking this file because flow doesn't play well with Proxy */var initProxy;if (true) {  var allowedGlobals = makeMap(    'Infinity,undefined,NaN,isFinite,isNaN,' +    'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +    'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +    'require' // for Webpack/Browserify  );  var warnNonPresent = function (target, key) {    warn(      "Property or method \"" + key + "\" is not defined on the instance but " +      'referenced during render. Make sure that this property is reactive, ' +      'either in the data option, or for class-based components, by ' +      'initializing the property. ' +      'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',      target    );  };  var warnReservedPrefix = function (target, key) {    warn(      "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " +      'properties starting with "$" or "_" are not proxied in the Vue instance to ' +      'prevent conflicts with Vue internals. ' +      'See: https://vuejs.org/v2/api/#data',      target    );  };  var hasProxy =    typeof Proxy !== 'undefined' && isNative(Proxy);  if (hasProxy) {    var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');    config.keyCodes = new Proxy(config.keyCodes, {      set: function set (target, key, value) {        if (isBuiltInModifier(key)) {          warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key));          return false        } else {          target[key] = value;          return true        }      }    });  }  var hasHandler = {    has: function has (target, key) {      var has = key in target;      var isAllowed = allowedGlobals(key) ||        (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));      if (!has && !isAllowed) {        if (key in target.$data) { warnReservedPrefix(target, key); }        else { warnNonPresent(target, key); }      }      return has || !isAllowed    }  };  var getHandler = {    get: function get (target, key) {      if (typeof key === 'string' && !(key in target)) {        if (key in target.$data) { warnReservedPrefix(target, key); }        else { warnNonPresent(target, key); }      }      return target[key]    }  };  initProxy = function initProxy (vm) {    if (hasProxy) {      // determine which proxy handler to use      var options = vm.$options;      var handlers = options.render && options.render._withStripped        ? getHandler        : hasHandler;      vm._renderProxy = new Proxy(vm, handlers);    } else {      vm._renderProxy = vm;    }  };}/*  */var seenObjects = new _Set();/** * Recursively traverse an object to evoke all converted * getters, so that every nested property inside the object * is collected as a "deep" dependency. */function traverse (val) {  _traverse(val, seenObjects);  seenObjects.clear();}function _traverse (val, seen) {  var i, keys;  var isA = Array.isArray(val);  if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {    return  }  if (val.__ob__) {    var depId = val.__ob__.dep.id;    if (seen.has(depId)) {      return    }    seen.add(depId);  }  if (isA) {    i = val.length;    while (i--) { _traverse(val[i], seen); }  } else {    keys = Object.keys(val);    i = keys.length;    while (i--) { _traverse(val[keys[i]], seen); }  }}var mark;var measure;if (true) {  var perf = inBrowser && window.performance;  /* istanbul ignore if */  if (    perf &&    perf.mark &&    perf.measure &&    perf.clearMarks &&    perf.clearMeasures  ) {    mark = function (tag) { return perf.mark(tag); };    measure = function (name, startTag, endTag) {      perf.measure(name, startTag, endTag);      perf.clearMarks(startTag);      perf.clearMarks(endTag);      // perf.clearMeasures(name)    };  }}/*  */var normalizeEvent = cached(function (name) {  var passive = name.charAt(0) === '&';  name = passive ? name.slice(1) : name;  var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first  name = once$$1 ? name.slice(1) : name;  var capture = name.charAt(0) === '!';  name = capture ? name.slice(1) : name;  return {    name: name,    once: once$$1,    capture: capture,    passive: passive  }});function createFnInvoker (fns, vm) {  function invoker () {    var arguments$1 = arguments;    var fns = invoker.fns;    if (Array.isArray(fns)) {      var cloned = fns.slice();      for (var i = 0; i < cloned.length; i++) {        invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler");      }    } else {      // return handler return value for single handlers      return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler")    }  }  invoker.fns = fns;  return invoker}function updateListeners (  on,  oldOn,  add,  remove$$1,  createOnceHandler,  vm) {  var name, def$$1, cur, old, event;  for (name in on) {    def$$1 = cur = on[name];    old = oldOn[name];    event = normalizeEvent(name);    if (isUndef(cur)) {       true && warn(        "Invalid handler for event \"" + (event.name) + "\": got " + String(cur),        vm      );    } else if (isUndef(old)) {      if (isUndef(cur.fns)) {        cur = on[name] = createFnInvoker(cur, vm);      }      if (isTrue(event.once)) {        cur = on[name] = createOnceHandler(event.name, cur, event.capture);      }      add(event.name, cur, event.capture, event.passive, event.params);    } else if (cur !== old) {      old.fns = cur;      on[name] = old;    }  }  for (name in oldOn) {    if (isUndef(on[name])) {      event = normalizeEvent(name);      remove$$1(event.name, oldOn[name], event.capture);    }  }}/*  *//*  */// fixed by xxxxxx (mp properties)function extractPropertiesFromVNodeData(data, Ctor, res, context) {  var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;  if (isUndef(propOptions)) {    return res  }  var externalClasses = Ctor.options.mpOptions.externalClasses || [];  var attrs = data.attrs;  var props = data.props;  if (isDef(attrs) || isDef(props)) {    for (var key in propOptions) {      var altKey = hyphenate(key);      var result = checkProp(res, props, key, altKey, true) ||          checkProp(res, attrs, key, altKey, false);      // externalClass      if (        result &&        res[key] &&        externalClasses.indexOf(altKey) !== -1 &&        context[camelize(res[key])]      ) {        // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)        res[key] = context[camelize(res[key])];      }    }  }  return res}function extractPropsFromVNodeData (  data,  Ctor,  tag,  context// fixed by xxxxxx) {  // we are only extracting raw values here.  // validation and default values are handled in the child  // component itself.  var propOptions = Ctor.options.props;  if (isUndef(propOptions)) {    // fixed by xxxxxx    return extractPropertiesFromVNodeData(data, Ctor, {}, context)  }  var res = {};  var attrs = data.attrs;  var props = data.props;  if (isDef(attrs) || isDef(props)) {    for (var key in propOptions) {      var altKey = hyphenate(key);      if (true) {        var keyInLowerCase = key.toLowerCase();        if (          key !== keyInLowerCase &&          attrs && hasOwn(attrs, keyInLowerCase)        ) {          tip(            "Prop \"" + keyInLowerCase + "\" is passed to component " +            (formatComponentName(tag || Ctor)) + ", but the declared prop name is" +            " \"" + key + "\". " +            "Note that HTML attributes are case-insensitive and camelCased " +            "props need to use their kebab-case equivalents when using in-DOM " +            "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"."          );        }      }      checkProp(res, props, key, altKey, true) ||      checkProp(res, attrs, key, altKey, false);    }  }  // fixed by xxxxxx  return extractPropertiesFromVNodeData(data, Ctor, res, context)}function checkProp (  res,  hash,  key,  altKey,  preserve) {  if (isDef(hash)) {    if (hasOwn(hash, key)) {      res[key] = hash[key];      if (!preserve) {        delete hash[key];      }      return true    } else if (hasOwn(hash, altKey)) {      res[key] = hash[altKey];      if (!preserve) {        delete hash[altKey];      }      return true    }  }  return false}/*  */// The template compiler attempts to minimize the need for normalization by// statically analyzing the template at compile time.//// For plain HTML markup, normalization can be completely skipped because the// generated render function is guaranteed to return Array<VNode>. There are// two cases where extra normalization is needed:// 1. When the children contains components - because a functional component// may return an Array instead of a single root. In this case, just a simple// normalization is needed - if any child is an Array, we flatten the whole// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep// because functional components already normalize their own children.function simpleNormalizeChildren (children) {  for (var i = 0; i < children.length; i++) {    if (Array.isArray(children[i])) {      return Array.prototype.concat.apply([], children)    }  }  return children}// 2. When the children contains constructs that always generated nested Arrays,// e.g. <template>, <slot>, v-for, or when the children is provided by user// with hand-written render functions / JSX. In such cases a full normalization// is needed to cater to all possible types of children values.function normalizeChildren (children) {  return isPrimitive(children)    ? [createTextVNode(children)]    : Array.isArray(children)      ? normalizeArrayChildren(children)      : undefined}function isTextNode (node) {  return isDef(node) && isDef(node.text) && isFalse(node.isComment)}function normalizeArrayChildren (children, nestedIndex) {  var res = [];  var i, c, lastIndex, last;  for (i = 0; i < children.length; i++) {    c = children[i];    if (isUndef(c) || typeof c === 'boolean') { continue }    lastIndex = res.length - 1;    last = res[lastIndex];    //  nested    if (Array.isArray(c)) {      if (c.length > 0) {        c = normalizeArrayChildren(c, ((nestedIndex || '') + "_" + i));        // merge adjacent text nodes        if (isTextNode(c[0]) && isTextNode(last)) {          res[lastIndex] = createTextVNode(last.text + (c[0]).text);          c.shift();        }        res.push.apply(res, c);      }    } else if (isPrimitive(c)) {      if (isTextNode(last)) {        // merge adjacent text nodes        // this is necessary for SSR hydration because text nodes are        // essentially merged when rendered to HTML strings        res[lastIndex] = createTextVNode(last.text + c);      } else if (c !== '') {        // convert primitive to vnode        res.push(createTextVNode(c));      }    } else {      if (isTextNode(c) && isTextNode(last)) {        // merge adjacent text nodes        res[lastIndex] = createTextVNode(last.text + c.text);      } else {        // default key for nested array children (likely generated by v-for)        if (isTrue(children._isVList) &&          isDef(c.tag) &&          isUndef(c.key) &&          isDef(nestedIndex)) {          c.key = "__vlist" + nestedIndex + "_" + i + "__";        }        res.push(c);      }    }  }  return res}/*  */function initProvide (vm) {  var provide = vm.$options.provide;  if (provide) {    vm._provided = typeof provide === 'function'      ? provide.call(vm)      : provide;  }}function initInjections (vm) {  var result = resolveInject(vm.$options.inject, vm);  if (result) {    toggleObserving(false);    Object.keys(result).forEach(function (key) {      /* istanbul ignore else */      if (true) {        defineReactive$$1(vm, key, result[key], function () {          warn(            "Avoid mutating an injected value directly since the changes will be " +            "overwritten whenever the provided component re-renders. " +            "injection being mutated: \"" + key + "\"",            vm          );        });      } else {}    });    toggleObserving(true);  }}function resolveInject (inject, vm) {  if (inject) {    // inject is :any because flow is not smart enough to figure out cached    var result = Object.create(null);    var keys = hasSymbol      ? Reflect.ownKeys(inject)      : Object.keys(inject);    for (var i = 0; i < keys.length; i++) {      var key = keys[i];      // #6574 in case the inject object is observed...      if (key === '__ob__') { continue }      var provideKey = inject[key].from;      var source = vm;      while (source) {        if (source._provided && hasOwn(source._provided, provideKey)) {          result[key] = source._provided[provideKey];          break        }        source = source.$parent;      }      if (!source) {        if ('default' in inject[key]) {          var provideDefault = inject[key].default;          result[key] = typeof provideDefault === 'function'            ? provideDefault.call(vm)            : provideDefault;        } else if (true) {          warn(("Injection \"" + key + "\" not found"), vm);        }      }    }    return result  }}/*  *//** * Runtime helper for resolving raw children VNodes into a slot object. */function resolveSlots (  children,  context) {  if (!children || !children.length) {    return {}  }  var slots = {};  for (var i = 0, l = children.length; i < l; i++) {    var child = children[i];    var data = child.data;    // remove slot attribute if the node is resolved as a Vue slot node    if (data && data.attrs && data.attrs.slot) {      delete data.attrs.slot;    }    // named slots should only be respected if the vnode was rendered in the    // same context.    if ((child.context === context || child.fnContext === context) &&      data && data.slot != null    ) {      var name = data.slot;      var slot = (slots[name] || (slots[name] = []));      if (child.tag === 'template') {        slot.push.apply(slot, child.children || []);      } else {        slot.push(child);      }    } else {      // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page      if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){        (slots['page'] || (slots['page'] = [])).push(child);      }else{        (slots.default || (slots.default = [])).push(child);      }    }  }  // ignore slots that contains only whitespace  for (var name$1 in slots) {    if (slots[name$1].every(isWhitespace)) {      delete slots[name$1];    }  }  return slots}function isWhitespace (node) {  return (node.isComment && !node.asyncFactory) || node.text === ' '}/*  */function normalizeScopedSlots (  slots,  normalSlots,  prevSlots) {  var res;  var hasNormalSlots = Object.keys(normalSlots).length > 0;  var isStable = slots ? !!slots.$stable : !hasNormalSlots;  var key = slots && slots.$key;  if (!slots) {    res = {};  } else if (slots._normalized) {    // fast path 1: child component re-render only, parent did not change    return slots._normalized  } else if (    isStable &&    prevSlots &&    prevSlots !== emptyObject &&    key === prevSlots.$key &&    !hasNormalSlots &&    !prevSlots.$hasNormal  ) {    // fast path 2: stable scoped slots w/ no normal slots to proxy,    // only need to normalize once    return prevSlots  } else {    res = {};    for (var key$1 in slots) {      if (slots[key$1] && key$1[0] !== '$') {        res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);      }    }  }  // expose normal slots on scopedSlots  for (var key$2 in normalSlots) {    if (!(key$2 in res)) {      res[key$2] = proxyNormalSlot(normalSlots, key$2);    }  }  // avoriaz seems to mock a non-extensible $scopedSlots object  // and when that is passed down this would cause an error  if (slots && Object.isExtensible(slots)) {    (slots)._normalized = res;  }  def(res, '$stable', isStable);  def(res, '$key', key);  def(res, '$hasNormal', hasNormalSlots);  return res}function normalizeScopedSlot(normalSlots, key, fn) {  var normalized = function () {    var res = arguments.length ? fn.apply(null, arguments) : fn({});    res = res && typeof res === 'object' && !Array.isArray(res)      ? [res] // single vnode      : normalizeChildren(res);    return res && (      res.length === 0 ||      (res.length === 1 && res[0].isComment) // #9658    ) ? undefined      : res  };  // this is a slot using the new v-slot syntax without scope. although it is  // compiled as a scoped slot, render fn users would expect it to be present  // on this.$slots because the usage is semantically a normal slot.  if (fn.proxy) {    Object.defineProperty(normalSlots, key, {      get: normalized,      enumerable: true,      configurable: true    });  }  return normalized}function proxyNormalSlot(slots, key) {  return function () { return slots[key]; }}/*  *//** * Runtime helper for rendering v-for lists. */function renderList (  val,  render) {  var ret, i, l, keys, key;  if (Array.isArray(val) || typeof val === 'string') {    ret = new Array(val.length);    for (i = 0, l = val.length; i < l; i++) {      ret[i] = render(val[i], i, i, i); // fixed by xxxxxx    }  } else if (typeof val === 'number') {    ret = new Array(val);    for (i = 0; i < val; i++) {      ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx    }  } else if (isObject(val)) {    if (hasSymbol && val[Symbol.iterator]) {      ret = [];      var iterator = val[Symbol.iterator]();      var result = iterator.next();      while (!result.done) {        ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx        result = iterator.next();      }    } else {      keys = Object.keys(val);      ret = new Array(keys.length);      for (i = 0, l = keys.length; i < l; i++) {        key = keys[i];        ret[i] = render(val[key], key, i, i); // fixed by xxxxxx      }    }  }  if (!isDef(ret)) {    ret = [];  }  (ret)._isVList = true;  return ret}/*  *//** * Runtime helper for rendering <slot> */function renderSlot (  name,  fallback,  props,  bindObject) {  var scopedSlotFn = this.$scopedSlots[name];  var nodes;  if (scopedSlotFn) { // scoped slot    props = props || {};    if (bindObject) {      if ( true && !isObject(bindObject)) {        warn(          'slot v-bind without argument expects an Object',          this        );      }      props = extend(extend({}, bindObject), props);    }    // fixed by xxxxxx app-plus scopedSlot    nodes = scopedSlotFn(props, this, props._i) || fallback;  } else {    nodes = this.$slots[name] || fallback;  }  var target = props && props.slot;  if (target) {    return this.$createElement('template', { slot: target }, nodes)  } else {    return nodes  }}/*  *//** * Runtime helper for resolving filters */function resolveFilter (id) {  return resolveAsset(this.$options, 'filters', id, true) || identity}/*  */function isKeyNotMatch (expect, actual) {  if (Array.isArray(expect)) {    return expect.indexOf(actual) === -1  } else {    return expect !== actual  }}/** * Runtime helper for checking keyCodes from config. * exposed as Vue.prototype._k * passing in eventKeyName as last argument separately for backwards compat */function checkKeyCodes (  eventKeyCode,  key,  builtInKeyCode,  eventKeyName,  builtInKeyName) {  var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;  if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {    return isKeyNotMatch(builtInKeyName, eventKeyName)  } else if (mappedKeyCode) {    return isKeyNotMatch(mappedKeyCode, eventKeyCode)  } else if (eventKeyName) {    return hyphenate(eventKeyName) !== key  }}/*  *//** * Runtime helper for merging v-bind="object" into a VNode's data. */function bindObjectProps (  data,  tag,  value,  asProp,  isSync) {  if (value) {    if (!isObject(value)) {       true && warn(        'v-bind without argument expects an Object or Array value',        this      );    } else {      if (Array.isArray(value)) {        value = toObject(value);      }      var hash;      var loop = function ( key ) {        if (          key === 'class' ||          key === 'style' ||          isReservedAttribute(key)        ) {          hash = data;        } else {          var type = data.attrs && data.attrs.type;          hash = asProp || config.mustUseProp(tag, type, key)            ? data.domProps || (data.domProps = {})            : data.attrs || (data.attrs = {});        }        var camelizedKey = camelize(key);        var hyphenatedKey = hyphenate(key);        if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {          hash[key] = value[key];          if (isSync) {            var on = data.on || (data.on = {});            on[("update:" + key)] = function ($event) {              value[key] = $event;            };          }        }      };      for (var key in value) loop( key );    }  }  return data}/*  *//** * Runtime helper for rendering static trees. */function renderStatic (  index,  isInFor) {  var cached = this._staticTrees || (this._staticTrees = []);  var tree = cached[index];  // if has already-rendered static tree and not inside v-for,  // we can reuse the same tree.  if (tree && !isInFor) {    return tree  }  // otherwise, render a fresh tree.  tree = cached[index] = this.$options.staticRenderFns[index].call(    this._renderProxy,    null,    this // for render fns generated for functional component templates  );  markStatic(tree, ("__static__" + index), false);  return tree}/** * Runtime helper for v-once. * Effectively it means marking the node as static with a unique key. */function markOnce (  tree,  index,  key) {  markStatic(tree, ("__once__" + index + (key ? ("_" + key) : "")), true);  return tree}function markStatic (  tree,  key,  isOnce) {  if (Array.isArray(tree)) {    for (var i = 0; i < tree.length; i++) {      if (tree[i] && typeof tree[i] !== 'string') {        markStaticNode(tree[i], (key + "_" + i), isOnce);      }    }  } else {    markStaticNode(tree, key, isOnce);  }}function markStaticNode (node, key, isOnce) {  node.isStatic = true;  node.key = key;  node.isOnce = isOnce;}/*  */function bindObjectListeners (data, value) {  if (value) {    if (!isPlainObject(value)) {       true && warn(        'v-on without argument expects an Object value',        this      );    } else {      var on = data.on = data.on ? extend({}, data.on) : {};      for (var key in value) {        var existing = on[key];        var ours = value[key];        on[key] = existing ? [].concat(existing, ours) : ours;      }    }  }  return data}/*  */function resolveScopedSlots (  fns, // see flow/vnode  res,  // the following are added in 2.6  hasDynamicKeys,  contentHashKey) {  res = res || { $stable: !hasDynamicKeys };  for (var i = 0; i < fns.length; i++) {    var slot = fns[i];    if (Array.isArray(slot)) {      resolveScopedSlots(slot, res, hasDynamicKeys);    } else if (slot) {      // marker for reverse proxying v-slot without scope on this.$slots      if (slot.proxy) {        slot.fn.proxy = true;      }      res[slot.key] = slot.fn;    }  }  if (contentHashKey) {    (res).$key = contentHashKey;  }  return res}/*  */function bindDynamicKeys (baseObj, values) {  for (var i = 0; i < values.length; i += 2) {    var key = values[i];    if (typeof key === 'string' && key) {      baseObj[values[i]] = values[i + 1];    } else if ( true && key !== '' && key !== null) {      // null is a special value for explicitly removing a binding      warn(        ("Invalid value for dynamic directive argument (expected string or null): " + key),        this      );    }  }  return baseObj}// helper to dynamically append modifier runtime markers to event names.// ensure only append when value is already string, otherwise it will be cast// to string and cause the type check to miss.function prependModifier (value, symbol) {  return typeof value === 'string' ? symbol + value : value}/*  */function installRenderHelpers (target) {  target._o = markOnce;  target._n = toNumber;  target._s = toString;  target._l = renderList;  target._t = renderSlot;  target._q = looseEqual;  target._i = looseIndexOf;  target._m = renderStatic;  target._f = resolveFilter;  target._k = checkKeyCodes;  target._b = bindObjectProps;  target._v = createTextVNode;  target._e = createEmptyVNode;  target._u = resolveScopedSlots;  target._g = bindObjectListeners;  target._d = bindDynamicKeys;  target._p = prependModifier;}/*  */function FunctionalRenderContext (  data,  props,  children,  parent,  Ctor) {  var this$1 = this;  var options = Ctor.options;  // ensure the createElement function in functional components  // gets a unique context - this is necessary for correct named slot check  var contextVm;  if (hasOwn(parent, '_uid')) {    contextVm = Object.create(parent);    // $flow-disable-line    contextVm._original = parent;  } else {    // the context vm passed in is a functional context as well.    // in this case we want to make sure we are able to get a hold to the    // real context instance.    contextVm = parent;    // $flow-disable-line    parent = parent._original;  }  var isCompiled = isTrue(options._compiled);  var needNormalization = !isCompiled;  this.data = data;  this.props = props;  this.children = children;  this.parent = parent;  this.listeners = data.on || emptyObject;  this.injections = resolveInject(options.inject, parent);  this.slots = function () {    if (!this$1.$slots) {      normalizeScopedSlots(        data.scopedSlots,        this$1.$slots = resolveSlots(children, parent)      );    }    return this$1.$slots  };  Object.defineProperty(this, 'scopedSlots', ({    enumerable: true,    get: function get () {      return normalizeScopedSlots(data.scopedSlots, this.slots())    }  }));  // support for compiled functional template  if (isCompiled) {    // exposing $options for renderStatic()    this.$options = options;    // pre-resolve slots for renderSlot()    this.$slots = this.slots();    this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);  }  if (options._scopeId) {    this._c = function (a, b, c, d) {      var vnode = createElement(contextVm, a, b, c, d, needNormalization);      if (vnode && !Array.isArray(vnode)) {        vnode.fnScopeId = options._scopeId;        vnode.fnContext = parent;      }      return vnode    };  } else {    this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };  }}installRenderHelpers(FunctionalRenderContext.prototype);function createFunctionalComponent (  Ctor,  propsData,  data,  contextVm,  children) {  var options = Ctor.options;  var props = {};  var propOptions = options.props;  if (isDef(propOptions)) {    for (var key in propOptions) {      props[key] = validateProp(key, propOptions, propsData || emptyObject);    }  } else {    if (isDef(data.attrs)) { mergeProps(props, data.attrs); }    if (isDef(data.props)) { mergeProps(props, data.props); }  }  var renderContext = new FunctionalRenderContext(    data,    props,    children,    contextVm,    Ctor  );  var vnode = options.render.call(null, renderContext._c, renderContext);  if (vnode instanceof VNode) {    return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)  } else if (Array.isArray(vnode)) {    var vnodes = normalizeChildren(vnode) || [];    var res = new Array(vnodes.length);    for (var i = 0; i < vnodes.length; i++) {      res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);    }    return res  }}function cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {  // #7817 clone node before setting fnContext, otherwise if the node is reused  // (e.g. it was from a cached normal slot) the fnContext causes named slots  // that should not be matched to match.  var clone = cloneVNode(vnode);  clone.fnContext = contextVm;  clone.fnOptions = options;  if (true) {    (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;  }  if (data.slot) {    (clone.data || (clone.data = {})).slot = data.slot;  }  return clone}function mergeProps (to, from) {  for (var key in from) {    to[camelize(key)] = from[key];  }}/*  *//*  *//*  *//*  */// inline hooks to be invoked on component VNodes during patchvar componentVNodeHooks = {  init: function init (vnode, hydrating) {    if (      vnode.componentInstance &&      !vnode.componentInstance._isDestroyed &&      vnode.data.keepAlive    ) {      // kept-alive components, treat as a patch      var mountedNode = vnode; // work around flow      componentVNodeHooks.prepatch(mountedNode, mountedNode);    } else {      var child = vnode.componentInstance = createComponentInstanceForVnode(        vnode,        activeInstance      );      child.$mount(hydrating ? vnode.elm : undefined, hydrating);    }  },  prepatch: function prepatch (oldVnode, vnode) {    var options = vnode.componentOptions;    var child = vnode.componentInstance = oldVnode.componentInstance;    updateChildComponent(      child,      options.propsData, // updated props      options.listeners, // updated listeners      vnode, // new parent vnode      options.children // new children    );  },  insert: function insert (vnode) {    var context = vnode.context;    var componentInstance = vnode.componentInstance;    if (!componentInstance._isMounted) {      callHook(componentInstance, 'onServiceCreated');      callHook(componentInstance, 'onServiceAttached');      componentInstance._isMounted = true;      callHook(componentInstance, 'mounted');    }    if (vnode.data.keepAlive) {      if (context._isMounted) {        // vue-router#1212        // During updates, a kept-alive component's child components may        // change, so directly walking the tree here may call activated hooks        // on incorrect children. Instead we push them into a queue which will        // be processed after the whole patch process ended.        queueActivatedComponent(componentInstance);      } else {        activateChildComponent(componentInstance, true /* direct */);      }    }  },  destroy: function destroy (vnode) {    var componentInstance = vnode.componentInstance;    if (!componentInstance._isDestroyed) {      if (!vnode.data.keepAlive) {        componentInstance.$destroy();      } else {        deactivateChildComponent(componentInstance, true /* direct */);      }    }  }};var hooksToMerge = Object.keys(componentVNodeHooks);function createComponent (  Ctor,  data,  context,  children,  tag) {  if (isUndef(Ctor)) {    return  }  var baseCtor = context.$options._base;  // plain options object: turn it into a constructor  if (isObject(Ctor)) {    Ctor = baseCtor.extend(Ctor);  }  // if at this stage it's not a constructor or an async component factory,  // reject.  if (typeof Ctor !== 'function') {    if (true) {      warn(("Invalid Component definition: " + (String(Ctor))), context);    }    return  }  // async component  var asyncFactory;  if (isUndef(Ctor.cid)) {    asyncFactory = Ctor;    Ctor = resolveAsyncComponent(asyncFactory, baseCtor);    if (Ctor === undefined) {      // return a placeholder node for async component, which is rendered      // as a comment node but preserves all the raw information for the node.      // the information will be used for async server-rendering and hydration.      return createAsyncPlaceholder(        asyncFactory,        data,        context,        children,        tag      )    }  }  data = data || {};  // resolve constructor options in case global mixins are applied after  // component constructor creation  resolveConstructorOptions(Ctor);  // transform component v-model data into props & events  if (isDef(data.model)) {    transformModel(Ctor.options, data);  }  // extract props  var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx  // functional component  if (isTrue(Ctor.options.functional)) {    return createFunctionalComponent(Ctor, propsData, data, context, children)  }  // extract listeners, since these needs to be treated as  // child component listeners instead of DOM listeners  var listeners = data.on;  // replace with listeners with .native modifier  // so it gets processed during parent component patch.  data.on = data.nativeOn;  if (isTrue(Ctor.options.abstract)) {    // abstract components do not keep anything    // other than props & listeners & slot    // work around flow    var slot = data.slot;    data = {};    if (slot) {      data.slot = slot;    }  }  // install component management hooks onto the placeholder node  installComponentHooks(data);  // return a placeholder vnode  var name = Ctor.options.name || tag;  var vnode = new VNode(    ("vue-component-" + (Ctor.cid) + (name ? ("-" + name) : '')),    data, undefined, undefined, undefined, context,    { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },    asyncFactory  );  return vnode}function createComponentInstanceForVnode (  vnode, // we know it's MountedComponentVNode but flow doesn't  parent // activeInstance in lifecycle state) {  var options = {    _isComponent: true,    _parentVnode: vnode,    parent: parent  };  // check inline-template render functions  var inlineTemplate = vnode.data.inlineTemplate;  if (isDef(inlineTemplate)) {    options.render = inlineTemplate.render;    options.staticRenderFns = inlineTemplate.staticRenderFns;  }  return new vnode.componentOptions.Ctor(options)}function installComponentHooks (data) {  var hooks = data.hook || (data.hook = {});  for (var i = 0; i < hooksToMerge.length; i++) {    var key = hooksToMerge[i];    var existing = hooks[key];    var toMerge = componentVNodeHooks[key];    if (existing !== toMerge && !(existing && existing._merged)) {      hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;    }  }}function mergeHook$1 (f1, f2) {  var merged = function (a, b) {    // flow complains about extra args which is why we use any    f1(a, b);    f2(a, b);  };  merged._merged = true;  return merged}// transform component v-model info (value and callback) into// prop and event handler respectively.function transformModel (options, data) {  var prop = (options.model && options.model.prop) || 'value';  var event = (options.model && options.model.event) || 'input'  ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;  var on = data.on || (data.on = {});  var existing = on[event];  var callback = data.model.callback;  if (isDef(existing)) {    if (      Array.isArray(existing)        ? existing.indexOf(callback) === -1        : existing !== callback    ) {      on[event] = [callback].concat(existing);    }  } else {    on[event] = callback;  }}/*  */var SIMPLE_NORMALIZE = 1;var ALWAYS_NORMALIZE = 2;// wrapper function for providing a more flexible interface// without getting yelled at by flowfunction createElement (  context,  tag,  data,  children,  normalizationType,  alwaysNormalize) {  if (Array.isArray(data) || isPrimitive(data)) {    normalizationType = children;    children = data;    data = undefined;  }  if (isTrue(alwaysNormalize)) {    normalizationType = ALWAYS_NORMALIZE;  }  return _createElement(context, tag, data, children, normalizationType)}function _createElement (  context,  tag,  data,  children,  normalizationType) {  if (isDef(data) && isDef((data).__ob__)) {     true && warn(      "Avoid using observed data object as vnode data: " + (JSON.stringify(data)) + "\n" +      'Always create fresh vnode data objects in each render!',      context    );    return createEmptyVNode()  }  // object syntax in v-bind  if (isDef(data) && isDef(data.is)) {    tag = data.is;  }  if (!tag) {    // in case of component :is set to falsy value    return createEmptyVNode()  }  // warn against non-primitive key  if ( true &&    isDef(data) && isDef(data.key) && !isPrimitive(data.key)  ) {    {      warn(        'Avoid using non-primitive value as key, ' +        'use string/number value instead.',        context      );    }  }  // support single function children as default scoped slot  if (Array.isArray(children) &&    typeof children[0] === 'function'  ) {    data = data || {};    data.scopedSlots = { default: children[0] };    children.length = 0;  }  if (normalizationType === ALWAYS_NORMALIZE) {    children = normalizeChildren(children);  } else if (normalizationType === SIMPLE_NORMALIZE) {    children = simpleNormalizeChildren(children);  }  var vnode, ns;  if (typeof tag === 'string') {    var Ctor;    ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);    if (config.isReservedTag(tag)) {      // platform built-in elements      if ( true && isDef(data) && isDef(data.nativeOn)) {        warn(          ("The .native modifier for v-on is only valid on components but it was used on <" + tag + ">."),          context        );      }      vnode = new VNode(        config.parsePlatformTagName(tag), data, children,        undefined, undefined, context      );    } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {      // component      vnode = createComponent(Ctor, data, context, children, tag);    } else {      // unknown or unlisted namespaced elements      // check at runtime because it may get assigned a namespace when its      // parent normalizes children      vnode = new VNode(        tag, data, children,        undefined, undefined, context      );    }  } else {    // direct component options / constructor    vnode = createComponent(tag, data, context, children);  }  if (Array.isArray(vnode)) {    return vnode  } else if (isDef(vnode)) {    if (isDef(ns)) { applyNS(vnode, ns); }    if (isDef(data)) { registerDeepBindings(data); }    return vnode  } else {    return createEmptyVNode()  }}function applyNS (vnode, ns, force) {  vnode.ns = ns;  if (vnode.tag === 'foreignObject') {    // use default namespace inside foreignObject    ns = undefined;    force = true;  }  if (isDef(vnode.children)) {    for (var i = 0, l = vnode.children.length; i < l; i++) {      var child = vnode.children[i];      if (isDef(child.tag) && (        isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {        applyNS(child, ns, force);      }    }  }}// ref #5318// necessary to ensure parent re-render when deep bindings like :style and// :class are used on slot nodesfunction registerDeepBindings (data) {  if (isObject(data.style)) {    traverse(data.style);  }  if (isObject(data.class)) {    traverse(data.class);  }}/*  */function initRender (vm) {  vm._vnode = null; // the root of the child tree  vm._staticTrees = null; // v-once cached trees  var options = vm.$options;  var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree  var renderContext = parentVnode && parentVnode.context;  vm.$slots = resolveSlots(options._renderChildren, renderContext);  vm.$scopedSlots = emptyObject;  // bind the createElement fn to this instance  // so that we get proper render context inside it.  // args order: tag, data, children, normalizationType, alwaysNormalize  // internal version is used by render functions compiled from templates  vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };  // normalization is always applied for the public version, used in  // user-written render functions.  vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };  // $attrs & $listeners are exposed for easier HOC creation.  // they need to be reactive so that HOCs using them are always updated  var parentData = parentVnode && parentVnode.data;  /* istanbul ignore else */  if (true) {    defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {      !isUpdatingChildComponent && warn("$attrs is readonly.", vm);    }, true);    defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {      !isUpdatingChildComponent && warn("$listeners is readonly.", vm);    }, true);  } else {}}var currentRenderingInstance = null;function renderMixin (Vue) {  // install runtime convenience helpers  installRenderHelpers(Vue.prototype);  Vue.prototype.$nextTick = function (fn) {    return nextTick(fn, this)  };  Vue.prototype._render = function () {    var vm = this;    var ref = vm.$options;    var render = ref.render;    var _parentVnode = ref._parentVnode;    if (_parentVnode) {      vm.$scopedSlots = normalizeScopedSlots(        _parentVnode.data.scopedSlots,        vm.$slots,        vm.$scopedSlots      );    }    // set parent vnode. this allows render functions to have access    // to the data on the placeholder node.    vm.$vnode = _parentVnode;    // render self    var vnode;    try {      // There's no need to maintain a stack because all render fns are called      // separately from one another. Nested component's render fns are called      // when parent component is patched.      currentRenderingInstance = vm;      vnode = render.call(vm._renderProxy, vm.$createElement);    } catch (e) {      handleError(e, vm, "render");      // return error render result,      // or previous vnode to prevent render error causing blank component      /* istanbul ignore else */      if ( true && vm.$options.renderError) {        try {          vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);        } catch (e) {          handleError(e, vm, "renderError");          vnode = vm._vnode;        }      } else {        vnode = vm._vnode;      }    } finally {      currentRenderingInstance = null;    }    // if the returned array contains only a single node, allow it    if (Array.isArray(vnode) && vnode.length === 1) {      vnode = vnode[0];    }    // return empty vnode in case the render function errored out    if (!(vnode instanceof VNode)) {      if ( true && Array.isArray(vnode)) {        warn(          'Multiple root nodes returned from render function. Render function ' +          'should return a single root node.',          vm        );      }      vnode = createEmptyVNode();    }    // set parent    vnode.parent = _parentVnode;    return vnode  };}/*  */function ensureCtor (comp, base) {  if (    comp.__esModule ||    (hasSymbol && comp[Symbol.toStringTag] === 'Module')  ) {    comp = comp.default;  }  return isObject(comp)    ? base.extend(comp)    : comp}function createAsyncPlaceholder (  factory,  data,  context,  children,  tag) {  var node = createEmptyVNode();  node.asyncFactory = factory;  node.asyncMeta = { data: data, context: context, children: children, tag: tag };  return node}function resolveAsyncComponent (  factory,  baseCtor) {  if (isTrue(factory.error) && isDef(factory.errorComp)) {    return factory.errorComp  }  if (isDef(factory.resolved)) {    return factory.resolved  }  var owner = currentRenderingInstance;  if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {    // already pending    factory.owners.push(owner);  }  if (isTrue(factory.loading) && isDef(factory.loadingComp)) {    return factory.loadingComp  }  if (owner && !isDef(factory.owners)) {    var owners = factory.owners = [owner];    var sync = true;    var timerLoading = null;    var timerTimeout = null    ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });    var forceRender = function (renderCompleted) {      for (var i = 0, l = owners.length; i < l; i++) {        (owners[i]).$forceUpdate();      }      if (renderCompleted) {        owners.length = 0;        if (timerLoading !== null) {          clearTimeout(timerLoading);          timerLoading = null;        }        if (timerTimeout !== null) {          clearTimeout(timerTimeout);          timerTimeout = null;        }      }    };    var resolve = once(function (res) {      // cache resolved      factory.resolved = ensureCtor(res, baseCtor);      // invoke callbacks only if this is not a synchronous resolve      // (async resolves are shimmed as synchronous during SSR)      if (!sync) {        forceRender(true);      } else {        owners.length = 0;      }    });    var reject = once(function (reason) {       true && warn(        "Failed to resolve async component: " + (String(factory)) +        (reason ? ("\nReason: " + reason) : '')      );      if (isDef(factory.errorComp)) {        factory.error = true;        forceRender(true);      }    });    var res = factory(resolve, reject);    if (isObject(res)) {      if (isPromise(res)) {        // () => Promise        if (isUndef(factory.resolved)) {          res.then(resolve, reject);        }      } else if (isPromise(res.component)) {        res.component.then(resolve, reject);        if (isDef(res.error)) {          factory.errorComp = ensureCtor(res.error, baseCtor);        }        if (isDef(res.loading)) {          factory.loadingComp = ensureCtor(res.loading, baseCtor);          if (res.delay === 0) {            factory.loading = true;          } else {            timerLoading = setTimeout(function () {              timerLoading = null;              if (isUndef(factory.resolved) && isUndef(factory.error)) {                factory.loading = true;                forceRender(false);              }            }, res.delay || 200);          }        }        if (isDef(res.timeout)) {          timerTimeout = setTimeout(function () {            timerTimeout = null;            if (isUndef(factory.resolved)) {              reject(                 true                  ? ("timeout (" + (res.timeout) + "ms)")                  : undefined              );            }          }, res.timeout);        }      }    }    sync = false;    // return in case resolved synchronously    return factory.loading      ? factory.loadingComp      : factory.resolved  }}/*  */function isAsyncPlaceholder (node) {  return node.isComment && node.asyncFactory}/*  */function getFirstComponentChild (children) {  if (Array.isArray(children)) {    for (var i = 0; i < children.length; i++) {      var c = children[i];      if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {        return c      }    }  }}/*  *//*  */function initEvents (vm) {  vm._events = Object.create(null);  vm._hasHookEvent = false;  // init parent attached events  var listeners = vm.$options._parentListeners;  if (listeners) {    updateComponentListeners(vm, listeners);  }}var target;function add (event, fn) {  target.$on(event, fn);}function remove$1 (event, fn) {  target.$off(event, fn);}function createOnceHandler (event, fn) {  var _target = target;  return function onceHandler () {    var res = fn.apply(null, arguments);    if (res !== null) {      _target.$off(event, onceHandler);    }  }}function updateComponentListeners (  vm,  listeners,  oldListeners) {  target = vm;  updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);  target = undefined;}function eventsMixin (Vue) {  var hookRE = /^hook:/;  Vue.prototype.$on = function (event, fn) {    var vm = this;    if (Array.isArray(event)) {      for (var i = 0, l = event.length; i < l; i++) {        vm.$on(event[i], fn);      }    } else {      (vm._events[event] || (vm._events[event] = [])).push(fn);      // optimize hook:event cost by using a boolean flag marked at registration      // instead of a hash lookup      if (hookRE.test(event)) {        vm._hasHookEvent = true;      }    }    return vm  };  Vue.prototype.$once = function (event, fn) {    var vm = this;    function on () {      vm.$off(event, on);      fn.apply(vm, arguments);    }    on.fn = fn;    vm.$on(event, on);    return vm  };  Vue.prototype.$off = function (event, fn) {    var vm = this;    // all    if (!arguments.length) {      vm._events = Object.create(null);      return vm    }    // array of events    if (Array.isArray(event)) {      for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {        vm.$off(event[i$1], fn);      }      return vm    }    // specific event    var cbs = vm._events[event];    if (!cbs) {      return vm    }    if (!fn) {      vm._events[event] = null;      return vm    }    // specific handler    var cb;    var i = cbs.length;    while (i--) {      cb = cbs[i];      if (cb === fn || cb.fn === fn) {        cbs.splice(i, 1);        break      }    }    return vm  };  Vue.prototype.$emit = function (event) {    var vm = this;    if (true) {      var lowerCaseEvent = event.toLowerCase();      if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {        tip(          "Event \"" + lowerCaseEvent + "\" is emitted in component " +          (formatComponentName(vm)) + " but the handler is registered for \"" + event + "\". " +          "Note that HTML attributes are case-insensitive and you cannot use " +          "v-on to listen to camelCase events when using in-DOM templates. " +          "You should probably use \"" + (hyphenate(event)) + "\" instead of \"" + event + "\"."        );      }    }    var cbs = vm._events[event];    if (cbs) {      cbs = cbs.length > 1 ? toArray(cbs) : cbs;      var args = toArray(arguments, 1);      var info = "event handler for \"" + event + "\"";      for (var i = 0, l = cbs.length; i < l; i++) {        invokeWithErrorHandling(cbs[i], vm, args, vm, info);      }    }    return vm  };}/*  */var activeInstance = null;var isUpdatingChildComponent = false;function setActiveInstance(vm) {  var prevActiveInstance = activeInstance;  activeInstance = vm;  return function () {    activeInstance = prevActiveInstance;  }}function initLifecycle (vm) {  var options = vm.$options;  // locate first non-abstract parent  var parent = options.parent;  if (parent && !options.abstract) {    while (parent.$options.abstract && parent.$parent) {      parent = parent.$parent;    }    parent.$children.push(vm);  }  vm.$parent = parent;  vm.$root = parent ? parent.$root : vm;  vm.$children = [];  vm.$refs = {};  vm._watcher = null;  vm._inactive = null;  vm._directInactive = false;  vm._isMounted = false;  vm._isDestroyed = false;  vm._isBeingDestroyed = false;}function lifecycleMixin (Vue) {  Vue.prototype._update = function (vnode, hydrating) {    var vm = this;    var prevEl = vm.$el;    var prevVnode = vm._vnode;    var restoreActiveInstance = setActiveInstance(vm);    vm._vnode = vnode;    // Vue.prototype.__patch__ is injected in entry points    // based on the rendering backend used.    if (!prevVnode) {      // initial render      vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);    } else {      // updates      vm.$el = vm.__patch__(prevVnode, vnode);    }    restoreActiveInstance();    // update __vue__ reference    if (prevEl) {      prevEl.__vue__ = null;    }    if (vm.$el) {      vm.$el.__vue__ = vm;    }    // if parent is an HOC, update its $el as well    if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {      vm.$parent.$el = vm.$el;    }    // updated hook is called by the scheduler to ensure that children are    // updated in a parent's updated hook.  };  Vue.prototype.$forceUpdate = function () {    var vm = this;    if (vm._watcher) {      vm._watcher.update();    }  };  Vue.prototype.$destroy = function () {    var vm = this;    if (vm._isBeingDestroyed) {      return    }    callHook(vm, 'beforeDestroy');    vm._isBeingDestroyed = true;    // remove self from parent    var parent = vm.$parent;    if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {      remove(parent.$children, vm);    }    // teardown watchers    if (vm._watcher) {      vm._watcher.teardown();    }    var i = vm._watchers.length;    while (i--) {      vm._watchers[i].teardown();    }    // remove reference from data ob    // frozen object may not have observer.    if (vm._data.__ob__) {      vm._data.__ob__.vmCount--;    }    // call the last hook...    vm._isDestroyed = true;    // invoke destroy hooks on current rendered tree    vm.__patch__(vm._vnode, null);    // fire destroyed hook    callHook(vm, 'destroyed');    // turn off all instance listeners.    vm.$off();    // remove __vue__ reference    if (vm.$el) {      vm.$el.__vue__ = null;    }    // release circular reference (#6759)    if (vm.$vnode) {      vm.$vnode.parent = null;    }  };}function updateChildComponent (  vm,  propsData,  listeners,  parentVnode,  renderChildren) {  if (true) {    isUpdatingChildComponent = true;  }  // determine whether component has slot children  // we need to do this before overwriting $options._renderChildren.  // check if there are dynamic scopedSlots (hand-written or compiled but with  // dynamic slot names). Static scoped slots compiled from template has the  // "$stable" marker.  var newScopedSlots = parentVnode.data.scopedSlots;  var oldScopedSlots = vm.$scopedSlots;  var hasDynamicScopedSlot = !!(    (newScopedSlots && !newScopedSlots.$stable) ||    (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||    (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)  );  // Any static slot children from the parent may have changed during parent's  // update. Dynamic scoped slots may also have changed. In such cases, a forced  // update is necessary to ensure correctness.  var needsForceUpdate = !!(    renderChildren ||               // has new static slots    vm.$options._renderChildren ||  // has old static slots    hasDynamicScopedSlot  );  vm.$options._parentVnode = parentVnode;  vm.$vnode = parentVnode; // update vm's placeholder node without re-render  if (vm._vnode) { // update child tree's parent    vm._vnode.parent = parentVnode;  }  vm.$options._renderChildren = renderChildren;  // update $attrs and $listeners hash  // these are also reactive so they may trigger child update if the child  // used them during render  vm.$attrs = parentVnode.data.attrs || emptyObject;  vm.$listeners = listeners || emptyObject;  // update props  if (propsData && vm.$options.props) {    toggleObserving(false);    var props = vm._props;    var propKeys = vm.$options._propKeys || [];    for (var i = 0; i < propKeys.length; i++) {      var key = propKeys[i];      var propOptions = vm.$options.props; // wtf flow?      props[key] = validateProp(key, propOptions, propsData, vm);    }    toggleObserving(true);    // keep a copy of raw propsData    vm.$options.propsData = propsData;  }    // fixed by xxxxxx update properties(mp runtime)  vm._$updateProperties && vm._$updateProperties(vm);    // update listeners  listeners = listeners || emptyObject;  var oldListeners = vm.$options._parentListeners;  vm.$options._parentListeners = listeners;  updateComponentListeners(vm, listeners, oldListeners);  // resolve slots + force update if has children  if (needsForceUpdate) {    vm.$slots = resolveSlots(renderChildren, parentVnode.context);    vm.$forceUpdate();  }  if (true) {    isUpdatingChildComponent = false;  }}function isInInactiveTree (vm) {  while (vm && (vm = vm.$parent)) {    if (vm._inactive) { return true }  }  return false}function activateChildComponent (vm, direct) {  if (direct) {    vm._directInactive = false;    if (isInInactiveTree(vm)) {      return    }  } else if (vm._directInactive) {    return  }  if (vm._inactive || vm._inactive === null) {    vm._inactive = false;    for (var i = 0; i < vm.$children.length; i++) {      activateChildComponent(vm.$children[i]);    }    callHook(vm, 'activated');  }}function deactivateChildComponent (vm, direct) {  if (direct) {    vm._directInactive = true;    if (isInInactiveTree(vm)) {      return    }  }  if (!vm._inactive) {    vm._inactive = true;    for (var i = 0; i < vm.$children.length; i++) {      deactivateChildComponent(vm.$children[i]);    }    callHook(vm, 'deactivated');  }}function callHook (vm, hook) {  // #7573 disable dep collection when invoking lifecycle hooks  pushTarget();  var handlers = vm.$options[hook];  var info = hook + " hook";  if (handlers) {    for (var i = 0, j = handlers.length; i < j; i++) {      invokeWithErrorHandling(handlers[i], vm, null, vm, info);    }  }  if (vm._hasHookEvent) {    vm.$emit('hook:' + hook);  }  popTarget();}/*  */var MAX_UPDATE_COUNT = 100;var queue = [];var activatedChildren = [];var has = {};var circular = {};var waiting = false;var flushing = false;var index = 0;/** * Reset the scheduler's state. */function resetSchedulerState () {  index = queue.length = activatedChildren.length = 0;  has = {};  if (true) {    circular = {};  }  waiting = flushing = false;}// Async edge case #6566 requires saving the timestamp when event listeners are// attached. However, calling performance.now() has a perf overhead especially// if the page has thousands of event listeners. Instead, we take a timestamp// every time the scheduler flushes and use that for all event listeners// attached during that flush.var currentFlushTimestamp = 0;// Async edge case fix requires storing an event listener's attach timestamp.var getNow = Date.now;// Determine what event timestamp the browser is using. Annoyingly, the// timestamp can either be hi-res (relative to page load) or low-res// (relative to UNIX epoch), so in order to compare time we have to use the// same timestamp type when saving the flush timestamp.// All IE versions use low-res event timestamps, and have problematic clock// implementations (#9632)if (inBrowser && !isIE) {  var performance = window.performance;  if (    performance &&    typeof performance.now === 'function' &&    getNow() > document.createEvent('Event').timeStamp  ) {    // if the event timestamp, although evaluated AFTER the Date.now(), is    // smaller than it, it means the event is using a hi-res timestamp,    // and we need to use the hi-res version for event listener timestamps as    // well.    getNow = function () { return performance.now(); };  }}/** * Flush both queues and run the watchers. */function flushSchedulerQueue () {  currentFlushTimestamp = getNow();  flushing = true;  var watcher, id;  // Sort queue before flush.  // This ensures that:  // 1. Components are updated from parent to child. (because parent is always  //    created before the child)  // 2. A component's user watchers are run before its render watcher (because  //    user watchers are created before the render watcher)  // 3. If a component is destroyed during a parent component's watcher run,  //    its watchers can be skipped.  queue.sort(function (a, b) { return a.id - b.id; });  // do not cache length because more watchers might be pushed  // as we run existing watchers  for (index = 0; index < queue.length; index++) {    watcher = queue[index];    if (watcher.before) {      watcher.before();    }    id = watcher.id;    has[id] = null;    watcher.run();    // in dev build, check and stop circular updates.    if ( true && has[id] != null) {      circular[id] = (circular[id] || 0) + 1;      if (circular[id] > MAX_UPDATE_COUNT) {        warn(          'You may have an infinite update loop ' + (            watcher.user              ? ("in watcher with expression \"" + (watcher.expression) + "\"")              : "in a component render function."          ),          watcher.vm        );        break      }    }  }  // keep copies of post queues before resetting state  var activatedQueue = activatedChildren.slice();  var updatedQueue = queue.slice();  resetSchedulerState();  // call component updated and activated hooks  callActivatedHooks(activatedQueue);  callUpdatedHooks(updatedQueue);  // devtool hook  /* istanbul ignore if */  if (devtools && config.devtools) {    devtools.emit('flush');  }}function callUpdatedHooks (queue) {  var i = queue.length;  while (i--) {    var watcher = queue[i];    var vm = watcher.vm;    if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {      callHook(vm, 'updated');    }  }}/** * Queue a kept-alive component that was activated during patch. * The queue will be processed after the entire tree has been patched. */function queueActivatedComponent (vm) {  // setting _inactive to false here so that a render function can  // rely on checking whether it's in an inactive tree (e.g. router-view)  vm._inactive = false;  activatedChildren.push(vm);}function callActivatedHooks (queue) {  for (var i = 0; i < queue.length; i++) {    queue[i]._inactive = true;    activateChildComponent(queue[i], true /* true */);  }}/** * Push a watcher into the watcher queue. * Jobs with duplicate IDs will be skipped unless it's * pushed when the queue is being flushed. */function queueWatcher (watcher) {  var id = watcher.id;  if (has[id] == null) {    has[id] = true;    if (!flushing) {      queue.push(watcher);    } else {      // if already flushing, splice the watcher based on its id      // if already past its id, it will be run next immediately.      var i = queue.length - 1;      while (i > index && queue[i].id > watcher.id) {        i--;      }      queue.splice(i + 1, 0, watcher);    }    // queue the flush    if (!waiting) {      waiting = true;      if ( true && !config.async) {        flushSchedulerQueue();        return      }      nextTick(flushSchedulerQueue);    }  }}/*  */var uid$2 = 0;/** * A watcher parses an expression, collects dependencies, * and fires callback when the expression value changes. * This is used for both the $watch() api and directives. */var Watcher = function Watcher (  vm,  expOrFn,  cb,  options,  isRenderWatcher) {  this.vm = vm;  if (isRenderWatcher) {    vm._watcher = this;  }  vm._watchers.push(this);  // options  if (options) {    this.deep = !!options.deep;    this.user = !!options.user;    this.lazy = !!options.lazy;    this.sync = !!options.sync;    this.before = options.before;  } else {    this.deep = this.user = this.lazy = this.sync = false;  }  this.cb = cb;  this.id = ++uid$2; // uid for batching  this.active = true;  this.dirty = this.lazy; // for lazy watchers  this.deps = [];  this.newDeps = [];  this.depIds = new _Set();  this.newDepIds = new _Set();  this.expression =  true    ? expOrFn.toString()    : undefined;  // parse expression for getter  if (typeof expOrFn === 'function') {    this.getter = expOrFn;  } else {    this.getter = parsePath(expOrFn);    if (!this.getter) {      this.getter = noop;       true && warn(        "Failed watching path: \"" + expOrFn + "\" " +        'Watcher only accepts simple dot-delimited paths. ' +        'For full control, use a function instead.',        vm      );    }  }  this.value = this.lazy    ? undefined    : this.get();};/** * Evaluate the getter, and re-collect dependencies. */Watcher.prototype.get = function get () {  pushTarget(this);  var value;  var vm = this.vm;  try {    value = this.getter.call(vm, vm);  } catch (e) {    if (this.user) {      handleError(e, vm, ("getter for watcher \"" + (this.expression) + "\""));    } else {      throw e    }  } finally {    // "touch" every property so they are all tracked as    // dependencies for deep watching    if (this.deep) {      traverse(value);    }    popTarget();    this.cleanupDeps();  }  return value};/** * Add a dependency to this directive. */Watcher.prototype.addDep = function addDep (dep) {  var id = dep.id;  if (!this.newDepIds.has(id)) {    this.newDepIds.add(id);    this.newDeps.push(dep);    if (!this.depIds.has(id)) {      dep.addSub(this);    }  }};/** * Clean up for dependency collection. */Watcher.prototype.cleanupDeps = function cleanupDeps () {  var i = this.deps.length;  while (i--) {    var dep = this.deps[i];    if (!this.newDepIds.has(dep.id)) {      dep.removeSub(this);    }  }  var tmp = this.depIds;  this.depIds = this.newDepIds;  this.newDepIds = tmp;  this.newDepIds.clear();  tmp = this.deps;  this.deps = this.newDeps;  this.newDeps = tmp;  this.newDeps.length = 0;};/** * Subscriber interface. * Will be called when a dependency changes. */Watcher.prototype.update = function update () {  /* istanbul ignore else */  if (this.lazy) {    this.dirty = true;  } else if (this.sync) {    this.run();  } else {    queueWatcher(this);  }};/** * Scheduler job interface. * Will be called by the scheduler. */Watcher.prototype.run = function run () {  if (this.active) {    var value = this.get();    if (      value !== this.value ||      // Deep watchers and watchers on Object/Arrays should fire even      // when the value is the same, because the value may      // have mutated.      isObject(value) ||      this.deep    ) {      // set new value      var oldValue = this.value;      this.value = value;      if (this.user) {        try {          this.cb.call(this.vm, value, oldValue);        } catch (e) {          handleError(e, this.vm, ("callback for watcher \"" + (this.expression) + "\""));        }      } else {        this.cb.call(this.vm, value, oldValue);      }    }  }};/** * Evaluate the value of the watcher. * This only gets called for lazy watchers. */Watcher.prototype.evaluate = function evaluate () {  this.value = this.get();  this.dirty = false;};/** * Depend on all deps collected by this watcher. */Watcher.prototype.depend = function depend () {  var i = this.deps.length;  while (i--) {    this.deps[i].depend();  }};/** * Remove self from all dependencies' subscriber list. */Watcher.prototype.teardown = function teardown () {  if (this.active) {    // remove self from vm's watcher list    // this is a somewhat expensive operation so we skip it    // if the vm is being destroyed.    if (!this.vm._isBeingDestroyed) {      remove(this.vm._watchers, this);    }    var i = this.deps.length;    while (i--) {      this.deps[i].removeSub(this);    }    this.active = false;  }};/*  */var sharedPropertyDefinition = {  enumerable: true,  configurable: true,  get: noop,  set: noop};function proxy (target, sourceKey, key) {  sharedPropertyDefinition.get = function proxyGetter () {    return this[sourceKey][key]  };  sharedPropertyDefinition.set = function proxySetter (val) {    this[sourceKey][key] = val;  };  Object.defineProperty(target, key, sharedPropertyDefinition);}function initState (vm) {  vm._watchers = [];  var opts = vm.$options;  if (opts.props) { initProps(vm, opts.props); }  if (opts.methods) { initMethods(vm, opts.methods); }  if (opts.data) {    initData(vm);  } else {    observe(vm._data = {}, true /* asRootData */);  }  if (opts.computed) { initComputed(vm, opts.computed); }  if (opts.watch && opts.watch !== nativeWatch) {    initWatch(vm, opts.watch);  }}function initProps (vm, propsOptions) {  var propsData = vm.$options.propsData || {};  var props = vm._props = {};  // cache prop keys so that future props updates can iterate using Array  // instead of dynamic object key enumeration.  var keys = vm.$options._propKeys = [];  var isRoot = !vm.$parent;  // root instance props should be converted  if (!isRoot) {    toggleObserving(false);  }  var loop = function ( key ) {    keys.push(key);    var value = validateProp(key, propsOptions, propsData, vm);    /* istanbul ignore else */    if (true) {      var hyphenatedKey = hyphenate(key);      if (isReservedAttribute(hyphenatedKey) ||          config.isReservedAttr(hyphenatedKey)) {        warn(          ("\"" + hyphenatedKey + "\" is a reserved attribute and cannot be used as component prop."),          vm        );      }      defineReactive$$1(props, key, value, function () {        if (!isRoot && !isUpdatingChildComponent) {          {            if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn                return            }            //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警            if(                key === 'value' &&                 Array.isArray(vm.$options.behaviors) &&                vm.$options.behaviors.indexOf('uni://form-field') !== -1              ){              return            }            if(vm._getFormData){              return            }            var $parent = vm.$parent;            while($parent){              if($parent.__next_tick_pending){                return                }              $parent = $parent.$parent;            }          }          warn(            "Avoid mutating a prop directly since the value will be " +            "overwritten whenever the parent component re-renders. " +            "Instead, use a data or computed property based on the prop's " +            "value. Prop being mutated: \"" + key + "\"",            vm          );        }      });    } else {}    // static props are already proxied on the component's prototype    // during Vue.extend(). We only need to proxy props defined at    // instantiation here.    if (!(key in vm)) {      proxy(vm, "_props", key);    }  };  for (var key in propsOptions) loop( key );  toggleObserving(true);}function initData (vm) {  var data = vm.$options.data;  data = vm._data = typeof data === 'function'    ? getData(data, vm)    : data || {};  if (!isPlainObject(data)) {    data = {};     true && warn(      'data functions should return an object:\n' +      'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',      vm    );  }  // proxy data on instance  var keys = Object.keys(data);  var props = vm.$options.props;  var methods = vm.$options.methods;  var i = keys.length;  while (i--) {    var key = keys[i];    if (true) {      if (methods && hasOwn(methods, key)) {        warn(          ("Method \"" + key + "\" has already been defined as a data property."),          vm        );      }    }    if (props && hasOwn(props, key)) {       true && warn(        "The data property \"" + key + "\" is already declared as a prop. " +        "Use prop default value instead.",        vm      );    } else if (!isReserved(key)) {      proxy(vm, "_data", key);    }  }  // observe data  observe(data, true /* asRootData */);}function getData (data, vm) {  // #7573 disable dep collection when invoking data getters  pushTarget();  try {    return data.call(vm, vm)  } catch (e) {    handleError(e, vm, "data()");    return {}  } finally {    popTarget();  }}var computedWatcherOptions = { lazy: true };function initComputed (vm, computed) {  // $flow-disable-line  var watchers = vm._computedWatchers = Object.create(null);  // computed properties are just getters during SSR  var isSSR = isServerRendering();  for (var key in computed) {    var userDef = computed[key];    var getter = typeof userDef === 'function' ? userDef : userDef.get;    if ( true && getter == null) {      warn(        ("Getter is missing for computed property \"" + key + "\"."),        vm      );    }    if (!isSSR) {      // create internal watcher for the computed property.      watchers[key] = new Watcher(        vm,        getter || noop,        noop,        computedWatcherOptions      );    }    // component-defined computed properties are already defined on the    // component prototype. We only need to define computed properties defined    // at instantiation here.    if (!(key in vm)) {      defineComputed(vm, key, userDef);    } else if (true) {      if (key in vm.$data) {        warn(("The computed property \"" + key + "\" is already defined in data."), vm);      } else if (vm.$options.props && key in vm.$options.props) {        warn(("The computed property \"" + key + "\" is already defined as a prop."), vm);      }    }  }}function defineComputed (  target,  key,  userDef) {  var shouldCache = !isServerRendering();  if (typeof userDef === 'function') {    sharedPropertyDefinition.get = shouldCache      ? createComputedGetter(key)      : createGetterInvoker(userDef);    sharedPropertyDefinition.set = noop;  } else {    sharedPropertyDefinition.get = userDef.get      ? shouldCache && userDef.cache !== false        ? createComputedGetter(key)        : createGetterInvoker(userDef.get)      : noop;    sharedPropertyDefinition.set = userDef.set || noop;  }  if ( true &&      sharedPropertyDefinition.set === noop) {    sharedPropertyDefinition.set = function () {      warn(        ("Computed property \"" + key + "\" was assigned to but it has no setter."),        this      );    };  }  Object.defineProperty(target, key, sharedPropertyDefinition);}function createComputedGetter (key) {  return function computedGetter () {    var watcher = this._computedWatchers && this._computedWatchers[key];    if (watcher) {      if (watcher.dirty) {        watcher.evaluate();      }      if (Dep.SharedObject.target) {// fixed by xxxxxx        watcher.depend();      }      return watcher.value    }  }}function createGetterInvoker(fn) {  return function computedGetter () {    return fn.call(this, this)  }}function initMethods (vm, methods) {  var props = vm.$options.props;  for (var key in methods) {    if (true) {      if (typeof methods[key] !== 'function') {        warn(          "Method \"" + key + "\" has type \"" + (typeof methods[key]) + "\" in the component definition. " +          "Did you reference the function correctly?",          vm        );      }      if (props && hasOwn(props, key)) {        warn(          ("Method \"" + key + "\" has already been defined as a prop."),          vm        );      }      if ((key in vm) && isReserved(key)) {        warn(          "Method \"" + key + "\" conflicts with an existing Vue instance method. " +          "Avoid defining component methods that start with _ or $."        );      }    }    vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);  }}function initWatch (vm, watch) {  for (var key in watch) {    var handler = watch[key];    if (Array.isArray(handler)) {      for (var i = 0; i < handler.length; i++) {        createWatcher(vm, key, handler[i]);      }    } else {      createWatcher(vm, key, handler);    }  }}function createWatcher (  vm,  expOrFn,  handler,  options) {  if (isPlainObject(handler)) {    options = handler;    handler = handler.handler;  }  if (typeof handler === 'string') {    handler = vm[handler];  }  return vm.$watch(expOrFn, handler, options)}function stateMixin (Vue) {  // flow somehow has problems with directly declared definition object  // when using Object.defineProperty, so we have to procedurally build up  // the object here.  var dataDef = {};  dataDef.get = function () { return this._data };  var propsDef = {};  propsDef.get = function () { return this._props };  if (true) {    dataDef.set = function () {      warn(        'Avoid replacing instance root $data. ' +        'Use nested data properties instead.',        this      );    };    propsDef.set = function () {      warn("$props is readonly.", this);    };  }  Object.defineProperty(Vue.prototype, '$data', dataDef);  Object.defineProperty(Vue.prototype, '$props', propsDef);  Vue.prototype.$set = set;  Vue.prototype.$delete = del;  Vue.prototype.$watch = function (    expOrFn,    cb,    options  ) {    var vm = this;    if (isPlainObject(cb)) {      return createWatcher(vm, expOrFn, cb, options)    }    options = options || {};    options.user = true;    var watcher = new Watcher(vm, expOrFn, cb, options);    if (options.immediate) {      try {        cb.call(vm, watcher.value);      } catch (error) {        handleError(error, vm, ("callback for immediate watcher \"" + (watcher.expression) + "\""));      }    }    return function unwatchFn () {      watcher.teardown();    }  };}/*  */var uid$3 = 0;function initMixin (Vue) {  Vue.prototype._init = function (options) {    var vm = this;    // a uid    vm._uid = uid$3++;    var startTag, endTag;    /* istanbul ignore if */    if ( true && config.performance && mark) {      startTag = "vue-perf-start:" + (vm._uid);      endTag = "vue-perf-end:" + (vm._uid);      mark(startTag);    }    // a flag to avoid this being observed    vm._isVue = true;    // merge options    if (options && options._isComponent) {      // optimize internal component instantiation      // since dynamic options merging is pretty slow, and none of the      // internal component options needs special treatment.      initInternalComponent(vm, options);    } else {      vm.$options = mergeOptions(        resolveConstructorOptions(vm.constructor),        options || {},        vm      );    }    /* istanbul ignore else */    if (true) {      initProxy(vm);    } else {}    // expose real self    vm._self = vm;    initLifecycle(vm);    initEvents(vm);    initRender(vm);    callHook(vm, 'beforeCreate');    !vm._$fallback && initInjections(vm); // resolve injections before data/props      initState(vm);    !vm._$fallback && initProvide(vm); // resolve provide after data/props    !vm._$fallback && callHook(vm, 'created');          /* istanbul ignore if */    if ( true && config.performance && mark) {      vm._name = formatComponentName(vm, false);      mark(endTag);      measure(("vue " + (vm._name) + " init"), startTag, endTag);    }    if (vm.$options.el) {      vm.$mount(vm.$options.el);    }  };}function initInternalComponent (vm, options) {  var opts = vm.$options = Object.create(vm.constructor.options);  // doing this because it's faster than dynamic enumeration.  var parentVnode = options._parentVnode;  opts.parent = options.parent;  opts._parentVnode = parentVnode;  var vnodeComponentOptions = parentVnode.componentOptions;  opts.propsData = vnodeComponentOptions.propsData;  opts._parentListeners = vnodeComponentOptions.listeners;  opts._renderChildren = vnodeComponentOptions.children;  opts._componentTag = vnodeComponentOptions.tag;  if (options.render) {    opts.render = options.render;    opts.staticRenderFns = options.staticRenderFns;  }}function resolveConstructorOptions (Ctor) {  var options = Ctor.options;  if (Ctor.super) {    var superOptions = resolveConstructorOptions(Ctor.super);    var cachedSuperOptions = Ctor.superOptions;    if (superOptions !== cachedSuperOptions) {      // super option changed,      // need to resolve new options.      Ctor.superOptions = superOptions;      // check if there are any late-modified/attached options (#4976)      var modifiedOptions = resolveModifiedOptions(Ctor);      // update base extend options      if (modifiedOptions) {        extend(Ctor.extendOptions, modifiedOptions);      }      options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);      if (options.name) {        options.components[options.name] = Ctor;      }    }  }  return options}function resolveModifiedOptions (Ctor) {  var modified;  var latest = Ctor.options;  var sealed = Ctor.sealedOptions;  for (var key in latest) {    if (latest[key] !== sealed[key]) {      if (!modified) { modified = {}; }      modified[key] = latest[key];    }  }  return modified}function Vue (options) {  if ( true &&    !(this instanceof Vue)  ) {    warn('Vue is a constructor and should be called with the `new` keyword');  }  this._init(options);}initMixin(Vue);stateMixin(Vue);eventsMixin(Vue);lifecycleMixin(Vue);renderMixin(Vue);/*  */function initUse (Vue) {  Vue.use = function (plugin) {    var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));    if (installedPlugins.indexOf(plugin) > -1) {      return this    }    // additional parameters    var args = toArray(arguments, 1);    args.unshift(this);    if (typeof plugin.install === 'function') {      plugin.install.apply(plugin, args);    } else if (typeof plugin === 'function') {      plugin.apply(null, args);    }    installedPlugins.push(plugin);    return this  };}/*  */function initMixin$1 (Vue) {  Vue.mixin = function (mixin) {    this.options = mergeOptions(this.options, mixin);    return this  };}/*  */function initExtend (Vue) {  /**   * Each instance constructor, including Vue, has a unique   * cid. This enables us to create wrapped "child   * constructors" for prototypal inheritance and cache them.   */  Vue.cid = 0;  var cid = 1;  /**   * Class inheritance   */  Vue.extend = function (extendOptions) {    extendOptions = extendOptions || {};    var Super = this;    var SuperId = Super.cid;    var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});    if (cachedCtors[SuperId]) {      return cachedCtors[SuperId]    }    var name = extendOptions.name || Super.options.name;    if ( true && name) {      validateComponentName(name);    }    var Sub = function VueComponent (options) {      this._init(options);    };    Sub.prototype = Object.create(Super.prototype);    Sub.prototype.constructor = Sub;    Sub.cid = cid++;    Sub.options = mergeOptions(      Super.options,      extendOptions    );    Sub['super'] = Super;    // For props and computed properties, we define the proxy getters on    // the Vue instances at extension time, on the extended prototype. This    // avoids Object.defineProperty calls for each instance created.    if (Sub.options.props) {      initProps$1(Sub);    }    if (Sub.options.computed) {      initComputed$1(Sub);    }    // allow further extension/mixin/plugin usage    Sub.extend = Super.extend;    Sub.mixin = Super.mixin;    Sub.use = Super.use;    // create asset registers, so extended classes    // can have their private assets too.    ASSET_TYPES.forEach(function (type) {      Sub[type] = Super[type];    });    // enable recursive self-lookup    if (name) {      Sub.options.components[name] = Sub;    }    // keep a reference to the super options at extension time.    // later at instantiation we can check if Super's options have    // been updated.    Sub.superOptions = Super.options;    Sub.extendOptions = extendOptions;    Sub.sealedOptions = extend({}, Sub.options);    // cache constructor    cachedCtors[SuperId] = Sub;    return Sub  };}function initProps$1 (Comp) {  var props = Comp.options.props;  for (var key in props) {    proxy(Comp.prototype, "_props", key);  }}function initComputed$1 (Comp) {  var computed = Comp.options.computed;  for (var key in computed) {    defineComputed(Comp.prototype, key, computed[key]);  }}/*  */function initAssetRegisters (Vue) {  /**   * Create asset registration methods.   */  ASSET_TYPES.forEach(function (type) {    Vue[type] = function (      id,      definition    ) {      if (!definition) {        return this.options[type + 's'][id]      } else {        /* istanbul ignore if */        if ( true && type === 'component') {          validateComponentName(id);        }        if (type === 'component' && isPlainObject(definition)) {          definition.name = definition.name || id;          definition = this.options._base.extend(definition);        }        if (type === 'directive' && typeof definition === 'function') {          definition = { bind: definition, update: definition };        }        this.options[type + 's'][id] = definition;        return definition      }    };  });}/*  */function getComponentName (opts) {  return opts && (opts.Ctor.options.name || opts.tag)}function matches (pattern, name) {  if (Array.isArray(pattern)) {    return pattern.indexOf(name) > -1  } else if (typeof pattern === 'string') {    return pattern.split(',').indexOf(name) > -1  } else if (isRegExp(pattern)) {    return pattern.test(name)  }  /* istanbul ignore next */  return false}function pruneCache (keepAliveInstance, filter) {  var cache = keepAliveInstance.cache;  var keys = keepAliveInstance.keys;  var _vnode = keepAliveInstance._vnode;  for (var key in cache) {    var cachedNode = cache[key];    if (cachedNode) {      var name = getComponentName(cachedNode.componentOptions);      if (name && !filter(name)) {        pruneCacheEntry(cache, key, keys, _vnode);      }    }  }}function pruneCacheEntry (  cache,  key,  keys,  current) {  var cached$$1 = cache[key];  if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {    cached$$1.componentInstance.$destroy();  }  cache[key] = null;  remove(keys, key);}var patternTypes = [String, RegExp, Array];var KeepAlive = {  name: 'keep-alive',  abstract: true,  props: {    include: patternTypes,    exclude: patternTypes,    max: [String, Number]  },  created: function created () {    this.cache = Object.create(null);    this.keys = [];  },  destroyed: function destroyed () {    for (var key in this.cache) {      pruneCacheEntry(this.cache, key, this.keys);    }  },  mounted: function mounted () {    var this$1 = this;    this.$watch('include', function (val) {      pruneCache(this$1, function (name) { return matches(val, name); });    });    this.$watch('exclude', function (val) {      pruneCache(this$1, function (name) { return !matches(val, name); });    });  },  render: function render () {    var slot = this.$slots.default;    var vnode = getFirstComponentChild(slot);    var componentOptions = vnode && vnode.componentOptions;    if (componentOptions) {      // check pattern      var name = getComponentName(componentOptions);      var ref = this;      var include = ref.include;      var exclude = ref.exclude;      if (        // not included        (include && (!name || !matches(include, name))) ||        // excluded        (exclude && name && matches(exclude, name))      ) {        return vnode      }      var ref$1 = this;      var cache = ref$1.cache;      var keys = ref$1.keys;      var key = vnode.key == null        // same constructor may get registered as different local components        // so cid alone is not enough (#3269)        ? componentOptions.Ctor.cid + (componentOptions.tag ? ("::" + (componentOptions.tag)) : '')        : vnode.key;      if (cache[key]) {        vnode.componentInstance = cache[key].componentInstance;        // make current key freshest        remove(keys, key);        keys.push(key);      } else {        cache[key] = vnode;        keys.push(key);        // prune oldest entry        if (this.max && keys.length > parseInt(this.max)) {          pruneCacheEntry(cache, keys[0], keys, this._vnode);        }      }      vnode.data.keepAlive = true;    }    return vnode || (slot && slot[0])  }};var builtInComponents = {  KeepAlive: KeepAlive};/*  */function initGlobalAPI (Vue) {  // config  var configDef = {};  configDef.get = function () { return config; };  if (true) {    configDef.set = function () {      warn(        'Do not replace the Vue.config object, set individual fields instead.'      );    };  }  Object.defineProperty(Vue, 'config', configDef);  // exposed util methods.  // NOTE: these are not considered part of the public API - avoid relying on  // them unless you are aware of the risk.  Vue.util = {    warn: warn,    extend: extend,    mergeOptions: mergeOptions,    defineReactive: defineReactive$$1  };  Vue.set = set;  Vue.delete = del;  Vue.nextTick = nextTick;  // 2.6 explicit observable API  Vue.observable = function (obj) {    observe(obj);    return obj  };  Vue.options = Object.create(null);  ASSET_TYPES.forEach(function (type) {    Vue.options[type + 's'] = Object.create(null);  });  // this is used to identify the "base" constructor to extend all plain-object  // components with in Weex's multi-instance scenarios.  Vue.options._base = Vue;  extend(Vue.options.components, builtInComponents);  initUse(Vue);  initMixin$1(Vue);  initExtend(Vue);  initAssetRegisters(Vue);}initGlobalAPI(Vue);Object.defineProperty(Vue.prototype, '$isServer', {  get: isServerRendering});Object.defineProperty(Vue.prototype, '$ssrContext', {  get: function get () {    /* istanbul ignore next */    return this.$vnode && this.$vnode.ssrContext  }});// expose FunctionalRenderContext for ssr runtime helper installationObject.defineProperty(Vue, 'FunctionalRenderContext', {  value: FunctionalRenderContext});Vue.version = '2.6.11';/** * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js */var ARRAYTYPE = '[object Array]';var OBJECTTYPE = '[object Object]';var NULLTYPE = '[object Null]';var UNDEFINEDTYPE = '[object Undefined]';// const FUNCTIONTYPE = '[object Function]'function diff(current, pre) {    var result = {};    syncKeys(current, pre);    _diff(current, pre, '', result);    return result}function syncKeys(current, pre) {    if (current === pre) { return }    var rootCurrentType = type(current);    var rootPreType = type(pre);    if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {        if(Object.keys(current).length >= Object.keys(pre).length){            for (var key in pre) {                var currentValue = current[key];                if (currentValue === undefined) {                    current[key] = null;                } else {                    syncKeys(currentValue, pre[key]);                }            }        }    } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {        if (current.length >= pre.length) {            pre.forEach(function (item, index) {                syncKeys(current[index], item);            });        }    }}function nullOrUndefined(currentType, preType) {    if(        (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) &&         (preType === NULLTYPE || preType === UNDEFINEDTYPE)    ) {        return false    }    return true}function _diff(current, pre, path, result) {    if (current === pre) { return }    var rootCurrentType = type(current);    var rootPreType = type(pre);    if (rootCurrentType == OBJECTTYPE) {        if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {            setResult(result, path, current);        } else {            var loop = function ( key ) {                var currentValue = current[key];                var preValue = pre[key];                var currentType = type(currentValue);                var preType = type(preValue);                if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {                    if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {                        setResult(result, (path == '' ? '' : path + ".") + key, currentValue);                    }                } else if (currentType == ARRAYTYPE) {                    if (preType != ARRAYTYPE) {                        setResult(result, (path == '' ? '' : path + ".") + key, currentValue);                    } else {                        if (currentValue.length < preValue.length) {                            setResult(result, (path == '' ? '' : path + ".") + key, currentValue);                        } else {                            currentValue.forEach(function (item, index) {                                _diff(item, preValue[index], (path == '' ? '' : path + ".") + key + '[' + index + ']', result);                            });                        }                    }                } else if (currentType == OBJECTTYPE) {                    if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {                        setResult(result, (path == '' ? '' : path + ".") + key, currentValue);                    } else {                        for (var subKey in currentValue) {                            _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + ".") + key + '.' + subKey, result);                        }                    }                }            };            for (var key in current) loop( key );        }    } else if (rootCurrentType == ARRAYTYPE) {        if (rootPreType != ARRAYTYPE) {            setResult(result, path, current);        } else {            if (current.length < pre.length) {                setResult(result, path, current);            } else {                current.forEach(function (item, index) {                    _diff(item, pre[index], path + '[' + index + ']', result);                });            }        }    } else {        setResult(result, path, current);    }}function setResult(result, k, v) {    // if (type(v) != FUNCTIONTYPE) {        result[k] = v;    // }}function type(obj) {    return Object.prototype.toString.call(obj)}/*  */function flushCallbacks$1(vm) {    if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {        if (Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"qiaopai","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {            var mpInstance = vm.$scope;            console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +                ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');        }        var copies = vm.__next_tick_callbacks.slice(0);        vm.__next_tick_callbacks.length = 0;        for (var i = 0; i < copies.length; i++) {            copies[i]();        }    }}function hasRenderWatcher(vm) {    return queue.find(function (watcher) { return vm._watcher === watcher; })}function nextTick$1(vm, cb) {    //1.nextTick 之前 已 setData 且 setData 还未回调完成    //2.nextTick 之前存在 render watcher    if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {        if(Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"qiaopai","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){            var mpInstance = vm.$scope;            console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +                ']:nextVueTick');        }        return nextTick(cb, vm)    }else{        if(Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"qiaopai","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){            var mpInstance$1 = vm.$scope;            console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +                ']:nextMPTick');        }    }    var _resolve;    if (!vm.__next_tick_callbacks) {        vm.__next_tick_callbacks = [];    }    vm.__next_tick_callbacks.push(function () {        if (cb) {            try {                cb.call(vm);            } catch (e) {                handleError(e, vm, 'nextTick');            }        } else if (_resolve) {            _resolve(vm);        }    });    // $flow-disable-line    if (!cb && typeof Promise !== 'undefined') {        return new Promise(function (resolve) {            _resolve = resolve;        })    }}/*  */function clearInstance(key, value) {  // 简易去除 Vue 和小程序组件实例  if (value) {    if (value._isVue || value.__v_isMPComponent) {      return {}    }  }  return value}function cloneWithData(vm) {  // 确保当前 vm 所有数据被同步  var ret = Object.create(null);  var dataKeys = [].concat(    Object.keys(vm._data || {}),    Object.keys(vm._computedWatchers || {}));  dataKeys.reduce(function(ret, key) {    ret[key] = vm[key];    return ret  }, ret);  // vue-composition-api  var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;  var rawBindings = compositionApiState && compositionApiState.rawBindings;  if (rawBindings) {    Object.keys(rawBindings).forEach(function (key) {      ret[key] = vm[key];    });  }  //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据  Object.assign(ret, vm.$mp.data || {});  if (    Array.isArray(vm.$options.behaviors) &&    vm.$options.behaviors.indexOf('uni://form-field') !== -1  ) { //form-field    ret['name'] = vm.name;    ret['value'] = vm.value;  }  return JSON.parse(JSON.stringify(ret, clearInstance))}var patch = function(oldVnode, vnode) {  var this$1 = this;  if (vnode === null) { //destroy    return  }  if (this.mpType === 'page' || this.mpType === 'component') {    var mpInstance = this.$scope;    var data = Object.create(null);    try {      data = cloneWithData(this);    } catch (err) {      console.error(err);    }    data.__webviewId__ = mpInstance.data.__webviewId__;    var mpData = Object.create(null);    Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据      mpData[key] = mpInstance.data[key];    });    var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);    if (Object.keys(diffData).length) {      if (Object({"VUE_APP_DARK_MODE":"false","VUE_APP_NAME":"qiaopai","VUE_APP_PLATFORM":"mp-weixin","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {        console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +          ']差量更新',          JSON.stringify(diffData));      }      this.__next_tick_pending = true;      mpInstance.setData(diffData, function () {        this$1.__next_tick_pending = false;        flushCallbacks$1(this$1);      });    } else {      flushCallbacks$1(this);    }  }};/*  */function createEmptyRender() {}function mountComponent$1(  vm,  el,  hydrating) {  if (!vm.mpType) {//main.js 中的 new Vue    return vm  }  if (vm.mpType === 'app') {    vm.$options.render = createEmptyRender;  }  if (!vm.$options.render) {    vm.$options.render = createEmptyRender;    if (true) {      /* istanbul ignore if */      if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||        vm.$options.el || el) {        warn(          'You are using the runtime-only build of Vue where the template ' +          'compiler is not available. Either pre-compile the templates into ' +          'render functions, or use the compiler-included build.',          vm        );      } else {        warn(          'Failed to mount component: template or render function not defined.',          vm        );      }    }  }    !vm._$fallback && callHook(vm, 'beforeMount');  var updateComponent = function () {    vm._update(vm._render(), hydrating);  };  // we set this to vm._watcher inside the watcher's constructor  // since the watcher's initial patch may call $forceUpdate (e.g. inside child  // component's mounted hook), which relies on vm._watcher being already defined  new Watcher(vm, updateComponent, noop, {    before: function before() {      if (vm._isMounted && !vm._isDestroyed) {        callHook(vm, 'beforeUpdate');      }    }  }, true /* isRenderWatcher */);  hydrating = false;  return vm}/*  */function renderClass (  staticClass,  dynamicClass) {  if (isDef(staticClass) || isDef(dynamicClass)) {    return concat(staticClass, stringifyClass(dynamicClass))  }  /* istanbul ignore next */  return ''}function concat (a, b) {  return a ? b ? (a + ' ' + b) : a : (b || '')}function stringifyClass (value) {  if (Array.isArray(value)) {    return stringifyArray(value)  }  if (isObject(value)) {    return stringifyObject(value)  }  if (typeof value === 'string') {    return value  }  /* istanbul ignore next */  return ''}function stringifyArray (value) {  var res = '';  var stringified;  for (var i = 0, l = value.length; i < l; i++) {    if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {      if (res) { res += ' '; }      res += stringified;    }  }  return res}function stringifyObject (value) {  var res = '';  for (var key in value) {    if (value[key]) {      if (res) { res += ' '; }      res += key;    }  }  return res}/*  */var parseStyleText = cached(function (cssText) {  var res = {};  var listDelimiter = /;(?![^(]*\))/g;  var propertyDelimiter = /:(.+)/;  cssText.split(listDelimiter).forEach(function (item) {    if (item) {      var tmp = item.split(propertyDelimiter);      tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());    }  });  return res});// normalize possible array / string values into Objectfunction normalizeStyleBinding (bindingStyle) {  if (Array.isArray(bindingStyle)) {    return toObject(bindingStyle)  }  if (typeof bindingStyle === 'string') {    return parseStyleText(bindingStyle)  }  return bindingStyle}/*  */var MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];function getTarget(obj, path) {  var parts = path.split('.');  var key = parts[0];  if (key.indexOf('__$n') === 0) { //number index    key = parseInt(key.replace('__$n', ''));  }  if (parts.length === 1) {    return obj[key]  }  return getTarget(obj[key], parts.slice(1).join('.'))}function internalMixin(Vue) {  Vue.config.errorHandler = function(err, vm, info) {    Vue.util.warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm);    console.error(err);    /* eslint-disable no-undef */    var app = typeof getApp === 'function' && getApp();    if (app && app.onError) {      app.onError(err);    }  };  var oldEmit = Vue.prototype.$emit;  Vue.prototype.$emit = function(event) {    if (this.$scope && event) {      var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];      if (triggerEvent) {        try {          triggerEvent.call(this.$scope, event, {            __args__: toArray(arguments, 1)          });        } catch (error) {        }      }    }    return oldEmit.apply(this, arguments)  };  Vue.prototype.$nextTick = function(fn) {    return nextTick$1(this, fn)  };  MP_METHODS.forEach(function (method) {    Vue.prototype[method] = function(args) {      if (this.$scope && this.$scope[method]) {        return this.$scope[method](args)      }      // mp-alipay      if (typeof my === 'undefined') {        return      }      if (method === 'createSelectorQuery') {        /* eslint-disable no-undef */        return my.createSelectorQuery(args)      } else if (method === 'createIntersectionObserver') {        /* eslint-disable no-undef */        return my.createIntersectionObserver(args)      }      // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent    };  });  Vue.prototype.__init_provide = initProvide;  Vue.prototype.__init_injections = initInjections;  Vue.prototype.__call_hook = function(hook, args) {    var vm = this;    // #7573 disable dep collection when invoking lifecycle hooks    pushTarget();    var handlers = vm.$options[hook];    var info = hook + " hook";    var ret;    if (handlers) {      for (var i = 0, j = handlers.length; i < j; i++) {        ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);      }    }    if (vm._hasHookEvent) {      vm.$emit('hook:' + hook, args);    }    popTarget();    return ret  };  Vue.prototype.__set_model = function(target, key, value, modifiers) {    if (Array.isArray(modifiers)) {      if (modifiers.indexOf('trim') !== -1) {        value = value.trim();      }      if (modifiers.indexOf('number') !== -1) {        value = this._n(value);      }    }    if (!target) {      target = this;    }    // 解决动态属性添加    Vue.set(target, key, value);  };  Vue.prototype.__set_sync = function(target, key, value) {    if (!target) {      target = this;    }    // 解决动态属性添加    Vue.set(target, key, value);  };  Vue.prototype.__get_orig = function(item) {    if (isPlainObject(item)) {      return item['$orig'] || item    }    return item  };  Vue.prototype.__get_value = function(dataPath, target) {    return getTarget(target || this, dataPath)  };  Vue.prototype.__get_class = function(dynamicClass, staticClass) {    return renderClass(staticClass, dynamicClass)  };  Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {    if (!dynamicStyle && !staticStyle) {      return ''    }    var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);    var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;    return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + ":" + (styleObj[name])); }).join(';')  };  Vue.prototype.__map = function(val, iteratee) {    //TODO 暂不考虑 string    var ret, i, l, keys, key;    if (Array.isArray(val)) {      ret = new Array(val.length);      for (i = 0, l = val.length; i < l; i++) {        ret[i] = iteratee(val[i], i);      }      return ret    } else if (isObject(val)) {      keys = Object.keys(val);      ret = Object.create(null);      for (i = 0, l = keys.length; i < l; i++) {        key = keys[i];        ret[key] = iteratee(val[key], key, i);      }      return ret    } else if (typeof val === 'number') {      ret = new Array(val);      for (i = 0, l = val; i < l; i++) {        // 第一个参数暂时仍和小程序一致        ret[i] = iteratee(i, i);      }      return ret    }    return []  };}/*  */var LIFECYCLE_HOOKS$1 = [    //App    'onLaunch',    'onShow',    'onHide',    'onUniNViewMessage',    'onPageNotFound',    'onThemeChange',    'onError',    'onUnhandledRejection',    //Page    'onInit',    'onLoad',    // 'onShow',    'onReady',    // 'onHide',    'onUnload',    'onPullDownRefresh',    'onReachBottom',    'onTabItemTap',    'onAddToFavorites',    'onShareTimeline',    'onShareAppMessage',    'onResize',    'onPageScroll',    'onNavigationBarButtonTap',    'onBackPress',    'onNavigationBarSearchInputChanged',    'onNavigationBarSearchInputConfirmed',    'onNavigationBarSearchInputClicked',    //Component    // 'onReady', // 兼容旧版本,应该移除该事件    'onPageShow',    'onPageHide',    'onPageResize',    'onUploadDouyinVideo'];function lifecycleMixin$1(Vue) {    //fixed vue-class-component    var oldExtend = Vue.extend;    Vue.extend = function(extendOptions) {        extendOptions = extendOptions || {};        var methods = extendOptions.methods;        if (methods) {            Object.keys(methods).forEach(function (methodName) {                if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {                    extendOptions[methodName] = methods[methodName];                    delete methods[methodName];                }            });        }        return oldExtend.call(this, extendOptions)    };    var strategies = Vue.config.optionMergeStrategies;    var mergeHook = strategies.created;    LIFECYCLE_HOOKS$1.forEach(function (hook) {        strategies[hook] = mergeHook;    });    Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;}/*  */// install platform patch functionVue.prototype.__patch__ = patch;// public mount methodVue.prototype.$mount = function(    el ,    hydrating ) {    return mountComponent$1(this, el, hydrating)};lifecycleMixin$1(Vue);internalMixin(Vue);/*  *//* harmony default export */ __webpack_exports__["default"] = (Vue);/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../webpack/buildin/global.js */ 3)))/***/ }),/* 26 *//*!********************************!*\  !*** D:/66/qiaopai/pages.json ***!  \********************************//*! no static exports found *//***/ (function(module, exports) {/***/ }),/* 27 */,/* 28 */,/* 29 */,/* 30 */,/* 31 */,/* 32 *//*!**********************************************************************************************************!*\  !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!  \**********************************************************************************************************//*! exports provided: default *//***/ (function(module, __webpack_exports__, __webpack_require__) {"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });/* globals __VUE_SSR_CONTEXT__ */// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).// This module is a runtime utility for cleaner component module output and will// be included in the final webpack user bundle.function normalizeComponent (  scriptExports,  render,  staticRenderFns,  functionalTemplate,  injectStyles,  scopeId,  moduleIdentifier, /* server only */  shadowMode, /* vue-cli only */  components, // fixed by xxxxxx auto components  renderjs // fixed by xxxxxx renderjs) {  // Vue.extend constructor export interop  var options = typeof scriptExports === 'function'    ? scriptExports.options    : scriptExports  // fixed by xxxxxx auto components  if (components) {    if (!options.components) {      options.components = {}    }    var hasOwn = Object.prototype.hasOwnProperty    for (var name in components) {      if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {        options.components[name] = components[name]      }    }  }  // fixed by xxxxxx renderjs  if (renderjs) {    if(typeof renderjs.beforeCreate === 'function'){			renderjs.beforeCreate = [renderjs.beforeCreate]		}    (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {      this[renderjs.__module] = this    });    (options.mixins || (options.mixins = [])).push(renderjs)  }  // render functions  if (render) {    options.render = render    options.staticRenderFns = staticRenderFns    options._compiled = true  }  // functional template  if (functionalTemplate) {    options.functional = true  }  // scopedId  if (scopeId) {    options._scopeId = 'data-v-' + scopeId  }  var hook  if (moduleIdentifier) { // server build    hook = function (context) {      // 2.3 injection      context =        context || // cached call        (this.$vnode && this.$vnode.ssrContext) || // stateful        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional      // 2.2 with runInNewContext: true      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {        context = __VUE_SSR_CONTEXT__      }      // inject component styles      if (injectStyles) {        injectStyles.call(this, context)      }      // register component module identifier for async chunk inferrence      if (context && context._registeredComponents) {        context._registeredComponents.add(moduleIdentifier)      }    }    // used by ssr in case component is cached and beforeCreate    // never gets called    options._ssrRegister = hook  } else if (injectStyles) {    hook = shadowMode      ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }      : injectStyles  }  if (hook) {    if (options.functional) {      // for template-only hot-reload because in that case the render fn doesn't      // go through the normalizer      options._injectStyles = hook      // register for functioal component in vue file      var originalRender = options.render      options.render = function renderWithStyleInjection (h, context) {        hook.call(context)        return originalRender(h, context)      }    } else {      // inject component registration as beforeCreate hook      var existing = options.beforeCreate      options.beforeCreate = existing        ? [].concat(existing, hook)        : [hook]    }  }  return {    exports: scriptExports,    options: options  }}/***/ }),/* 33 *//*!**********************************************!*\  !*** D:/66/qiaopai/uni.promisify.adaptor.js ***!  \**********************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {/* WEBPACK VAR INJECTION */(function(uni) {var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 13);uni.addInterceptor({  returnValue: function returnValue(res) {    if (!(!!res && (_typeof(res) === "object" || typeof res === "function") && typeof res.then === "function")) {      return res;    }    return new Promise(function (resolve, reject) {      res.then(function (res) {        return res[0] ? reject(res[0]) : resolve(res[1]);      });    });  }});/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))/***/ }),/* 34 *//*!**************************************!*\  !*** D:/66/qiaopai/utils/request.js ***!  \**************************************//*! no static exports found *//***/ (function(module, exports, __webpack_require__) {"use strict";/* WEBPACK VAR INJECTION */(function(uni) {var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4);Object.defineProperty(exports, "__esModule", {  value: true});exports.default = void 0;var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5));//测试地址// const baseURL = 'http://192.168.0.149:7782/' /*const burl2='http://api.dms.66km.com.cn/' *///66正式/* const baseURL = 'https://apidms.66km.com/'  const burl2='https://apidms.66km.com/' *///欧洲维修var baseURL = 'http://oil.66km.com.cn/';// const burl2='http://edms.eurorepar.cn/ ' // import md5 from './MD5.js'var ajax = function ajax() {  var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';  var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};  var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'POST';  var header = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};  return new Promise(function (resolve, reject) {    header = {};    header['Content-Type'] = 'application/x-www-form-urlencoded';    //console.log(header)    uni.request({      method: type,      url: 'http://api.dms.66km.com.cn/' + url,      data: date,      header: header,      dataType: 'json'    }).then(function (response) {      console.log(response);      //let [error, res] = response;      resolve(response.data);    }).catch(function (error) {      var _error = (0, _slicedToArray2.default)(error, 2),        err = _error[0],        res = _error[1];      reject(err);    });  });};var that = void 0;var http = function http() {  var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';  var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};  var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'POST';  var header = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};  return new Promise(function (resolve, reject) {    header = {};    var openId = uni.getStorageSync("openId");    //console.log(that.$store)    //header['token']='98A9FED8814B457288166BDF623F33D1';    header['openId'] = openId;    header['Content-Type'] = 'application/x-www-form-urlencoded';    console.log(baseURL + url);    uni.request({      method: type,      url: baseURL + 'search?action=' + url,      data: date,      header: header,      dataType: 'json'    }).then(function (response) {      //console.log(response)      //let [error, res] = response;      resolve(response.data);      // resolve(res.data);    }).catch(function (error) {      var _error2 = (0, _slicedToArray2.default)(error, 2),        err = _error2[0],        res = _error2[1];      reject(err);    });  });};function refresh(url, date, type, header) {  uni.request({    method: type,    url: baseURL + url,    data: date,    header: header,    dataType: 'json'  }).then(function (response) {    setTimeout(function () {      uni.hideLoading();    }, 200);    var _response = (0, _slicedToArray2.default)(response, 2),      error = _response[0],      res = _response[1];    if (res.data.code == 403) {      uni.showToast({        title: res.data.msg,        icon: 'none',        duration: 3000      });    }    resolve(res.data);  }).catch(function (error) {    var _error3 = (0, _slicedToArray2.default)(error, 2),      err = _error3[0],      res = _error3[1];    reject(err);  });}var _default = {  http: http,  baseURL: baseURL,  ajax: ajax};exports.default = _default;/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))/***/ })]]);//# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map
 |